單片機(jī)系統(tǒng)鍵盤電路的作用是什么(單片機(jī)的獨(dú)立鍵盤有什么用?)
單片機(jī)的獨(dú)立鍵盤有什么用?很多的嵌入式或者單片機(jī)系統(tǒng)中,一般都需要向嵌入式或者單片機(jī)系統(tǒng)輸入信息的外設(shè),以及嵌入式或者單片機(jī)向外輸出信息的外設(shè)我們常見的顯示屏,數(shù)碼管等就是嵌入式或者單片機(jī)系統(tǒng)輸出外設(shè)

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