📄 p13_2.asm
字号:
COL1 EQU P2.2
COL2 EQU P2.1
COL3 EQU P2.0
ROW1 EQU P2.5
ROW2 EQU P2.6
ROW3 EQU P2.7
LED7 EQU P1
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT_0
ORG 4100H
TAB: DB 40h, 4FH, 24H, 30H, 19H
DB 12H, 02H, 78H, 00H, 10H
MAIN: MOV DPTR, #TAB
SETB EX0
SETB IT0
SETB EA
MOV LED7, #0FFH
LOOP: CLR ROW1
CLR ROW2
CLR ROW3
SETB COL1
SETB COL2
SETB COL3
AJMP LOOP
INT_0: CLR EX0
MOV R0, #0H
MOV R1, #0H
MOV A, #11011111B
SCAN: MOV P2, #0FFH
MOV P2, A
JB COL1, J_COL2
MOV R0, #1
AJMP KEYDN
J_COL2: JB COL2, J_COL3
MOV R0, #2
AJMP KEYDN
J_COL3: JB COL3, NEXT
MOV R0, #3
AJMP KEYDN
NEXT: INC R1
INC R1
INC R1
RL A
CJNE R1, #9, SCAN
AJMP RETURN
KEYDN: MOV A, R1
ADD A, R0
MOVC A, @A+DPTR
MOV LED7, A
RETURN: ACALL DELAY
SETB EX0
RETI
DELAY: MOV R6, #0FFH
DL1: MOV R7, #0FH
DL2: DJNZ R7, DL2
DJNZ R6, DL1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -