本帖最后由 zyh12345 于 2021-6-23 18:13 编辑
设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状1,周而复始.
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
ORG 0000H
MOV P0, #01111011B ;P0.7=P0.2=0, 东西 南北 都是红灯.
XRL P0, #255 ;取反,适合于高电平发光
CALL DL3S
LOOP:
MOV P0, #11011011B ;P0.5=P0.2=0, 南北绿 东西红.
XRL P0, #255
CALL DL15S
MOV P0, #10111011B ;P0.6=P0.2=0, 南北黄 东西红.
XRL P0, #255
CALL DL3S
MOV P0, #01111110B ;P0.7=P0.0=0, 南北红 东西绿.
XRL P0, #255
CALL DL15S
MOV P0, #01111101B ;P0.7=P0.1=0, 南北红 东西黄.
XRL P0, #255
CALL DL3S
SJMP LOOP
;--------------------------------------------
DL15S:
MOV R4, #5
DL2:
CALL DL3S
DJNZ R4, DL2
RET
;--------------------------------------------
DL3S: ;延时3s,实测3.03s
MOV R5, #23
DL3:
MOV R6, #0
DL4:
MOV R7, #0
DL5:
DJNZ R7, DL5
DJNZ R6, DL4
DJNZ R5, DL3
RET
END
全部资料51hei下载地址:
交通灯汇编.zip
(31.28 KB, 下载次数: 25)
|