交通灯的设计方案.docx
- 文档编号:8523166
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:12
- 大小:32.50KB
交通灯的设计方案.docx
《交通灯的设计方案.docx》由会员分享,可在线阅读,更多相关《交通灯的设计方案.docx(12页珍藏版)》请在冰豆网上搜索。
交通灯的设计方案
交通灯的设计方案
1.设计任务
1.1完成交通灯的变化规律,即一个十字路口为东西向和南北向,四个路口均有红黄绿三灯和两个LED数码显示管。
交通灯上电以后进入初始状态即东西红灯,南北红灯。
5s后转状态1:
南北绿灯亮通车,东西红灯亮,禁止通行,持续30s;30s后转状态2:
南北绿灯灭转黄灯闪亮,延时5秒,东西仍然红灯;5s后转状态3:
东西绿灯亮通车,南北转红灯,持续30s;30s后转状态4:
东西绿灯灭转亮黄闪灯,延时5秒,南北仍然红灯。
最后循环至状态1。
1.2用8个LED数码管(各个方向均有两个LED数码管,分别表示各位是和十位)显示倒计时。
倒计时用于提醒驾驶员或行人信号灯发生改变的时间,以便他们在“停止”和“通行”两者作出合适的选择。
1.3在紧急状态下,通过K1键手动设置,将所有路口的灯变为红灯。
2.系统设计
按照系统设计的要求和功能,将系统分为主控模块、LED显示模块、电源电路、复位电路、晶振电路、驱动电路等几个模块,系统组成框图如图1所示。
主控模块采用AT89S52单片机,显示模块采用七段共阴LED数码管。
电源电路
AT89S52
单片机
A道LED显示电路
红黄绿灯显示电路
A道LED显示电路
红黄绿灯显示电路
复位电路
晶振电路
按键电路
图1
3.硬件设计
3.1.电路原理图
基于AT89S52单片机涉嫌交通灯系统硬件电路原理图,由于单片机需要高稳定、高频率的实基脉冲,因此需要晶体振荡器。
AT89S52在XTAL1、XTAL2两引脚接晶体振荡器。
在晶体振荡器的两端并联两个电容C1、C2均为30Pf,对振荡器频率有微调作用,振荡范围为1.2~12MHz。
时间倒计时显示电路采用4个两位共阴极LED显示。
排电阻RP1用于单片机P0口的上拉电阻。
3.2.元件清单
基于AT89S52单片机数显交通灯元件清单如下表所示:
元件名称
型号
数量/个
用途
单片机
AT89S52
1
控制核心
交通灯
红黄绿三色
20
红黄绿灯显示
电源
+5V/1A
1
提供+5V电源
晶振
12MHz
1
晶振电路
电容
30pF
2
晶振电路
电解电容
20µf/10v
1
复位电路
排电阻
10kΩ
1
上拉电阻
数码管
2位共阴
4
显示电路
按键
4
按键电路
电阻
1kΩ
1
上拉电阻
电阻
10kΩ
4
复位电阻
4.软件设计
4.1.程序流程图
南北方向为A道,东西方向为B道。
程序分主程序和中断程序,可采用汇编语言编程,计时采用延迟程序进行,延迟程序的执行时间为1s(若单片机的晶振频率为6MHz),用特殊功能寄存器PSW的第6位FO(PSW15)作A、B通道的放行标志,PSW15=0时,A道放行;PSW15=1时,B道放行。
工作寄存器R4作为计数器(对1s计数)。
A道放行时,R4中存放立即数#1EH(相当于十进制数30),R4计数30次时,A道放行正好30s;B道放行时,R4中存放立即数#1EH(相当于十进制数30),R4计数30次时,B道放行正好30s。
还可以根据控制过程中的实际情况来改变R4中的数据,就能改变A、B通道的放行时间。
紧急车辆通过的处理用中断服务程序来控制。
主程序流程图如图2所示。
开始
A道直行,B道红灯全亮
延时30s
A道直行黄灯亮,B道红灯亮
延时5s
B道直行,A道红灯全亮
延时30s
B道直行黄灯亮,A道红灯亮
延时5s
图2
4.2程序清单
基于AT89S52单片机的数显交通灯程序清单如下:
SNEEQU00H;南北通行标志位
EWFEQU01H;东西通行标志位
URFEQU02H;紧急事件标志位
ORG0000H
LJMPMAIN;上电转主程序
ORG000BH;定时中断入口
ORG0003H;紧急中断入口
LJMPURZD
ORG0030H
MAIN:
LCALLINIT;调用初始化子程序
LOOP:
LCALLDIS;循环执行显示子程序
AJMPLOOP
INIT:
SETBSNF
SETBEWF
SETBURF
MOVR2,#20;定时器中断20次为1秒
MOVTMOD,#01H;初始化定时器
MOVTLO,#OBOH
MOVTHO,#3CH
SETBEA;开定时中断与紧急中断
SETBETO
SETBTRO
SETBEXO
SETBITO;设置中断程控方式
MOVDPTR,#TAB;数值首地址放入DPRT中
MOV4OH,#40;东南西北通行时间设置
MOV41H,#40
MOV30H,#40
MOVPO,#4CH;初始化时南北通行并把交通
;灯状态分别放在32H和33H中
MOV32H,#4CH
MOVP2,#15H
MOV33H,#15H
RET
DIS:
MOVP3,#ODFH;选中南北方向的十位数码管
MOVA,3OH;把显示数据送入数码管显示
MOVB,#10
DIVAB
MOVCA,@A+DPTR
MOVPL,A
LACLLDIMC
MOVP3,#OEFH;选中南北方向的各位数码管
MOVA,B;送入数码管显示
MOVCA,@A+DPTR
MOVPL,A
LCALLD1MS
MOVP3,#7FH;选中东西方向的十位数码管
MOVA,31H;送入数码管显示
MOVB,#10
DIVAB
MOVCA,@A+DPTR
MOVPL,A
LCALLD1MS
MOVP3,#OBFH;选中东西方向的各位数码管
MOVA,B
MOVCA,@A+DPTR
MOVPL,A
LCALLD1MS
SETPP3.0
SETPP3.1
JNBP3.O,DIS_S;查询是否第一个按键按下
JNBP3.1,DIS_E;查询是否第二个按键按下
AJMPDIS_R;没有建按下则返回
DIS_S:
LCALLD5MS;按键去抖
JNBP3.O,DIS_SN
AJMPDIS_R
DIS_SN:
MOV40H,#30;对通行时间重新分配,南北通
;行时间加长
MOV41H,#50
DID_R:
RET
DS_C:
LJMPDS_R;接力跳转
DSZD:
PUSHACC;保护现场
PUSHPSW
CLRTRO;关定时器及中断标志位并重新
;赋值
CLRTFO
MOVTLO,#OBOH
MOVTHO#3CH
DJNZR2,DS_C;判断1ms时间是否到达
MOVR2,#20;到达重新赋值
DEC30H;南北方向通行时间减1
MOVA,30H;把减1后的时间送入显示存
;储单元
;南北通行到达最后4秒是黄
;灯闪烁
DS_10:
CJMEA,#4,DS_11;如果通行时间剩余4秒
JNBSNF,DS_11;判断是否南北通行
MOVPO,#8AH
MOV32H,#8AH;把交通灯状态存入存储单元
DS_11:
CJNEA,#3,SD_12;不是剩余3秒,返回
JNBSNF,DS_12;不是南北通行时间,返回
MOVPO,#88H
MOV32H,#88H
DS_12:
CJNEA,#2,SD_13
JNBSNF,DS_13
MOVPO,#8AH
MOV32,#8AH
DS_13:
CJNEA,#1,DS_14
JNBSNF,DS_14
MOVPO,#88H
MOV32H,#88H
DS_14:
JNZDS_NE;通行时间没有结束转向改变
;东西方向的数码管
CPLSNFH;如果通行时间结束则对标致
;位取反
JNBSNF,DS_1;判断是否南北通行
MOV30H,40H;是,点亮相应的交通得灯
MOVPO,#4CH
MOV32H,#4CH;存储交通灯状态
MOVP2,#15H
MOV33H,#15H;存储交通灯状态
DS_NE:
DEC31H;东西方向通行时间减1
MOVA,31H;把通行剩余时间送入显示存
;储单元
;东西方向通行时间剩余4s黄
;灯闪所(程序注释与南北方
;向类似,略)
DS_20:
CJNEA,#4,DS_21
JBEWF,DS_21
MOVPO,#51H
MOV32H,#51H
DS_21:
CJNEA,#3,DS_22
JBEWF,DS_23
MOVPO,#41H
MOV32H,#41H
ORG0003H
DS_22:
CJNEA,#2,DS_23
JBEWF,DS_23
MOVPO,#51H
MOV32H,#51H
DS_23:
CJNEA,#1,DS_24
JBEWF,DS_24
MOVPO,#41H
M0V32H,#41H
DS_24:
JNZDS_R;东西方向时间没有结束,返回
CPLEWF;对通行状态取反
JNBEWF,DS_2;东西方向通行时间到来,跳转
MOV31H,#80;东西方向通行时间结束,重新
;显示时间
MOVPO#89H;点亮相应的交通灯
MOV32H,#89H
MOVP2,#29H
MOV33H,#29H
AJMPDS_R
DS_1:
MOV30H,#80;南北通行时间结束,重新对
;显示存储单元赋值
MOVPO,#89H;直行转弯状态1
MOV32H,#89H
MOVP2,#26H
MOV33H,#26H
AJMPSD_NE
DS_2:
MOV31H,41H;东西方向开始通行,赋值欲
;显示存储单元
MOVPO,#61H;点亮相应的交通灯
MOV32H,#61H
MOVP2,#15H
MOV33H,#15H
DS_R:
SETBTRO
POPPSW;回复现场
POPACC
URZD:
PUSHACC;保护现场
PUSHPSW
CLRIEO;清楚中断标志位
CLRTRO;关定时器
CPLURF;紧急事件标志位
JBURF,UR_CON;紧急结束;跳转
MOVPO,#49H;各路口灯全显示红灯亮
MOVP2,#15H
AJMPUR_R
UR_CON:
SETBTRO;恢复正常交通
MOVA,32H
MOVPO,A
MOVA,33H
MOVP2,A
UR_R:
POPPSW;恢复现场
POPACC
PETI
TAB:
DB3FH,06H,5BH,4FH,66H,6DH
DB7DH,07H,7FH,6FH
D5MS:
MOVR7,#5
D1MS:
MOVR7,#10
MOVR6,#50
L1:
DJNZR6,S
DJNZR7,L1
RET
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 设计方案