📄 交通控制.asm
字号:
ORG 0000H
LJMP START
ORG 0003H
RETI
ORG 000BH
LJMP INTT0
ORG 0013H
RETI
ORG 001BH
ljmp INTT1
RETI
ORG 0023H
RETI
ORG 002BH
RETI
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 主 程 序 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
START: MOV R0,#70H
MOV 73H,#00H
MOV 74H,#00H
MOV 75H,#00H
mov 76h,#00h
SETB P2.0
CLR P2.1
CLEARDISP: MOV @R0,#00H
INC R0
MOV @R0,#06H
MOV TMOD, #11H
MOV TL0, #0B0H
MOV TH0, #3CH
MOV TL1, #0B0H
MOV TH1, #3CH
SETB EA
MOV R6,#0AH
MOV R7,#02H
start1: SETB ET0
SETB TR0
LCALL DISPLAY
JNB 73H, start1
CLR P2.0
CLR ET0
CLR TR0
CLR 73H
SETB ET1
SETB TR1
SETB P2.1
start2: lcall DISPLAY
JNB 74H,start2
clr p2.1
setb p2.0
CLR ET1
CLR TR1
CLR 74H
SJMP start1
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 1秒定时 程 序 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
INTT0: PUSH ACC
PUSH PSW
CLR ET0
CLR TR0
MOV A,#0B0H
ADD A,TL0
MOV TL0,A
MOV A,#3CH
ADD A,TH0
MOV TH0,A
SETB TR0
DJNZ R6, OUTT0
JNB 75H,JUMP
CPL P2.0
JUMP:MOV R6,#0AH
DJNZ R7,OUTT0
MOV R0,#71H
MOV R6,#0AH
MOV R7,#02H
SUBB1: DEC R0
MOV A,@R0
CLR C
SUBB A,#01H
JC SUBB11
MOV @R0,A
INC R0
MOV A,@R0
SWAP A
DEC R0
ADD A,@R0
AJMP SUBB3
SUBB11:MOV A,#09H
CLR C
MOV @R0,A
INC R0
MOV A,@R0
SUBB A,#01H
JC OUTT1
MOV @R0,A
SWAP A
DEC R0
ADD A,@R0
INC R0
AJMP SUBB3
SUBB3: CLR C
CJNE A,#10H,JUMP1
JUMP1:JNC OUTT0
SETB 75H
CLR C
CJNE A,#00,JUMP2
JUMP2:JNC OUTT0
OUTT1: MOV 70H,#00H
MOV 71H,#06H
CLR 75H
SETB 73H
MOV R0,#71H
MOV R6,#0AH
MOV R7,#02H
OUTT0: POP PSW
POP ACC
SETB ET0
RETI
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 1秒定时 程 序 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
INTT1: PUSH ACC
PUSH PSW
CLR ET1
CLR TR1
MOV A,#0B0H
ADD A,TL1
MOV TL1,A
MOV A,#3CH
ADD A,TH1
MOV TH1,A
SETB TR1
DJNZ R6, OUTT01
JNB 76H,JUMP11
CPL P2.1
JUMP11:MOV R6,#0AH
DJNZ R7,OUTT01
MOV R0,#71H
MOV R6,#0AH
MOV R7,#02H
SUBB112: DEC R0
MOV A,@R0
CLR C
SUBB A,#01H
JC SUBB1112
MOV @R0,A
INC R0
MOV A,@R0
SWAP A
DEC R0
ADD A,@R0
AJMP SUBB31
SUBB1112:MOV A,#09H
CLR C
MOV @R0,A
INC R0
MOV A,@R0
SUBB A,#01H
JC OUTT11
MOV @R0,A
SWAP A
DEC R0
ADD A,@R0
INC R0
AJMP SUBB31
SUBB31: CLR C
CJNE A,#10H,JUMP111
JUMP111:JNC OUTT01
SETB 76H
CLR C
CJNE A,#00,JUMP21
JUMP21:JNC OUTT01
OUTT11: MOV 70H,#00H
MOV 71H,#06H
CLR 76H
SETB 74H
MOV R0,#71H
MOV R6,#0AH
MOV R7,#02H
OUTT01: POP PSW
POP ACC
SETB ET1
RETI
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 显示程序 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
DISPLAY: MOV R1,#70H
MOV R5,#0FDH
PLAY: MOV A,R5
MOV P3,A
MOV A,@R1
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
LCALL DL1MS
INC R1
MOV A,R5
JNB ACC.2,ENDOUT
RL A
MOV R5,A
AJMP PLAY
ENDOUT: SETB P3.2
RET
TAB: DB 3FH,06,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 延时程序 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
DL1MS: MOV R2,#14H
DL1: MOV R3,#19H
DL2: DJNZ R3,DL2
DJNZ R2,DL1
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -