📄 traficlightscontrol.txt
字号:
SECOND1 EQU 30H
SECOND2 EQU 31H
DBUF EQU 40H
TEMP EQU 44H
LED_R1 BIT P1.0
LED_G1 BIT P1.1
LED_R2 BIT P1.2
LED_G2 BIT P1.3
DIN BIT P1.6
CLK BIT P1.7
ORG 0000H
LJMP START
ORG 0100H
START:
LCALL STATE0
LCALL DELAY
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
SETB TRO
CLR EA
LOOP: MOV R2,#20
MOV R3,#20
MOV SECOND1,#25
MOV SECOND2,#25
LCALL DISPLAY
LCALL STATE1
WAIT1:JNB TFO,WAIT1
CLR TF0
MOV TH0,#3CH
MOV TL0,#0B0H
SETB TRO
DJNZ R2,WAIT1
MOV R2,#20
DEC SECOND1
DEC SECOND2
LCALL DISPLAY
DJNZ R3,WAIT1
;##########################
MOV R2,#5
MOV R3,#3
MOV R4,#4
MOV SECOND1,#5
MOV SECOND2,#5
LCALL DISPLAY
WAIT2:LCALL STATE2
JNB TFO,WAIT2
CLR TFO
MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R4,WAIT2
CPL LED_G1
MOV R4,#4
DJNZ R2,WAIT2
MOV R2,#5
DEC SECOND1
DEC SECOND2
LCALL DISPLAY
DJNZ R3,WAIT2
;##########################
MOV R2,#20
MOV R3,#2
MOV SECOND1,#2
MOV SECOND2,#2
LCALL DISPLAY
WAIT3:LCALL STATE3
JNB TF0,WAIT3
CLR TF0
MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R2,WAIT3
MOV R2,#20
DEC SECOND1
DEC SECOND2
LCALL DISPLAY
DJNZ R3,WAIT3
;######################
MOV R2,#20
MOV R3,#20
MOV SECOND1,#25
MOV SECOND2,#25
LCALL DISPLAY
WAIT4:LCALL STATE4
JNB TF0,WAIT4
CLR TF0
MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R2,WAIT4
;#####################
MOV R2,#5
MOV R4,#4
MOV R3,#3
MOV SECOND1,#5
MOV SECOND2,#5
LCALL DISPLAY
WAIT5:LCALL STATE5
JNB TF0,WAIT5
CLR TF0
MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R4,WAIT5
CPL LED_G2
MOV R4,WAIT5
MOV R2,#5
DEC SECOND1
DEC SECOND2
LCALL DISPLAY
DJNZ R3,WAIT5
;####################
MOV R2,#20
MOV R3,#2
MOV SECOND1,#2
MOV SECOND2,#2
LCALL DISPLAY
WAIT6:LCALL STATE6
MOV R2,#20
DEC SECOND1
DEC SECOND2
LCALL DISPLAY
DJNZ R3, WAIT6
LJMP LOOP
STATE0:MOV P1,#0
CLR LED_G1
SETB LED_R1
CLR LED_G2
SETB LED_R2
RET
STATE1:SETB LED_G1
CLR LED_R1
CLR LED_G2
CLR LED_G2
SET LED_R2
RET
STATE4:CLR LED_G1
SETB LED_R1
STEB LED_G2
CLR LED_R2
RET
STATE5:CLR LED_G1
STEB LED_R1
CLR LED_R2
RET
STATE6:CLR LED_G1
SETB LED_R1
SETB LED_G2
SETB LED_R2
RET
DISPLAY:MOV A,SECOND1
MOV B,#10
DIV AB
MOV DBUF+1,A
MOV DBUF,A
MOV A,SECOND2
MOV B,#10
DIV AB
MOV DBUF+3,A
MOV A,B
MOV DBUF+2,A
MOV R0,#DBUF
MOV R1,3TEMP
MOV R7,#4
DP10:MOV DPTR,#LEDMAP
MOV A,@R0
MOVC A,@A+DPTR
MOV @R1,A
INC R0
INC R1
DJNZ R7,DP10
MOV R0,3TEMP
MOV R1,#4
DP12:MOV R7,#8
MOV A,@R0
DP13:RLC A
MOV DIN,C
CLR CLK
SETB CLK
DJNZ R7,DP13
INC R0
DJNZ R1,DP12
RET
LEDMAP:DB 3FH,6,5BH,4FH,66H,6DH;0,1,2,3,4,5
DB 7DH,7,7FH,6FH,77H,7CH;6,7,8,9,A,B
DB 58H,5EH,7BH,71H,0,40H;C,D,E,F, ,-
DELAY:MOV R5,#5
DLOOP0:MOV R6,#0
DLOOP1:MOV R7,#0
DLOOP2:NOP
NOP
DJNZ R7,DLOOP2
DJNZ R6,DLOOP1
DJNZ R5,DLOOP0
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -