📄 矩阵式键盘的识别(一).asm
字号:
ORG 0000H
AJMP MAIN
ORG 0100H
MAIN: MOV P2,#000H
KEY0: MOV P3,#0FEH ;[11111110]FE,置P3.0低电平扫描P3.4~P3.7键值
JNB P3.4,K0
JNB P3.5,K1
JNB P3.6,K2
JNB P3.7,K3
MOV P3,#0FDH ;[11111101]FD,置P3.1低电平扫描P3.4~P3.7键值
JNB P3.4,K4
JNB P3.5,K5
JNB P3.6,K6
JNB P3.7,K7
MOV P3,#0FBH ;[11111011]FB,置P3.2低电平扫描P3.4~P3.7键值
JNB P3.4,K8
JNB P3.5,K9
JNB P3.6,K10
JNB P3.7,K11
MOV P3,#0F7H ;[11110111]FE,置P3.3低电平扫描P3.4~P3.7键值
JNB P3.4,K12
JNB P3.5,K13
JNB P3.6,K14
JNB P3.7,K15
AJMP KEY0
;键码显示子程序
;----------------------------------------
K0: MOV P2,#03FH ;0
ACALL YSH1S
AJMP KEY0
RET
K1: MOV P2,#006H ;1
ACALL YSH1S
AJMP KEY0
RET
K2: MOV P2,#05BH ;2
ACALL YSH1S
AJMP KEY0
RET
K3: MOV P2,#04FH ;3
ACALL YSH1S
AJMP KEY0
RET
;----------------------------
K4: MOV P2,#066H ;4
ACALL YSH1S
AJMP KEY0
RET
K5: MOV P2,#06DH ;5
ACALL YSH1S
AJMP KEY0
RET
K6: MOV P2,#07DH ;6
ACALL YSH1S
AJMP KEY0
RET
K7: MOV P2,#007H ;7
ACALL YSH1S
AJMP KEY0
RET
;--------------------
K8: MOV P2,#07FH ;8
ACALL YSH1S
AJMP KEY0
RET
K9: MOV P2,#06FH ;9
ACALL YSH1S
AJMP KEY0
RET
K10: MOV P2,#077H ;A
ACALL YSH1S
AJMP KEY0
RET
K11: MOV P2,#07CH ;b
ACALL YSH1S
AJMP KEY0
RET
;------------------------
K12: MOV P2,#039H ;C
ACALL YSH1S
AJMP KEY0
RET
K13: MOV P2,#05EH ;d
ACALL YSH1S
AJMP KEY0
RET
K14: MOV P2,#079H ;E
ACALL YSH1S
AJMP KEY0
RET
K15: MOV P2,#071H ;F
ACALL YSH1S
AJMP KEY0
RET
;----------------------
;延时子程序
YSH1S: MOV R3,#05H
LOOP: MOV R4,#0A8H
LOOP1: MOV R5,#08AH
XHD: DJNZ R5,XHD
DJNZ R4,LOOP1
DJNZ R3,LOOP
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -