單片機(jī)多按鍵的更優(yōu)方式――紅外按鍵
在電路設(shè)計(jì)中,我們經(jīng)常會(huì)用到按鍵,而說(shuō)到按鍵,我們最常用的按鍵方式有獨(dú)立按鍵和矩陣按鍵兩種,如下圖所示: 而之所以有矩陣按鍵的出現(xiàn),是因?yàn)楫?dāng)用到較多按鍵時(shí),矩陣按鍵會(huì)占用較少的IO口,或者說(shuō)占用相同的IO口,對(duì)矩陣按鍵的方式來(lái)說(shuō),能使用的按鍵數(shù)會(huì)更多。如上圖所示,假如同樣占用單片機(jī)的8個(gè)IO口作為按鍵輸入腳時(shí),獨(dú)立按鍵方式只能用8個(gè)按鍵,而矩陣按鍵可以用16個(gè)按鍵,翻了一倍。今天所要說(shuō)的紅外按鍵,要比矩陣按鍵方式所能使用的按鍵數(shù)更多,同樣占用單片機(jī)的8個(gè)IO口可以使用的按鍵數(shù)為2^8-1=255個(gè),翻了近16倍,這是因?yàn)榧t外按鍵的可控按鍵數(shù)與IO口的關(guān)系是成指數(shù)上升的。不僅如此,使用紅外按鍵還有一個(gè)好處就是:不用焊硬件電路的按鍵了,也省去了硬件按鍵的空間,讓PCB板可以做的更精簡(jiǎn)一些。 以下介紹紅外按鍵的控制原理: 如上圖所示,以17鍵的遙控器來(lái)舉例,我們按順序給按鍵編號(hào),那么數(shù)字鍵1-9剛好與編號(hào)相對(duì)應(yīng),其余編號(hào)如遙控器2所示,下來(lái)只需要將這17個(gè)數(shù)字轉(zhuǎn)化為5位2進(jìn)制數(shù)就好,例如:1號(hào)按鍵就是00001再取反得到11110,那么紅外輸出對(duì)應(yīng)端口為VCC 11110 GND(1:高電平;0:低電平),沒(méi)有按鍵按下時(shí)輸出為VCC 11111 GND(這便是按鍵數(shù)最后要減1的原因,因?yàn)闆](méi)有按鍵按下也是一種狀態(tài)),按鍵的狀態(tài)表如下: 輸出電平中1為高電平,0為低電平;LED顯示中0代表滅,1代表亮。其中數(shù)碼管顯示部分可以在程序中自行更改。 紅外按鍵數(shù)顯測(cè)試原理圖及PCB如下:
原文件可在附件中下載。 紅外按鍵數(shù)顯測(cè)試實(shí)物圖如下: 紅外按鍵的優(yōu)點(diǎn): 1無(wú)線,按鍵可移動(dòng),無(wú)需焊接硬件按鍵,節(jié)省主控板空間。 2接收部分為電信號(hào),非機(jī)械信號(hào),無(wú)消抖亦可。 3更優(yōu)邏輯方式輸入按鍵信號(hào),可控按鍵數(shù)是按鍵接口引腳數(shù)的指數(shù)倍(2^n-1),所以同樣的按鍵數(shù)占用的接口引腳較少。 4繼承傳統(tǒng)的獨(dú)立按鍵和矩陣按鍵方式,接收簡(jiǎn)潔,無(wú)需解碼。 接收參考程序見(jiàn)附件。
Keil程序:
紅外按鍵接收參考程序.rar
(26.15 KB, 下載次數(shù): 47)
2023-2-9 00:08 上傳
點(diǎn)擊文件名下載附件
|