單片機多按鍵的更優方式――紅外按鍵
在電路設計中,我們經常會用到按鍵,而說到按鍵,我們最常用的按鍵方式有獨立按鍵和矩陣按鍵兩種,如下圖所示:
獨立按鍵.jpg (57.68 KB, 下載次數: 33)
下載附件
2023-2-8 23:08 上傳
矩陣按鍵.jpg (151.47 KB, 下載次數: 32)
下載附件
2023-2-8 23:08 上傳
而之所以有矩陣按鍵的出現,是因為當用到較多按鍵時,矩陣按鍵會占用較少的IO口,或者說占用相同的IO口,對矩陣按鍵的方式來說,能使用的按鍵數會更多。如上圖所示,假如同樣占用單片機的8個IO口作為按鍵輸入腳時,獨立按鍵方式只能用8個按鍵,而矩陣按鍵可以用16個按鍵,翻了一倍。今天所要說的紅外按鍵,要比矩陣按鍵方式所能使用的按鍵數更多,同樣占用單片機的8個IO口可以使用的按鍵數為2^8-1=255個,翻了近16倍,這是因為紅外按鍵的可控按鍵數與IO口的關系是成指數上升的。不僅如此,使用紅外按鍵還有一個好處就是:不用焊硬件電路的按鍵了,也省去了硬件按鍵的空間,讓PCB板可以做的更精簡一些。 以下介紹紅外按鍵的控制原理:
遙控器.jpg (62.92 KB, 下載次數: 30)
下載附件
2023-2-8 23:38 上傳
如上圖所示,以17鍵的遙控器來舉例,我們按順序給按鍵編號,那么數字鍵1-9剛好與編號相對應,其余編號如遙控器2所示,下來只需要將這17個數字轉化為5位2進制數就好,例如:1號按鍵就是00001再取反得到11110,那么紅外輸出對應端口為VCC 11110 GND(1:高電平;0:低電平),沒有按鍵按下時輸出為VCC 11111 GND(這便是按鍵數最后要減1的原因,因為沒有按鍵按下也是一種狀態),按鍵的狀態表如下:
按鍵狀態表.jpg (58.82 KB, 下載次數: 29)
下載附件
2023-2-8 23:45 上傳
輸出電平中1為高電平,0為低電平;LED顯示中0代表滅,1代表亮。其中數碼管顯示部分可以在程序中自行更改。 紅外按鍵數顯測試原理圖及PCB如下:
原理圖.jpg (102.33 KB, 下載次數: 33)
下載附件
2023-2-8 23:55 上傳
PCB.jpg (99.85 KB, 下載次數: 35)
下載附件
2023-2-8 23:55 上傳
原文件可在附件中下載。 紅外按鍵數顯測試實物圖如下:
實物.jpg (16.97 KB, 下載次數: 36)
下載附件
2023-2-9 00:00 上傳
紅外按鍵的優點: 1無線,按鍵可移動,無需焊接硬件按鍵,節省主控板空間。 2接收部分為電信號,非機械信號,無消抖亦可。 3更優邏輯方式輸入按鍵信號,可控按鍵數是按鍵接口引腳數的指數倍(2^n-1),所以同樣的按鍵數占用的接口引腳較少。 4繼承傳統的獨立按鍵和矩陣按鍵方式,接收簡潔,無需解碼。 接收參考程序見附件。
Keil程序:
紅外按鍵接收參考程序.rar
(26.15 KB, 下載次數: 47)
2023-2-9 00:08 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
原理圖PCB文件
紅外按鍵數顯測試.rar
(500.48 KB, 下載次數: 36)
2023-2-9 00:07 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|