為什么要進行按鍵消抖
按鍵消抖通常的按鍵所用開關為機械彈性開關,當機械觸點斷開、閉合時,由于機械觸點的彈性作用,一個按鍵開關在閉合時不會馬上穩(wěn)定地接通,在斷開時也不會一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動,為了不產(chǎn)生這種現(xiàn)象而作的措施就是按鍵消抖。
按鍵的抖動對于人類來說是感覺不到的,但對單片機來說,則是完全可以感應到的,而且還是一個很“漫長”的過程,因為單片機處理的速度在“微秒”級,而按鍵抖動的時間至少在“毫秒”級。
一次按鍵動作的電平波形如下圖。存在抖動現(xiàn)象,其前后沿抖動時間一般在5ms~10ms之間。由于單片機運行速度非??欤?jīng)過A時刻的時候會檢測到低電平判斷按鍵被按下。當?shù)搅薆時刻的時候,單片機同樣會檢測到高電平,誤以為松開按鍵,然后又到了C時刻檢測到低電平,判斷到按鍵被按下。周而復始,在5-10ms內(nèi)可能會出現(xiàn)很多次按下的動作,每一次按鍵的動作判斷的次數(shù)都不相同。

為確保單片機對按鍵的一次閉合僅作一次處理,必須處理按鍵抖動問題。在按鍵閉合或者釋放穩(wěn)定時再讀取按鍵的狀態(tài)。
硬件消抖電路
硬件消抖一般有兩種實現(xiàn)方式:
RS觸發(fā)器
RS觸發(fā)器
利用RS觸發(fā)器來吸收按鍵的抖動。一旦有鍵按下,觸發(fā)器立即翻轉,觸電的抖動便不會再對輸出產(chǎn)生影響,按鍵釋放時也一樣。RS觸發(fā)電路消抖電路圖如下。

電容濾波
將電容并聯(lián)在按鍵的兩端,利用電容的放電的延時特性。將產(chǎn)生抖動的電平通過電容吸收掉。從而達到消抖的作用,電容消抖電路圖如下圖所示。

總結
實際上,在沒有MCU的情況下,對按鍵進行消抖通常是通過硬件消抖電路來實現(xiàn)。而在嵌入式開發(fā)中,大多數(shù)情況下都是通過程序來實現(xiàn)按鍵消抖。簡單說就是加合適的延遲,顯然這實現(xiàn)成本要比硬件電路方式低得多。
審核編輯:湯梓紅
-
單片機
+關注
關注
6074文章
45322瀏覽量
662993 -
mcu
+關注
關注
147文章
18590瀏覽量
386009 -
按鍵消抖
+關注
關注
2文章
28瀏覽量
10793
原文標題:硬件按鍵消抖電路原理,實現(xiàn)方式有哪些
文章出處:【微信號:電子技術控,微信公眾號:電子技術控】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
技術分享:明德?lián)P按鍵消抖的原理和基于fpga的消抖設計
基于VHDL語言的按鍵消抖電路設計及仿真
基于FPGA的按鍵消抖電路設計
vhdl按鍵消抖程序(七種方式實現(xiàn)按鍵消抖)
使用51單片機實現(xiàn)按鍵消抖的資料和程序免費下載
按鍵消抖/開關量信號監(jiān)測實現(xiàn)方案
如何在FPGA中實現(xiàn)按鍵消抖
基于FPGA實現(xiàn)按鍵消抖處理

按鍵消抖電路的實現(xiàn)方式
評論