1、单片机原理及应用实验报告姓名 学号 班级摘要:马路上大量车辆的行驶需要遵守一定的交通规则,红绿灯便是最重要的一个管理交通的手段。红绿灯(交通信号灯)系以规定之时间上交互更迭之光色讯号, 设置于交岔路口或其他特殊地点,用以将道路通行权指定给车辆驾驶人与行人, 管制其行止及转向之交通管制设施。为一由电力运转之交通管制设施,以红、黄、绿三色灯号或辅以音响,指示车辆及行人停止、注意与行进,设于交岔路口或其他必要地点。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。本次实验便是用80C51 单片机来设计一个红绿灯,实现了数码管9 秒倒计时, 同时控制红绿灯暗灭,黄灯
2、 5 秒闪烁的功能。本次实验完成的红绿灯虽然功能比较简单,但也体现了 80C51 单片机设计红绿灯的大致方法。关键词:单片机80C51 数码管 倒计时目录实验报告1一、前言4二、正文1. 设计要求52. 系统的组成工作原理52.1 系统的组成52.1.1 80C51 单片机52.1.2 74LS373 锁存器52.2 工作原理52.2.1 程序流程图52.2.2 引脚控制信号灯暗灭的原理62.2.3 实验所有数码管工作原理63. 电路及程序设计73.1 电路设计73.2.程序设计74. 实验、调试及测试结果与分析95.结论12前言:80C51 单片机属于 MCS-51 系列单片机,由 Inte
3、l 公司开发,其结构是 8048的延伸,改进了8048 的缺点,增加了如乘(MUL)、除(DIV)、减(SUBB)、比较(CMP)、16 位数据指针、布尔代数运算等指令,以及串行通信能力和 5 个中断源。采用 40 引脚双列直插式 DIP(Dual In Line Package),内有 128 个 RAM 单元及 4K 的 ROM。80C51 有两个 16 位定时计数器,两个外中断,两个定时计数中断,及一个串行中断,并有4 个 8 位并行输入口。80C51 内部有时钟电路,但需要石英晶体和微调电容外接,本系统中采用 12MHz 的晶振频率。由于 80C51 的系统性能满足系统数据采集及时间精
4、度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制核心。在学习 51 单片机时,我们进行了 3 次实验,分别实现了对于信号灯暗灭的控制,中断计数,还有数码管计数功能。综合这3 次实验,可以完成一个9 秒倒计时的红绿灯设计。 本实验的基本要求是设计的红绿灯能完成 9 秒倒计时,以 80C51 单片机为中心,通过 1 个数码管和 12 盏信号灯控制交通。首先是南北方向绿灯亮,东西方向红灯亮,数码管开始倒计时;在 5 秒时,南北方向绿灯灭,同时黄灯开始闪烁, 东西方向不变化;在0 秒时,南北方向黄灯停止闪烁并熄灭,红灯同时亮,东西方向红灯熄灭,同时绿灯亮;数码管继续从9 秒开始倒计时,
5、在5 秒时,东西方向绿灯灭,同时黄灯开始闪烁;在0 秒时,东西方向黄灯停止闪烁并熄灭,同时红灯亮,南北方向红灯灭,绿灯亮;然后重复上述过程。正文1. 设计要求 基本要求:完成带 9 秒倒计时的交通灯设计 提高要求:倒计时到 5 秒时绿灯变黄灯并闪烁2. 系统的组成及工作原理 2.1 系统的组成2.1.1 80C51 单片机:运用到 80C51 单片机的 P0,P1,P2 引脚,其中 P1 引脚控制数码管,P2,P3 引脚控制信号灯。2.1.2 74LS373 锁存器:74LS373 是一种带三态门的 8D 锁存器,其管脚示意图如下示:其中:1D-8D 为 8 个输入端。 1Q-8Q为 8 个输
6、出端。 LE为数据打入端:当 LE 为“1”时,锁存器输出 状态同输入状态;当 LE 由“1”变“0”时,数据 打入锁存器 OE为输出允许端:当 OE=0 时,三态门打开; 当 OE=1 时,三态门关闭,输出高阻。 2.2工作原理 2.2.1程序流程图 如右所示: 2.2.2 引脚控制信号灯暗灭的原理 交通灯亮灭情况引脚的值南北绿,东西红南北黄,东西红南北灭,东西红南北红,东西绿南北红,东西黄南北红,东西灭21H22H20H0CH14H04H2.2.3 实验所有数码管工作原理十六进制所对应数码管显示的值:数码管显示灭十六进制数012300H3FH06H58H4FH466H5676DH7DH07
7、H897FH6FH3、电路及程序设计 3.1电路设计 : 如图所示3.2 程序设计: ORG0000H LJMP MAIN MAIN:L1:MOV R2,#0AH ;数码管初始值设置为9 MOV P3,#00HL2:;南北方向绿灯亮,东西方向红灯亮MOV P0,#21HMOV P2,#21H LCALL DELAY MOV A,R2MOV DPTR,#NUM MOVC A,A+DPTR MOV P1,ALCALL DELAY DEC R2CJNE R2,#04H,L2L3:;南北方向黄灯闪烁,绿灯灭MOV P0,#22HMOV P2,#22H LCALL DELAY2 MOV A,R2MOV
8、DPTR,#NUM MOVC A,A+DPTR MOV P1,AL4:L5:L6:L7:LCALL DELAY2MOV P0,#20H MOV P2,#20H LCALL DELAY2 MOV A,R2MOV DPTR,#NUM MOVC A,A+DPTR MOV P1,ALCALL DELAY2 DEC R2CJNE R2,#0FFH,L3MOV R2,#0AH MOV P1,#00HMOV P0,#0CH ;南北方向红灯亮,东西方向绿灯亮MOV P2,#0CHLCALL DELAY MOV A,R2MOV DPTR,#NUM MOVC A,A+DPTR MOV P3,ALCALL DELA
9、Y DEC R2CJNE R2,#04H,L6MOV R2,#04H ;东西方向黄灯闪烁L8:L9:MOV P0,#14H MOV P2,#14H LCALL DELAY2 MOV A,R2MOV DPTR,#NUM MOVC A,A+DPTR MOV P3,ALCALL DELAY2MOV P0,#04H MOV P2,#04H LCALL DELAY2 MOV A,R2MOV DPTR,#NUM MOVC A,A+DPTRMOV P3,A LCALL DELAY2 DEC R2CJNE R2,#0FFH,L8 LJMP MAINDELAY:;半秒延时,用于黄灯闪烁MOV R7,#05 DE
10、L2_L:MOV R6,#250 DEL3_L:MOV R5,#200 DJNZ R5,$DJNZ R6,DEL3_L DJNZ R7,DEL2_L RETDELAY2:;1 秒延时;用于计时MOV R7,#05 DEL4_L:MOV R6,#250 DEL5_L:MOV R5,#100 DJNZ R5,$DJNZ R6,DEL5_L DJNZ R7,DEL4_L RETNUM:DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH END4、实验、调试及测试结果与分析(1)南北方向绿灯亮,东西方向红灯亮,开始倒计时(2) 在 5 秒结束时,南北方向绿灯变黄
11、灯,并闪烁(3)在 0 秒结束时,东西方向红灯灭绿灯亮,南北方向红灯亮,并重新开始9 秒倒计时(4)5 秒结束时,东西方向黄灯亮并开始闪烁(5)0 秒结束时,东西方向红灯亮,南北方向绿灯亮,接下来重复以上。5. 结论本次实验的基本要求是设计9 秒倒计时的红绿灯,在这之上可以添加许多功能,本方案主要添加了黄灯的闪烁功能,对于黄灯如何进行闪烁,本方案采用的是循环方式,即将黄灯亮灭的状态皆编写出来,循环这2 个状态即可以实现闪烁功能。本次实验采用的延时方法精度并不高,忽略了许多语句执行所需时间,不过对于本次实验的设计要求还是够了,改进方案时可采用中断计时提高精确度。本次实验用上了 P0,P1,P2,P3,4 个引脚,所以在 P0,P2 引脚与红绿灯之间添加上了锁存器 74LS373,这也是本次实验值得改进的地方,该方案已经占用了全部引脚,没办法更好的扩展功能。通过本次实验,对于单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧,特别是汇编语言的掌握方面都能向前迈了一大步。参考文献1 李全利.单片机原理及应用技术(第3 版).高等教育出版社. 2009.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1