key扫描 线反转法.asm
来自「矩阵键盘扫描扫描之线反转法.asm把扫描到的键值」· 汇编 代码 · 共 46 行
ASM
46 行
ORG 0000H
;******P1.7~P1.4为列线的4~1
;******P1.3~P1.0为行线的4~1
MOV SCON,#50H;串口工作在1方式可以接收
MOV PCON,#00H
MOV TMOD,#20H;波特率发生器T1工作在模式2上
MOV TL1,#0F3H;预置初值(按照波特率2400BPS预置初值)
MOV TH1,#0F3H;预置初值(按照波特率2400BPS预置初值)
SETB TR1;启动定时器T1
S: ACALL KEYSCAN
MOV SBUF,R3
JBC TI,$
SJMP S
KEY EQU 50H
KEYSCAN:MOV P1,#0FH
MOV A,P1
ANL A,#0FH
MOV B,A
MOV P1,#0F0H
MOV A,P1
ANL A,#0F0H
ORL A,B
CJNE A,#0FFH,KEYREAD
AJMP KEYSCAN
;-------键盘数据读取---
KEYREAD:MOV KEY,A
MOV DPTR,#KEYDB
MOV R3,#0FFH
REW: INC R3
MOV A,R3
MOVC A,@A+DPTR
CJNE A,KEY,REW
MOV 30H,R3
RET
KEYDB:
DB 0E7H,0D7H,0B7H,77H,0EBH,0DBH,0BBH,7BH,0EDH,0DDH,0BDH,7DH,0EEH,0DEH,0BEH,7EH,0FFH
;**********************10MS
DEL10MS:MOV R7,#50
DEL11: MOV R6,#100
DEL10: DJNZ R6,DEL10
DJNZ R7,DEL11
RET
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?