?? key掃描 逐行掃描法.asm
字號:
ORG 0000H
SJMP START
START: MOV SP,#60H
;*********P1.7~P1.4為列線的4~1
;*********P1.3~P1.0為行線的4~1
KEYSCAN:MOV R2,#00H ;用于存放鍵值
MOV P1,#0FH
MOV A,P1
ANL A,#0FH
CJNE A,#0FH,SCAN
SJMP KEYSCAN
SCAN: ACALL DEL10MS
MOV P1,A
ANL A,#0FH
CJNE A,#0FH,KEY
SJMP KEYSCAN
KEY: MOV R3,#0EFH ;掃描行初值
MOV R4,#00H ;掃描次數初值
MOV A,R3
L1: MOV P1,A
MOV A,P1
JB ACC.0,L2
MOV A,#00H
AJMP KEYREAD
L2: JB ACC.1,L3
MOV A,#04H
AJMP KEYREAD
l3: JB ACC.2,L4
MOV A,#08H
AJMP KEYREAD
L4: JB ACC.3,NEXT
MOV A,#0CH
AJMP KEYREAD
NEXT: INC R4
MOV A,R3
RL A
MOV R3,A
CJNE R4,#04H,L1
AJMP KEYSCAN
KEYREAD:ADD A,R4
MOV R2,A ;掃描所得到的鍵值存于R2中
AJMP KEYSCAN
;**********************10MS
DEL10MS:MOV R7,#50
DEL11: MOV R6,#100
DEL10: DJNZ R6,DEL10
DJNZ R7,DEL11
RET
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -