📄 0801a.asm
字号:
;#########################
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP MAIN
ORG 0013H
LJMP MAIN
ORG 001BH
LJMP MAIN
ORG 0023H
LJMP MAIN
MAIN: MOV SP,#69H
CLR EX0
CLR EX1
;*************************
MOV R0,#00H
MOV R1,#00H
MOV R2,#00H
MOV R3,#00H
MOV R4,#00H
MOV R5,#00H
MOV R6,#00H
MOV 30H,#00H
MOV 31H,#00H
MOV 32H,#00H
MOV 33H,#00H
;*************************
SETB P2.5
MOV R7,#09H
MOV 33H,#00000001B
LCALL START0
MOV R7,#09H
MOV 33H,#00011000B
LCALL START0
MOV 33H,#00101001B
LCALL START0
MOV R7,#09H
MOV 33H,#00000011B
LCALL START0
MAIN0: LCALL MAQ0
MAIN1: LCALL FSKY
JB Acc.7,MAIN2
LJMP MAIN5
MAIN2: JB Acc.6,MAIN3
LJMP MAIN4
MAIN3: LJMP MAIN1
MAIN4: LCALL KEY6
LCALL MAQL
LCALL TIM3SA
LCALL MAQ0
LCALL TIM3SA
LJMP MAIN4
MAIN5: LCALL KEY7
MAIN6: LCALL MAQL
LCALL TIM3S
;*************************1
MOV 30H,#04H
MOV 31H,#10000000B ;0
LCALL WR2
MOV 31H,#00010000B ;1
LCALL WRRR
MOV 31H,#01000000B ;2
LCALL WRRR
MOV 31H,#00000000B ;3
LCALL WRRR
MOV 31H,#00000000B ;4
LCALL WRRR
MOV 31H,#00010000B ;5
LCALL WRRR
MOV 31H,#10100000B ;6
LCALL WRRR
MOV 31H,#10000000B ;0
LCALL WRRR
MOV 31H,#00010000B ;1
LCALL WRRR
MOV 31H,#01000000B ;2
LCALL WRRR
MOV 31H,#00000000B ;3
LCALL WRRR
MOV 31H,#00000000B ;4
LCALL WRRR
MOV 31H,#00010000B ;5
LCALL WRRR
MOV 31H,#10100000B ;6
LCALL WRRR
MOV 31H,#10000000B ;0
LCALL WRRR
MOV 31H,#00010000B ;1
LCALL WRRR
MOV 31H,#01000000B ;2
LCALL WRRR
MOV 31H,#00000000B ;3
LCALL WRRR
MOV 31H,#00000000B ;4
LCALL WRRR
MOV 31H,#00010000B ;5
LCALL WRRR
MOV 31H,#10100000B ;6
LCALL WRRR
MOV 31H,#10000000B ;0
LCALL WRRR
MOV 31H,#00010000B ;1
LCALL WRRR
MOV 31H,#01000000B ;2
LCALL WRRR
MOV 31H,#00000000B ;3
LCALL WRRR
MOV 31H,#00000000B ;4
LCALL WRRR
MOV 31H,#00010000B ;5
LCALL WRRR
MOV 31H,#10100000B ;6
LCALL WRRR
SETB P2.3
LCALL TIM3S
LCALL MAQL
;************************2
MOV 30H,#04H
MOV 31H,#01000000B ;0
LCALL WR2
MOV 31H,#10000000B ;1
LCALL WRRR
MOV 31H,#00000000B ;2
LCALL WRRR
MOV 31H,#11000000B ;3
LCALL WRRR
MOV 31H,#00000000B ;4
LCALL WRRR
MOV 31H,#10000000B ;5
LCALL WRRR
MOV 31H,#01000000B ;6
LCALL WRRR
MOV 31H,#01000000B ;0
LCALL WRRR
MOV 31H,#10000000B ;1
LCALL WRRR
MOV 31H,#00000000B ;2
LCALL WRRR
MOV 31H,#11000000B ;3
LCALL WRRR
MOV 31H,#00000000B ;4
LCALL WRRR
MOV 31H,#10000000B ;5
LCALL WRRR
MOV 31H,#01000000B ;6
LCALL WRRR
MOV 31H,#01000000B ;0
LCALL WRRR
MOV 31H,#10000000B ;1
LCALL WRRR
MOV 31H,#00000000B ;2
LCALL WRRR
MOV 31H,#11000000B ;3
LCALL WRRR
MOV 31H,#00000000B ;4
LCALL WRRR
MOV 31H,#10000000B ;5
LCALL WRRR
MOV 31H,#01000000B ;6
LCALL WRRR
MOV 31H,#01000000B ;0
LCALL WRRR
MOV 31H,#10000000B ;1
LCALL WRRR
MOV 31H,#00000000B ;2
LCALL WRRR
MOV 31H,#11000000B ;3
LCALL WRRR
MOV 31H,#00000000B ;4
LCALL WRRR
MOV 31H,#10000000B ;5
LCALL WRRR
MOV 31H,#01000000B ;6
LCALL WRRR
SETB P2.3
LCALL TIM3S
LCALL MAQL
;*************************3
MOV 30H,#04H
MOV 31H,#00010000B ;0
LCALL WR2
MOV 31H,#00000000B ;1
LCALL WRRR
MOV 31H,#00010000B ;2
LCALL WRRR
MOV 31H,#00110000B ;3
LCALL WRRR
MOV 31H,#00100000B ;4
LCALL WRRR
MOV 31H,#00000000B ;5
LCALL WRRR
MOV 31H,#00010000B ;6
LCALL WRRR
MOV 31H,#00010000B ;0
LCALL WRRR
MOV 31H,#00000000B ;1
LCALL WRRR
MOV 31H,#00010000B ;2
LCALL WRRR
MOV 31H,#00110000B ;3
LCALL WRRR
MOV 31H,#00100000B ;4
LCALL WRRR
MOV 31H,#00000000B ;5
LCALL WRRR
MOV 31H,#00010000B ;6
LCALL WRRR
MOV 31H,#00010000B ;0
LCALL WRRR
MOV 31H,#00000000B ;1
LCALL WRRR
MOV 31H,#00010000B ;2
LCALL WRRR
MOV 31H,#00110000B ;3
LCALL WRRR
MOV 31H,#00100000B ;4
LCALL WRRR
MOV 31H,#00000000B ;5
LCALL WRRR
MOV 31H,#00010000B ;6
LCALL WRRR
MOV 31H,#00010000B ;0
LCALL WRRR
MOV 31H,#00000000B ;1
LCALL WRRR
MOV 31H,#00010000B ;2
LCALL WRRR
MOV 31H,#00110000B ;3
LCALL WRRR
MOV 31H,#00100000B ;4
LCALL WRRR
MOV 31H,#00000000B ;5
LCALL WRRR
MOV 31H,#00010000B ;6
LCALL WRRR
SETB P2.3
LCALL TIM3S
LCALL MAQL
;*************************4
MOV 30H,#04H
MOV 31H,#00000000B ;10
LCALL WR2
MOV 31H,#01100000B ;11
LCALL WRRR
MOV 31H,#10100000B ;12
LCALL WRRR
MOV 31H,#00000000B ;13
LCALL WRRR
MOV 31H,#10010000B ;14
LCALL WRRR
MOV 31H,#01100000B ;15
LCALL WRRR
MOV 31H,#00H ;16
LCALL WRRR
MOV 31H,#00000000B ;10
LCALL WRRR
MOV 31H,#01100000B ;11
LCALL WRRR
MOV 31H,#10100000B ;12
LCALL WRRR
MOV 31H,#00000000B ;13
LCALL WRRR
MOV 31H,#10010000B ;14
LCALL WRRR
MOV 31H,#01100000B ;15
LCALL WRRR
MOV 31H,#00H ;16
LCALL WRRR
MOV 31H,#00000000B ;10
LCALL WRRR
MOV 31H,#01100000B ;11
LCALL WRRR
MOV 31H,#10100000B ;12
LCALL WRRR
MOV 31H,#00000000B ;13
LCALL WRRR
MOV 31H,#10010000B ;14
LCALL WRRR
MOV 31H,#01100000B ;15
LCALL WRRR
MOV 31H,#00H ;16
LCALL WRRR
MOV 31H,#00000000B ;10
LCALL WRRR
MOV 31H,#01100000B ;11
LCALL WRRR
MOV 31H,#10100000B ;12
LCALL WRRR
MOV 31H,#00000000B ;13
LCALL WRRR
MOV 31H,#10010000B ;14
LCALL WRRR
MOV 31H,#01100000B ;15
LCALL WRRR
MOV 31H,#00H ;16
LCALL WRRR
SETB P2.3
LCALL TIM3S
LCALL MAQ0
LCALL TIM3S
LJMP MAIN6
;*************************
CONC0: MOV 35H,#03H
SETB P2.3
SETB P2.4
CLR P2.3
CONC1: MOV P0,A ;1
LCALL TT1
CLR P2.4
LCALL TT1
SETB P2.4
RR A
DJNZ 35H,CONC1
RET
;*************************
START0: MOV A,#01H
LCALL CONC0
CLR C
MOV A,33H
STR1: LCALL TT1
RLC A
MOV P0.0,C
CLR P2.4
LCALL TT1
SETB P2.4
DJNZ R7,STR1
SETB P2.3
LCALL TT1
RET
;*************************
WR1: MOV R0,#06H
MOV R1,#04H
MOV A,#00000101B
LCALL CONC0
CLR C
MOV A,30H
RL A
RL A
WRR1: LCALL TT1
RLC A
MOV P0.0,C
CLR P2.4
LCALL TT1
SETB P2.4
DJNZ R0,WRR1
WRR2: MOV A,31H
CLR C
WRR3: LCALL TT1
RLC A
MOV P0.0,C
CLR P2.4
LCALL TT1
SETB P2.4
DJNZ R1,WRR3
DJNZ 36H,WRR4
LJMP WRR5
WRR4: MOV R1,#04H
LJMP WRR2
WRR5: NOP
SETB P2.3
LCALL T20
RET
;*************************
MAQ0: MOV 36H,#20H
MOV 30H,#00H
MOV 31H,#0FFH
LCALL WR1
RET
;*************************
MAQL: MOV 36H,#20H
MOV 30H,#00H
MOV 31H,#00H
LCALL WR1
RET
;*************************
WR2: MOV R3,#06H
MOV R4,#04H
SETB P2.3
SETB P2.4
SETB C
MOV P0.0,C ;1
CLR P2.3
LCALL TT1
CLR P2.4
LCALL TT1
SETB P2.4
CLR C
MOV P0.0,C ;0
LCALL TT1
CLR P2.4
LCALL TT1
SETB P2.4
SETB C
MOV P0.0,C ;1
CLR P2.4
LCALL TT1
SETB P2.4
CLR C
MOV A,30H
RL A
RL A
WRRD1: LCALL TT1
RLC A
MOV P0.0,C
CLR P2.4
LCALL TT1
SETB P2.4
DJNZ R3,WRRD1
WRRR: MOV A,31H
CLR C
WRRS2: LCALL TT1
RLC A
MOV P0.0,C
CLR P2.4
LCALL TT1
SETB P2.4
DJNZ R4,WRRS2
LCALL TT1
MOV R4,#04H
RET
;*************************
TT1: MOV 5EH,#09H
TT2: NOP
NOP
DJNZ 5EH,TT2
RET
;*************************
FSKY: MOV A,#0F0H
MOV P1,A
MOV A,P1
ANL A,#0F0H
CJNE A,#0F0H,FSKY1
LJMP FSKY
FSKY1: MOV A,P1
ANL A,#0F0H
MOV 60H,A
LCALL T20
MOV A,P1
ANL A,#0F0H
CJNE A,60H,FSKY
MOV A,P1
RET
;*************************
KEY7: MOV A,#0F0H
MOV P1,A
MOV A,P1
JNB Acc.7,KEY7
RET
KEY6: MOV A,#0F0H
MOV P1,A
MOV A,P1
JNB Acc.7,KEY6
RET
;*************************
FSKYA: MOV A,#0F0H
MOV P1,A
MOV A,P1
ANL A,#0F0H
JNB Acc.7,FSKYA1
LJMP FSKY
FSKYA1: MOV A,P1
ANL A,#0F0H
LCALL T20
MOV A,P1
JNB P1.7,FSKYA2
LJMP FSKYA
FSKYA2: NOP
RET
;*************************
T20: MOV 5EH,#14H
TV3: MOV 5FH,#0FFH
TV4: NOP
NOP
DJNZ 5FH,TV4
DJNZ 5EH,TV3
RET
;*************************
TIM3SA: MOV 65H,#90H
T3V6: MOV 5EH,#2FH
T3V7: MOV 5FH,#0FFH
T3V8: NOP
NOP
DJNZ 5FH,T3V8
DJNZ 5EH,T3V7
DJNZ 65H,T3V6
RET
;*************************
TIM3S: MOV 65H,#30H
T3V61: MOV 5EH,#0FH
T3V71: MOV 5FH,#0FFH
T3V81: NOP
NOP
DJNZ 5FH,T3V81
DJNZ 5EH,T3V71
DJNZ 65H,T3V61
RET
;*************************
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -