📄 交通灯.asm
字号:
ORG 0000H
AJMP MAIN
ORG 000BH
AJMP PIPO
ORG 0100H
MAIN:
MOV SP,#30H
MOV 40H,#00H
MOV 41H,#25H
MOV TMOD,#01H
MOV TH0,#0DCH
MOV TL0,#00H
SETB EA
SETB ET0
SETB TR0
MOV 42H,#00H
MOV R6,#00H
MOV 44H,#00H
CYCLE:
LCALL DISP
LJMP CYCLE
PIPO: INC R6
CJNE R6,#32H,NEXT
MOV R6,#00H
INC 44H
NEXT: PUSH PSW
PUSH ACC
MOV TH0,#0DCH
MOV TL0,#00H
INC 40H
MOV A,40H
CJNE A,#64H,RET0
MOV 40H,#00H
MOV A,41H
DEC A
KK: CJNE A,#1FH,KK0
SUBB A,#06H
AJMP KK1
KK0: CJNE A,#0FH,KK1
SUBB A,#06H
KK1: MOV 41H,A
KK2: CJNE A,#0FFH,RET0
MOV R7,42H
AA0: CJNE R7,#00H,AA1
MOV 41H,#05H
INC 42H
AA1: CJNE R7,#01H,AA2
MOV 41H,#15H
INC 42H
AA2: CJNE R7,#02H,AA3
MOV 41H,#05H
INC 42H
AA3:
CJNE R7,#03H,RET0
MOV 41H,#25H
MOV 42H,#00H
RET0: POP ACC
POP PSW
RETI
DISP:
MOV A,41H
ANL A,#0FH
ACALL TABLE
MOV P2,A
CLR P0.6
ACALL DELAY
SETB P0.6
MOV A,41H
SWAP A
ANL A,#0FH
ACALL TABLE
MOV P2,A
CLR P0.5
ACALL DELAY
SETB P0.5
BB0:
MOV R7,42H
CJNE R7,#01H,BB1
MOV A,44H
JB ACC.0, BULIAO1
SETB P0.7
MOV P2,#0FFH
CLR P2.4
CLR P2.0
CLR P0.7
CPL P1.0
ACALL DELAY
SETB P0.7
BULIAO1:
BB1:
MOV R7,42H
CJNE R7,#02H,BB2
SETB P0.7
MOV P2,#0FFH
CLR P2.2
CLR P2.3
CLR P0.7
ACALL DELAY
SETB P0.7
BB2: MOV R7,42H
CJNE R7,#03H,BB3
MOV A,44H
JB ACC.0, BULIAO
SETB P0.7
MOV P2,#0FFH
CPL P1.0
CLR P2.1
CLR P2.3
CLR P0.7
ACALL DELAY
SETB P0.7
BULIAO:
BB3:
MOV R7,42H
CJNE R7,#00H,OUT1
SETB P0.7
MOV P2,#0FFH
CLR P2.5
CLR P2.0
CLR P0.7
ACALL DELAY
SETB P0.7
OUT1:
RET
TABLE:
INC A
MOVC A,@A+PC
RET
DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
DELAY: PUSH PSW
MOV R3,#10H
DELAY0:MOV R4,#50H
DELAY1:DJNZ R4,DELAY1
DJNZ R3,DELAY0
POP PSW
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -