單片機型號:STC 89C52RC
引腳如圖:

接線方法:4X4矩陣鍵盤,每行接P3.0-P3.3引腳,每列接P3.4-P3.7引腳,8個LED發光二極管接P1.0-P1.7,用于顯示當前按下的鍵盤序號的二進制表示,
代碼如下:
ORG 0000H
LJMP MAIN
MAIN: MOV P3,#0FH ;行接高電平,列接低電平
;檢查所有行,若出現低電平則跳轉
JNB P3.0,H1
JNB P3.1,H2
JNB P3.2,H3
JNB P3.3,H4
LJMP MAIN
H1: MOV R0,#1D ;R0記下行
LJMP CHECKL ;列接高電平,行接低電平
;檢查所有列
H2: MOV R0,#2D
LJMP CHECKL
H3: MOV R0,#3D
LJMP CHECKL
H4: MOV R0,#4D
LJMP CHECKL
CHECKL: MOV P3,#0F0H
JNB P3.4,L1
JNB P3.5,L2
JNB P3.6,L3
JNB P3.7,L4
LJMP MAIN
L1: MOV R1,#1D ;R1記下列
LJMP COUNT
L2: MOV R1,#2D
LJMP COUNT
L3: MOV R1,#3D
LJMP COUNT
L4: MOV R1,#4D
LJMP COUNT
COUNT: MOV A,R0 ;計算所在按鍵,并將相應的燈置低電平
DEC A
MOV B,#4D
MUL AB
ADD A,R1
CPL A
MOV P1,A
ACALL DEL
MOV P1,#0FFH
MOV R0,#00H
MOV R1,#00H
LJMP MAIN
DEL: MOV R5,#04H ;亮燈延遲
DEL1: MOV R6,#0FFH
DEL2: MOV R7,#0FFH
DEL3: DJNZ R7, DEL3
DJNZ R6, DEL2
DJNZ R5, DEL1
RET
END
效果:每按下一個按鍵,8個發光二極管亮起的燈表示按鍵序號的二進制表示,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/289779.html
標籤:其他
