ORG 0000H
LJMP STAR
STAR:MOV P1,#00H
MOV P0,#0FFH
MOV P3,#00H
setb p1.6
L1:CLR P1.7
JB P1.0 , WAN ;;判断方式转换
;;MOV P3,#00H ;;P3口清零
SETB P3.2 ;;主干绿灯
SETB P3.3 ;;次道红灯
MOV 31H,#03CH ;;付初值60秒
MOV R4,#03CH
L2 :CALL DIS1 ;;调用显示
CALL YS
clr p1.6
DEC R4 ;;减一
DJNZ 31H,L2 ;;判断是否计数完成
CLR P3.2 ;;主黄灯亮
CLR P3.3
SETB P3.1
mov 32H,#05H
MOV R4 ,#05H
L3:
setb p3.3
CALL DIS1 ;;调用显示
CALL YS
DEC R4
CLR p3.3
DJNZ 32H,L3
CLR P3.1
CLR P3.4
SETB P3.0
SETB P3.5
mov 33H ,#020H ;;主干红灯 次道绿灯20秒
MOV R4,#02DH
setb p1.6
L4 :
CALL DIS1
CALL YS
clr p1.6
DEC R4
DJNZ 33H,L4
CLR P3.2 ;;次道黄灯亮5秒钟
CLR P3.5
setb p3.4
mov 34h,#05h
MOV R4 ,#05H
L8:setb p3.0
CALL DIS1
CALL YS
clr p3.0
CALL DIS1
CALL YS
setb p3.0
clr p3.0
DEC R4
DJNZ 34H,L8
LJMP L1
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
wan:SETB P1.7
JB P1.0 , L1 ;;判断方式转换
MOV P3,#00H ;;P3口清零
SETB P3.2 ;;主干绿灯
SETB P3.3 ;;次道红灯
MOV 31H,#040D ;;付初值60秒
MOV R4,#040D
L12 :CALL DIS1 ;;调用显示
CALL YS
DEC R4 ;;减一
DJNZ 31H,L12 ;;判断是否计数完成
CLR P3.2 ;;主黄灯亮
CLR P3.3
SETB P3.1
mov 32H,#05H
MOV R4 ,#05H
L13: CALL DIS1
CALL YS
setb p3.3
CALL DIS1
CALL YS
DEC R4
CLR p3.3
DJNZ 32H,L13
CLR P3.1
CLR P3.4
SETB P3.0
SETB P3.5
mov 33H ,#010H ;;主干红灯 次道绿灯20秒
MOV R4,#010H
L14 :CALL DIS1
CALL YS
CALL DIS1
DEC R4
DJNZ 33H,L14
CLR P3.2 ;;次道黄灯亮5秒钟
CLR P3.5
setb p3.4
mov 34h,#05h
MOV R4 ,#05H
L18:setb p3.0
CALL DIS1
CALL YS
clr p3.0
CALL DIS1
CALL YS
setb p3.0
clr p3.0
DEC R4
DJNZ 34H,L18
LJMP WAN
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
YS: MOV 72H,#80D
LOOP3:MOV 71H,#100D
LOOP1:MOV 70H,#22D
LOOP0:DJNZ 70H,LOOP0
DJNZ 71H,LOOP1
MOV 70H,#46D
LOOP2:DJNZ 70H,LOOP2
DJNZ 72H,LOOP3
MOV 70H,#48D
LOOP4:DJNZ 70H,LOOP4
RET
Dis1: mov A,r4
mov B,#10D
div AB
lcall SEG7
CLR P2.0
mov P0,A
lcall DLY
mov A,B
lcall SEG7
SETB P2.0
mov P0,A
lcall DLY
RET
SEG7: MOV DPTR,#TAB
movc A,@A+DPTR
RET
TAB:DB 03FH,006H,05BH,04FH,066H
DB 06DH,07DH,007H, 07FH,06Fh
DLY:
mov R7,#2D
D1: mov R6,#249D
DJNZ R6,$
DJNZ R7,D1
RET
免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报
举报