【電子資訊】多個(gè)獨立按鍵控制LED燈程序設計
一般的程序中實(shí)現用一個(gè)按鍵來(lái)控制一個(gè)LED燈的亮滅這么簡(jiǎn)單的功能不用單片機也能輕易做到。但在實(shí)際應用中往往不止一個(gè)獨立按鍵,這就要用到按鍵識別功能了,下面介紹一下獨立按鍵識別的程序,程序中把按下的鍵值通過(guò)數碼管顯示出來(lái)。



通過(guò)該程序可以實(shí)現獨立按鍵的識別。獨立按鍵具有編程簡(jiǎn)單但占用I/O口資源的特點(diǎn),不適合在按鍵較多的場(chǎng)合應用。在實(shí)際應用中經(jīng)常要用到輸人數字、字母等功能,如電子密碼鎖、電話(huà)機鍵盤(pán)等一般都至少有12-16個(gè)按鍵,在這種情況下用獨立按鍵的話(huà)顯然太浪費I/O口資源,為此引入了矩陣鍵盤(pán)。矩陣鍵盤(pán)又稱(chēng)行列鍵盤(pán),它是用4條I/O線(xiàn)作為行線(xiàn),4條I/O線(xiàn)作為列線(xiàn)組成的鍵盤(pán)。在行線(xiàn)和列線(xiàn)的每個(gè)交叉點(diǎn)上設置一個(gè)按鍵,這樣鍵盤(pán)上按鍵的個(gè)數就為4X4個(gè)。這種行列式鍵盤(pán)結構能有效地提高單片機系統中I/O口的利用率。
最常見(jiàn)的鍵盤(pán)布局如圖6一10所示,一般由16個(gè)按鍵組成,在單片機中正好可以用一個(gè)P口實(shí)現16個(gè)按鍵功能,這也是在單片機系統中最常用的形式。4x4矩陣鍵盤(pán)的內部電路如圖6-11所示。


I/O口線(xiàn)之間短路。判斷有無(wú)按鍵按下的方法是:第1步,置列線(xiàn)PC4 ~ PC7為輸入狀態(tài),從行線(xiàn)PC0-PC3輸出低電平.讀入列線(xiàn)數據。若某一列線(xiàn)為低電平,則該列線(xiàn)上有鍵閉合。第2步,行線(xiàn)輪流輸出低電平,從列線(xiàn)PC4~PC7讀入數據,若有某一列為低電平,則對應行線(xiàn)上有鍵按下。綜合這兩步的結果,可確定按鍵編號。但是鍵閉合一次只能進(jìn)行一次鍵功能操作,因此必須等到按鍵釋放后再進(jìn)行鍵功能操作,否則按一次鍵.有可能會(huì )連續多次進(jìn)行同樣的鍵操作。為了詳細介紹矩陣鍵盤(pán)的應用,我們通過(guò)以下程序來(lái)實(shí)現按鍵值檢測,并在8個(gè)LED上顯示出鍵值。測試圖如圖6-12所示。硬件電路如圖6-13所示






電子街推薦閱讀
聯(lián)系客服