PIC單片機(jī)人機(jī)接口4×4行列式鍵盤的工作原理
(1)單片機(jī)系統(tǒng)鍵盤原理
行列式鍵盤的接法比獨(dú)立式鍵盤的接法復(fù)雜,編程實(shí)現(xiàn)上也會(huì)比較復(fù)雜。但是,在占用相同的I/O端口的情況下,行列式鍵盤的接法會(huì)比獨(dú)立式接法允許的按鍵數(shù)量多,其原理圖如圖1所示。
實(shí)際的工程中,可能會(huì)使用PIC16C5X這種通用的可編程的鍵盤、顯示接口器件,使用PIC16C5X單片器件就能夠完成鍵盤輸入和顯示控制兩種功能。
行列式鍵盤的工作方式是先用列線發(fā)送掃描字,然后讀取行線的狀態(tài),查看是否有按鍵按下。鍵盤部分提供一種掃描的工作方式,可以和具有64個(gè)按鍵的矩陣鍵盤相連接,能對(duì)鍵盤不斷掃描、自動(dòng)消抖、自動(dòng)識(shí)別按下的鍵,并給出編碼,能對(duì)雙鍵或n個(gè)鍵同時(shí)按下的情況實(shí)行保護(hù)。
在顯示部分,它可以為發(fā)光二極管、熒光管及其他顯示器提供按掃描方式工作的顯示接口,而且為顯示器提供多路復(fù)用信號(hào),可以顯示多達(dá)16位的字符或數(shù)字。
鍵盤中有無按鍵按下是由列線送入全掃描字、行線讀入行線狀態(tài)來判斷的,其方法是將列線的所有I/O線均置成低電平,然后將行線電平狀態(tài)讀入累加器A中,如果有鍵按下,總會(huì)有一根行線被拉至低電平,從而使行輸入不全為1。
鍵盤中哪一個(gè)鍵按下可由列線逐列置低電平后,檢查行輸入狀態(tài)來判斷,其方法是依次給列線送低電平,然后檢查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列,如果不全為1,則所按下的鍵必在此列,而且是在與0電平線相交的交點(diǎn)上的那個(gè)鍵。
(2)單片機(jī)鍵盤掃描法
掃描法是在判定有鍵按下后逐列果行(或列)的狀態(tài)出現(xiàn)非全1狀態(tài),如果(或列)的狀態(tài)出現(xiàn)非全1狀態(tài),這時(shí)0狀態(tài)的行、列交點(diǎn)的鍵就是所按下的鍵。
掃描法的特點(diǎn)是逐行(或逐列)掃描查詢,這時(shí)相應(yīng)行(或列)應(yīng)有上拉電阻接高電平。行列式鍵盤掃描程序就是采用掃描法來確定哪個(gè)鍵按下的,圖1中行線上拉電阻接+5V,列線逐列掃描。
評(píng)論