?? 查詢key-2.asm
字號:
;查詢式鍵盤
;P1口--鍵盤
; ===================
ORG 0
DBUF EQU 30H
TEMP EQU 40H
MOV A,#10H
MAIN: ACALL DISP
ACALL KEY
AJMP MAIN
KEY: MOV P1,#0FFH
MOV A,P1
CJNE A, #0FFH, K00
AJMP KEY
K00: ACALL DELAY
MOV A,P1
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,P1
CJNE A,#0FFH,K03
ACALL DELAY
MOV A,R2
RET
K04: INC R2
DJNZ R3,K02
MOV A,#0FFH
LJMP MAIN
K0TAB: DB 0FEH,0FDH,0FBH,0F7H
DB 0EFH,0DFH,0BFH,07FH
DISP: MOV DBUF+4,A
CJNE A,#10H, DISP0
MOV DBUF,#16
MOV DBUF+1,#16
MOV DBUF+2,#16
MOV DBUF+3,#16
SJMP DISP2
DISP0: INC A
MOV B,#10
DIV AB
MOV R7,A
MOV A,B
MOV DBUF,A
MOV A,R7
JZ DISP1
MOV DBUF,A
MOV DBUF+1,B
MOV DBUF+2,#17
MOV DBUF+3,#17
SJMP DISP2
DISP1:MOV DBUF+1,#17
MOV DBUF+2,#17
MOV DBUF+3,#17
DISP2: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 0B0H,C;DIN, C
CLR 0B1H ;CLK
SETB 0B1H ;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 + -