為什么要進(jìn)行按鍵消抖
按鍵消抖通常的按鍵所用開關(guān)為機(jī)械彈性開關(guān),當(dāng)機(jī)械觸點(diǎn)斷開、閉合時(shí),由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開關(guān)在閉合時(shí)不會(huì)馬上穩(wěn)定地接通,在斷開時(shí)也不會(huì)一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動(dòng),為了不產(chǎn)生這種現(xiàn)象而作的措施就是按鍵消抖。
按鍵的抖動(dòng)對(duì)于人類來(lái)說(shuō)是感覺不到的,但對(duì)單片機(jī)來(lái)說(shuō),則是完全可以感應(yīng)到的,而且還是一個(gè)很“漫長(zhǎng)”的過(guò)程,因?yàn)閱纹瑱C(jī)處理的速度在“微秒”級(jí),而按鍵抖動(dòng)的時(shí)間至少在“毫秒”級(jí)。
一次按鍵動(dòng)作的電平波形如下圖。存在抖動(dòng)現(xiàn)象,其前后沿抖動(dòng)時(shí)間一般在5ms~10ms之間。由于單片機(jī)運(yùn)行速度非??欤?jīng)過(guò)A時(shí)刻的時(shí)候會(huì)檢測(cè)到低電平判斷按鍵被按下。當(dāng)?shù)搅薆時(shí)刻的時(shí)候,單片機(jī)同樣會(huì)檢測(cè)到高電平,誤以為松開按鍵,然后又到了C時(shí)刻檢測(cè)到低電平,判斷到按鍵被按下。周而復(fù)始,在5-10ms內(nèi)可能會(huì)出現(xiàn)很多次按下的動(dòng)作,每一次按鍵的動(dòng)作判斷的次數(shù)都不相同。
為確保單片機(jī)對(duì)按鍵的一次閉合僅作一次處理,必須處理按鍵抖動(dòng)問(wèn)題。在按鍵閉合或者釋放穩(wěn)定時(shí)再讀取按鍵的狀態(tài)。
硬件消抖電路
硬件消抖一般有兩種實(shí)現(xiàn)方式:
RS觸發(fā)器
RS觸發(fā)器
利用RS觸發(fā)器來(lái)吸收按鍵的抖動(dòng)。一旦有鍵按下,觸發(fā)器立即翻轉(zhuǎn),觸電的抖動(dòng)便不會(huì)再對(duì)輸出產(chǎn)生影響,按鍵釋放時(shí)也一樣。RS觸發(fā)電路消抖電路圖如下。
電容濾波
將電容并聯(lián)在按鍵的兩端,利用電容的放電的延時(shí)特性。將產(chǎn)生抖動(dòng)的電平通過(guò)電容吸收掉。從而達(dá)到消抖的作用,電容消抖電路圖如下圖所示。
總結(jié)
實(shí)際上,在沒有MCU的情況下,對(duì)按鍵進(jìn)行消抖通常是通過(guò)硬件消抖電路來(lái)實(shí)現(xiàn)。而在嵌入式開發(fā)中,大多數(shù)情況下都是通過(guò)程序來(lái)實(shí)現(xiàn)按鍵消抖。簡(jiǎn)單說(shuō)就是加合適的延遲,顯然這實(shí)現(xiàn)成本要比硬件電路方式低得多。
審核編輯:湯梓紅
-
單片機(jī)
+關(guān)注
關(guān)注
6061文章
44913瀏覽量
646583 -
mcu
+關(guān)注
關(guān)注
146文章
17824瀏覽量
360086 -
按鍵消抖
+關(guān)注
關(guān)注
2文章
28瀏覽量
10615
原文標(biāo)題:硬件按鍵消抖電路原理,實(shí)現(xiàn)方式有哪些
文章出處:【微信號(hào):電子技術(shù)控,微信公眾號(hào):電子技術(shù)控】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
按鍵的硬件消抖電路原理詳解

技術(shù)分享:明德?lián)P按鍵消抖的原理和基于fpga的消抖設(shè)計(jì)
有什么方法去實(shí)現(xiàn)按鍵的消抖呢
基于VHDL語(yǔ)言的按鍵消抖電路設(shè)計(jì)及仿真

基于FPGA的按鍵消抖電路設(shè)計(jì)
VHDL—按鍵消抖
vhdl按鍵消抖程序(七種方式實(shí)現(xiàn)按鍵消抖)

按鍵消抖/開關(guān)量信號(hào)監(jiān)測(cè)實(shí)現(xiàn)方案
如何在FPGA中實(shí)現(xiàn)按鍵消抖
基于FPGA實(shí)現(xiàn)按鍵消抖處理

評(píng)論