📄 键盘扫描汇编.asm
字号:
查询工作方式进行扫描键盘
KEY1: ACALL KS1
JNZ KEY2
KEY3: DELAY6MS
JMP KEY1
KEY2: ACALL DELAT12MS
ACALL KS1
JZ KEY6
AJMP KEY3
KEY6: MOV A,#FEH
MOV R1,A
MOV R2,#0 //R2保存列号
KEY5: MOV DPTR,#0700H
MOV @DPTR,A
INC DPTR
INC DPTR
MOV A,@DPTR
JB ACC.0,ROW2
MOV A,#0H
ACALL KLP
ROW2: JB ACC.1,ROW3
MOV A,#08H
ACALL KLP
ROW3: JB ACC.2,ROW4
MOV A,#10H
ACALL KLP
ROW4: JB ACC.3,KEY4
MOV A,#18H
KLP: ADD A, R2
PUSH ACC
KEY3: ACALL KS1
JNZ KEY3
POP ACC
RET
KEY4: MOV A,R1
JNB ACC.7,KEY1 //判断列扫描是否完成
INC R2
RL A
MOV R1,A
AJMP KEY5
KS1: MOV DPTR,#O7OOH
MOV A,#00H
MOV @PDTR,A
INC DPTR
INC DPTR
MOV A,@DPTR
ANL A,#0FH
CPL A
RET
DELAY6MS: MOV R3,#0CH
TM: MOV R4,#FFH
TM2: DJNZ R4,TM2
DJNZ R3,TM
RET
DELAY12MS: MOV R3,#18H
TM12: MOV R4,#FFH
TM24: DJNZ R4,TM24
DJNZ R3,TM12
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -