博客專欄

        EEPW首頁 > 博客 > 單片機按鍵如何進行硬件消抖?

        單片機按鍵如何進行硬件消抖?

        發布人:xiaomaidashu 時間:2023-06-30 來源:工程師 發布文章

        按鍵消抖通常的按鍵所用開關為機械彈性開關,當機械觸點斷開、閉合時,由于機械觸點的彈性作用,一個按鍵開關在閉合時不會馬上穩定地接通,在斷開時也不會一下子斷開。

        因而在閉合及斷開的瞬間均伴隨有一連串的抖動,為了不產生這種現象而作的措施就是按鍵消抖。

        按鍵的抖動對于人類來說是感覺不到的,但對單片機來說,則是完全可以感應到的,而且還是一個很“漫長”的過程,因為單片機處理的速度在“微秒”級,而按鍵抖動的時間至少在“毫秒”級。

        一次按鍵動作的電平波形如下圖。存在抖動現象,其前后沿抖動時間一般在5ms~10ms之間。由于單片機運行速度非常快,經過A時刻的時候會檢測到低電平判斷按鍵被按下。

        當到了B時刻的時候,單片機同樣會檢測到高電平,誤以為松開按鍵,然后又到了C時刻檢測到低電平,判斷到按鍵被按下。周而復始,在5-10ms內可能會出現很多次按下的動作,每一次按鍵的動作判斷的次數都不相同。

        為確保單片機對按鍵的一次閉合僅作一次處理,必須處理按鍵抖動問題。在按鍵閉合或者釋放穩定時再讀取按鍵的狀態。

        硬件消抖電路

        硬件消抖一般有兩種實現方式:

        1、RS觸發器

        利用RS觸發器來吸收按鍵的抖動。一旦有鍵按下,觸發器立即翻轉,觸電的抖動便不會再對輸出產生影響,按鍵釋放時也一樣。

        RS觸發電路消抖電路圖如下。


        圖片


        2、電容濾波

        將電容并聯在按鍵的兩端,利用電容的放電的延時特性。將產生抖動的電平通過電容吸收掉。

        從而達到消抖的作用,電容消抖電路圖如下圖所示。


        圖片


        圖片

        總結

        實際上,在沒有MCU的情況下,對按鍵進行消抖通常是通過硬件消抖電路來實現。

        而在嵌入式開發中,大多數情況下都是通過程序來實現按鍵消抖。簡單說就是加合適的延遲,顯然這實現成本要比硬件電路方式低得多。

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: 單片機 硬件消抖

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 禄劝| 苍山县| 石家庄市| 栖霞市| 平罗县| 神农架林区| 蓝山县| 井陉县| 永城市| 湄潭县| 汉沽区| 江西省| 贵定县| 沙河市| 车致| 新竹市| 视频| 花莲市| 巴中市| 麻江县| 永城市| 芜湖县| 壶关县| 金川县| 绩溪县| 七台河市| 江孜县| 政和县| 洪泽县| 榕江县| 邳州市| 清远市| 林西县| 阳春市| 新晃| 彩票| 蒙城县| 商水县| 留坝县| 通州区| 新源县|