📄 交通灯.asm
字号:
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP INT
ORG 0030H
MAIN: SETB EA
SETB EX0
CLR IT0
MOV DPTR,#0FF82H
MOV A,#0D1H
MOVX @DPTR,A
LP: MOVX A,@DPTR
JB ACC.7,LP
MOV A,#00H
MOVX @DPTR,A
MOV A,#2AH
MOV R0,#0FH
MOV P1,R0
MOV R2,#05H
LOOP1: LCALL DELAY1
DJNZ R2,LOOP1
DONE: MOV R0,#96H
MOV P1,R0
LCALL DELAY1
MOV R2,#14H
LOOP2: LCALL DELAY1
DJNZ R2,LOOP2
MOV R2,#03H
S1: MOV R0,#06H
MOV P1,R0
LCALL DELAY
MOV R0,#9FH
MOV P1,R0
LCALL DELAY1
DJNZ R2,S1
MOV R0,#69H
MOV P1,R0
MOV R2,#14H
LOOP3:LCALL DELAY1
DJNZ R2,LOOP3
MOV R2,#03H
S2: MOV R0,#09H
MOV P1,R0
LCALL DELAY
MOV R0,#06FH
MOV P1,R0
LCALL DELAY1
DJNZ R2,S2
AJMP DONE
DELAY1:LCALL CONVERT
LCALL DIR
LCALL DELAY
DELAY: MOV R7,#65H
DEL1: MOV R6,#46H
DEL2: MOV R5,#1FH
DEL3: DJNZ R5,DEL3
DJNZ R6,DEL2
DJNZ R7,DEL1
RET
MOV R7,#0AH
MOV TMOD,#01H
MOV TL0,#00H
MOV TH0,#4CH
SETB TR0
LAST: JBC TF0,NEXT
SJMP LAST
NEXT: MOV TL0,#00H
MOV TH0,#4CH
DJNZ R7,LAST
CLR TR0
RET
INT: PUSH 2
PUSH P1
MOV P1,#0FH
MOV R2,#0AH
INT1: LCALL DELAY1
DJNZ R2,INT1
POP P1
POP 2
RETI
CONVERT:PUSH ACC
MOV A,R2
MOV B,#0AH
DIV AB
MOV 71H,B
MOV 70H,A
POP ACC
RET
DIR: MOV DPTR,#0FF82H
MOV A,#09H
MOVX @DPTR,A
MOV R0,#70H
MOV R7,#02H
MOV DPTR,#0FF80H
LOOP4: MOV A,@R0
ADD A,#05H
MOVC A,@A+PC
MOVX @DPTR,A
INC R0
DJNZ R7,LOOP4
RET
DB 3FH,06H,5BH,4FH,66H,6DH
DB 7DH,07H,7FH,6FH
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -