📄 長條燈管.asm
字号:
ORG 0000H
AJMP MAIN1
ORG 0003H
LJMP ZD2
ORG 000BH
LJMP ZD1
ORG 0030H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MAIN1:
SETB P1.5
SETB 20H.3
CLR 20H.1
SETB 20H.0
MOV R4,#00H ;
MOV R3,#00H ;
MOV DPTR,#TAB
MOV R5,#00H ;
MOV R2,#00H ;
MOV 35H,#00H ;
MOV R1,#00H ;
MOV 40H,#04H ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MAIN2: CLR C
CLR RS0
CLR RS1
MOV TMOD,#21H
MOV TH0,#0FBH
MOV TL0,#0FFH
MOV SP,#60H
MOV SCON,#50H
MOV PCON,#80H
MOV TH1,#0FFH
CLR IT0
CLR P1.0
SETB P3.2
SETB TR1
SETB TR0
SETB EX0
SETB EA
SETB ET0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
H17:LCALL HJ
LJMP MAIN2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
HR:
;SETB TR0 ;RED
CLR P1.4
SETB P1.3
SETB P1.2
LCALL D
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
HG:
;SETB TR0 ;GREEN
SETB P1.4
CLR P1.3
SETB P1.2
LCALL D
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
HB:
;SETB TR0 ;BLACK
SETB P1.4
SETB P1.3
CLR P1.2
LCALL D
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
HH:
;SETB TR0 ;RED+GREEN
CLR P1.4
SETB P1.2
LCALL D
CLR P1.3
LCALL D
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
HZ:
;SETB TR0 ;RED+BLACK
CLR P1.4
SETB P1.3
LCALL D
CLR P1.2
LCALL D
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
HQ:
SETB TR0 ;GREEN+BLACK
CLR P1.2
SETB P1.4
LCALL D
CLR P1.3
LCALL D
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
HW:
;SETB TR0 ;RED+GREEN+BLACK
CLR P1.4
LCALL D
CLR P1.3
LCALL D
CLR P1.2
LCALL D
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
HJ: ;QBD
CJNE R3,#00H,FT
LCALL HR
LJMP FT
FT:
CJNE R3,#01H,FT1
LCALL HH
LJMP FT1
FT1:
CJNE R3,#02H,FF1
LCALL HG
LJMP FF1
FF1:
CJNE R3,#03H,FF2
LCALL HQ
LJMP FF2
FF2:
CJNE R3,#04H,FF3
LCALL HB
LJMP FF3
FF3:
CJNE R3,#05H,FF4
LCALL HZ
LJMP FF4
FF4:
CJNE R3,#06H,FF5
LCALL HW
LJMP FF5
FF5:
CJNE R3,#07H,FF
LCALL HW
LJMP FF
FF:RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ZD1:
PUSH ACC
PUSH PSW
CLR ET0
CLR TR0
MOV TH0,#0FAH
MOV TL0,#0F0H
JB 20H.3,CLK2
MOV TH0,#0F0H
MOV TL0,#0E0H
CLK2:JNB 20H.1,CLK1
MOV TH0,#00H
MOV TL0,#00H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CLK1:LCALL TP
CPL P1.5
INC R4
CJNE R4,#48,PA0
MOV R4,#00H
SETB P1.7
LJMP PA0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
PA0:
SETB TR0
SETB ET0
POP PSW
POP ACC
RETI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ZD2:
PUSH PSW
PUSH ACC
CLR EA
CLR EX0
SETB RS0
CLR RS1
;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;
NET:JBC RI,NEXT
SJMP NET
NEXT:MOV A,SBUF
MOV P1,A
JNB P3.2,NET
SETB P1.5
SETB EX0
SETB EA
POP ACC
POP PSW
RETI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D: ;DELAY
MOV R6,#100
L2:MOV R7,#150
L1:DJNZ R7,L1
DJNZ R6,L2
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TP: ;,CP
CPL P1.5
CLR P1.7
CLR C
;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;
INC R2
CJNE R2,#01H,K4
K22:CJNE R1,#00H,K3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
K2:MOV 35H,#00H ;cp
MOV A,35H
MOVC A,@A+DPTR
MOV 33H,A
INC DPTR
;;;;;;;;;;;;;;;;;;;;;;;;;;;
CJNE A,#26H,K5
MOV DPTR,#TAB
INC R3
MOV 35H,#00H
CJNE R3,#07H,K2
MOV DPTR,#TAB1
LJMP K2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
K3:
LJMP PP2
K4:LJMP K7
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
K5:CJNE A,#19H,KT5
MOV DPTR,#TAB1
DJNZ 40H,K2
MOV 40H,#04
MOV DPTR,#TAB2
LJMP K2
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
KT5:CJNE A,#15H,KT6
MOV DPTR,#TAB3
LJMP K2
;;;;;;;;;;;;;;;;;;;;;;;;;
KT6:CJNE A,#25H,KT7
MOV DPTR,#TAB4
LJMP K2
;;;;;;;;;;;;;;;;;;;;;;;;;;;
KT7:CJNE A,#35H,KT8
MOV DPTR,#TAB2
DJNZ 40H,K2
MOV 40H,#04
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -