📄 text1.asm
字号:
ORG 0000H
START: MOV 30H,#00H
MOV 31H,#00H
MOV 32H,#00H
MOV P2,#0FFH
SETB P3.0
MOV 21H,#00H
L1: ACALL KEY
MOV 20H,A
XRL A,#0AH
JZ SET0
MOV A,20H
XRL A,#0BH
JZ START
MOV A,20H
XRL A,#0CH
JZ CCW
MOV A,20H
XCH A,30H
XCH A,31H
MOV A,31H
SWAP A
ORL A,30H
MOV 32H,A
MOV P0,A
JMP L1
KEY: MOV R3,#0F7H
MOV R1,#00H
L2: MOV A,R3
MOV P1,A
MOV A,P1
MOV R4,A
SETB C
MOV R5,#04H
L3: RLC A
JNC KEYIN
INC R1
DJNZ R5,L3
MOV A,32H
MOV P0,A
MOV A,R3
SETB C
RRC A
MOV R3,A
JC L2
JMP KEY
KEYIN: MOV R7,#60H
D2: MOV R6,#248
DJNZ R6,$
DJNZ R7,D2
D3: MOV A,P1
XRL A,R4
JZ D3
MOV A,R1
MOV DPTR,#TABLE
MOVC A,@A+DPTR
RET
CCW: CPL P3.0
JB P3.0,FOR
REV: MOV 21H,#00H
JMP L1
FOR: MOV 21H,#05H
JMP L1
SET0: MOV A,32H
CJNE A,#00H,SETX
JMP L1
SETX: MOV R3,#20H
SET1: MOV R0,21H
SET2: MOV A,R0
MOV DPTR,#TABLE1
MOVC A,@A+DPTR
JZ SET1
MOV P2,A
LCALL DELAY
INC R0
DJNZ R3,SET2
MOV A,30H
CJNE A,#00H,B1
MOV A,31H
CJNE A,#00H,B2
JMP START
B1: DEC 30H
JMP B3
B2: MOV 30H,#09H
DEC 31H
JMP B3
B3: MOV A,31H
SWAP A
ORL A,30H
MOV 32H,A
MOV P0,A
JMP SETX
DELAY: MOV R7,#20H
D1: MOV R6,#248
DJNZ R6,$
DJNZ R7,D1
RET
TABLE: DB 01H,02H,03H,0CH
DB 04H,05H,06H,0DH
DB 07H,08H,09H,0EH
DB 0AH,00H,0BH,0FH
TABLE1: DB 03H,09H,0CH,06H
DB 00
DB 03H,06H,0CH,09H
DB 00
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -