四種單片機按鍵設計方案與改進,拿走不謝!
瀏覽:2977 收藏:1
在單片機系統里,按鍵是常見的輸入設備。本文將介紹四種按鍵硬件設計上的方案和一些軟件設計方面的技巧。
方案一:單個按鍵
圖1 方案一
方案二:矩陣鍵盤
圖2 方案二
方案三:外部中斷
圖3 方案三
方案四:利用ADC
圖4 方案四
以上四種設計分別各有優點和不足。
第一種設計是最簡單、基礎的做法,對于單片機初學者很容易理解和使用,但缺點是需要在主循環中不斷檢測按鍵是否按下,并且需要做消抖處理。若主循環中某個函數任務占用時間較長,則按鍵會有不同程度的“失靈”。
第二種設計的優點是能夠在GPIO數量有限的情況下,擴展盡可能多的按鍵。但缺點同上,需要不停檢測按鍵是否按下。
第三種設計的效率Z高,不需要循環檢測按鍵是否按下,但缺點是需要單片機有足夠的外部中斷接口供使用。
第四種設計的優點是只需要單片機有一個ADC接口、一根線,就能對多個按鍵進行識別,缺點是按鍵內部一旦接觸不良,則可能導致按鍵串位,并且按鍵產生的抖動有可能會造成識別錯誤。
在以上常見按鍵設計的基礎上,分享一下筆者學習和工作中總結的按鍵方案。
改進一:
圖5 改進一
改進二:
圖6 改進二
改進三:
改進四:
如果都設置了以上的改進,仍要注意以下兩點:
定時器的定時時間不可過長也不可過短。過長容易檢測不到按下,過短會占用大量時間資源。
中斷服務程序需簡單明了。只做檢測用,通過全局變量傳遞,在主循環內完成按鍵響應,盡量不要在中斷服務函數內占用太多時間。
*本文系網絡轉載,版權歸原作者所有,如有侵權請聯系刪除
技術鄰APP
工程師必備
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP
1




















