MCS51单片机系统设计指导书.doc

上传人:laozhun 文档编号:4146728 上传时间:2023-04-07 格式:DOC 页数:39 大小:521.50KB
返回 下载 相关 举报
MCS51单片机系统设计指导书.doc_第1页
第1页 / 共39页
MCS51单片机系统设计指导书.doc_第2页
第2页 / 共39页
MCS51单片机系统设计指导书.doc_第3页
第3页 / 共39页
MCS51单片机系统设计指导书.doc_第4页
第4页 / 共39页
MCS51单片机系统设计指导书.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《MCS51单片机系统设计指导书.doc》由会员分享,可在线阅读,更多相关《MCS51单片机系统设计指导书.doc(39页珍藏版)》请在三一办公上搜索。

1、一、 单片机开发系统应用初步 基本I/O口赋值1. 实验目的:a KEIL C软件对程序进行编译调试及烧录软件的使用方法。b 单片机基本I/O口的驱动方式、特点等。c 汇编语句的基本用法;对基本I/O口的赋值方法;程序的具体流程等。2实验设备使用:计算机一台、单片机实验箱一套、Keli C软件一套。对P0口赋值跳转至主程序开始END3实验基本原理:(1)源程序及流程图:ORG 0000H AJMP MAIN ORG 0030HMAIN: MOV P0,#0FH JMP MAIN END(2)电路原理图:4实验内容:a. 编写一程序,可实现P0口输出固定数据。b. 改变输出端口,改变输出数据,观

2、察实验现象。c. 通过数码管显示原理,结合本次实验,实现I/O口输出相应数据驱动数码管显示出特定字符。5实验步骤:(1) 基本步骤:a. 通过读程序,弄懂程序对哪个口进行赋初值,通过发光管亮或灭的情况反映出单片机输出数据的情况(注意区分数据的高低位)。b. 通过KEIL C软件对以上程序进行编译,正确后生成*.HEX机器语言文件,随即打开烧录软件,将生成的*.HEX文件烧录到单片机芯片中,完成后点击运行按钮便可脱机运行编写好的程序。c. 观察发光管亮灭情况,比较其与程序中所赋数据是否一致。d. 修改程序中的输出数据,重复以上编译烧录步骤,再次观察LED发光情况是否与数据对应。例: ORG 00

3、00H AJMP MAIN ORG 0030HMAIN: MOV P0,#65H JMP MAIN ENDe. 修改单片机输出数据的I/O端口(如改为P2口输出),观察其余端口是否能正确输出数据。例: ORG 0000H AJMP MAIN ORG 0030HMAIN: MOV P2,#0FH JMP MAIN END(2)发挥部分:将I/O口通过8芯排线接至独立两位数码管处,通过I/O口赋值能使数码管显示出本人学号最后一位(注意数据高位统一用来控制数码管的a笔段,低位控制h笔段)。6实验报告要求:a 记录实验每一步骤的具体过程及实验现象。b 叙述实验步骤中发挥部分程序的具体构思,同时将调试过

4、程作详细记录。c 记录发挥部分的完整程序,同时将程序分块化,并且标注好每部分程序块功能及关键语句的作用。d 总结本次实验知识点及编程调试心得体会。7实验预习思考题:a 课前预习好编程的基本知识。程序的基本概念、*.asm、*.c、*.hex、*.uv2所表示的文件类型等。b 熟练掌握不同数据类型之间的相互转换,不同类型的数据在程序中的表示方法等。c 课前弄清楚单片机I/O口的基本驱动方式,理解何谓上拉及下拉方式,单片机驱动电流、灌入电流等概念。d 复习数码管的相关知识,弄清数码管需显示某个字符应如何对其进行控制等。e 读懂以下C语言程序:#include void main(void) whi

5、le(1) P0=0x0f; 提示:1. 由于单片机芯片烧录时需用到P1口,故在烧录过程中P1.5、P1.6、P1.7口不应有导线连接,否则易引起实验台初始化失败等错误(烧录完成后可以进行连接)。二、基本控制语句应用 简单广告牌霓虹灯设计1. 实验目的:a 理解左移RL、右移RR指令的功能。b 延时程序DELAY的具体执行过程、延时量控制等。c 掌握通过设置程序的跳转来实现程序循环的方法。2实验设备使用:计算机一台、单片机实验箱一套、Keli C软件一套。开始P0及累加器A初始化化A内容赋予P0A内容左移跳转至LOOP结束3实验基本原理:(1)源程序及流程图:ORG 0000H AJMP MA

6、IN ORG 0030HMAIN: MOV P0,#00H MOV A,#01HLOOP: MOV P0,A RL A JMP LOOP END(2)电路原理图:4实验内容:a. 编写一程序,可实现数据左移并通过I/O口输出显示。b. 加入延时程序,观察实验现象是否有所变化。c. 实现左移及右移的循环输出。d 实现16盏LED的移位显示。5实验步骤:(1) 基本步骤:a. 读懂程序,分析程序中哪一句为控制语句,起到什么控制作用以及最终实现何功能。b. 运行程序,观察结果是否与程序相符,如不相符请分析出现问题的原因所在。c. 试着向源程序中加入延时语句,观察现象是否有所改变。 ORG 0000H

7、 AJMP MAIN ORG 0030HMAIN: MOV P0,#00H MOV A,#01HLOOP: MOV P0,A RL A ACALL DELAY JMP LOOP;*延时子程序*;DELAY:MOV R2,#10HLOOP1:MOV R1,#0FFHLOOP2:DJNZ R1,LOOP2 DJNZ R2,LOOP1 RET ENDd. 适当修改延时量,使LED闪烁更为明显,易于肉眼观察。e. 适当修改程序,使程序最终实现一只LED作流水状移动。(2)发挥部分: 能自左向右自右向左自左向右反复循环来控制一只发光管如反弹状移动。 能通过两组I/O口组合实现16只LED的流水灯效果。6

8、实验报告要求:a 记录实验每一步骤的具体过程及实验现象。b 叙述实验步骤中发挥部分程序的具体构思,同时将调试过程作详细记录。c 记录发挥部分的完整程序,同时将程序分块化,并且标注好每部分程序块功能及关键语句的作用。d 总结本次实验知识点及编程调试心得体会。7实验预习思考题:a 汇编语言控制语句应用。b 程序的循环、子程序调用、程序跳转等。c 单片机基本I/O口的驱动方式、特点等。d 读懂以下C语言程序:#include unsigned char i,c,d,temp=0xfe;void delay(void) unsigned char a,b; for(a=0;a255;a+) for(b

9、=0;b200;b+); void main(void) while(1) for(i=0;i8;i+) c=temp(8-i); P0=c|d; delay(); 三、单片机I/O口输入 独立按键识别1. 实验目的:a 掌握JB、CPL语句的具体使用方法。b 延时程序的具体执行过程、延时量控制等。c 掌握通过设置程序的跳转来执行相应语句的方法。d 体会按键抖动对单片机系统所造成的影响,以及如何通过软件延时去抖动方法来消除按键抖动。2实验设备使用:计算机一台、单片机实验箱一台、Keli C软件一套。开始P0及累加器A初始化化A内容赋予P0判断是否有键按下结束对A取反NY3实验基本原理:(1)源

10、程序及流程图:ORG 0000H AJMP MAINORG 0030H;*主程序*;MAIN: MOV P0,#0FFH MOV A,#0FFHWAIT: MOV P0,A JB P1.0,WAIT CPL A JMP WAIT END(2)电路原理图:4实验内容:a. 编写一程序,实现P1.0口作输入,同时输出内容随P1.0口状态变化而变化。b. 加入按键去抖动程序,观察实验结果与之前有何不同。c. 实现按键复用功能。5实验步骤:(1) 基本步骤:a. 读懂并理解程序,根据程序定义,将P1.0端口用单芯导线连接至单片机芯片下方的独立式键盘中(平时按键抬起时为高电平,按下按键时为低电平),将P

11、0口通过8芯排线连接至8路发光管中。b. 运行以上程序,同时反复按下连接至P1.0口的轻触开关,观察LED发光情况。(2) 发挥部分: 由于按键抖动,使LED的亮灭情况无法通过按键准确控制,试着通过前面一节的实验,在程序适当的位置加入延时程序,实现软件去抖动。 实现按键复用功能,即短按按键实现LED亮灭控制;长按按键(如按下按键时间大于1秒时)进入LED流水灯状态(可只需流动一遍便结束,然后再次等待按键动作)。6实验报告要求:a 记录实验每一步骤的具体过程及实验现象。b 叙述实验步骤中发挥部分程序的具体构思,同时将调试过程作详细记录。c 记录发挥部分的完整程序,同时将程序分块化,并且标注好每部

12、分程序块功能及关键语句的作用。d 总结本次实验知识点及编程调试心得体会。7实验预习思考题:a 独立式按键的连接。b 汇编语句对按键是否按下的具体判断、按键按下后所执行的跳转等。c 按键抖动对单片机所造成的影响以及如何消除抖动对单片机在执行程序上所产生的影响。d 读懂以下C语言程序:#include sbit key=P10;unsigned char a=0;void main(void) while(1) P0=a; if(key=0) a=a; 四、外部中断应用 按键计数器1. 实验目的:a 理解中断服务程序的入口地址并将其熟记。b 掌握中断控制字TCON、IE、IP的具体含义及正确定义等

13、。c 掌握中断服务程序的具体执行过程。d 体会按键抖动对单片机系统所造成的影响及如何消除按键抖动。2实验设备使用:计算机一台、单片机实验箱一台、Keli C软件一套。开始外中断及数据初始化化死循环判断是否有中断结束对A累加计数NY3实验基本原理:(1)源程序及流程图:ORG 0000H AJMP MAIN ORG 0003H AJMP DEAL ORG 0030HMAIN:SETB EA SETB EX0 SETB IT0 MOV A,#00H MOV P0,#0FFHWAIT:SJMP WAITDEAL:INC A CPL A MOV P0,A CPL A RETI END(2)电路原理图:

14、4实验内容:a. 编写一程序,可实现按键执行外中断程序。b. 加入延时程序,避免中断的频繁执行。c. 实现计数值连加功能。5实验步骤:(1) 基本步骤:a. 阅读并理解程序,理解程序第三行的“ORG 0003H”及“MAIN”程序中初始化部分的具体含义。b. 将单片机外中断(P3.2/INT0)用单芯导线连接至独立式按键中,P0口通过8芯排线接至LED。c. 运行程序,通过反复按下独立式按键,观察LED显示结果。(2) 发挥部分: 通过以上实验结果得出:由于按键抖动,导致P3.2/INT0口频繁出现高低变化的电平,致使单片机多次执行中断服务程序。能否在程序的适当部分加入延时程序,成功解决按键抖

15、动问题? 如何实现计数值连加功能(即按下按键不放,计数值不断自动累加)?6实验报告要求:a 记录实验每一步骤的具体过程及实验现象。b 叙述实验步骤中发挥部分程序的具体构思,同时将调试过程作详细记录。c 记录发挥部分的完整程序,同时将程序分块化,并且标注好每部分程序块功能及关键语句的作用。d 总结本次实验知识点及编程调试心得体会。7实验预习思考题:a 单片机中断系统基本功能、中断控制字定义以及外中断触发方式等。b 中断服务程序入口地址、中断断点及中断返回。c 按键抖动对中断所造成的影响。d 读懂以下C语言程序:#include unsigned char a=0;void int0(void)

16、interrupt 0 using 0 a+;a=a;P0=a;a=a;void main(void) EA=1;EX0=1;IT0=1; while(1);五、数码管显示基础 数显按键计数器1. 实验目的:a 掌握数码管与单片机的连接方法。b 掌握段代码表的推算及变址寻址的具体含义。c 掌握判断语句的具体用法。2实验设备使用:计算机一台、单片机实验箱一台、Keli C软件一套。3实验基本原理:(1)源程序及流程图:开始外中断及数据初始化化循环显示R0内容判断是否有中断结束对R0累加计数NYORG 0000H AJMP MAIN ORG 0003H AJMP DEAL ORG 0030HMAI

17、N: SETB EA SETB EX0 SETB IT0 MOV P0,#00H MOV R0,#00H MOV DPTR,#TABDISPLAY:MOV A,R0 MOVC A,A+DPTR MOV P0,A JMP DISPLAYDEAL: INC R0 RETITAB: DB 0FCH,60H,0DAH,0F2H,66H DB 0B6H,0BEH,0E0H,0FEH,0F6H DB 0EEH,3EH,9CH,7AH,9EH,8EH,00H END(2)电路原理图:4实验内容:a. 编写一程序,可实现按键按下次数的数码管显示。b. 加入延时程序,消除按键抖动。c. 实现015计数。d 加入

18、减计数功能。5实验步骤:(1) 基本步骤:a. 阅读并理解程序,重点掌握数码管“TAB”段代码表以及段代码表查表过程。b. 根据程序定义,将P0口通过8芯排线连接至静态四位数码管的其中一位,注意数据高位控制a笔段;P3.2/INT0端仍接独立式按键。c. 运行以上程序,通过按下按键观察数码管显示情况。d. 解决按键抖动问题,同时分析数码管显示完“F”字符后为何会出现乱码。(2) 发挥部分: 使程序实现015计数,即按下按键时能从09AF显示,计数值大于等于15时停止加计数,显示保持为“F”。 加入减计数按键,即按下减计数按键计数值减一,同时减至零后停止减计数,显示保持“0”。6实验报告要求:a

19、 记录实验每一步骤的具体过程及实验现象。b 叙述实验步骤中发挥部分程序的具体构思,同时将调试过程作详细记录。c 记录发挥部分的完整程序,同时将程序分块化,并且标注好每部分程序块功能及关键语句的作用。d 总结本次实验知识点及编程调试心得体会。7实验预习思考题:a 数码管内部结构、引脚定义及驱动。b 数码管段代码表具体含义。c 变址寻址在单片机查表中的意义所在。d 读懂以下C语言程序:#include unsigned char a=0;/*数码管代码表(共阳且高位接a笔段)*/unsigned char Tab=0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F, 0

20、x01,0x09,0x11,0xC1,0x63,0x85,0x61,0x71,0xFF;void int0(void) interrupt 0 using 0 a+;P0=Taba;void main(void) EA=1;EX0=1;IT0=1; while(1);六、矩阵式键盘应用 矩阵键盘识别1. 实验目的:a 掌握矩阵式键盘的内部构架以及键盘与单片机之间的连接方式。b 掌握矩阵键盘扫描识别的编程方法。c 掌握C语言常用语句如if、for、switch、while的具体用法等。2实验设备使用:计算机一台、单片机实验箱一台、Keli C软件一套。开始初始化各列线循环置低电平判断P3口数据是

21、否改变结束进入Switch得出最终键值NY3实验基本原理:(1)源程序及流程图:#include unsigned char key;/按键延时程序void ys()unsigned char aaa,bbb; for(aaa=200;aaa0;aaa-) for(bbb=0;bbb200;bbb+); void main(void)key=0; while(1) P2=0x7f; if(P2!=0x7f) ys(); if(P2!=0x7f) switch(P2)case 0x77:key=7;break; case 0x7b:key=4;break; case 0x7d:key=1;bre

22、ak; case 0x7e:key=0;break; P0=key; P2=0xbf; if(P2!=0xbf) ys(); if(P2!=0xbf) switch(P2) case 0xb7:key=8;break; case 0xbb:key=5;break; case 0xbd:key=2;break; case 0xbe:key=13;break; P0=key; P2=0xdf; if(P2!=0xdf) ys(); if(P2!=0xdf) switch(P2) case 0xd7:key=9;break; case 0xdb:key=6;break; case 0xdd:key=

23、3;break; case 0xde:key=14;break; P0=key; P2=0xef; if(P2!=0xef) ys(); if(P2!=0xef) switch(P2) case 0xe7:key=10;break; case 0xeb:key=11;break; case 0xed:key=12;break; case 0xee:key=15;break; P0=key; (2)电路原理图:A、基本:B、发挥4实验内容:a. 编写一程序,可实现P2口扫描矩阵式按键并判断键值,同时将键值通过P0输出显示。b. 将输出键值转换成数码管段代码,驱动数码管直观地显示键值。5实验步骤:

24、(1) 基本步骤:a. 掌握矩阵键盘的结构及硬件连接,根据程序定义将P0口接至8路LED中,P2口接至44行列式键盘中,注意高低位(P2.0-C4,P2.7-R1)。b. 运行程序,按下44键盘,观察LED显示情况(按键09顺序排列与计算机的数字小键盘相同)。(2) 发挥部分:通过加入数码管段代码表,使键值能通过数码管显示出来,依次对应09AF。C语言中数码管段代码表可参考如下(共阴数码管,高位接a笔段):unsigned char Tab=0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0, 0xFE,0xF6,0xEE,0x3E,0x9C,0x7A,0x9E,0

25、x8E,0x00;如要将key值通过查表赋予P0,可直接定义为:P0=Tabkey。6实验报告要求:a 记录实验每一步骤的具体过程及实验现象。b 叙述实验步骤中发挥部分程序的具体构思,同时将调试过程作详细记录。c 记录发挥部分的完整程序,同时将程序分块化,并且标注好每部分程序块功能及关键语句的作用。d 总结本次实验知识点及编程调试心得体会。7实验预习思考题:a 矩阵式键盘优点、具体结构、连接方式等。b 单片机C语言基础编程应用。七、单片机定时/计数器 秒脉冲定时器1. 实验目的:a 理解中断服务程序的入口地址及熟记各中断服务程序入口地址。b 掌握定时/计数控制字TMOD、TCON的具体含义及正

26、确定义等。c 掌握不同工作方式下定时时间初值的具体算法。2实验设备使用:计算机一台、单片机实验箱一台、Keli C软件一套。3实验基本原理:开始系统初始化进入死循环有无定时中断请求结束进入中断重装值并对P1.0取反NY(1)源程序及流程图:ORG 0000HLJMP MAINORG 000BHLJMP INTT0ORG 0030HMAIN: MOV TMOD,#01HMOV TL0,#0B0HMOV TH0,#3CHSETB EASETB ET0SETB TR0SJMP $INTT0: MOV TL0,#0B0HMOV TH0,#3CHCPL P1.0RETIEND(2)电路原理图:4实验内容

27、:a. 编写一程序,通过启动定时/计数器可实现P1.0口输出精确稳定的脉冲信号。b. 改变定时器初值并通过软件计数方法精确得到1秒定时。c. 加入数码管显示,实现秒个位指示功能。d 加入判断语句,实现LED计数值控制。5实验步骤:(1) 基本步骤:a. 根据程序定义将P1.0口通过单芯排线连接至LED中。b. 运行以上程序,观察所连接LED的闪烁情况。(2) 发挥部分: 精确定义一秒钟时间,并结合前面学过的知识,能通过数码管显示出秒钟的个位信息(注意秒钟个位为十进制,即09)(结合实验五电路图连接)。 控制一LED,要求当秒个位内容小于3时点亮,大于等于时熄灭。6实验报告要求:a 记录实验每一

28、步骤的具体过程及实验现象。b 叙述实验步骤中发挥部分程序的具体构思,同时将调试过程作详细记录。c 记录发挥部分的完整程序,同时将程序分块化,并且标注好每部分程序块功能及关键语句的作用。d 总结本次实验知识点及编程调试心得体会。7实验预习思考题:a 定时/计数器控制字定义。b 中断服务程序入口地址、中断断点及中断返回。c 单片机定时时长计算方法、间接定时获取长时间定时方法。八、单片机显示初步 数码管动态扫描1. 实验目的:a 通过实验体会人眼的视觉暂留效应,通过实践得出八位数码管动态扫描的时间间隔大于多少会产生闪烁问题。b 掌握定时/计数控制字TMOD、TCON的具体含义;不同工作方式下定时时间

29、初值的具体算法等。c 掌握数码管动态扫描的硬件连接。2实验设备使用:计算机一台、单片机实验箱一台、Keli C软件一套。3实验基本原理:(1)源程序:#include /*头文件*/unsigned char mg=9,ms=8,fg=7,bitdisplay=0; /*定义变量*/*数码管段代码表*/unsigned char Tab=0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6,0xEE,0x3E,0x9C,0x7A,0x9E,0x8E,0x00;/*定时中断服务程序*/void timer0 (void) interrupt 1 us

30、ing 0TH0=0x3c; TL0=0xb0;switch(bitdisplay)case 0:P0=Tabmg;P2=0xFE;break;case 1:P0=Tabms;P2=0xFD;break;case 2:P0=Tabfg;P2=0xFB;break;bitdisplay+;if(bitdisplay=3)bitdisplay=0;/*主程序*/void main(void)TMOD=0x01;TH0=0x3c;TL0=0xb0;EA=1; ET0=1; TR0=1;while(1);(2)电路原理图:4实验内容:a. 编写一程序,可实现P0口输出数码管段代码,P2口输出位地址,组

31、成数码管动态扫描输出。b. 灵活改变输出内容及位数。c. 灵活改变显示方式。5实验步骤:(1) 基本步骤:a. 掌握数码管动态扫描的硬件连接方法。根据程序定义,将P0口通过8芯排线连接至动态扫描显示区域中的左端(即标明ah的插针)(另注:该笔段插针中标注的ah顺序倒置,最顶端应更正为h段);P2口通过8芯排线连接至动态扫描区域右端(标有S1S8的插针,其中S1对应最右端数码管)。以上均需注意数据高低位之分。b. 运行以上程序,观察数码管显示情况,正常情况下应能以较慢速度(闪烁态)显示“789”。(2) 发挥部分: 在以上程序基础上,编写一程序,能正确稳定地显示出本人学号(学号末8位数字,且显示

32、时无闪烁问题)。 能实现数码滚动显示,即数字从最右端数码管逐渐显示开来,最后消失于最左端数码管。6实验报告要求:a 记录实验每一步骤的具体过程及实验现象。b 叙述实验步骤中发挥部分程序的具体构思,同时将调试过程作详细记录。c 记录发挥部分的完整程序,同时将程序分块化,并且标注好每部分程序块功能及关键语句的作用。d 总结本次实验知识点及编程调试心得体会。7实验预习思考题:a 人眼有视觉暂留效应。b 数码管动态扫描的硬件连接特点。c 单片机C语言的具体应用。九、单片机串行口应用 数码管并行静态显示1. 实验目的:a 掌握单片机串行口收发数据的全过程。b 掌握串行口控制寄存器SCON的具体定义;数据

33、发送过程中中断请求标志位的相应变化;欲发送的数据必须先送入缓冲区等。c 掌握74LS164芯片的工作原理、连接方法等。2实验设备使用:计算机一台、单片机实验箱一台、Keli C软件一套。3实验基本原理:(1)源程序:#include /*数码管段代码表*/unsigned char Tab=0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,0xF6,0xEE,0x3E,0x9C,0x7A,0x9E,0x8E,0x00;unsigned char mg=5,ms=0,bittime=20;/显示程序/void display(void) TI=0; SBU

34、F=Tabms; while(!TI); TI=0; SBUF=Tabmg; while(!TI);/定时中断服务程序void timer0 (void) interrupt 1 using 0 TH0=0x3c; TL0=0xb0; bittime-; while(bittime=0) bittime=20;display(); /每经一秒调用一次显示程序/主程序void main(void) TMOD=0x01;SCON=0X00; TH0=0x3c;TL0=0xb0; EA=1; ET0=1; TR0=1; while(1);(2)电路原理图:4实验内容:a. 编写一程序,实现单片机串行

35、口输出串行信号,经串并转换驱动数码管显示。b. 实现两位秒信息显示。c. 加入判断语句实现满足特定条件时执行相应操作。5实验步骤:(1) 基本步骤:a. 读懂并理解程序,掌握串行口控制字的定义及子程序调用等相关知识。b. 掌握串行数据转换为并行数据的连接方法及74LS164串并转换芯片的具体用法。根据程序定义将单片机串行信号(P3.0/RXD、P3.1/TXD)通过两单芯导线对应连接至实验台右侧串并转换模块中的RXD、TXD插针中;74LS164芯片输出的并行信号(Q1Q8)通过8芯排线接至芯片上端的静态数码管笔段中(ah),注意Q1对应a笔段。注意两位数码管需用两根8芯排线分别进行连接。c.

36、 运行以上程序,观察两数码管显示情况,正常情况下应能显示“05”。(2) 发挥部分: 通过加入若干语句,对mg及ms变量进行控制,实现每当一秒钟到来时mg自动加1;当mg10(即经历10秒钟)时mg自动清零,同时ms自动加1;当ms6(即经历60秒)时ms自动清零,最终实现标准时间的秒信息显示(mg及ms变量通过串行口送出,经串并转换后至数码管显示)。 当秒钟为“60”时清零的同时控制一LED点亮3秒钟。6实验报告要求:a 记录实验每一步骤的具体过程及实验现象。b 叙述实验步骤中发挥部分程序的具体构思,同时将调试过程作详细记录。c 记录发挥部分的完整程序,同时将程序分块化,并且标注好每部分程序

37、块功能及关键语句的作用。d 总结本次实验知识点及编程调试心得体会。7实验预习思考题:a 串行口基本定义;RXD、TXD信号实现串行数据发送。b 串行口控制寄存器SCON具体定义;中断请求的标志位等。c 74LS164芯片串行数据转换为并行数据的硬件连接。十、单片机系统设计(一) 动态扫描数字钟1实验目的及要求:a 能够系统性地总结掌握的知识,将单元模块知识有机的结合在一起。b 能够充分协调好硬件与软件之间的相互结合,合理设计硬件电路。c 掌握单片机C语言判断语句、分支语句以及子程序调用等编程知识。2实验基本原理与功能:人眼具有视觉暂留效应,根据该效应,可通过数码管逐个点亮扫描实现多位数字量的显

38、示,最终可设计出具有动态扫描显示的数字钟。3. 实验主要技术指标:(1) 实现正确稳定地显示小时(两位数)、分钟(两位数)、秒钟(两位数),同时数码管应无闪烁问题。(2) 通过按键分别实现时、分信息的调整,方便用户对时间的校准。(3) 加入闹铃功能。4. 实验设计、调试:(1) 根据动态扫描电路图将电路正确连接。(2) 根据动态扫描原理编写正确的控制程序。(3) 程序运行后如出现闪烁问题应对程序加以调试并解决该问题。5设计举例: 设计并调试一数字钟,分别满足以下设计要求:(1) 实现正确稳定地显示小时(两位数)、分钟(两位数)、秒钟(两位数),同时数码管应无闪烁问题。(2) 通过按键分别实现时、分信息的调整,方便用户对时间的校准。(3) 加入闹铃功能。6设计性实验任务或综合性实验任务:(1) 设计课题:设计并调试出一功能完善的动态扫描数字钟。(2) 已知条件:A 基本源程序单元:#include /*头文件*/unsigned char mg=0,ms=0,fg=0,bittime=0,bitdisplay=0; /*定义变量*/*数码管段代码表(共阴且高位对应a段)*/unsigned cha

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号