按鍵開關(guān)是很多地方和領(lǐng)域能夠用到的,在我們的生活中也隨處可見,但是在使用的時候會出現(xiàn)一些抖動的問題,這個問題可能會困擾我們很久,今天就為大家解決這個問題。
單片機按鍵開關(guān)抖動的原因,有防抖的方法嗎?
單片機
按鍵開關(guān)抖動產(chǎn)生因為機械固有的物理特性,在瞬間接觸的時候會有力學(xué)的回彈,造成2-8毫秒內(nèi)信號不穩(wěn)定。解決辦法:軟件延時去抖(其實是一種忽略)和硬件去抖軟件判斷:開關(guān)閉合——延時——是否還是閉合?——如果是就判定打開,軟件解決可以降低成本,但是有時候硬件劣化超出延時的范圍會造成故障。硬件解決:專用的去抖芯片或者自己組裝一個雙穩(wěn)態(tài)消抖電路,就是兩個與非門構(gòu)成的RS觸發(fā)器。
AD按鍵指的是使用模數(shù)轉(zhuǎn)換的方法得到按鍵值,與矩陣按鍵和獨立按鍵相比大大節(jié)省了端口數(shù)目,因為一個端口可以輸入幾百到幾千個按鍵。
先說說你的非機械按鈕,成本就是最大的問題,對于大規(guī)模生產(chǎn)來說,哪怕省一個電阻也是好的,而軟件的成本可以忽略,兩相比教,老板肯定選成本低的。老板也知道有技術(shù)能繞過去,但和成本一比,什么都是浮云。
再說,這個防抖的功能,并不僅僅在按鍵上能使用,在信號采集,數(shù)據(jù)通訊中都是非常重要的,你總不能給每個IO口都裝個高性能接口吧。對于單片機來說,是不是鍵盤還真不是關(guān)鍵,PA口能用防抖,難道PB口就不能用了?
最后,對于最終用戶平時是怎么使用鍵盤的,操作習(xí)慣是怎么樣,開發(fā)人員根本是控制不了的,也不應(yīng)該去控制,既然不能改變用戶,那就只能改變自己。
按鍵開關(guān)對于抖動問題的解釋就是這樣的,請大家重視這些問題。