第一節 按鍵的基本知識
按鍵的最基本的知識就是消抖,它分為軟件消抖和硬件消抖。其中,軟件消抖流程為:當檢測到按鍵按下時,啟動一個延時,持續一段時間(通常幾毫秒);在延時結束后,再次讀取按鍵狀態;如果按鍵仍然處于按下狀態,那么可以確定按鍵的狀態為按下;否則,可以確定按鍵的狀態為釋放;軟件消抖通過延時等待按鍵電平的穩定來避免誤觸發。如下圖:
硬件的消抖方案有很多種:在按鍵引腳與微控制器之間添加外部電路元件,如電容、電阻或Schmitt觸發器等,這些電路元件可以濾除按鍵的電氣噪音,提供更穩定的電平信號。
藍橋杯嵌入式開發板并沒有在硬件上處理,所以只能通過軟件的方式來消抖。
第二節 硬件解讀
從圖中我們可以看出,一共有4個按鍵,每一個按鍵的原理圖都是一樣的,我們舉一個例子吧,以PA0為例,當按鍵被按下,按鍵的1,2和3,3導通,按鍵的3,4接地,導致PA0也接地,所以PA0也就是低電平。由此我們知道,當按鍵按下時,PA0為低電平;反之為高電平。
以下是按鍵和引腳的關系:
按鍵 | 引腳 |
B1 | PB0 |
B2 | PB1 |
B3 | PB2 |
B4 | PA0 |
第三節 CubeMX配置
配置PB0,PB1,PB2,PA0為輸入模式,并配置上拉和標簽。【注意:配圖有誤,配圖為輸出模式,正常是輸入模式】
第四節 MDK代碼
結合上圖,可以看出需要20ms的消抖時間。所以MDK代碼如下:
第五節 實驗現象
現象:LED閃爍一次,按下按鍵,對應的LED翻轉一次。
來源:撞上電子微信公眾號
-
led
+關注
關注
242文章
23141瀏覽量
658526 -
嵌入式
+關注
關注
5068文章
19021瀏覽量
303324 -
按鍵
+關注
關注
4文章
223瀏覽量
57572
發布評論請先 登錄
相關推薦
評論