?? 4x4鍵盤.asm
字號:
KEYBUF EQU 70H
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV SP,#40H
LCALL HH
MOV R1,#00H ;計數初值
HH: MOV P2,#0FH ;P2口作輸入口
MOV A,P2
ANL A,#0FH
CJNE A,#0FH,HKEY
SJMP HH
HKEY: LCALL DELAY10
MOV A,P2
ANL a,#0FH
CJNE A,#0FH,WKEY
SJMP HH
WKEY:
MOV P2,#11101111B
MOV A,P2
ANL A,#0FH
CJNE A,#0FH,PKEY1
MOV P2,#11011111B
MOV A,P2
ANL A,#0FH
CJNE A,#0FH,PKEY2
MOV P2,#10111111B
MOV A,P2
ANL A,#0FH
CJNE A,#0FH,PKEY3
MOV P2,#01111111B
MOV A,P2
ANL A,#0FH
CJNE A,#0FH,PKEY4
LJMP HH
PKEY1: CJNE A,#0EH,NK2
MOV KEYBUF,#1
LJMP DK1
NK2: CJNE A,#0DH,NK3
MOV KEYBUF,#2
LJMP DK1
NK3: CJNE A,#0BH,NK4
MOV KEYBUF,#4
LJMP DK1
NK4: CJNE A,#07H,HH
MOV KEYBUF,#3
LJMP DK1
PKEY2: CJNE A,#0EH,NK12
MOV KEYBUF,#5
LJMP DK1
NK12: CJNE A,#0DH,NK13
MOV KEYBUF,#6
LJMP DK1
NK13: CJNE A,#0BH,NK5
MOV KEYBUF,#8
LJMP DK1
NK5: ; CJNE A,#07H,HH
MOV KEYBUF,#7
LJMP DK1
PKEY3: CJNE A,#0EH,NK22
MOV KEYBUF,#9
LJMP DK1
NK22: CJNE A,#0DH,NK23
MOV KEYBUF,#10
LJMP DK1
NK23: CJNE A,#0BH,NK24
DEC KEYBUF
; MOV KEYBUF,#11
LJMP DK1
NK24: ; CJNE A,#07H,HH
MOV KEYBUF,#12
LJMP DK1
PKEY4: CJNE A,#0EH,NK32
; MOV A,20H
MOV KEYBUF,@R1
; MOV KEYBUF,#1
LJMP DK1
NK32: CJNE A,#0DH,NK33
MOV KEYBUF,#14
LJMP DK1
NK33: CJNE A,#0BH,NK34
INC KEYBUF
;MOV KEYBUF,#15
LJMP DK1
NK34: ; CJNE A,#07H,HH
MOV KEYBUF,#10
LJMP DK1
DK1: MOV A,KEYBUF
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P1,A
LCALL DELAY1
LJMP HH
DELAY10:MOV R7,#100
AA: MOV R6,#100
BB: DJNZ R6,BB
DJNZ R7,AA
RET
DELAY1:MOV R7,#255
AA1: MOV R6,#254
BB1: DJNZ R6,BB1
DJNZ R7,AA1
RET
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH
DB 6FH,3FH,7CH,80H,5EH,79H,71H
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -