天天看點

STM8S單片機——硬體消抖按鍵硬體消抖原理:結果:

按鍵硬體消抖原理:

利用電容充放電特性來實作,因為電容為儲能元件。它兩端的電壓不能出現突變,即有一個充放電的過程,利用這個充放電時間來維持電平穩定進而抵消由于機械抖動引起的誤操作。

下降沿觸發電路:

STM8S單片機——硬體消抖按鍵硬體消抖原理:結果:

上升沿觸發電路:

STM8S單片機——硬體消抖按鍵硬體消抖原理:結果:

STM8S手冊中IO口的邏輯電平規定

在stm8s003f3.pdf手冊的第66頁“I/O port pin characteristics”章節中有提到

STM8S單片機——硬體消抖按鍵硬體消抖原理:結果:

根據手冊查到的邏輯“0”:0V~0.3*VDD,為什麼不說-0.3V因為我們電路中沒有負電源。邏輯“1”:0.7*VDD~VDD + 0.3V

RC電路充電計算公式:

Vt = V0 + (Vu – V0) * [1 – exp( -t/RC)]

如果電容上的初始電壓為0,則公式可以簡化為:

Vt = Vu * [1 – exp( -t/RC)]

其中:Vu為電源電壓、V0為電容上的初始電壓值、Vu為電容充滿電後的電壓值、Vt為任意時刻t時電容上的電壓值

RC電路放電計算公式:

Vt = Vu * exp( -t/RC)

注意:這裡我們采用“下降沿觸發”方式,是以這裡得使用"RC電路放電計算公式“。

解釋:根據”下降沿觸發“電路分析:普通狀态下電容已經被充滿電了,當按下按鈕時電容的放電回路接通。電容通過R放電此時按鈕左端的電平不會馬上為0,而是緩慢降為0。如果隻是由于抖動而接通放電回路,由于機械抖動時間短我們的電容還在放電中。是以可以抵消由于抖動的誤觸發。注意:放電電阻R取值不能過大。原因可以參考上下拉電阻

計算得到RC值範圍:

STM8S單片機——硬體消抖按鍵硬體消抖原理:結果:

結果:

經過計算得到R電阻取值為1KΩ,電容C取值為2uF

繼續閱讀