《单片机原理及应用》“实验五 按键及显示实验”任务书

合集下载

《单片机原理及应用》“实验五 按键及显示实验”任务书

《单片机原理及应用》“实验五  按键及显示实验”任务书

单片机原理及应用随堂实验报告实验五按键与显示实验学院计算机与电子信息学院专业电子信息工程班级电信12 -1 班姓名许锐佳学号 12034490129 指导教师左敬龙实验报告评分:_______一、实验原理及电路实验原理:单片机80c51的P2口接一矩阵键盘,P0和P3口接两个数码管,P1口通过接两个3-8译码器控制16个灯。

刚开始时,电路处于扫描按键是否按下的状态,当有某个键按下时,在扫描函数作用下,会有一小段消抖时间,确定没抖动的情况下再次判断是否真的有按键按下,如果真的有按下,通过先检查行,再检查列的方法判断是哪个键按下,判断完后执行对应case后面的语句,即实现相应的功能。

下图为实验原理电路图(此时按下的是第10个按键):二、功能说明16个开关形成矩阵键盘,当按下第一个键时,数码管显示1,第一个led灯亮;当按下第二个键时,数码管显示2,第二个led灯亮;当按下第三个键时,数码管显示3,第三个led灯亮···依次类推,按下第几号键,数码管显示对应号数,对应led灯亮。

三、实验框图:四、实验代码#include<reg51.h>#define uchar unsigned char#define uint unsigned intuchartable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07 ,0x7f,0x6f,0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d}; uchar num;void delay(uchar time){uchar i,j;for(i=0;i<time;i++)for(j=0;j<110;j++);}void display1(uchar num){P0=table[0];P3=table[num];}void display2(uchar num){P0=table[1];P3=table[num];}void keyscan(){uchar t,key;P2=0xfe;t=P2;t=t&0xf0;if(t!=0xf0){delay(10);t=P2;t=t&0xf0;if(t!=0xf0){t=P2;switch(t){case0xee:key=1;display1(key);P1=0x80;break;case0xde:key=2;display1(key);P1=0x81;break;case0xbe:key=3;display1(key);P1=0x82;break;case}}}P2=0xfd;t=P2;t=t&0xf0;if(t!=0xf0){delay(10);t=P2;t=t&0xf0;if(t!=0xf0){t=P2;switch(t){case0xed:key=5;display1(key);P1=0x84;break;case0xdd:key=6;display1(key);P1=0x85;break;casecase0x7d:key=8;display1(key);P1=0x87;break;}}}P2=0xfb;t=P2;t=t&0xf0;if(t!=0xf0){delay(10);t=P2;t=t&0xf0;if(t!=0xf0){t=P2;switch(t){case0xeb:key=9;display1(key);P1=0x40;break;casecase0xbb:key=11;display2(key);P1=0x50;break;case0x7b:key=12;display2(key);P1=0x58;break;}}}P2=0xf7;t=P2;t=t&0xf0;if(t!=0xf0){delay(10);t=P2;t=t&0xf0;if(t!=0xf0){t=P2;switch(t){casecase0xd7:key=14;display2(key);P1=0x68;break;case0xb7:key=15;display2(key);P1=0x70;break;case0x77:key=16;display2(key);P1=0x78;break;}}}}void main(){P1=0x00;P0=0x3f;P3=0x3f;while(1){keyscan();}}五、实验过程一开始实验时,16个led灯不知要怎么接,因为每个灯接一个接口太浪费,后来想到可以用3-8译码器,这样就能节省很多接口,只需占用P1六个接口就能实现对16个灯的控制。

2014-5《单片机原理与应用》实验-指导书DOC

2014-5《单片机原理与应用》实验-指导书DOC

《单片机原理与应用》课程实验指导书一、实验目的《单片机原理及应用》课程实验是电子信息工程和电子科学与技术专业的一门专业基础课实验,是学生获得单片机知识的开端。

要求学生通过本课程实验,具备利用单片机技术解决实际控制问题的能力。

培养与提高学生科学实验的能力,动手实践能力、理论联系实际的能力、自学能力、从简单的设计到综合的应用能力和创新能力。

通过实验的训练,使学生掌握《单片机原理与应用》实验的基本方法和基本技能,加深对单片机知识的理解,掌握单片机应用系统设计方法,为今后的工作打下良好的基础。

二、实验设备及器件PC机一台DP-51PROC单片机综合仿真实验仪一台示波器一台电阻若干电容若干导线若干三、实验内容本实验共6个实验内容:实验一仿真实验仪的操作使用练习实验二单片机I/O口控制实验实验三蜂鸣器驱动实验实验四电子琴实验实验五、六直流电机实验(定时器输出PWM实验)实验七 16×16 LED 扫描输出实验*详细指导内容请见附录。

四、实验考核、成绩评定考核方法:设计过程中检查学生实际操作能力,根据课程设计内容要求,设计相关程序, 指导书中所给代码仅供参考,要求学生独立进行整体程序设计,教师要检查学生的运行步骤及结果。

成绩评定:实验成绩根据考勤、实验态度、动手能力、创新能力和实验报告来综合评定,实验成绩计入课程平时成绩,占总成绩的20%。

五、参考资料1、DP-51PROC实验指导书(实验设备配套指导资料),2007年.2、李广第.等单片机基础.北京航空航天大学出版社,2005年.3、胡汉才等. 单片机原理及其接口技术.清华大学出版社,,2009年.六、实验报告格式要求按学院实验报告统一格式报告内容包括:实验目的与要求、实验步骤、程序流程图和实验程序、实验步骤和实验结论。

附录——详细指导内容实验一仿真实验仪的操作使用练习一.实验目的和要求熟悉Keil C51 集成开发环境调试功能的使用和DP-51PROC 单片机综合仿真实验仪的使用。

《单片机原理与应用》实验报告-574hc595实验

《单片机原理与应用》实验报告-574hc595实验
leds(127);//.
leds(255);//全灭
}
4.实验操作说明
第一步:连接电路,上传代码;
第二步:观察数码管的显示情况。
5其他说明

6.实验结果
数码管依次循环显示:数字1~9,小数点,全熄灭。
见实验5文件夹下视频:74HC595控制8段数码管。
五、教师评语
签名:
日期:
成绩
《单片机原理与应用》实验报告
实验序号:5实验项目名称:74hc595实验
学 号
1507162233
姓 名
杨舫
专业、班
15计算机
实验地点
指导教师
何一凡
实验时间
2016.10.22
一、实验目的
1.了解74hc595的工作原理
2.掌握74hc595的使用方法
3.熟练掌握Arduino设计的流程、方法
二、实验设备(环境)及要求
delay(1000); //暂停1秒钟让你看到效果
}
void loop()
{
leds(249);//1
leds(164);//2
leds(176);//3
leds(153);//4
leds(146);//5
leds(130);//6
leds(248);//7
leds(128);//8
l
1.原理图
2.实际连接图
3.实验程序代码
int latchPin = 4;
int clockPin = 5;
int dataPin = 2; //这里定义了那三个脚
void setup ()
{
pinMode(latchPin,OUTPUT);

单片机课程设计任务书5(5篇)

单片机课程设计任务书5(5篇)

单片机课程设计任务书5(5篇)第一篇:单片机课程设计任务书5课程设计任务书学生姓名:石樊专业班级:光信科1102指导老师:陈梦苇工作单位:武汉理工大学理学院题目:定时闹铃的设计初始条件:电脑一台、protel作图软件、keilc51编译器、medwin仿真软件、isp在线编程软件要求完成的主要任务:(包括课程设计工作量及其技术要求以及说明书撰写等具体要求)1、技术要求:以89s51单片机为核心芯片,设计一个定时闹铃,要求如下:A、能够显示定时的时间;B、定时时间到让相应的发光二极管发光;2、主要任务:(1)复习有关课程,如数字电路、单片机等;(2)以89s51为核心,根据设计指标设计电路的框图;(3)根据要求设计出电路逻辑图和装配图;(4)查阅资料,确定所需各元器件型号和参数;(5)自拟调整测试方法,并调试电路使其达到设计指标要求;(6)撰写设计说明书,进行答辩。

3、撰写课程设计说明书:封面:题目,学院,专业,班级,姓名,学号,指导教师,日期任务书目录正文:1、技术指标;2、设计方案及其比较;3、实现方案;4、调试过程及结论;5、心得体会;6、参考文献时间安排:课程设计时间:18周:明确任务,查阅资料,初步设计电路原理图;19~20周:按照电路原理图布线,并调试通过。

按照要求撰写课程设计说明书。

指导教师签名:年月日系主任(或负责老师)签名:年月日第二篇:单片机课程设计任务书“单片机课程设计”任务书一、设计目的通过该课程设计,主要达到以下目的:①使学生增进对单片机系统的感性认识,加深对单片机理论方面的理解,为顺利完成毕业设计打基础。

②使学生掌握对单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口和串行口通讯等。

③进一步深化和巩固所学基础理论、专业知识及实验技能,提高学生的技术应用能力,使学生了解和掌握单片机应用系统的软、硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。

《单片机原理与应用》实训指导书

《单片机原理与应用》实训指导书

佛山市顺德区郑敬诒职业技术学校《PIC单片机原理与应用》实训指导书制定:审核:审批:制定日期:二00七年九月实训项目一 熟悉实验环境及MPLAB 的使用实验目的:熟悉实验软硬件环境,能够对单片机编程并进行调试。

实验内容:了解实验平台软、硬件的构成,熟悉实验环境,掌握MPLAB 的使用方法;建立工程,编程,调试并运行程序。

基本要求:能够在计算机上使用MPLAB 建立一个工程,应用简单指令编写简单的程序进行编译,并在实验板上调试成功。

扩展要求:1、编写一段程序让PORTD 口输出二进制数‘10101010’。

2、编写跑马灯程序。

电路原理:单片机与LED:RD0RD1 RD2: RD7 程序流程:实现D 口小灯四亮四灭的程流程图单片机PORTD实验步骤:1、打开MPLAB。

双击桌面上名为“MPLAB IDE”的图标,打开MPLAB编译环境。

2、进入工程向导。

点击MPLAB上面菜单中的Project(工程),选择ProjectWizard(工程向导),通过工程向导来建立工程。

3、选择单片机。

进入欢迎界面(下图),点击下一步,在Device(设备)中选择PIC16F877A,如果该项为PIC16F877A则直接点下一步。

4、选择编译语言。

选择MPASM汇编语言编译器,如果该项为MicrochipMPASM Toolsuite,则直接点下一步。

5、创建工程文件。

请在D盘下建立一个存放工程的文件夹,文件名可以用英文、数字或英文数字混合,注意:不要用中文或标点符号,文件夹名和工程名长度不要超过8个字符。

下面以建立文件夹名为abcd , 工程名为LED 为例。

此处写入工程名字,可以和实验内容相关,如LED此处写入存放工程的路径,如D:\abcd,建议通过点击右边Browse(浏览)来选择建立好的文件夹6、添好工程名和路径后点击下一步,下图表示可以添加程序文件到工程中,如果是初次编程或没有编好的程序文件,可直接点击下一步。

单片机实验五按键及七段数码管实验

单片机实验五按键及七段数码管实验

单片机实验五按键及七段数码管实验第一篇:单片机实验五按键及七段数码管实验实验五按键及七段数码管实验一、实验目的1、熟悉keil软件;2、掌握矩阵式按键的原理;3、掌握七段数码管显示的原理;4、掌握STC单片机的按键及数码管程序编写及下载;二、实验要求1、编写矩阵式按键的读取程序、七段数码管的动态显示程序,并将程序结合在一起,产生某一按键按下,显示对应键值的程序。

2、编写串行通信的发送及接收程序,实现串行口跟PC及的通信,并在PC机上用串口调试工具观察实验结果;3、利用keil软件调试程序,并产生.hex文件;4、将.hex文件利用STC单片机下载工具下载到单片机最小系统中,并观察LED灯的显示状态;5、提交实验报告,报告包含程序及LED的显示结果。

三、实验内容1、打开keil软件,熟悉软件的菜单、工作界面及工具。

然后按照keil的编程步骤编写程序(创建工程----选择单片机AT89C51----新建源文件----保存为C程序----编写完整的C51程序----将文件添加到工程----编译并修改错误----连接产生.hex文件)。

2、打开STC下载软件,将keil生成的.hex文件打开,下载到最小系统板,测试程序并观察实验结果。

3、按键及七段LED的程序,实现更多的LED与按键结合的效果。

四、实验说明1、程序中使用的按键及LED灯的IO端口要与自己的单片机最小系统板对应;2、按键程序注意抗消抖;3、思考计算器程序如何实现;第二篇:单片机数码管显示实验实验一数码管实验一、实验目的1.了解数码管的显示原理;2.掌握JXARM9-2440 中数码管显示编程方法二、实验仪器JXARM9-2440教学实验箱、ADT1000仿真器和ADT IDE集成开发环境、串口连接线、PC机。

三、实验原理7段LED由7个发光二极管按“日”字形排列,所有发光二极管的阳极连在一起称共阳极接法,阴极连在一起称为共阴极接法。

LED显示器的接口一般有静态显示与动态显示接口两种方式。

《单片机原理与应用》实验指导书1

《单片机原理与应用》实验指导书1

《单片机原理与应用》实验指导书目录实验一无符号双字节乘法运算子程序实验二 BCD码与ASCII码转换实验三 P1口实验实验四定时器实验—循环彩灯实验实验五数码显示实验实验六 A/D转换实验实验一无符号双字节乘法运算子程序一、实验目的:熟悉MCS-51指令系统,学会使用Keil C编程软件。

熟悉汇编语言编程。

二、实验设备:EL-8051-III型单片机实验箱。

三、实验内容:(1)在(R2R3)和(R6R7)中输入双字节无符号整数。

(2)将(R2R3)和(R6R7)中双字节无符号整数相乘,积存入R2R3R4R5中。

(3)连续或单步运行所编程序。

检查R2R3R4R5中的内容是正确。

四、实验原理:R6 R7R2 R3R4 R5B AB AB A(B)R2 (B+B+A) R3 (R4+A+A) R4 R5五、实验调试1、打开Keil,新建Keil项目;2、选择CPU类型为ATMEL中的AT89C52单片机;3、根据流程图新建汇编源程序(*.asm),并保存;4、在项目管理器窗口(project windows)中,将新建的ASM源程序添加到“source group 1”中;5、在Keil中选择“project”->“build target”菜单,编译汇编源程序,如有错,修改后重新编译;6、选择“debug”->“start/stop debug session”菜单,进入程序调试环境;7、按“F11”键,单步运行程序,观察“project windows”中,寄存器R0~R7的变化情况,最后验证R2R3R4R5无符号双字节相差的结果是否正确(可和程序/附件计算器的相乘结果对比)。

六、参考程序实验二 BCD码与ASCII码转换程序一、实验目的:熟悉MCS-51指令系统,学会使用Keil C编程软件。

熟悉汇编语言编程。

二、实验设备:EL-8051-III型单片机实验箱。

三、实验内容:将本人的班号学号以压缩的BCD码的形式由低到高存放在50H开始的单元中,如10050941班,学号为01的同学,将1050H、0551H、0952H、4153H、0154H。

单片机实验五 按键实验

单片机实验五 按键实验

实验五:按键实验一、实验要求实验目的:熟悉和掌握矩阵式键盘的工作原理、电路设计和软件编程方法;熟悉和掌握矩阵式减半的行扫描法和行反转法两种键盘扫描识别方法;掌握键盘延时抖动的消除方法,掌握LED静态扫描显示方式。

实验内容:4*4键盘矩阵的横线连接单片机的P1.0~P1.3端口,列线连接P1.4~P1.7端口,1位LED数码管连接单片机的P0口,编程实现:当按下任意一个按键时,LED数码管显示它在4*4键盘矩阵上的序号0~F二、实验原理线反转法的原理线反转法与行扫描法相比更加简练,无论被按键是处于第一行还是最后一行,均经过两步便可获得该键值所在的行列值。

线反转法的工作原理如图1所示,图1中采用8位I/O端口构成一个4*4的矩阵键盘,P1.0~P1.3作为行线,P1.4~P1.7做列线,采用查询方式进行工作。

下面介绍线反转法的具体操作步骤。

第一步:将列线便成为输入线,将行线便成为输出线,并使输出线的输出为全零电平,则列线中的电平由高到低发生变化的列为按键所在列。

第二步:将第一步中的传送方向反过来,即将行线编程位输入线,列线编程位输出线,并输出第一步中的输入列值,则行线中电平由高到低发生变化的行即为按键所在的行。

综合一、二两步的结果,可确定按键所在的行和列,从而识别出按键所在的键。

例如“键9”被按下,第一步在P1.0~P1.3行线输出全零,然后读入列线值位P1.7~P1.4=1101B,即P1.5=0,与P1.5相连的列线有键被按下。

第二步从列线输出刚才得到的值,再读取行线的输入值,则在闭合键所在的行线上值必定为“0”,即从行线读出的值为P1.3~P1.0=1101B。

于是行值和列值合起来得到唯一的一对行列值:11011101B即0DDH,这个值对应“键9”。

可见先反转法非常简单实用。

三、程序设计1、程序流程图图 1 程序流程图2、程序代码ORG 0000HLJMP STARTORG 0100HSTART: MOV SP, #60HKEY0: MOV P1, #0EFHJNB P1.0, K0JNB P1.1, K4JNB P1.2, K8JB P1.3, E1LJMP K12E1: MOV P1, #0DFHJNB P1.0, K1JNB P1.1, K5JNB P1.2, K9JB P1.3, E2LJMP K12E2: MOV P1, #0BFHJNB P1.0, K2JNB P1.1, K6JNB P1.2, K10JB P1.3, E3LJMP K14E3: MOV P1, #07FHJNB P1.0, K3JNB P1.1, K7JNB P1.2, K11JNB P1.3, K15LJMP KEY0K0: MOV P0, #0C0HLCALL DELAYJMP KEY0K1: MOV P0, #0F9HLCALL DELAYJMP KEY0K2: MOV P0, #0A4HLCALL DELAYJMP KEY0K3: MOV P0, #0B0HLCALL DELAYJMP KEY0K4: MOV P0, #99HLCALL DELAYJMP KEY0K5: MOV P0, #92HLCALL DELAYJMP KEY0K6: MOV P0, #082HLCALL DELAYJMP KEY0K7: MOV P0, #0F8HLCALL DELAYJMP KEY0K8: MOV P0, #80HLCALL DELAYJMP KEY0K9: MOV P0, #090HLCALL DELAYJMP KEY0K10: MOV P0, #88HLCALL DELAYJMP KEY0K11: MOV P0, #083HLCALL DELAYJMP KEY0K12: MOV P0, #0C6HLCALL DELAYJMP KEY0K13: MOV P0, #0A1HLCALL DELAYJMP KEY0K14: MOV P0, #086HLCALL DELAYJMP KEY0K15: MOV P0, #08EHLCALL DELAYJMP KEY0DELAY: M OV R3, #60HLP: MOV R4, #0A8HLP1: MOV R5, #0A8HLP2: DJNZ R5, LP2DJNZ R4, LP1DJNZ R3, LPRETEND设计说明:单片机不断查询各列电平,当某列中有某行的电平被置零,则跳转到改行所在语句,在数码管上显示被按键的数字。

单片机5按键功能的实现

单片机5按键功能的实现

实验5 按键功能的实现一、实验目的1、理解按键电路的作用;2、学习按键功能的编程方法;3、熟悉单片机I/O口连接独立式按键的编程应用方法。

二、实验说明按键在单片机应用系统中实现向单片机输入数据、传送命令等功能,是人工干预单片机工作的主要手段。

如果需要较多数量的按键,可以采用按键矩阵和专门的接口器件扩展按键。

实际的单片机应用系统中,用到的按键数量一般不多,通常采用单片机I/O口和独立式按键即能满足需要。

实验箱核心板上有 4 个按键,其一端全部与地线相连,另一端顺次与P1.4~P1.7 相连。

本实验需要用到核心板上的3 个按键、3 个指示灯和6 个数码管,所用到的实验电路原理如图 3.1.6 所示。

本实验中 3 个按键设计的功能,是一个实用的简单温度控制系统的按键功能,要求通过按键设定一个温度上限值和一个温度下限值。

本实验只涉及按键和显示功能,在今后的实验中,将进一步增加硬件和软件功能,利用单片机实现实际的温度控制系统,使温度维持在上、下限值之间。

①“功能”键:在内存数据区定义一个名称为“KBM”的字节,存放功能编号,共有 3 种功能,分别对应编号为0,1,2。

每按一次“功能”键,“KBM”中的值在这三个数字中循环改变一次。

与三种功能对应,设计三个LED(发光二极管)指示灯,由单片机P3 口控制,当处于某种功能状态时,相应的指示灯亮。

本实验的内容,实际上是后面进一步做温度测量控制系统的一部分。

三种功能的含义如下:功能号0:显示测量的温度值;功能号1:对温度上限值进行修改;功能号2:对温度下限值进行修改。

②“↑”键:每按一次“↑”键,内存数据区中指定变量单元的值增1,持续按住则连续增1。

③“↓”键:与“↑”键对应,每按一次“↓”,内存数据区中指定变量单元的值减1,持续按住则连续减1。

功能号为0 时,数码管显示被测温度值,此时按另外两个按键不起作用。

功能号为 1 时,数码管显示设定温度的上限值,按另外两个按键可以修改温度上限值。

《单片机原理与应用》实验指导书

《单片机原理与应用》实验指导书

《单片机原理与应用》 实 验 指 导蒋艳红 编桂林电子科技大学电子工程学院2007.3目 录实验一 单片机开发系统的使用方法 (1)实验二 I/O口输入、输出实验 (7)实验三 定时器/计数器实验 (9)实验四 中断实验 (12)实验五 串行通讯实验 (15)附录一 逻辑分析工具 (17)附录二 系统自动检测功能 (21)实验一 单片机开发系统的使用方法一、实验目的1.学习单片机开发系统和仿真软件的使用及程序调试方法。

2.掌握汇编程序的编写方法及常用技巧。

二、单片机实验系统简介单片机的开发与应用需要借助于开发软件及硬件仿真系统进行。

在单片机应用系统的开发过程中,为了得到满足要求的用户程序,需要有一个对程序的调试过程,这项工作依靠单片机自身是无法完成的。

因为程序在机器内连续高速地运行,难以观测程序的运行情况。

此外,还需要把调试成功后的程序固化到单片机的程序存储器中,当单片机运行起来后,对整个用户样机系统的软硬件进行实时的诊断、调试。

因此需要有相应的仿真设备才能完成。

单片机实验系统LAB6000即是具有对应用程序进行输入编辑、修改等功能的设备,软硬件仿真可以实现对源程序进行编译,及程序的执行和检测。

在对目标系统的调试过程中,可以运用单步执行,设置断点执行、状态查询等功能,以达到设计目的、完成从用户程序的编写到单片机应用系统的正确运行之前的一切准备工作即仿真功能。

系统运行时,能够产生和单片机完全相同的实时信号,以实现对用户样机系统中软、硬件的故障诊断和调试。

LAB6000实验系统由硬件及软件两部分组成。

三、调试步骤(一)建立源文件并保存 双击桌面WAVE图标,进入伟福开发环境。

1、选择菜单:文件/新建文件,进入源程序编辑窗口,在此输入源程序。

如图1-1。

图 1-1选择菜单:文件/保存文件或直接点击工具栏上小磁盘图标,指定文件所要保存的位置,例如:F:\0820101文件夹,再确定文件名:sy1.ASM ,注意后缀应为 .ASM。

《单片机原理及应用》实验指导书

《单片机原理及应用》实验指导书

《单片机原理及应用》实验指导书主编刘炜李庆达审核蔡静之校对杨艺北方民族大学电气信息工程学院二○一○年十月目录第一章 DVCC-52196JH单片机仿真实验系统简介 (2)1-1 DVCC-52196JH单片机仿真实验系统的技术指标 (2)1-2 通用外围电路 (3)1-3 硬件系统的安装和系统启动 (3)1-4 I/O接口器件地址 (4)1-5 MCS-51汇编语言的调试过程 (4)第二章实验项目 (5)实验一清零程序 (5)实验二拆字程序 (6)实验三拼字程序 (7)实验四数据传送程序 (8)实验五 P3.3口输入、P1口输出 (9)实验六脉冲计数 (11)第一章 DVCC-52196JH单片机仿真实验系统简介DVCC系列单片机仿真实验系统可以对MCS-51、MCS-196、十六位微机8086/8088进行实验与仿真,出厂时为MCS-51实验开发系统。

1-1 DVCC-52196JH单片机仿真实验系统的技术指标DVCC系列单片机仿真实验系统由三大部分组成:电源,单板式结构的箱式实验台,主机。

下面具体介绍一下箱式实验台:1.主机含8032CPU,可选配96CPU卡、8088CPU卡;2.配有64K管理程序;3.配有64K用户数据/程序空间,可一次性在线仿真;4.带4*8键盘,6只高亮LED八段数码显示器,10位开关量输入信号,12位开关量输出发光二极管;5.自带EPROM编程器;6.配备各种单片机常用接口芯片,如8253A定时/计数器、ADC0809、DAC0832、并行I/O口8255A、8155、可编程中断接口8259A、串行通信芯片8251A等。

同时,可通过扩展外配可编程键盘、显示控制器、DMA芯片8237A等;7.带有正/负单脉冲发生器、连续脉冲发生器、分频电路等;8.配备单片机控制执行单元,如步进电机、直流电机、继电器、电子音响等;9.可外配温度、压力测量模块;10. 支持ASM-51/96/8088、C51/96等多种语言的汇编、反汇编及动态调试。

《单片机原理及应用》实验指导书

《单片机原理及应用》实验指导书

《单片机原理及应用》实验指导书目录实验一P1口输出实验(验证性实验) (1)实验二中断实验(验证性实验) (3)实验三键盘显示实验(验证性实验) (5)实验四计算器实验(综合性实验) (8)实验一P1口输出实验(验证性实验)一.实验目的1.熟悉P1 口的功能。

2.熟悉延时子程序编写和使用。

3.熟悉I/O口接法和总线接法4.初步熟悉单片机软硬件设计方法。

二.实验内容P1口做输出口,P1.0引脚接一只发光二极管,编写程序,使该发光二极管循环亮灭(亮0.2s、灭0.8s)。

要求采用I/O口接法和总线接法两种方法实现。

三.实验仪器计算机、Keil编程环境、LAP2000伟福实验箱四. 注意事项1.安装实验箱时,先接仿真器串口线,后接电源线。

2.实验过程中,在进行接插线操作时,必须先关闭电源。

五. 实验线路及原理实验箱中带有8051的仿真器,因此用户需按要求进行仿真器设置。

实验箱中单片机并口的各个引脚已经引出相应插孔,请同学自行查找。

实验箱上的LED,其电路图如下:六. 实验步骤1.打开keil软件编写程序,并进行仿真器设置。

2.将实验箱中单片机的某个并口引脚接发光二极管。

3.编译调试程序。

七. 思考1.实现走马灯程序。

(选做)2.实现简单的时钟功能。

(选做)实验二中断实验(验证性实验)一.实验目的1.熟悉中断的硬件电路。

2.熟悉中断的软件设计。

二.实验内容1. 利用实验箱上的单脉冲按键和发光二极管实现:每当单脉冲按键按下时(产生一个脉冲),发光二极管亮灭变化。

2. 利用计数器实现:每当单脉冲按键按下10次时,发光二极管亮灭变化三.实验仪器计算机、Keil编程环境、LAP2000伟福实验箱四. 注意事项1.安装实验箱时,先接仿真器串口线,后接电源线。

2.实验过程中,在进行接插线操作时,必须先关闭电源。

五. 实验线路及原理单脉冲电路由按键(PULSE) 和去抖动电路组成,每按一次(PULSE) 键产生一个单脉冲。

《单片机原理及应用》实验指导书.doc

《单片机原理及应用》实验指导书.doc

《单片机原理及应用》实验指导书广州大学松田学院电气与汽车工程系2011年10月实验一流水灯实验.................................. 实验二数码管动态显示实验 (3)实验三单片机外部中断实验 (5)实验四单片机定时器/计数器应用 (7)实验五中断及综合实验 (10)附录开发板电路原理图 (II)实验一流水灯实验1.实验H的及要求1)掌握keil c51软件和STC-ISP软件使用方法。

2)巩固单片机基本程序的编写方法和单片机工程项F1的建立流程。

3)熟悉用单片机P0 口控制LED灯亮和灭的方法。

2.实验仪器计算机、keil c51软件、单片机开发板、下载线3.实验内容利用P0 口直接控制8个LED灯的亮和灭。

把不同的数据(本实验采用40 个不用的字节)定时输出P0 口,控制LED灯相应的变化,产生花样灯效果。

改变延吋吋间,则改变LED灯改变速度,效果也不一样。

4.实验步骤1)使用ke订c51软件建立一个工程,命名保存,并配置工程。

2)新建一个文件,主文件名与工程名一致,文件后缀名为MSM。

编辑实验源程序。

(注意:源程序编辑不要在屮文状态下)实验参考程序如下:ORG 0100HTMP1:DB 0111, 02H, 04H, 0811, 10H, 2011, 40H, 80H, 8111, 8211DB 84H, 88H, 90H, OAOH, OCOH, 0C1H, 0C2H, 0C4H, 0C8H, ODOHDB OEOH, 0E1H, 0E2H, 0E4H, 0E8H, OFOH, 0F1H, 0F2H, 0F4H,0F8H0RG 000011 ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主稈序的开始MAIN: MOV DPTR, #TMP1 ;得到数据的地址MOV R7, #40 ;设置循环40次Ml: CLR AMOVC A, ©A+DPTR ;读取相应地址的数据CPL A ;因发光二极管采用共阳极,所以将数据取反再输出MOV P0, AINC DPTRLCALL DELAY ;转入延时了程序DJNZ R7, Ml ; 40次未完成继续LJMP MAIN ;40次完成冋到开始处DELAY: MOV R5, #255 ;延时子稈序D1: MOV R6, #255DJNZ R6, $DJNZ R5, DIRETEND ;程序体结束3)汇编、连接生产目标文件。

《单片机技术及其应用应用》实验指导书(新)

《单片机技术及其应用应用》实验指导书(新)

目录实验一开发板的基本操作与应用软件的使用 (1)实验二指令系统实验 (4)实验三汇编程序设计实验 (7)实验四键盘显示实验 (9)实验五外部中断实验 (11)实验六定时/计数器实验 (13)实验七串行口通信实验 (16)实验八模数、数模转换实验 (17)实验一开发板的基本操作与应用软件的使用一、实验目的(1)了解并熟悉开发板软、硬件,掌握开发板的基本操作;(2)重点掌握程序下载方法以及Keil C软件的使用;(3)掌握在开发板上调试程序的方法。

二、实验内容(1)开发板使用说明1.软件下载:打开STC-ISP软件,按照下图设置好对应的参数,将要下载的文件加载到软件当中,点击DownLoad,再出现“仍在连接中。

”,这时给开发板上电,几秒钟将程序下载到MCU中,下载完成后程序运行。

下图为下载完成后的图示。

2硬件结构说明:ISP下载口,实验开发板上开放出的ISP下载接口,可以兼容AT系列单片机下载功能,用户可以根据自己的需要制作下载器,或用同样线序的下载器下载。

本实验配备的是STC系列下载电路及下载线。

实验板供电部分:实验板采用了典型取电模式USB供电,而且提供了外接电源接口。

