




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目二按鍵檢測(cè)系統(tǒng)設(shè)計(jì)任務(wù)2按鍵檢測(cè)(庫(kù)函數(shù))項(xiàng)目二按鍵檢測(cè)系統(tǒng)設(shè)計(jì)任務(wù)1任務(wù)2按鍵檢測(cè)(寄存器)按鍵檢測(cè)(庫(kù)函數(shù))知識(shí)目標(biāo):1.會(huì)搭建STM32固件庫(kù)開發(fā)環(huán)境;2.會(huì)相關(guān)庫(kù)函數(shù)的使用方法。技能目標(biāo):1.會(huì)使用庫(kù)函數(shù)實(shí)現(xiàn)按鍵檢測(cè)功能;2.會(huì)按鍵檢測(cè)系統(tǒng)程序設(shè)計(jì)和調(diào)試。素養(yǎng)目標(biāo):1.操作規(guī)范,符合5S管理要求;2.具備自主探究、勤學(xué)好問(wèn)的態(tài)度。學(xué)習(xí)目標(biāo)設(shè)計(jì)要求利用STM32控制按鍵KEY0,要求:按下按鍵LED0燈點(diǎn)亮,松開按鍵LED0燈熄滅,設(shè)計(jì)硬件電路、編寫控制程序并進(jìn)行系統(tǒng)調(diào)試。硬件設(shè)計(jì)硬件連接:
知識(shí)導(dǎo)航按鍵簡(jiǎn)介按鍵有時(shí)也稱按鈕或開關(guān),它是控制系統(tǒng)中常用的外部設(shè)備之一,也是最簡(jiǎn)單的數(shù)字量輸入設(shè)備,常見(jiàn)的按鍵設(shè)備如圖所示。鍵盤是由若干個(gè)規(guī)則排列的按鍵組成,如手機(jī)鍵盤和計(jì)算機(jī)鍵盤等,不同的按鍵代表著不同的含義(一般來(lái)說(shuō),按鍵的含義可通過(guò)軟件定義)。用戶通過(guò)按動(dòng)按鍵,輸入數(shù)據(jù)或命令,實(shí)現(xiàn)簡(jiǎn)單的人機(jī)交互。知識(shí)導(dǎo)航MDK固件庫(kù)1、函數(shù)RCC_APB2PeriphClockCmdvoidRCC_APB2PeriphClockCmd(u32RCC_APB2Periph,FunctionalStateNewState);參數(shù)1:
APB2外設(shè)時(shí)鐘,可以取下表的一個(gè)或者多個(gè)取值的組合作為該參數(shù)的值。參數(shù)2:可以取ENABLE或者DISABLE。知識(shí)導(dǎo)航RCC_APB2Periph值知識(shí)導(dǎo)航示例:若要使能GPIOA,GPIOBandSPI1時(shí)鐘,可以進(jìn)行如下操作RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_SPI1,ENABLE);知識(shí)導(dǎo)航MDK固件庫(kù)2、GPIO初始化函數(shù)voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct);函數(shù)的入口參數(shù)是GPIO_TypeDef類型指針和GPIO_InitTypeDef類型指針。參數(shù)1:GPIOA--GPIOG。知識(shí)導(dǎo)航stm32f10x_gpio.h中GPIO_InitTypeDef的定義:typedefstruct{uint16_tGPIO_Pin;GPIOSpeed_TypeDefGPIO_Speed;GPIOMode_TypeDefGPIO_Mode;GPIOMode_TypeDef*/}GPIO_InitTypeDef;這個(gè)結(jié)構(gòu)體有3個(gè)成員變量,一個(gè)GPIO口的狀態(tài)是由速度(Speed)和模式(Mode)來(lái)決定的。知識(shí)導(dǎo)航初始化GPIO(初始化GPIO_InitTypeDef類型的結(jié)構(gòu)體):方法:GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽輸出GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);知識(shí)導(dǎo)航GPIO_Pin值:該參數(shù)選擇待設(shè)置的GPIO管腳,使用操作符“|”可以一次選中多個(gè)管腳。知識(shí)導(dǎo)航GPIO_Speed值:用以設(shè)置選中管腳的速率。知識(shí)導(dǎo)航GPIO_Mode值:用以設(shè)置選中管腳的工作狀態(tài)。知識(shí)導(dǎo)航示例:將PB5、PE5引腳設(shè)為推挽輸出,輸出速度為50MHz。GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE,ENABLE); //使能PB、PE端口時(shí)鐘
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //推挽輸出
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);//根據(jù)設(shè)定參數(shù)初始化PB5
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5; GPIO_Init(GPIOE,&GPIO_InitStructure);//根據(jù)設(shè)定參數(shù)初始化PE5知識(shí)導(dǎo)航3、函數(shù)GPIO_ReadInputDataBit在固件庫(kù)中操作IDR寄存器讀取IO端口數(shù)據(jù)可通過(guò)該函數(shù)實(shí)現(xiàn)。u8GPIO_ReadInputDataBit(GPIO_TypeDef*GPIOx,u16GPIO_Pin);參數(shù)1:GPIOA--GPIOG。參數(shù)2:待讀取的端口位。舉例:u8ReadValue;ReadValue=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7);知識(shí)導(dǎo)航4、函數(shù)GPIO_ReadInputData在固件庫(kù)中操作IDR寄存器讀取IO端口數(shù)據(jù)可通過(guò)該函數(shù)實(shí)現(xiàn)。u16GPIO_ReadInputData(GPIO_TypeDef*GPIOx);參數(shù):GPIOA--GPIOG。舉例:u16ReadValue;ReadValue=GPIO_ReadInputData(GPIOC);知識(shí)導(dǎo)航5、函數(shù)GPIO_Write在固件庫(kù)中設(shè)置ODR寄存器的值來(lái)控制IO口的輸出狀態(tài)可通過(guò)通過(guò)該函數(shù)實(shí)現(xiàn)的。voidGPIO_Write(GPIO_TypeDef*GPIOx,u16PortVal);參數(shù)1:GPIOA--GPIOG。參數(shù)2:待寫入端口數(shù)據(jù)寄存器的值。舉例:GPIO_Write(GPIOA,0x1101);知識(shí)導(dǎo)航6、函數(shù)GPIO_SetBits和GPIO_ResetBits在STM32固件庫(kù)中,通過(guò)BSRR和BRR寄存器設(shè)置GPIO端口輸出是通過(guò)函數(shù)GPIO_SetBits()和函數(shù)GPIO_ResetBits()來(lái)完成的。voidGPIO_SetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);voidGPIO_ResetBits(GPIO_TypeDef*GPIOx,uint16_tGPIO_Pin);參數(shù)1:GPIOA--GPIOG。參數(shù)2:待設(shè)置或清除的端口位。知識(shí)導(dǎo)航6、函數(shù)GPIO_SetBits和GPIO_ResetBits例如:要設(shè)置GPIOB.5輸出1,那么方法為:GPIO_SetBits(GPIOB,GPIO_Pin_5);反之要設(shè)置GPIOB.5輸出位0,方法為:GPIO_ResetBits(GPIOB,GPIO_Pin_5);知識(shí)導(dǎo)航端口位設(shè)置端口位設(shè)置/清除寄存器(GPIOx_BSRR)知識(shí)導(dǎo)航端口位清除寄存器端口位清除寄存器(GPIOx_BRR)知識(shí)導(dǎo)航系統(tǒng)時(shí)鐘初始化函數(shù)SystemInit初始化之后的狀態(tài):SYSCLK72MHzAHB72MHzPCLK136MHzPCLK272MHzPLL72MHz任務(wù)實(shí)現(xiàn)使能IO口時(shí)鐘
調(diào)用函數(shù)為RCC_APB2PeriphClockCmd()。
初始化IO口模式
調(diào)用函數(shù)GPIO_Init();
按鍵掃描判斷按鍵是否按下(庫(kù)函
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年租賃合同范本:辦公場(chǎng)所租賃合同
- 商場(chǎng)展柜制作合同范本
- 2025財(cái)務(wù)顧問(wèn)勞動(dòng)合同書模板
- 2025《設(shè)備采購(gòu)與安裝合同》示范文本
- 2025年03月江蘇泰州醫(yī)藥高新區(qū)(高港區(qū))事業(yè)單位公開招聘20人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年03月國(guó)家應(yīng)急管理部所屬單位公開招聘擬聘人員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 商品化色漿項(xiàng)目風(fēng)險(xiǎn)分析和評(píng)估報(bào)告
- 2025年上海市15區(qū)高三語(yǔ)文二模試題匯編之文言文一(學(xué)生版)
- 天津市寶坻區(qū)高中2025屆高三質(zhì)量監(jiān)測(cè)(三)英語(yǔ)試題試卷含解析
- 中央司法警官學(xué)院《數(shù)學(xué)建模與科學(xué)計(jì)算》2023-2024學(xué)年第一學(xué)期期末試卷
- 第四課 人民民主專政的社會(huì)主義國(guó)家 課件-高考政治一輪復(fù)習(xí)統(tǒng)編版必修三政治與法治
- 2025年鄭州黃河護(hù)理職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性考試題庫(kù)帶答案
- (完整版)特殊教育與隨班就讀
- 旋流風(fēng)口RA-N3選型計(jì)算表格
- 《VB程序結(jié)構(gòu)基礎(chǔ)》課件教程
- 個(gè)人房屋租賃合同標(biāo)準(zhǔn)版范本
- DBJ50-T-157-2022房屋建筑和市政基礎(chǔ)設(shè)施工程施工現(xiàn)場(chǎng)從業(yè)人員配備標(biāo)準(zhǔn)
- 2024年中考模擬試卷地理(湖北卷)
- 大學(xué)生心理健康教育知到智慧樹章節(jié)測(cè)試課后答案2024年秋長(zhǎng)春醫(yī)學(xué)高等??茖W(xué)校
- 慢腎風(fēng)中醫(yī)辨證施護(hù)
- 危險(xiǎn)化學(xué)品工傷事故形勢(shì)及典型事故案例
評(píng)論
0/150
提交評(píng)論