时间:2022-02-24 04:21:11
摘要:交通灯控制系统由80C51单片机、键盘、LED显示、交通灯演示组成。系统除基本交通灯功能外。还具有时间设置、LED信息显示等功能。
关键词:交通灯 单片机 自动控制
中图分类号:TP27375 文献标识码:A 文章编号:1002-2422(2008)01-0003-02
1 系统设计
1.1系统设计要求
(1)正常情况下,A、B道(A、B道交叉组成十字路口,A是主道,B是支道)轮流放行,A道放行60s(其中5s用于警告),B道放行30s(其中5s用于警告)。
(2)一道有车而另一道无车(用按键开关s1、s2模拟)时,使有车车道放行。
(3)有紧急车辆通过(用按键开关so模拟)时,A、B均为红灯。
1.2系统硬件电路实现(见图1)
1.3软件设计
(1)软件设计任务:主程序采用查询方式定时,由R2寄存器确定调用0.5s延时子程序的次数,从而获得交通灯的各种时间。子程序采用定时器1方式1,查询式定时,定时器定时50ms,R3寄存器确定50ms循环10次,从而获取0.5s的延时时间。
一道有车另一道无车的中断服务程序首先要保护现场,因需用到延时子程序和P1口,帮需保护的寄存器有R3、P1、THI和TL1,保护现场时还需关中断,以防止高优先级中断(紧急车辆通过所产生的中断)出现时导致程序混乱。然后,开中断,由软件查询P3.0和P3.1口.判别哪一道有车,再根据查询情况执行相应的服务。待交通灯信号出现后,保持5s的延时,然后关中断,恢复现场,再开中断,返回主程序。
紧急车辆出现时的中断服务程序也需要保护现场,但无需关中断(因其为高优先级中断),然后执行相应的服务,待交通灯信号出现后延时20s,确保紧急车辆通过,然后恢复现场,返回主程序。
(2)源程序设计
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP AAO
ORG 0013H
AJMP AA1
ORG
0100H
MAIN:SETB PXO
MOV TCON,#00H
MOV TMOD,#10H
MOV IE,#85H
DISP:MOV P1,#0F3H
MOV R2,#6EH
DISPl:ACALL DELAY
DJNZ R2,DISP1
MOV R2,#06H
WARNl:CPL P1.2
ACALL DELAY
DJNZ R2,WARN1
MOV Pl,#0F5H
MOV R2,#04H
YEL1:ACALL DELAY
DJNZ R2,YEL1
MOV P1,#0DEH
MOV R2,#32H
DISP2:ACALL DELAY
DJNZ R2,DlSP2
MOV R2,#06H
WARN2:CPL P1.5
ACALL DELAY
DJNZ R2,WARN2
MOV P1,#0EEH
MOV R2,#04H
YEL2:ACALL DELAY
DJNZ R2,YEL2
AJMP DISP
AA0:PUSH P1
PUSH 03H
PUSH TH1
PUSH TL1
MOV P1,#0F6H
MOV R5,#28H
DELAYO:ACALL DELAY
DJNZ R5,DELAYO
POP TL1
POP TH1
POP 03H
POP P1
RETI
AA1:CLR EA
PUSH P1
PUSH 03H
PUSH TH1
PUSH TL1
SETB EA
JNB P3.0,BP
MOV P1,#0F3H
SJMP DELAY1
BP: JNB P3.1,EXIT
MOV P1,#ODEH
DELAY1:MOV R6,#OAH
NEXT:ACALL DELAY
DJNZ R6,NEXT
EXIT:CLR EA
POP TL1
POP TH1
POP 03H
POP P1
SETB EA
RETI
DELAY:MOV R3,#0AH
MOV TH1,#3CH
MOV TL1,#0BOH
SETB TR1
LP1:JBC TF1,LP2
SJMP LP1
LP2:MOV TH1,#3CH
MOV TL1.#OBOH
DJNZ R3,LP1
RET
END
2 结束语
用单片机控制的交通灯控制系统比模拟电路有明显优势,即不用对电路有大改动就可以适应新的工作条件,升级也很方便,只需对CPU重新刷写一次程序就可以了。80C51单片机具有结构简单、编程方便、经济、易于连接等优点,特别是其内部定时器/计数器、中断系统资源丰富,有应用价值。
上一篇:Spreadsheet控件在Delphi数据库系统中的编程与... 下一篇:基于Authorware流技术的网络课件的