




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
任務(wù)5顯示按鍵的狀態(tài)任務(wù)要求STM32的PC13、PD13引腳上接有2只按鍵電路,PC13腳接按鍵K1,PD13腳接按鍵K2,PE0~PE7引腳上接有8只發(fā)光二極管控制電路,發(fā)光二極管采有低電平有效控制,要求用STM32CubeMX生成初始化程序,然后在Keil中編程實(shí)現(xiàn)以下功能:(1)上電后,所有發(fā)光二極管熄滅。(2)用接在PE0、PE1引腳上的發(fā)光二極管LED1和LED2顯示K1、K2的狀態(tài),K1按下時(shí)LED1點(diǎn)亮,否則LED1熄滅,K2按下時(shí)LED2點(diǎn)亮,否則LED2熄滅。知識(shí)儲(chǔ)備
1.GPIO口輸入特性GPIO口一位引腳的結(jié)構(gòu)圖如圖所示。圖中上面部分是數(shù)據(jù)輸入。數(shù)據(jù)輸入有3種:
一是模擬輸入,
二是復(fù)用功能輸入,
三是來(lái)自輸入數(shù)據(jù)寄存器的輸入。這三種輸入均來(lái)自于輸入驅(qū)動(dòng)器,但只有來(lái)自輸入數(shù)據(jù)寄存器的輸入才是GPIO輸入。GPIO口一位引腳的結(jié)構(gòu)圖1.GPIO口輸入特性
在輸入驅(qū)動(dòng)器中,輸入端有2個(gè)電阻分別通過2個(gè)電子開關(guān)接電源和接地,GPIO輸入可以配置成上拉、下拉或浮空(既無(wú)上拉電阻也無(wú)下拉電阻)三種輸入。輸入驅(qū)動(dòng)器有一個(gè)肖特基觸發(fā)器,用來(lái)對(duì)信號(hào)進(jìn)行整形,使觸發(fā)器輸出數(shù)字信號(hào)0或1。GPIO口一位引腳的結(jié)構(gòu)圖1.GPIO口輸入特性
輸入數(shù)據(jù)寄存器所輸入信號(hào)為數(shù)字信號(hào)0或1,當(dāng)I/O引腳上的信號(hào)發(fā)生變化時(shí),內(nèi)部電路會(huì)把經(jīng)肖特基觸發(fā)器整形后的數(shù)字信號(hào)存入輸入數(shù)據(jù)寄存器,用戶可以通過讀取輸入數(shù)據(jù)寄存器的值來(lái)獲取GPIO口的狀態(tài)。模擬量輸入是未經(jīng)觸發(fā)器整形的模擬信號(hào),它直接來(lái)自于I/O引腳,其他輸入都是經(jīng)整形后的數(shù)字信號(hào)。GPIO口一位引腳的結(jié)構(gòu)圖2.GPIO口的輸入函數(shù)函數(shù)的用法HAL_GPIO_ReadPin()原型GPIO_PinStateHAL_GPIO_ReadPin(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);功能讀取輸入引腳的電平的狀態(tài)。參數(shù)1GPIOx:引腳所在的端口,取值為GPIOA~GPIOH。參數(shù)2GPIO_Pin:引腳編號(hào)。取值為GPIO_PIN_0~GPIO_PIN_15。GPIO_PIN_i代表的是第i位為1其他位為0的二進(jìn)制數(shù),可以用1<<i表示。返回值指定引腳的電平狀態(tài),其值為枚舉值GPIO_PIN_RESET(0)或者GPIO_PIN_SET(1)?!九e例】設(shè)PC13引腳的輸入腳,讀取PC13引腳的狀態(tài)將保存至key變量中的程序如下:key=HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_13);3.GPIO口的并行輸入
GPIO口的并行輸入的方法是,直接讀取輸入數(shù)據(jù)寄存器IDR的值。在HAL庫(kù)中,Px口(x為A~G,下同)的輸入數(shù)據(jù)寄存器IDR表示為GPIOx->IDR,IDR寄存器是32位寄存器,但其高16位無(wú)效,低16位用來(lái)保存Px口的16個(gè)引腳的輸入狀態(tài),IDR寄存器的第i位對(duì)應(yīng)Px口的第i個(gè)引腳。例如,讀PA0~PA7引腳的狀態(tài)至無(wú)符號(hào)字符型變量m中的程序段如下:uint8_tm;//定義無(wú)符號(hào)字符型變量m,用于保存所讀得的8位引腳的狀態(tài)m=GPIOA->IDR;//讀IDR寄存器的值,并將其低8位賦給m程序中,GPIOA->IDR是一個(gè)16位的數(shù),而m是一個(gè)8位的變量,所以,程序執(zhí)行后,m中的數(shù)為PA0~PA7引腳的狀態(tài)。再如,將PC8~PC15引腳的狀態(tài)讀至無(wú)符號(hào)字符型變量m中的程序段如下:uint8_tm;//定義無(wú)符號(hào)字符型變量m,用于保存所讀得的8位引腳的狀態(tài)m=GPIOC->IDR>>8;//讀IDR寄存器的值,并將其高8位賦給m4.按鍵電路
用PC13腳控制一只按鍵的電路如圖所示。圖中,K1為按鍵,R1為上拉電阻,它與K1一起將按鍵按下與釋放的機(jī)械動(dòng)作轉(zhuǎn)換成單片機(jī)可識(shí)別的高低電平。K1按下,A點(diǎn)接地,PC13引腳輸入為低電平;K1釋放,A點(diǎn)經(jīng)R1接VCC,為高電平,PC13引腳輸入為高電平。如果去掉R1,則在K1釋放時(shí),A點(diǎn)的電平狀態(tài)是不確定的。按鍵的電路4.按鍵電路
C1為去抖動(dòng)濾波電容。在一次按鍵操作中,由于按鍵的機(jī)械特性的原因,鍵按下或釋放都有一個(gè)彈跳的抖動(dòng)過程,抖動(dòng)波形圖如下圖所示。抖動(dòng)時(shí)間的長(zhǎng)短與按鍵的機(jī)械特性有關(guān),一般為5~15ms。按鍵抖動(dòng)必須消除,否則會(huì)引起按鍵識(shí)別錯(cuò)誤。按鍵的兩端并上一個(gè)小電容,利用電容的濾波特性可以濾除抖動(dòng)的干擾波。按鍵的電路抖動(dòng)波形圖實(shí)現(xiàn)方法與步驟任務(wù)5的硬件電路:
1.搭建電路2.生成GPIO口的初始化代碼步驟任務(wù)5中所使用的STM32硬件資源多了PC13和PD13兩個(gè)輸入腳,可以適當(dāng)?shù)匦薷娜蝿?wù)4的STM32CubeMX工程來(lái)建立任務(wù)5的STM32CubeMX工程。任務(wù)5中生成GPIO口初始化程序的實(shí)現(xiàn)方法如下:(1)打開“D:\ex”文件夾,然后復(fù)制Task4文件夾及其子文件夾的內(nèi)容,再將復(fù)制后的文件夾(Task4-副本)改名為Task5。(2)打開“D:\ex\Task5”文件夾,刪除文件夾中除Task4.ioc文件以外的所有文件及文件夾,然后將Task4.ioc文件改名為Task5.ioc。(3)雙擊Task5.ioc文件圖標(biāo),打開任務(wù)5的STM32CubeMX工程文件。
2.生成GPIO口的初始化代碼(4)在STM32CubeMX工程中配置PC13、PD13引腳。步驟如下:第1步:在引腳視圖中點(diǎn)擊PC13引腳,然后在彈出的菜單中點(diǎn)擊“GPIO_Input”菜單項(xiàng),將PC13設(shè)置成輸入腳,如圖所示。第2步:重復(fù)第1步將PD13腳也設(shè)置成輸入腳。
設(shè)置PC13引腳2.生成GPIO口的初始化代碼第3步:在工程窗口中點(diǎn)擊左邊窗口中的“SystemCore”→“GPIO”列表項(xiàng),使工程窗口的中間出現(xiàn)“GPIOModeandConfiguration”窗口,如右圖所示。第4步:在右圖所示的配置GPIO口窗口中單擊GPIO配置列表框中的PC13列表項(xiàng),列表框的下面就會(huì)出現(xiàn)“PC13-TAMPER-RTCConfiguration”配置框架。配置GPIO口2.生成GPIO口的初始化代碼第5步:在配置框架的“GPIOmode”下拉列表框中選擇“inputmode”模式,在“GPIOPull-up/Pull-down”下拉列表框中選擇“Pull-up”列表項(xiàng),再在“UserLabel”文本框中輸入用戶標(biāo)簽K1。第6步:重復(fù)第5步,將PD13設(shè)置為上拉輸入模式,用戶標(biāo)簽為K2。(5)保存工程,然后生成Keil工程代碼。配置GPIO口3.編寫顯示按鍵狀態(tài)程序任務(wù)5中顯示按鍵狀態(tài)的程序,其代碼詳見鏈接。按照程序編寫規(guī)范將上述程序代碼填寫至main.c文件的對(duì)應(yīng)位置處,即得到顯示按鍵狀態(tài)的程序,其實(shí)現(xiàn)步驟如下:(1)打開Keil工程,打開main.c文件。(2)在main.c文件的“USERCODEBEGINWHILE”與“USERCODEENDWHILE”間(while代碼區(qū)中)添加第6行~第21行的代碼。(3)點(diǎn)擊圖標(biāo)工具欄上的保存文件圖標(biāo)按鈕“”,保存main.c文件。4.調(diào)試與下載程序任務(wù)5中我們用仿真器下載程序,其方法如下:第1步:按照前面介紹的方法配置好調(diào)試器,并編譯連接程序,并對(duì)程序調(diào)試排錯(cuò),直至程序正確為止。第2步:連接仿真器并給開發(fā)板上電。第3步:將開發(fā)板上的程序運(yùn)行模式開關(guān)拔至“接地”位置,也就是讓STM32從FLASH存儲(chǔ)器中啟動(dòng)程序。4.調(diào)試與下載程序第4步:在Keil窗口中點(diǎn)擊圖標(biāo)工具欄上的下載程序圖標(biāo)按鈕“”,如右圖所示,Keil就通過仿真器將連接后所生成的程序文件下載到STM32中。第5步:按開發(fā)板上的復(fù)位鍵,STM32開始執(zhí)行所下載的程序。此時(shí)我們可以看到,按下K1鍵,LED1就點(diǎn)亮,釋放K1鍵,LED1就熄滅;按下K2鍵,LED2就點(diǎn)亮,釋放K2鍵,LED2就熄滅。下載程序?qū)嵺`總結(jié)與拓展
GPIO口的引腳可作模擬輸入腳、復(fù)用功能輸入腳和GPIO口的輸入腳。其中,模擬輸入是未經(jīng)整形的模擬信號(hào),而其他輸入都是經(jīng)過整形后的數(shù)字信號(hào)。GPIO口的輸入有上拉輸入、下拉輸入和浮空輸入3種方式,在HAL庫(kù)中,讀GPIO口輸入的函數(shù)是HAL_GPIO_ReadPin(),該函數(shù)只能讀取一位引腳的輸入,若要實(shí)現(xiàn)并行輸入,則需讀取GPIO口的輸入數(shù)據(jù)寄存器IDR。按鍵的常用接口電路是,按鍵的一端接地,另一端接上拉電阻,同時(shí)接單片機(jī)的I/O口,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 大連大學(xué)《機(jī)械制圖A(下)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024-2025學(xué)年湖南省醴陵市高三教學(xué)質(zhì)量監(jiān)測(cè)(二)英語(yǔ)試題含解析
- 浙江廣廈建設(shè)職業(yè)技術(shù)大學(xué)《基礎(chǔ)工程道橋》2023-2024學(xué)年第二學(xué)期期末試卷
- 補(bǔ)接施工方案
- 信息技術(shù) 第二冊(cè)(五年制高職)課件 8.2.3.2 循環(huán)結(jié)構(gòu)的語(yǔ)法
- 心理建設(shè)系統(tǒng)培訓(xùn)
- 青海省醫(yī)療衛(wèi)生事業(yè)單位招聘(醫(yī)學(xué)檢驗(yàn))歷年考試真題庫(kù)及答案
- 家長(zhǎng)溝通工作
- 2025屆云南省玉溪市高三二模數(shù)學(xué)試題(解析版)
- 完整禮儀培訓(xùn)課程
- 注射相關(guān)感染預(yù)防與控制(全文)
- TSG+11-2020鍋爐安全技術(shù)規(guī)程
- DB32-T 4357-2022 建筑工程施工機(jī)械安裝質(zhì)量檢驗(yàn)規(guī)程
- 流行性腮腺炎及其護(hù)理
- 《月是故鄉(xiāng)明》定稿 優(yōu)秀獎(jiǎng) 教學(xué)課件
- 防臺(tái)防汛管理制度
- 廣電運(yùn)通研究報(bào)告:數(shù)字人民幣促產(chǎn)業(yè)升級(jí)-AI+城市助業(yè)務(wù)轉(zhuǎn)型
- 北師大版生物七年級(jí)下冊(cè) 第10章 第2節(jié) 《人體細(xì)胞獲得氧氣的過程》學(xué)案 (表格式無(wú)答案)
- 港澳臺(tái)聯(lián)考考試大綱
- 移動(dòng)式腳手架安全操作規(guī)程
- 排水溝導(dǎo)流施工技術(shù)方案
評(píng)論
0/150
提交評(píng)論