📄 y15.asm
字号:
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP SERVE ;中断入口
ORG 0060H
MAIN: MOV A,#82H ;工作方式控制字
MOV DPTR,#8003H
MOVX @DPTR,A
SETB IT0
SETB EX0
SETB EA
LOOP: MOV A,#90H ;东西南北全为红灯
MOV DPTR,#8000H
MOVX @DPTR,A
ACALL DELAY
NLDH: MOV A,#84H ;南北为绿,东西为红
MOVX @DPTR,A
ACALL DELAY
NHDH: MOV R0,#03H
NHDH1: MOV A,#80H ; 闪灯
MOVX @DPTR,A
ACALL DELAY2
DJNZ R0,TEMP1
AJMP NHUDH
NHUDH: MOV A,#88H
MOVX @DPTR,A
ACALL DELAY3
NHDL: MOV A,#30H
MOVX @DPTR,A
ACALL DELAY
NHDHU: MOV R0,#3
NHDHU1: MOV A,#10H
MOVX @DPTR,A
ACALL DELAY2
DJNZ R0,TEMP2
AJMP NHDXH
NHDXH: MOV A,#50H
MOVX @DPTR,A
ACALL DELAY3
AJMP NLDH
TEMP1: MOV A,#84H
MOVX @DPTR,A
ACALL DELAY2
AJMP NHDH1
TEMP2: MOV A,#30H
MOVX @DPTR,A
ACALL DELAY2
AJMP NHDHU1
SERVE: PUSH ACC
PUSH PSW
MOV A,#90H
MOV DPTR,#8000H
MOVX @DPTR,A
ACALL DLY
POP PSW
POP ACC
RETI
DELAY: MOV R5,#30
MOV R6,#00H
MOV R7,#00H
DELAYLOOP: DJNZ R6,DELAYLOOP
DJNZ R7,DELAYLOOP
DJNZ R5,DELAYLOOP
RET
DELAY2: MOV R6,#00H
MOV R7,#00H
DELAYLOOP2: DJNZ R6,DELAYLOOP2
DJNZ R7,DELAYLOOP2
RET
DELAY3: MOV R5,#10
MOV R6,#00H
MOV R7,#00H
DELAYLOOP3:
DJNZ R6,DELAYLOOP3
DJNZ R7,DELAYLOOP3
DJNZ R5,DELAYLOOP3
RET
DLY: MOV R1,#10
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
MOV IE,#00H
SETB TR0
CX: JNB TF0,CX
DJNZ R1,CXX
AJMP FH
CXX: MOV TH0,#3CH
MOV TL0,#0B0H
AJMP CX
FH: RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -