




版權(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è)備,常見的按鍵設(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 轉(zhuǎn)讓斷橋設(shè)備協(xié)議書
- 木工勞務(wù)分包協(xié)議書
- 木材林地出售協(xié)議書
- 離婚宅基歸屬協(xié)議書
- 飲水安全協(xié)議書范本
- 協(xié)議書遺失情況說(shuō)明
- 解除培訓(xùn)協(xié)議書范文
- 舞蹈合作直播協(xié)議書
- 項(xiàng)目利益連接協(xié)議書
- 培養(yǎng)就業(yè)協(xié)議書范本
- 第四課 人民民主專政的社會(huì)主義國(guó)家 課件-高考政治一輪復(fù)習(xí)統(tǒng)編版必修三政治與法治
- 2024年10月自考01685動(dòng)漫藝術(shù)概論試題及答案含評(píng)分參考
- 2024年全國(guó)統(tǒng)一高考英語(yǔ)試卷(新課標(biāo)Ⅰ卷)含答案
- Unit7ArtLesson3AMusicalGenius(第一課時(shí))教學(xué)設(shè)計(jì)高中英語(yǔ)北師大版
- 滲透測(cè)試授權(quán)書
- 普華永道財(cái)務(wù)管理與集團(tuán)內(nèi)部控制課件
- 2020年民辦中學(xué)小升初提前招生考試語(yǔ)文數(shù)學(xué)整套試卷及答案
- 原子物理學(xué):第6章 第5節(jié) 塞曼效應(yīng)
- 景觀人行吊橋(懸索橋)施工組織設(shè)計(jì)
- 八大特殊作業(yè)試題及答案
- 二氧化碳爆破方案
評(píng)論
0/150
提交評(píng)論