第一節(jié)基本原理
鍵盤在單片機應(yīng)用系統(tǒng)中能夠?qū)崿F(xiàn)向單片機輸入數(shù)據(jù)、傳送命令的功能,是人工干預(yù)單片機的主要手段。下面介紹鍵盤的工作原理、鍵盤按鍵的識別過程和識別方法以及鍵盤與單片機的接口和編程。
在進行鍵盤使用之前,需要先了解一下鍵盤的工作原理。以下將分三個部分介紹鍵盤的工作原理。
1.鍵盤輸入的特點鍵盤實質(zhì)上是一個按鍵開關(guān)的集合。通常鍵盤的開關(guān)為機械彈性開關(guān),利用的是機械觸點的合斷特性。一個電信號通過機械觸點的斷開、閉合過程,其行線電壓輸出波形如圖所示。
圖中t1和t3是鍵閉合和斷開過程中的抖動期,抖動時間長短和機械特性有關(guān),一般為5~10ms;t2為穩(wěn)定的閉合期,時間由按鍵動作所決定;一般為十分之幾到幾秒;t0、t4為斷開期。
2.按鍵的確認(rèn)按鍵的閉合與否反映在行線輸出電壓是高電平還是低電平上,如果高電平表示斷開,則低電平表示鍵閉合,通過對行線電平的檢測從而判斷是否有按鍵被按下。
3.消除按鍵抖動消除按鍵的抖動通常有軟件和硬件兩種方法。硬件消抖一般采用雙穩(wěn)態(tài)消抖電路,如下圖所示。圖中兩個與非門構(gòu)成一個RS觸發(fā)器。b點的抖動電壓波形通過RS觸發(fā)電路后變成正規(guī)的正弦波,這一點很容易從RS觸發(fā)器的工作過程得到驗證。
?
在按鍵較多時,硬件消抖無法勝任,因此常用軟件消除鍵盤的抖動,在第一次檢測到鍵按下時,延時10ms的時間再確認(rèn)該鍵的電平是否繼續(xù)保持閉合狀態(tài)的電平,如果繼續(xù)保持為閉合狀態(tài)的電平,則確認(rèn)有鍵按下,從而消除抖動的影響。
第二節(jié) 硬件解讀
藍(lán)橋杯嵌入式主板上面是有5個按鍵的,其中4個用戶按鍵,一個復(fù)位按鍵,本章的實驗就是用戶按鍵來控制LED燈。先看看下圖的原理圖吧:
?? 上圖就是4個獨立按鍵的原理圖,我們以左上角的為例,按鍵一端連接到GND,另外一端連接到VDD,也就是說,PB1平時是高電平的狀態(tài),一旦按鍵被按下,就與GND相連,變成低電平了。至于其他的消抖等等不再詳述,都學(xué)習(xí)stm32了,想必51應(yīng)該學(xué)過了。
第三節(jié) 環(huán)境配置
1,打開stm32cubeMX,選擇“File-New Project ...”。
2,如圖,在方框中搜索“stm32g431rb”(可大寫,可小寫)。然后選擇LQFPN64的封裝的芯片。
3,選中“A-Z”,查看藍(lán)橋杯嵌入式芯片stm32g431rb的所有功能。
4,選中“SYS”,在Debug項目中選擇“Serial Wire”,可以看見PA13與PA14引腳變成綠色,分別用作SYS_SWDIO和SYS_SWCLK。
5,選中“PD2-GPIO_Output”,“PC8-GPIO_Output”,“PC9-GPIO_Output”,“PC10-GPIO_Output”,“PC11-GPIO_Output”,“PC12-GPIO_Output”,“PC13-GPIO_Output”,“PC14-GPIO_Output”和“PC15-GPIO_Output”,這樣就可以讓芯片的PD2和PC8~PC15作為輸出引腳了。
6,選中“PA0-GPIO_Input”,“PB0-GPIO_Input”,“PB1-GPIO_Input”,“PB2-GPIO_Input”,這樣就可以讓芯片的PA0和PB0~PB2作為輸入引腳了,也據(jù)說用戶按鍵引腳。
7,選中“Project Manager-Project”。在Project Name中填寫項目的名字(盡可能不要用中文),在Project Location中選擇項目保存的路徑,在Toolchain/IDE中選擇編譯器,藍(lán)橋杯嵌入式比賽用的是MDK5,所以我們選擇MDK-ARM V5。
8,點擊GENERATE CODE生成代碼。
9,點擊”CLOSE”,關(guān)閉stm32cubeMX,代碼生成成功。
第四節(jié) 程序編寫
1,用MDK5打開stm32cubeMX生成的工程。
2,點擊“Rebuild”,進行代碼的編譯,可以看出代碼沒有任何問題,證明我們利用stm32cubeMX生成代碼很成功。
3,在main.c文件中添加下面定義:
?
4,在main.c文件中加入以下封裝好了的函數(shù):
5,將封裝好的函數(shù)在main.h中聲明:
6,在mian函數(shù)中初始化LED:
7,編寫while里面的函數(shù):
8,編譯代碼。
9,點擊”O(jiān)ptions for Target...“。
10,點擊”Debug“,然后選擇下載器”CMSIS-DAP Debugger“,并點擊”O(jiān)K“。
11,選擇“Settings”。
12,選擇”Flash Downlosd”,勾選”Reset and Run”并點擊”O(jiān)K”。
13,點擊”Download“,開始下載程序。
14,程序下載成功。
第五節(jié) 注意事項與實驗現(xiàn)象
實驗注意事項:
1,程序語句需要位于程序的BEGIN與END之間。
2,利用USB線將電腦USB口與開發(fā)板CN2口連接。
3,J6,J7,J8需要用跳線帽連接,否則無法下載程序。
實驗現(xiàn)象:
LD9和LD11常亮。按下B1,LD1亮;按下B2,LD2亮:按下B3,LD3亮;按下B4,LD4亮。
宗旨:
免費的服務(wù),永遠(yuǎn)的開源
說明:
1.本教程免費,開源,禁止用于任何商業(yè)用途,違者必究。
2.本教程版權(quán)所屬為東莞市東城墨竹公子電子工作室,盜版必究。
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2931文章
46263瀏覽量
392876
發(fā)布評論請先 登錄
【「DeepSeek 核心技術(shù)揭秘」閱讀體驗】--全書概覽
初級工程師PCB設(shè)計技巧(PPT版)
第四章 什么是寄存器

【第四章 定時任務(wù)】手把手教你玩轉(zhuǎn)新版正點原子云
藍(lán)橋杯中GPIO輸入之按鍵實驗

藍(lán)橋杯物聯(lián)網(wǎng)需要安裝哪些軟件?

藍(lán)橋杯物聯(lián)網(wǎng)開發(fā)板硬件組成

評論