在做硬件設計的時候,按鍵是最常見的模塊之一,也是學硬件的人入坑接觸的第一二個實例。
人手在按下按鍵的時候會有一定頻率的抖動,反映在按下和釋放的上升下降沿會有信號的反復跳動,如下示意圖。單片機在識別IO信號的時候,經常會根據(jù)前后電平值來判斷是否有跳變,如果在單片機的采樣窗口內連續(xù)出現(xiàn)反復多次的高低電平,就會影響單片機的判斷,采集到多次高低電平信號。不僅是人手主動按,不小心碰到按鍵也是會存在一定幾率的抖動信號,可能導致誤觸。
不過成熟、高可靠性的按鍵設計一定不是只有按鍵,通常我們會看到有并聯(lián)電容,用來消除按鍵抖動。抖動不消除會有一定幾率造成產品的不良影響,比如按鍵失靈、響應錯誤、誤觸等。
既然電容可以消除抖動,那消抖電容的容值是怎么選的。
首先電容在這里的作用是濾波的,那么濾除什么頻率的波就是我們需要考慮的因素了。通過查閱資料,按鍵抖動的頻率一般在100Hz以內,抖動的時間經驗值通常在5~10ms,即在這個時間內通常會有多次的跳變信號。
電容兩端的電壓是不能突變的,充電和放電都會有一個過程,如上圖。因此在出現(xiàn)抖動的時候,電容會使其兩端的電壓緩慢變化,只要在其充放電時間內,抖動能夠結束,就能有效消除掉抖動。
也就是說,根據(jù)充放電的時間計算,通常選擇0.01uF~1uF的電容,就能夠消除大部分機械按鍵的抖動。
相對應的,在產品設計時,軟件層面也會做消抖,程序會考慮在第一次接收到電平跳變后delay10ms左右再次做檢測,這樣也能有效避免誤檢測。
-
單片機
+關注
關注
6063文章
44916瀏覽量
646914 -
硬件設計
+關注
關注
18文章
426瀏覽量
45080 -
按鍵消抖
+關注
關注
2文章
28瀏覽量
10619
發(fā)布評論請先 登錄
按鍵消抖電路的實現(xiàn)方式
技術分享:明德?lián)P按鍵消抖的原理和基于fpga的消抖設計
按鍵硬件消抖原理
基于FPGA的按鍵消抖電路設計
vhdl按鍵消抖程序(七種方式實現(xiàn)按鍵消抖)

使用51單片機實現(xiàn)按鍵消抖的資料和程序免費下載

評論