(21種方案的簡單介紹,及部分展示)
按鍵作為一個輸入模塊,在單片機開發板中必不可少,本文來討論按鍵的設計方案。本文1500字。下篇文章將展示出電路圖。
按鍵的模塊的設計,主要內容是:按鍵數量和需要IO口的數量,當然有些不常見的按鍵電路,需要一些其他器件,芯片輔助完成。
下表為按鍵設計的一些方案(占用IO口數量在8個IO口以內,可使用擴展芯片。只列出來一部分,有些專用的按鍵檢測芯片,因為本人沒有使用過,所以這里沒有列出來,歡迎評論區留言)
表1 一些按鍵檢測方案
表1為我整理的一些按鍵檢測方案,這些方案都是可以實現的。我在這里解釋一下,表頭內容IO口數量,為實際需要使用的單片機IO口數量,這部分IO口都是要被占用的,按鍵數量是指這個設計方案中的按鍵數量,也是可以檢測區分出的按鍵數量。短,長,雙擊這個是指檢測按鍵的狀態,這個都是可以實現檢測的,所以都是1,不能檢測的標記為0。這里的可以檢測出來是指可以通過算法實現,如果你實現不了,那就是你的問題了。2按鍵同時,這個指的是多個按鍵同時按下,能否檢測出來,這個對按鍵的算法要求更高了,這個大部分特殊的按鍵電路都是無法實現的,一般常見的按鍵電路可以實現。特殊,這一列是描述設計方案存在的特殊之處,一般的獨立按鍵,都是沒啥特殊的,所以都標記了0,其他設計方案中,列出了設計方案所用的除了按鍵之外的器件。一列內容為按鍵/IO口,這個值越大,表明相同的IO口數量,檢測的按鍵多。
分析表中所有的設計方案:
1, 普通的矩陣按鍵,8個IO口一般是44矩陣16個按鍵,33矩陣9個按鍵,2*2矩陣需要4個IO口,還不如4個獨立按鍵,所以這里沒有列出來。普通的矩陣按鍵檢測思路一般是行列掃描,這里就不進行展開描述了。
2, 獨立按鍵。獨立按鍵太常見了,一般我們使用一兩個按鍵,都會選擇獨立按鍵,獨立按鍵的話,我們一般設計的數量在1-4個,如果需要更多的按鍵,再用獨立按鍵就不是很劃算了,可以考慮其他方案了,獨立按鍵的檢測是學習單片機最基礎的程序了。
3, 2IO6按鍵,3IO21按鍵,4IO52按鍵,這幾個是比較特殊的按鍵電路,檢測按鍵的程序也是比較復雜的,當然電路也是有點復雜,前兩種方案我都分享過了,第三個,4個IO口檢測52個按鍵,我還沒有測試,但是是可行的。這個部分在逐個展開吧,東西太多了。
4, 按鍵二極管,這個是第三種方案的部分,使用的二極管數量下降了,但是使用IO口數量增加了。程序上會比第三個簡單點吧。
5, 剩下的方案,每個都是一個電路,基本都涉及芯片或ADC的使用。
5.1 一個IO口檢測兩個按鍵,這個是檢測IO口的高電平和低電平區分出按鍵是哪一個的,需要使用單片機IO口的模式配置,STC89C52單片機是無法實現的,需要使用STC12及之后的系列。
5.2 74HC138譯碼器+IO口,這個是將8個按鍵的一端都連接在一起,另一端都連接譯碼器的輸出,單片機控制譯碼器進行按鍵掃描,當有按鍵按下時,按下按鍵的標號就是此時譯碼器的輸入。
5.3 矩陣按鍵8*8,這個是我之前設計的電路了,這個涉及兩個芯片,這里就不進行展開后,之后詳細分析
5.4 一路ADC,16個按鍵。這個方案不一定非要16個,只是16這個數字比較“完整“,這個是需要ADC的,一般都是使用單片機內置的ADC,同時需要一些電阻,這些電阻的精度,還可能影響按鍵檢測的準確性。
5.5 8路觸摸按鍵,這個是我之前設計的42路觸摸按鍵電路的部分電路。這個觸摸按鍵的實現沒有借助專門的芯片,所以電路中的元件可能比較多,但是影響不大。
實物展示(已經做出來的方案實物/電路)
結束語:本文簡單介紹了21種按鍵電路,連原理圖都沒有貼上,接下來的文章會附上電路圖,供有需要的人參考,本文到此結束,你如果有更好的方案,可以評論留言。
-
電路圖
+關注
關注
10340文章
10720瀏覽量
530206 -
單片機
+關注
關注
6035文章
44554瀏覽量
634633 -
開發板
+關注
關注
25文章
5032瀏覽量
97371 -
IO口
+關注
關注
3文章
170瀏覽量
24023 -
按鍵電路
+關注
關注
1文章
35瀏覽量
21770
發布評論請先 登錄
相關推薦
評論