單片機的獨立鍵盤有什么用?
很多的嵌入式或者單片機系統(tǒng)中,一般都需要向嵌入式或者單片機系統(tǒng)輸入信息的外設(shè),以及嵌入式或者單片機向外輸出信息的外設(shè)
我們常見的顯示屏,數(shù)碼管等就是嵌入式或者單片機系統(tǒng)輸出外設(shè)
觸摸板,獨立按鍵等就是嵌入式或者單片機系統(tǒng)輸入的一種外設(shè)。
所以,關(guān)于單片機系統(tǒng)中運用獨立按鍵的目的,是為了滿足用戶在單片機系統(tǒng)已有的功能中,選擇自己需要的功能,或者設(shè)置對應的參數(shù)。
一般來說,獨立按鍵是通過物理機械式的接觸,將VCC或者GND短接,達到單片機的某一個IO電平變化的按鍵。
它與矩陣鍵盤,ADC按鍵等其他的按鍵,有電路設(shè)計簡單穩(wěn)定,軟件處理簡單的優(yōu)點,但這種形式相對于矩陣鍵盤和ADC按鍵的形式,更多占用IO口
一般獨立按鍵在硬件上設(shè)計時,如下圖所示
采取上拉式,其中的電阻是限流電阻,保護MCU的IO不會損壞,電容是濾波電容,
按鍵沒有按下時,MCU端口一直高電平,當按鍵按下時,端口就會變?yōu)榈碗娖?/p>
在軟件設(shè)計過程中,可以采用外部中斷形式,或者IO端口循環(huán)掃描的形式進行鍵值的獲取,在按鍵狀態(tài)獲取時,需要考慮軟件消抖,同時建議不要使用Delay延時,使用時間計數(shù)來計算按鍵狀態(tài)時間,避免了占用MCU資源,無法處理其他的任務(wù)。
按鍵的運用在軟件中,按鍵的運用較為靈活,當多個按鍵同時存在時,可以通過組合按鍵操作實現(xiàn)某一個功能,但當只有一個按鍵,項目又需要多個功能實現(xiàn)切換的時候,可以考慮,短按長按,按鍵按中按鍵松開,單擊雙擊多擊,多種形式靈活組合實現(xiàn)各個不同的操作流程。
比如
關(guān)機狀態(tài),短按進入待機X狀態(tài)
關(guān)機狀態(tài),長按進入狀態(tài)A
待機X狀態(tài)短按,進入狀態(tài)B,
待機X狀態(tài)后長按,進入狀態(tài)C,
待機X狀態(tài),快速多連擊進入狀態(tài)D
等等這樣的操作形式或者流程,就能利用一個獨立按鍵,實現(xiàn)多個功能代碼的設(shè)計。
獨立按鍵是單片機系統(tǒng)中一個很重要的設(shè)計,簡單運用很簡單,但深入靈活的組合實現(xiàn)也是需要自己仔細琢磨,將獨立按鍵的用法吃透,在實際的項目開發(fā)過程中,會讓您的解決問題可選方案增加很多,工作更加得心應手。
歡迎留言轉(zhuǎn)發(fā),點贊,關(guān)注!!!
謝謝大家