📄 xhy.asm
字号:
HL EQU 0FFH
LL EQU 00H
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INSER
MAIN: MOV DPTR,#SINTAB
MOV R0,#6DH
LOOP: CLR A
MOVC A,@A+DPTR
MOV @R0, A
INC DPTR
INC R0
CJNE R0, #7FH,LOOP
AJMP SET
SINTAB: DB 7FH,89H,94H,9FH,0AAH,0B4H,0C8H,0D1H,0D9H
DB 0E0H,0E7H,0EDH,0F2H,0F7H,0FAH,0FCH,0FEH,0FFH
SET: MOV 20H, #0F0H
MOV P1,#0
SETB EX0
SETB IT0
SETB EA
ORG 0100H
ZXB: MOV DPTR,#7FFFH
MOV R0,#6DH
LOOP1: MOV A,@R0
MOVX @DPTR,A
ACALL DELAY
INC R0
CJNE R0,#7EH,LOOP1
LOOP2: MOV A,@R0
MOVX @DPTR,A
ACALL DELAY
DEC R0
CJNE R0,#6DH,LOOP2
LOOP3: MOV A,@R0
CPL A
MOVX @DPTR,A
ACALL DELAY
INC R0
CJNE R0,#7EH,LOOP3
LOOP4: MOV A,@R0
CPL A
MOVX @DPTR,A
ACALL DELAY
DEC R0
CJNE R0,#6DH,LOOP4
JB 20H.7,H1
JNB 20H.7,H2
H1: JB 20H.6,LOOP1
JNB 20H.6,A1
H2: JB 20H.6,A2
JNB 20H.6,A3
DELAY: MOV R7,#200
DEL1: MOV R6,#123
NOP
DEL2: DJNZ R6,DEL2
DJNZ R7,DEL1
RET
A1: LJMP SJB
A2: LJMP JTB
A3: LJMP JXB
ORG 0200H
SJB: MOV DPTR,#7FFFH
MOV A,#00H
UP: MOVX @DPTR,A
INC A
CJNE A,#0FFH,UP
DOWN: MOVX @DPTR,A
DEC A
CJNE A,#00H,DOWN
JB 20H.7,H3
JNB 20H.7,H4
H3: JB 20H.6,B1
JNB 20H.6,UP
H4: JB 20H.6,B2
JNB 20H.6,B3
B1: LJMP ZXB
B2: LJMP JTB
B3: LJMP JXB
ORG 0300H
JTB: MOV DPTR,#7FFFH
MOV A,#00H
AX: MOVX @DPTR,A
ACALL DELAY1
INC A
JB 20H.7,H5
JNB 20H.7,H6
H5: JB 20H.6,C1
JNB 20H.6,C2
H6: JB 20H.6,AX
JNB 20H.6,C3
DELAY1: MOV R4,#0F1H
AX1: MOV R5,#10H
AX2: NOP
NOP
NOP
DJNZ R5,AX2
DJNZ R4,AX1
RET
C1: LJMP ZXB
C2: LJMP SJB
C3: LJMP JXB
ORG 0400H
JXB: MOV DPTR,#7FFFH
SQ: MOV A,#LL
MOVX @DPTR,A
ACALL DELAY2
MOV A,#HL
MOVX @DPTR,A
ACALL DELAY2
JB 20H.7,H7
JNB 20H.7,H8
H7: JB 20H.6,D1
JNB 20H.6,D2
H8: JB 20H.6,D3
JNB 20H.6,SQ
DELAY2: MOV R4,#0C8H
BX1: MOV R5,#0BH
BX2: DJNZ R5,BX2
DJNZ R4,BX1
RET
D1: LJMP ZXB
D2: LJMP SJB
D3: LJMP JTB
INSER: JNB P1.4,L1
MOV 20H,#0F0H
AJMP L4
L1: JNB P1.5,L2
MOV 20H,#0B0H
AJMP L4
L2: JNB P1.6,L3
MOV 20H,#70H
AJMP L4
L3: JNB P1.7,L4
MOV 20H,#30H
L4: RETI
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -