📄 8_查询式键盘.asm
字号:
;查询式键盘
;P2口--键盘
; ===================
ORG 0000H
LJMP MAIN
ORG 0030H
DBUF EQU 30H
TEMP EQU 40H
DIN BIT P3.6
CLK BIT P3.7
START: MOV 30H,#16H
MAIN: ACALL DISP
ACALL KEY
AJMP MAIN
KEY: MOV P2,#0FFH
MOV A,P2
CJNE A, #0FFH, K00
AJMP KEY
K00: ACALL DELAY
MOV A,P2
CJNE A,#0FFH,K01
AJMP KEY
K01: MOV R3,#8
MOV R2,#0
MOV B,A
MOV DPTR,#K0TAB
K02: MOV A,R2
MOVC A,@A+DPTR
CJNE A,B,K04
K03: MOV A,P2
CJNE A,#0FFH,K03
ACALL DELAY
MOV A,R2
RET
K04: INC R2
DJNZ R3,K02
MOV A,#0FFH
AJMP KEY
K0TAB: DB 0FEH,0FDH,0FBH,0F7H
DB 0EFH,0DFH,0BFH,07FH
DISP: MOV DBUF,A
MOV DBUF+1,#16
MOV DBUF+2,#16
MOV DBUF+3,#16
MOV DBUF+4,#16
MOV R0, #DBUF
MOV R1, #TEMP
MOV R2, #5
DP10:MOV DPTR,#SEGTAB
MOV A, @R0
MOVC A, @A+DPTR
MOV @R1, A
INC R0
INC R1
DJNZ R2, DP10
MOV R0, #TEMP
MOV R1, #5
DP12:MOV R2, #8
MOV A, @R0
DP13:RLC A
MOV DIN,C;DIN, C
CLR CLK
SETB CLK ;
DJNZ R2, DP13
INC R0
DJNZ R1, DP12
RET
SEGTAB:DB 3FH,06H,5BH,4FH,66H,6DH
DB 7DH,07H,7FH,6FH,77H,7CH
DB 58H,5EH,79H,71H,00H,40H
DELAY: MOV R4, #02H
AA1: MOV R5, #0F8H
AA:
NOP
NOP
DJNZ R5, AA
DJNZ R4, AA1
RET
END
//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -