【電子資訊】多個(gè)獨(dú)立按鍵控制LED燈程序設(shè)計(jì) 一般的程序中實(shí)現(xiàn)用一個(gè)按鍵來控制一個(gè)LED燈的亮滅這么簡(jiǎn)單的功能不用單片機(jī)也能輕易做到,。但在實(shí)際應(yīng)用中往往不止一個(gè)獨(dú)立按鍵,這就要用到按鍵識(shí)別功能了,下面介紹一下獨(dú)立按鍵識(shí)別的程序,程序中把按下的鍵值通過數(shù)碼管顯示出來。
通過該程序可以實(shí)現(xiàn)獨(dú)立按鍵的識(shí)別,。獨(dú)立按鍵具有編程簡(jiǎn)單但占用I/O口資源的特點(diǎn),不適合在按鍵較多的場(chǎng)合應(yīng)用,。在實(shí)際應(yīng)用中經(jīng)常要用到輸人數(shù)字、字母等功能,如電子密碼鎖,、電話機(jī)鍵盤等一般都至少有12-16個(gè)按鍵,在這種情況下用獨(dú)立按鍵的話顯然太浪費(fèi)I/O口資源,為此引入了矩陣鍵盤,。矩陣鍵盤又稱行列鍵盤,它是用4條I/O線作為行線,4條I/O線作為列線組成的鍵盤。在行線和列線的每個(gè)交叉點(diǎn)上設(shè)置一個(gè)按鍵,這樣鍵盤上按鍵的個(gè)數(shù)就為4X4個(gè),。這種行列式鍵盤結(jié)構(gòu)能有效地提高單片機(jī)系統(tǒng)中I/O口的利用率,。 最常見的鍵盤布局如圖6一10所示,一般由16個(gè)按鍵組成,在單片機(jī)中正好可以用一個(gè)P口實(shí)現(xiàn)16個(gè)按鍵功能,這也是在單片機(jī)系統(tǒng)中最常用的形式。4x4矩陣鍵盤的內(nèi)部電路如圖6-11所示,。
I/O口線之間短路,。判斷有無按鍵按下的方法是:第1步,置列線PC4 ~ PC7為輸入狀態(tài),從行線PC0-PC3輸出低電平.讀入列線數(shù)據(jù)。若某一列線為低電平,則該列線上有鍵閉合,。第2步,行線輪流輸出低電平,從列線PC4~PC7讀入數(shù)據(jù),若有某一列為低電平,則對(duì)應(yīng)行線上有鍵按下,。綜合這兩步的結(jié)果,可確定按鍵編號(hào)。但是鍵閉合一次只能進(jìn)行一次鍵功能操作,因此必須等到按鍵釋放后再進(jìn)行鍵功能操作,否則按一次鍵.有可能會(huì)連續(xù)多次進(jìn)行同樣的鍵操作,。為了詳細(xì)介紹矩陣鍵盤的應(yīng)用,我們通過以下程序來實(shí)現(xiàn)按鍵值檢測(cè),并在8個(gè)LED上顯示出鍵值,。測(cè)試圖如圖6-12所示。硬件電路如圖6-13所示
電子街推薦閱讀 |
|