单片机交通灯实验程序
NAME T3 ;I/O口扩展实验一
PORT EQU 0CFA0H ;片选地址CS0
CSEG AT 0000H
LJMP START
CSEG AT 4100H
START: MOV DPTR,#PORT
MOV A,#03H ;两个红灯亮,黄灯、绿灯灭
MOVX @DPTR,A
ACALL DE3S ;延时3秒
LLL: MOV A,#12H ;东西路口绿灯亮;南北路口红灯亮
MOVX @DPTR,A
ACALL DE10S ;延时10秒
MOV A,#02H ;东西路口绿灯灭;南北路口红灯亮
MOVX @DPTR,A
MOV R2,#05H ;R2中的值为黄灯闪烁次数
TTT: MOV A,#06H ;东西路口黄灯亮;南北路口红灯亮
MOVX @DPTR,A
ACALL DE02S ;延时0.2秒
MOV A,#02H ;东西路口黄灯灭;南北路口红灯亮
MOVX @DPTR,A
ACALL DE02S ;延时0.2秒
DJNZ R2,TTT ;返回TTT,使东西路口;黄灯闪烁五次
MOV A,#03H ;两个红灯亮,黄灯、绿灯灭
MOVX @DPTR,A
ACALL DE02S ;延时0.2秒
MOV A,#21H ;东西路口红灯亮;南北路口绿灯亮
MOVX @DPTR,A
ACALL DE10S ;延时10秒
MOV A,#01H ;东西路口红灯亮;南北路口绿灯灭
MOVX @DPTR,A
MOV R2,#05H ;黄灯闪烁五次
GGG: MOV A,#09H ;东西路口红灯亮;南北路口黄灯亮
MOVX @DPTR,A
ACALL DE02S ;延时0.2秒
MOV A,#01H ;东西路口红灯亮;南北路口黄灯灭
MOVX @DPTR,A
ACALL DE02S ;延时0.2秒
DJNZ R2,GGG ;返回GGG,使南北路口;黄灯闪烁五次
MOV A,#03H ;两个红灯亮,黄灯、绿灯灭
MOVX @DPTR,A
ACALL DE02S ;延时0.2秒
JMP LLL ;转LLL循环
DE10S: MOV R5,#100 ;延时10秒
JMP DE1
DE3S: MOV R5,#30 ;延时3秒
JMP DE1
DE02S: MOV R5,#02 ;延时0.2秒
DE1: MOV R6,#200
DE2: MOV R7,#126
DE3: DJNZ R7,DE3
DJNZ R6,DE2
DJNZ R5,DE1
RET
END
阅读(227) | 评论(0) | 转发(0) |