基于单片机的红绿灯设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理及应用实验报告
姓名_______
学号______
班级_____
摘要:
马路上大量车辆的行驶需要遵守一定的交通规则,红绿灯便是最重要的一个管理交通的手段。红绿灯(交通信号灯)系以规定之时间上交互更迭之光色讯号,设置于交岔路口或其他特殊地点,用以将道路通行权指定给车辆驾驶人与行人,管制其行止及转向之交通管制设施。为一由电力运转之交通管制设施,以红、黄、绿三色灯号或辅以音响,指示车辆及行人停止、注意与行进,设于交岔路口或其他必要地点。
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
本次实验便是用80C51单片机来设计一个红绿灯,实现了数码管9秒倒计时,同时控制红绿灯暗灭,黄灯5秒闪烁的功能。本次实验完成的红绿灯虽然功能比较简单,但也体现了80C51单片机设计红绿灯的大致方法。
关键词:
单片机 80C51 数码管倒计时
目录
实验报告 (1)
一、前言 (4)
二、正文
1.设计要求 (5)
2.系统的组成工作原理 (5)
2.1系统的组成 (5)
2.1.1 80C51单片机 (5)
2.1.2 74LS373锁存器 (5)
2.2工作原理 (5)
2.2.1 程序流程图 (5)
2.2.2引脚控制信号灯暗灭的原理 (6)
2.2.3实验所有数码管工作原理 (6)
3.电路及程序设计 (7)
3.1电路设计 (7)
3.2.程序设计 (7)
4.实验、调试及测试结果与分析 (9)
5.结论 (12)
80C51单片机属于MCS-51系列单片机,由Intel公司开发,其结构是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的系统性能满足系统数据采集及时间精度的要求,而且产品产量丰富来源广,应用也很成熟,故采用来作为控制核心。
在学习51单片机时,我们进行了3次实验,分别实现了对于信号灯暗灭的控制,中断计数,还有数码管计数功能。综合这3次实验,可以完成一个9秒倒计时的红绿灯设计。
本实验的基本要求是设计的红绿灯能完成9秒倒计时,以80C51单片机为中心,通过1个数码管和12盏信号灯控制交通。首先是南北方向绿灯亮,东西方向红灯亮,数码管开始倒计时;在5秒时,南北方向绿灯灭,同时黄灯开始闪烁,东西方向不变化;在0秒时,南北方向黄灯停止闪烁并熄灭,红灯同时亮,东西方向红灯熄灭,同时绿灯亮;数码管继续从9秒开始倒计时,在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个输出端。
LE为数据打入端:当LE为“1”时,锁存器输出
状态同输入状态;当LE由“1”变“0”时,数据
打入锁存器
OE为输出允许端:当OE=0时,三态门打开;
当OE=1时,三态门关闭,输出高阻。
2.2 工作原理
2.2.1程序流程图如右所示:
2.2.2引脚控制信号灯暗灭的原理
交通灯亮灭情况引脚的值
南北绿,东西红21H
南北黄,东西红22H
南北灭,东西红20H
南北红,东西绿0CH
南北红,东西黄14H
南北红,东西灭04H
2.2.3实验所有数码管工作原理
十六进制所对应数码管显示的值:
数码管显示灭0 1 2 3 4 5 6 7 8 9
十六进制数00H 3FH 06H 58H 4FH 66H 6DH 7DH 07H 7FH 6FH
3、电路及程序设计
3.1电路设计:
如图所示
3.2 程序设计:
ORG 0000H
LJMP MAIN
MAIN:
L1:
MOV R2,#0AH ;数码管初始值设置为9
MOV P3,#00H
L2: ;南北方向绿灯亮,东西方向红灯亮MOV P0,#21H
MOV P2,#21H
LCALL DELAY
MOV A,R2
MOV DPTR,#NUM
MOVC A,@A+DPTR
MOV P1,A
LCALL DELAY
DEC R2
CJNE R2,#04H,L2
L3: ;南北方向黄灯闪烁,绿灯灭MOV P0,#22H
MOV P2,#22H
LCALL DELAY2
MOV A,R2
MOV DPTR,#NUM
MOVC A,@A+DPTR
MOV P1,A