设计要求:用单片机控制LED灯模拟指示。模拟东西方向的十字路口交通信号控制情况。东西向通行时间为80S,南北向通行时间为60S,缓冲3S。区分左行直行,左行30S。帮我分析注译下,最好每条都有。要能给我弄个电路图我在加50,谢谢。
程序如下:
RED_ZHU BIT P0.0
YELLOW_ZHU BIT P0.1
GREEN_ZHU BIT P0.2
RED_ZHI BIT P0.4
YELLOW_ZHI BIT P0.5
GREEN_ZHI BIT P0.6
;*********************************************************
ORG 0000H
JMP MAIN
ORG 0080H
;*********************************************************
MAIN:
MOV SP,#60H
MOV P0,#0FFH
MOV P1,#0FFH
MOV P2,#0FFH
CLR RED_ZHU ;第一个状态
CLR RED_ZHI
MOV R5,#10 ;延时5S
D_TIME1:
CALL DELAY
DJNZ R5,D_TIME1
MAIN1:
SETB RED_ZHU ;第二个状态
CLR GREEN_ZHU
CLR RED_ZHI
MOV R5,#160
D_TIME2:
CALL DELAY ;延时80S
DJNZ R5,D_TIME2
MOV R4,#06H
GREEN_ZHU_FLASH:
CPL GREEN_ZHU ;第三个状态
CALL DELAY
DJNZ R4,GREEN_ZHU_FLASH
SETB GREEN_ZHU
SETB RED_ZHU
CLR YELLOW_ZHU
MOV R5,#6 ;延时3S
D_TIME3:
CALL DELAY
DJNZ R5,D_TIME3
CLR RED_ZHU ;第四个状态
SETB YELLOW_ZHU
SETB GREEN_ZHU
SETB RED_ZHI
CLR GREEN_ZHI
MOV R5,#120 ;延时60S
D_TIME4:
CALL DELAY
DJNZ R5,D_TIME4
MOV R4,#06H
GREEN_ZHI_FLASH:
CPL GREEN_ZHI ;第五个状态
CALL DELAY
DJNZ R4,GREEN_ZHI_FLASH
SETB GREEN_ZHI
SETB RED_ZHI
CLR YELLOW_ZHI
MOV R5,#6 ;延时3S
D_TIME5:
CALL DELAY
DJNZ R5,D_TIME5
SETB YELLOW_ZHI
JMP MAIN1
;*********************************************************
; 500MS延时子程序
;*********************************************************
DELAY:
MOV R6,#230
DEL1:
MOV R7,#250
DEL2:
NOP
NOP
NOP
NOP
NOP
NOP
DJNZ R7,DEL2
DJNZ R6,DEL1
RET
;*********************************************************
END
如有错误请帮我改正,发我邮箱[email protected]