?? 6-2.asm
字號(hào):
;按鍵掃描程序
SCAN: MOV A,#0FH
MOV P1,A
MOV A,P2
ANL A,#0FH
CJNE A,#0FH,NEXT1 ;有鍵按下,則轉(zhuǎn)到NEXT1
SJMP NEXT4
;----------------------------------------
NEXT1: CLR P0.1
SETB P0.0
ACALL DS20MS ;延時(shí)20 ms,去抖動(dòng)
CLR C
MOV R2,#00H ;竄鍵標(biāo)志寄存器R2清0
MOV R1,#01H ;行掃描初值送R1
LOOP: MOV A,R1
MOV P1,A ;行掃描值送P1
MOV A,P2 ;列值送A
ANL A,#0FH
CJNE A,#0FH,NEXT2 ;若按鍵在本行,則NEXT2
SJMP NEXT3
;--------------------------------------------
NEXT2: INC R2
CJNE R2,#01H,NEXT4 ;若竄鍵,則返回主程序
MOV R4,A
MOV A,R1
MOV R3,A
;---------------------------------------------
NEXT3: MOV A,R1 ;行掃描值送A
CLR C
RLC A
MOV R1,A
CJNE A,#10H,LOOP
AJMP KCODE
;---------------------------------------------
NEXT4: CLR A
AJMP MAIN
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -