簡(jiǎn)單了解矩陣鍵盤(pán)掃描的方法原理
鍵盤(pán)掃描方法是:行線(xiàn)P10~P13為輸出線(xiàn),列線(xiàn)P14~P17為輸入線(xiàn)。一開(kāi)始單片機(jī)將行線(xiàn)(P10~P13)全部輸出低電平,此時(shí)讀入列線(xiàn)數(shù)據(jù),若列線(xiàn)全為高電平則沒(méi)有鍵按下,當(dāng)列線(xiàn)有出現(xiàn)低電平時(shí)調(diào)用延時(shí)程序以此來(lái)去除按鍵抖動(dòng)。延時(shí)完成后再判斷是否有低電平,如果此時(shí)讀入列線(xiàn)數(shù)據(jù)還是有低電平,則說(shuō)明確實(shí)有鍵按下。最后一步確定鍵值?,F(xiàn)在我們以第二行的S5鍵為例,若按下S5后我們應(yīng)該怎么得到這個(gè)鍵值呢?當(dāng)判斷確實(shí)有鍵按下之后,行線(xiàn)輪流輸出低電平,根據(jù)讀入列線(xiàn)的數(shù)據(jù)可以確定鍵值。首先,單片機(jī)將P10輸出為低電平,其它P11~P13輸出高電平,此時(shí)讀取列線(xiàn)的數(shù)據(jù)全為高電平,說(shuō)明沒(méi)有在第一行有鍵按下;其次,單片機(jī)將P11輸出低電平,其它P10、P12、P13仍為高電平,此時(shí)再來(lái)讀取列線(xiàn)數(shù)據(jù),發(fā)現(xiàn)列線(xiàn)讀到的數(shù)據(jù)有低電平,數(shù)值為1011(0x0B),如果我們的鍵盤(pán)布局已經(jīng)確定,那么0x0B就代表S5的值了。轉(zhuǎn)到S5鍵功能處理子程序就可以達(dá)到目的。