用单片机实现交通灯的控制

时间: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流技术的网络课件的