4×4矩阵键盘检测HD7279A显示汇编

 ORG 0000H
LJMP  KKEYI
ORG   0030H
DAT1 DATA 28H
CLK  bit  P3.0
DAT  bit  P3.1
CS   bit  P3.2
KKEYI:   LCALL KKS1    ; ;键盘信号搜索KEY SCANNING PROG
JNZ   KLK1       ;  有键盘, 转跳 KLK1
LCALL DELAY
LCALL DELAY
SJMP  KKEYI      ;  无键,转跳 KKEYI 继续测键
K0:       MOV DAT1,A
LJMP  DISP
MOV  DAT1,#00H
LJMP  DISP
KLK1:   LCALL DELAY
LCALL DELAY
LCALL KKS1
JNZ   KLK2       ;  确实有键,转跳至 KLK2
LCALL DELAY
LJMP  KKEYI
; --------------------------------------------
KLK2:   MOV   P1,#0FEH        ; THERE IS KEYI
NOP
JB    P1.4,NOK1
MOV   A,#00H
LJMP  NUM
NOK1:     NOP
JB    P1.5,NOK2
MOV   A,#01H
LJMP  NUM
NOK2:     NOP
JB    P1.6,NOK3
MOV   A,#02H
LJMP  NUM
NOK3:     NOP
JB    P1.7,NOK4
MOV   A,#03H
LJMP  NUM
NOK4:     NOP
MOV   P1,#0FDH        ; THERE IS KEYI
NOP
JB    P1.4,NOK5
MOV   A,#04H
LJMP  NUM
NOK5:     NOP
JB    P1.5,NOK6
MOV   A,#05H
LJMP  NUM
NOK6:     NOP
JB    P1.6,NOK7
MOV   A,#06H
LJMP  NUM
NOK7:     NOP
JB    P1.7,NOK8
MOV   A,#07H
LJMP  NUM
NOK8:     NOP
MOV   P1,#0FBH        ; THERE IS KEYI
NOP
JB    P1.4,NOK9
MOV   A,#08H
LJMP  NUM
NOK9:     NOP
JB    P1.5,NOKA
MOV   A,#09H
LJMP  NUM
NOKA:     NOP
JB    P1.6,NOKB
MOV   A,#0AH
LJMP  NUM
NOKB:     NOP
JB    P1.7,NOKC
MOV   A,#0BH
LJMP  NUM
NOKC:     NOP
MOV   P1,#0F7H
NOP
JB    P1.4,NOKD
MOV   A,#0CH
LJMP  NUM
NOKD:     NOP
JB    P1.5,NOKE
MOV   A,#0DH
LJMP  NUM
NOKE:     NOP
JB    P1.6,NOKF
MOV   A,#0EH
LJMP  NUM
NOKF:     NOP
JB    P1.7,BACK
MOV   A,#0FH
NUM:    MOV   DAT1,A
LJMP  DISP
KKS1:     MOV   P1,#0F0H        ; IS THERE ANY
MOV   A,P1
MOV   R4,A
ORL   A,#0FH
CPL   A
RET
BACK:    LJMP  KKEYI
DISP:     MOV  29H,#0C8H
ACALL SEND
MOV  29H,DAT1
ACALL  SEND
LJMP KKEYI
SEND:     CLR cs
MOV R3,#08H
ACALL LONG
SEND_LOOP:MOV C,29H.7
MOV dat,C
SETB clk
ACALL SHORT
CLR clk
ACALL SHORT
MOV A,29H
RL A
MOV 29H,A
DJNZ R3,SEND_LOOP
CLR clk
RET
LONG:MOV R5,#02H
LLP:DJNZ R5,LLP
SHORT:MOV R6,#08H
SLP:DJNZ R6,SLP
RET
DELAY:MOV  R7,#08H
LP:DJNZ  R7,LP
RET
END
以上是4×4矩阵键盘检测HD7279A显示汇编的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>