用户可以根据自己需要选择电源的供电。

3流水灯连接电路注意跳线J9-LED发光二极管供电,其中蜂鸣器共用P10口。

低电平时LED点亮,高电平时LED熄灭。

(2)流水灯实验程序内容:循环点亮P1口对应的8个LED灯,造成循环流水点亮的效果汇编语言:ORG 0000HMOV P1,#0FFHMOV A,#0FEHNEXT: MOV P1,AACALL DEYRL ASJMP NEXTDEY: MOV R3,#00H ;延时子程序LOOP: MOV R4,#00HDJNZ R4,$DJNZ R3,LOOPRETENDC语言编程:#include<reg52.h>void delay(unsigned int cnt){while(--cnt);}main(){P1=0xfe; //给初始化值换算成二进制是1111 1110 while(1) { delay(30000);//延时程序P1<<=1; //左移一位该语句等效于 P1=P1<<1P1|=0x01; //最后一位补1,该语句等效于 P1=P1|0x01 符号"|"表示"或"if(P1==0x7f) //检测是否移到最左端?"=="表示检测符号2端的值是否相等 {delay(30000);P1=0xfe; //重新赋值}}}三、主要实验仪器(1)单片机开发板、(2)安装有Keil软件的计算机实验二指令系统实验一、实验目的(1)掌握单片机的寻址方式;(2)掌握传送类指令的使用;(3) 掌握算数逻辑运算类指令的使用;(4)掌握跳转类指令的使用;(5)掌握位操作指令的使用。

