|
矩陣鍵盤的工作原理
最常見的鍵盤布局如圖3所示。一般由16個按鍵組成,在單片機中正好可以用一個P口實現(xiàn)16個按鍵功能,這也是在單片機系統(tǒng)中最常用的形式,4*4矩陣鍵盤的內(nèi)部電路如圖所示。
當(dāng)無按鍵閉合時,P3.0~P3.3與P3.4~P3.7之間開路。當(dāng)有鍵閉合時,與閉合鍵相連的兩條I/O口線之間短路。判斷有無按鍵按下的方法是:第一步,置列線P3.4~P3.7為輸入狀態(tài),從行線P3.0~P3.3輸出低電平,讀入列線數(shù)據(jù),若某一列線為低電平,則該列線上有鍵閉合。第二步,行線輪流輸出低電平,從列線P3.4~P3.7讀入數(shù)據(jù),若有某一列為低電平,則對應(yīng)行線上有鍵按下。綜合一二兩步的結(jié)果,可確定按鍵編號。但是鍵閉合一次只能進行一次鍵功能操作,因此須等到按鍵釋放后,再進行鍵功能操作,否則按一次鍵,有可能會連續(xù)多次進行同樣的鍵操作。
識別按鍵的方法很多其中,最常見的方法是掃描法
按鍵按下時,與此鍵相連的行線與列線導(dǎo)通,行線在無按鍵按下時處在高電平。如果所有的列線都處在高電平,則按鍵按下與否不會引起行線電平的變化,因此必須使所有列線處在電平。這樣,當(dāng)有按鍵按下時,改鍵所在的行電平才回由高變低。才能判斷相應(yīng)的行有鍵按下。
獨立按鍵數(shù)量少,可根據(jù)實際需要靈活編碼。矩陣鍵盤,按鍵的位置由行號和列號唯一確定,因此可以分別對行號和列號進行二進制編碼,然后兩值合成一個字節(jié),高4位是行號,低4位是列號。
4.鍵盤的工作方式
對鍵盤的響應(yīng)取決于鍵盤的工作方式,鍵盤的工作方式應(yīng)根據(jù)實際應(yīng)用系統(tǒng)中的CPU的工作狀況而定,其選取的原則是既要保證CPU能及時響應(yīng)按鍵操作,又不要過多占用CPU的工作時間。通常鍵盤的工作方式有三種,編程掃描、定時掃描和中斷掃描。
(1)編程掃描方式
編程掃描方式是利用CPU完成其它工作的空余時間,調(diào)用鍵盤掃描子程序來響應(yīng)鍵盤輸入的要求。在執(zhí)行鍵功能程序時,CPU不再響應(yīng)鍵輸入要求,直到CPU重新掃描鍵盤為止。
(2)定時掃描方式
定時掃描方式就是每隔一段時間對鍵盤掃描一次,它利用單片機內(nèi)部的定時器產(chǎn)生一定時間(例如10ms)的定時,當(dāng)定時時間到就產(chǎn)生定時器溢出中斷。CPU響應(yīng)中斷后對鍵盤進行掃描,并在有按鍵按下時識別出該鍵,再執(zhí)行該鍵的功能程序。
(3)中斷掃描方式
上述兩種鍵盤掃描方式,無論是否按鍵,CPU都要定時掃描鍵盤,而單片機應(yīng)用系統(tǒng)工作時,并非經(jīng)常需要鍵盤輸入,因此,CPU經(jīng)常處于空掃描狀態(tài)。
為提高CPU工作效率,可采用中斷掃描工作方式。其工作過程如下:當(dāng)無按鍵按下時,CPU處理自己的工作,當(dāng)有按鍵按下時,產(chǎn)生中斷請求,CPU轉(zhuǎn)去執(zhí)行鍵盤掃描子程序,并識別鍵號。
http://www.torrancerestoration.com/mcu/3352.html
51單片機學(xué)習(xí)之5-獨立按鍵和矩陣鍵盤 |
|