第一節(jié)按鍵的基本知識
按鍵的最基本的知識就是消抖,它分為軟件消抖和硬件消抖。其中,軟件消抖流程為:當(dāng)檢測到按鍵按下時,啟動一個延時,持續(xù)一段時間(通常幾毫秒);在延時結(jié)束后,再次讀取按鍵狀態(tài);如果按鍵仍然處于按下狀態(tài),那么可以確定按鍵的狀態(tài)為按下;否則,可以確定按鍵的狀態(tài)為釋放;軟件消抖通過延時等待按鍵電平的穩(wěn)定來避免誤觸發(fā)。如下圖:

硬件的消抖方案有很多種:在按鍵引腳與微控制器之間添加外部電路元件,如電容、電阻或Schmitt觸發(fā)器等,這些電路元件可以濾除按鍵的電氣噪音,提供更穩(wěn)定的電平信號。
藍(lán)橋杯物聯(lián)網(wǎng)開發(fā)板并沒有在硬件上處理,所以只能通過軟件的方式來消抖。
第二節(jié)硬件解讀

從圖中我們可以看出,按鍵的引腳連接到PC14,所以我們只需要讀取PC14的電平就可以了。當(dāng)按鍵被按下,按鍵的1,4和2,3導(dǎo)通,按鍵的1,4接地,導(dǎo)致R12也接地,所以PC14也就是低電平。由此我們知道,當(dāng)按鍵按下時,PC14為低電平;反之為高電平。
第三節(jié) CubeMX配置
第一步:配置PC14為輸入,并配置上拉(下圖4處)和標(biāo)簽(下圖5處)。

第二步:配置LD5,如下圖:記得將初始化電平設(shè)置為高電平(下圖5處),這樣最開始LD5是熄滅狀態(tài)。

第四節(jié) MDK代碼

結(jié)合上圖,可以看出需要20ms的消抖時間。所以MDK代碼如下:

第五章 實驗現(xiàn)象
注意:
1,下載程序的時候,請選擇A開發(fā)板。
現(xiàn)象:按下USER,LD5翻轉(zhuǎn)一次。
來源:撞上電子微信公眾號
版權(quán):東莞市東城墨竹公子電子工作室
日期:2023.06.06
-
led
+關(guān)注
關(guān)注
243文章
24612瀏覽量
691049 -
控制
+關(guān)注
關(guān)注
5文章
1035瀏覽量
125304
發(fā)布評論請先 登錄
【瑞薩RA × Zephyr評測】LED、按鍵和UART
【瑞薩RA6E2】 配置Keil開發(fā)環(huán)境+使用按鍵控制LED+串口/調(diào)試器燒錄程序
小馬智行第七代自動駕駛車輛上線運(yùn)營
【EASY EAI Nano-TB(RV1126B)開發(fā)板試用】+LED閃爍效果及按鍵控制
京微齊力入選第七批專精特新“小巨人”企業(yè)
【RA4M2-SENSOR】+按鍵控制LED燈
【「DeepSeek 核心技術(shù)揭秘」閱讀體驗】--全書概覽
雷曼光電榮獲第七屆“深圳工業(yè)大獎”企業(yè)獎
ZX8002D LED觸摸調(diào)光集成芯片數(shù)據(jù)手冊
小馬智行第七代自動駕駛車輛廣深開跑
第七章 串口通信
第六章 GPIO輸入——按鍵檢測
第七章獨立按鍵控制LED
評論