3x3矩陣鍵盤簡介
矩陣鍵盤,3×3矩陣鍵盤,數(shù)碼管顯示對應(yīng)按鍵,動(dòng)態(tài)掃描,中斷實(shí)現(xiàn)。
其中上拉電阻屬性需設(shè)置為“digital”。
3x3矩陣鍵盤掃描原理及掃描程序
將9個(gè)按鍵排成3行3列,第一行將每個(gè)按鍵的一端連接在一起構(gòu)成行線,第一列將每個(gè)按鍵的另一端連接在一起構(gòu)成列線,這樣一共有3行3列一共6根線,我們將這六根線連接到STM32的6個(gè)IO口上,通過程序掃描鍵盤就可檢測9個(gè)鍵。
無論獨(dú)立鍵盤還是矩陣鍵盤,單片機(jī)檢測其是否被按下的原理都是一樣的,也就是檢測與該鍵對應(yīng)的I/O口是否為低電平。獨(dú)立按鍵有一端固定為低電平,單片機(jī)寫程序檢測時(shí)比較方便。而矩陣鍵盤兩端都與單片機(jī)I/O口相連,因此在檢測時(shí)需要人為通過單片機(jī)I/O口送出低電平。檢測時(shí),先送一列為低電平,其余幾列為高電平(此時(shí)我們確定了列數(shù)),然后立即輪流檢測一次各行是否有低電平,若檢測到某一行為低電平(此時(shí)我們又確定了行數(shù)),則我們便可確認(rèn)當(dāng)前按下的鍵是哪一行哪一列的,用同樣的方法輪流送各列一次低電平,再輪流檢測一次各行是否變?yōu)榈碗娖?,這樣既可檢測完所有的按鍵。當(dāng)然我們也可將行線置低電平,掃描列是否有低電平。這就是矩陣鍵盤的檢測原理和方法。

SETB P1.0 ;首先各位先置一
SETB P1.1
SETB P1.2
SETB P1.3
SETB P1.4
SETB P1.5
KEY: CLR P1.0 ;行線均清零
CLR P1.1 CLR P1.2
JNB P1.3 , KEY0 ;判斷是否有按鍵按下
JNB P1.4, KEY0
JNB P1.5 , KEY0
SJMP KEY ;無按鍵按下回到KEY繼續(xù)查詢是否有按鍵按下
KEY0: LCALL DELAY ;調(diào)用延時(shí)函數(shù)
CLR P1.0 ;P1.0清零,P1.1、P1.2置一
SETB P1.1
SETB P1.2
JNB P1.3 , KEY1 ;P1.3為零則按鍵一被按下,跳轉(zhuǎn)到按鍵一KEY1處
JNB P1.4 , KEY2
JNB P1.5 , KEY3
SETB P1.0 ;P1.1清零,P1.0、P1.2置一 CLR P1.1
SETB P1.2
JNB P1.3 , KEY4
JNB P1.4 , KEY5
JNB P1.5 , KEY6
SETB P1.0 ;P1.2清零,P1.0、P1.1置一
SETB P1.1
CLR P1.2
JNB P1.3 , KEY7
JNB P1.4 , KEY8
JNB P1.5 , KEY9
SJMP KEY ;如果無按鍵按下重新跳回到按鍵查詢程序
KEY1: LCALL PRO1 ;調(diào)用按鍵一的處理子程序
LJMP KEY ;返回繼續(xù)查詢按鍵是否被按下
KEY2: LCALL PRO2
LJMP KEY
KEY3: LCALL PRO3
LJMP KEY
KEY4: LCALL PRO4
LJMP KEY
KEY5: LCALL PRO5
LJMP KEY
KEY6: LCALL PRO6
LJMP KEY
KEY7: LCALL PRO7
LJMP KEY
KEY8: LCALL PRO8
LJMP KEY
KEY9: LCALL PRO9
LJMP KEY
PRO1: 。 ;按鍵一的處理子程序
RET ;子程序返回
PRO2:
。 RET
PRO3:
RET
PRO4:
RET
PRO5:
RET
PRO6:
RET
PRO7:
RET
PRO8:
RET
PRO9:
RET
-
矩陣鍵盤
+關(guān)注
關(guān)注
7文章
207瀏覽量
31878
發(fā)布評論請先 登錄
基于CPLD 的矩陣鍵盤掃描模塊設(shè)計(jì)
矩陣鍵盤的基本掃描步驟
矩陣鍵盤掃描程序
矩陣鍵盤掃描
4x4矩陣鍵盤工作原理及掃描程序

Proteus中以中斷方式實(shí)現(xiàn)矩陣鍵盤的掃描

屏蔽鍵盤3X3開源設(shè)計(jì)

評論