单片机原理与应用实验教案实验指导书

单片机原理与应用实验教案实验指导书

单片机原理与应用实验指导书专业班级姓名计算机学院编2007年3月实验目录第一部分软件实验选做实验一清零程序实验二拆字程序实验三拼字程序实验四数据区传送子程序实验五数据排序实验实验六查找相同个数实验七无符号数双字节快速乘法子程序实验八脉冲计数(定时/计数综合实验)第二部分硬件实验选做实验一 P1口亮灯实验实验二 P1口转弯灯实验实验三 P3.3口输入,P1口输出实验四工业顺序控制实验五 8255PA口控制PB口实验六 8255控制交通灯实验七简单I/O口扩展实验八 A/D转换实验第一部分软件实验实验一清零程序一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。

二、实验内容把2000H~20FF的内容清零。

三、实验步骤用连续或单步方式运行程序,检查2000H~20FF执行程序前后的内容变化。

四、思考 1、假使把2000H~20FF中的内容改为FF,如何修改程序。

2、将程序中的汇编语言中每条单步执行的指令阐述出来。

五、程序清单(sw01.asm)ORG 0000HLJMP SE01ORG 0640HSE01:MOV R0,#00HMOV DPTR,#00H ;(0000H)送DPTRLOO1:CLR AMOVX @DPTR,A ;0送DPTRINC DPTR ;DPTR+1INC R0 ;字节数加1CJNE R0,00H,LOO1 ;不到FF个字节再清LOOP:SJMP LOOPEND实验二拆字程序一、实验目的掌握汇编语言设计和调试方法。

二、实验内容把2000H的内容拆开,高位送2001H低位,低位送2002H低位,2001H、2002H高位清零,一般本程序用于把数据送显示缓冲区时用。

三、实验程序框图四、实验步骤用连续或单步方式运行程序,检查2000H~2002H中内容变化情况。

五、思考 1、如何用断点方式调试本程序。

2、将程序中的汇编语言中每条单步执行的指令阐述出来。

六、程序清单(sw02.asm)ORG 0000HLJMP SE02ORG 0660HSE02: MOV DPTR,#2000HMOVX A,@DPTRMOV B,A ;(2000H)→A→BSWAP A ;交换ANL A,#0FH ;屏蔽高位INC DPTRMOVX @DPTR,A ;送2001HINC DPTRMOV A,BANL A,#0FH ;(2000H)内容屏蔽高位MOVX @DPTR,A ;送2002HLOOP: SJMP LOOPEND实验三拼字程序一、实验目的进一步掌握汇编语言设计和调试方法。

《单片机原理及应用》课程实验指导书

《单片机原理及应用》课程实验指导书

江西理工大学《单片机原理及应用》课程实验指导书主审人:主撰人:前言单片机技术作为计算机技术的一个重要分支,广泛用于工业控制、智能化仪器仪表、家用电器,甚至电子玩具等各个领域,它具有集成度高、性能价格比优越、货源充足等优点。

因此,越来越受到工程技术人员重视,目前国内中高等学校电力技术、电气自动化、自动控制、电子技术等均开设了此课程。

目录第一部分绪论第二部分基本实验指导实验一单片机及其开发系统入门实验二单片机I/O口控制实验实验三外部中断实验实验四定时/计数器实验实验五蜂鸣器驱动实验实验六串转并的I/O口实验实验七 8x8LED扫描输出实验实验八基于C51单片机综合程序设计实验九并转串的I/O口实验实验十 RS232串行口通信实验实验十一并行的模数转换实验实验十二并行的数模转换实验附录实验仪硬件结构第一部分绪论本实验指导书是根据《单片机原理及应用》课程实验教学大纲编写,适用于电气工程及自动化、自动化专业。

一、本课程实验的作用与任务《单片机原理及应用》实验是单片机学习过程中必不可少的重要实践环节。

通过实验和设计,让学生掌握单片机硬件基本知识、基本操作技能,熟练理解 80C51 汇编语言编程、I/O 控制以及中断控制等基本概念,使学生在分析问题和解决问题等方面受到系统科学的训练,从而提高学生理论联系实际能力、自主动手能力和创新能力。

二、本课程实验的基础知识本课程要求学生掌握单片机硬件基本知识、基本操作技能,熟练理解 80C51 汇编语言编程、I/O 控制以及中断控制等基本概念。

学生在学习这门课程之前,必须掌握《模拟电子技术》、《数字电路》、《微机原理及应用》、《C语言程序设计》等课程相关内容。

三、本课程实验教学项目及要求第二部分基本实验指导实验一单片机及其开发系统入门一. 实验目的熟悉 Keil C51集成开发环境的使用方法。

二.实验原理利用单片机的P1口控制发光二极管,进行Keil C51集成开发环境的仿真调试练习。

《单片机原理及应用》实验指导书

《单片机原理及应用》实验指导书

《单片机原理及应用》102G05A实验指导书2016.02目录实验1 C语言编程 (3)实验2 Keil开发环境与编程 (5)实验3 数据排序 (18)实验4 数据搬运 (19)实验5 汇编程序实验 (20)实验6 流水灯实验 (21)实验7 C8051F020单片机基本配置方法 (21)实验8 外部中断实验 (25)实验9 按键接口与数码管输出 (26)实验10 定时器 (27)实验11 数字频率计设计 (28)实验12 串口通信实验 (30)实验13 数据采集系统设计 (31)实验14 函数信号发生器设计 (32)实验1 C语言编程一、实验目的1.复习C语言编程。

二、实验内容1.熟悉C语言编程。

软件调试一下题目:(1) 两数相加(2) 两数比大小(3) 1+2+3+……+10(4) 其他简单数学计算………三、实验步骤(简单操作可参见实验2中项目创建步骤)1.Keil软件,使用“Project”菜单中的“New μVision Project”选项来创建项目,放置到你指定的文件夹。

2.选择单片机型号AT89C513.编写源程序,并保存(扩展名用C),例程见图1-1。

4.将文件添加到工程中。

5.调试。

编写源程序注意:1.AT89C51为通用8051系列单片机2.头文件reg51.h用于51单片机特殊功能寄存器标识,stdio.h用于一些标准输入输出函数的调用如printf()。

3.因单片机没有PC机那样的显示器标准输出,printf()函数的输出通过单片机串口输出实现,所以要完成两件事:(1) printf()函数之前要执行“TI=1;”用于打开串口发送,只有执行“TI=0;”(2) 软件仿真调试时,信息在“串口输出”窗口中输出。

可在debug模式下使用菜单View-->Serial Windows-->UART #1打开“串口输出”4.使用单片机端口P0、P1、P2等输出,可在debug模式下使用菜单Peripherals—>I/O-Ports—>指定哪个端口5.调试界面如图1-2图1-1 C语言例程图1-2 C语言程序调试界面点击后进入调试模式串口输出从端口输出头文件实验2 Keil开发环境与编程一、实验目的1.熟悉基于KEIL下的实验环境。

单片机实验五 按键

单片机实验五  按键

实验五按键试验目的:1、了解普通按键的工作原理。

2、掌握按键键值采集程序的编写。

3、熟悉键值处理程序的使用。

试验要求:开始6位LED显示器上使用动态显示的方法显示“Abc——0”,按下四个按键的其中一个,将其键值(1、2、4、8)显示在6位LED显示器地最后一位上。

试验连线:试验采用共阳极LED数码管,段码送到片外数据存储地址“FFDCH”,位置选择码送到片尾数据存储地址“FFDDH”;四个分别按键连在P1.0、P1.1、P1.2、P1.3口上,按键按下时相应的I/O口读入“0”,松开时读入“1”。

试验源程序:ORG 0000HSJMP MAINORG 0100HMAIN: MOV SP,60HMOV P1,#0FFHMOV A,#00HMOV 50H,AMOV A,#00HMOV 51H,AMOV A,#16MOV 52H,AMOV A,#0CHMOV 53H,AMOV A,#0BHMOV 54H,AMOV A,#0AHMOV 55H,AMOV R0,#50HMOV R1,#01HMOV R2,#06H LOOP: LCALL XSLCALL KEYLJMP LOOPXS: MOV A,@R0MOV DPTR,#DMMOVC A,@A+DPTRMOV DPTR,#0FFDCHMOVX @DPTR,AMOV A,R1MOV DPTR,#0FFDDHMOVX @DPTR,ALCALL DELINC R0MOV A,R1RL AMOV R1,ADJNZ R2,XSMOV R0,#50HMOV R1,#01HMOV R2,#06HRETKEY: MOV A,P1CPL AANL A,#0FHJZ OUTMOV 40H,ALCALL DELLCALL DELLCALL DELLCALL DELLCALL DELLCALL DELLCALL DELLCALL DELLCALL DELLCALL DELMOV A,P1CPL AANL A,#0FHCJNE A,40H,OUTMOV 50H,A NEXT:MOV A,P1CPL AANL A,#0FHJNZ NEXT OUT:RETDEL:MOV R6,#20 DEL1:MOV R7,#25 DEL2:DJNZ R7,DEL2DJNZ R6,DEL1RETDM: DB 0C0H,0F9H,0A4H,0B0H DB 99H,92H,82H,0F8HDB 80H,90H,88H,83HDB 0C6H,0A1H,86H,84HDB 0BFHEND试验流程图:图5—1 主程序流程图图5—2 显示程序流程图图5—3 按键程序流程图图5—4 软件延时程序流程图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机原理及应用
随堂实验报告
实验五按键与显示实验
学院计算机与电子信息学院
专业电子信息工程班级电信12 -1 班
姓名许锐佳学号
指导教师左敬龙
实验报告评分:_______
一、实验原理及电路
实验原理:单片机80c51的P2口接一矩阵键盘,P0和P3口接两个数码管,P1口通过接两个3-8译码器控制16个灯。

刚开始时,电路处于扫描按键是否按下的状态,当有某个键按下时,在扫描函数作用下,会有一小段消抖时间,确定没抖动的情况下再次判断是否真的有按键按下,如果真的有按下,通过先检查行,再检查列的方法判断是哪个键按下,判断完后执行对应case后面的语句,即实现相应的功能。

下图为实验原理电路图
(此时按下的是第10个按键):
二、功能说明
16个开关形成矩阵键盘,当按下第一个键时,数码管显示1,第一个led灯亮;当按下第二个键时,数码管显示2,第二个led灯亮;当按下第三个键时,数码管显
示3,第三个led灯亮···依次类推,按下第几号键,数码管显示对应号数,对应led灯亮。

三、实验框图:
四、实验代码
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar
table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07 ,0x7f,0x6f,0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d}; uchar num;
void delay(uchar time)
{
uchar i,j;
for(i=0;i<time;i++)
for(j=0;j<110;j++);
}
void display1(uchar num)
{
P0=table[0];
P3=table[num];
}
void display2(uchar num)
{
P0=table[1];
P3=table[num];
}
void keyscan()
{
uchar t,key;
P2=0xfe;
t=P2;
t=t&0xf0;
if(t!=0xf0)
{
delay(10);
t=P2;
t=t&0xf0;
if(t!=0xf0)
{
t=P2;
switch(t)
{
case
0xee:key=1;display1(key);P1=0x80;break;
case
0xde:key=2;display1(key);P1=0x81;break;
case
0xbe:key=3;display1(key);P1=0x82;break;
case
}
}
}
P2=0xfd;
t=P2;
t=t&0xf0;
if(t!=0xf0)
{
delay(10);
t=P2;
t=t&0xf0;
if(t!=0xf0)
{
t=P2;
switch(t)
{
case
0xed:key=5;display1(key);P1=0x84;break;
case
0xdd:key=6;display1(key);P1=0x85;break;
case
case
0x7d:key=8;display1(key);P1=0x87;break;
}
}
}
P2=0xfb;
t=P2;
t=t&0xf0;
if(t!=0xf0)
{
delay(10);
t=P2;
t=t&0xf0;
if(t!=0xf0)
{
t=P2;
switch(t)
{
case
0xeb:key=9;display1(key);P1=0x40;break;
case
case
0xbb:key=11;display2(key);P1=0x50;break;
case
0x7b:key=12;display2(key);P1=0x58;break;
}
}
}
P2=0xf7;
t=P2;
t=t&0xf0;
if(t!=0xf0)
{
delay(10);
t=P2;
t=t&0xf0;
if(t!=0xf0)
{
t=P2;
switch(t)
{
case
case
0xd7:key=14;display2(key);P1=0x68;break;
case
0xb7:key=15;display2(key);P1=0x70;break;
case
0x77:key=16;display2(key);P1=0x78;break;
}
}
}
}
void main()
{
P1=0x00;
P0=0x3f;
P3=0x3f;
while(1)
{
keyscan();
}
}
五、实验过程
一开始实验时,16个led灯不知要怎么接,因为每个灯接一个接口太浪费,后来想到可以用3-8译码器,这样就能节省很多接口,只需占用P1六个接口就能实现对16个灯的控制。

但是后来又发现,译码器E1给高电平,E2非、E3非给低电平虽然能实现译码,但是没法独立控制16个灯,只能控制一排8个灯,另一排的显示结果与前一排相似,于是,再次查看3-8译码器各引脚功能,发现E1给低电平时能保持原有结果,而且P1口剩两个接口,因此我立马将两个译码器的E1口接到P1口剩下的两个接口,通过给E1高低电平实现对第一排8个led灯和第二排8个led灯的独立控制。

六、实验小结
本次按键与显示实验难度适中,虽然成功完成实验,但是个人感觉自己做的这个功能比较简单,而且程序也编的比较繁琐,不够简洁,编程方面还得多练,自己也得尝试做一些功能更为复杂的,不能满足于现状。

相关文档
最新文档