



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
實驗五按鍵輸入實驗實驗目的:利用板載的4個按鍵,來控制板載的兩個LED的亮滅和蜂鳴器的開關。通過本實驗,將了解到STM32F1的IO口作為輸入口的使用方法。內容要點.1.STM32IO口簡介STM32F1的IO口在上一章巳經有了比較詳細的介紹,這里我們不再多說。STM32F1的IO口做輸入使用的時候,是通過調用函數GPIO_ReadInputDataBit()來讀取IO口的狀態(tài)的。了解了這點,就可以開始我們的代碼編寫了。這一個實驗,我們將通過ALIENTEK戰(zhàn)艦STM32開發(fā)板上載有的4個按鈕(WK_UP、KEY0、KEY1和KEY2),來控制板上的2個LED(DS0和DS1)和蜂鳴器,其中WK_UP控制蜂鳴器,按一次叫,再按一次停;KEY2控制DS0,按一次亮,再按一次滅;KEY1控制DS1,效果同KEY2;KEY0則同時控制DS0和DS1,按一次,他們的狀態(tài)就翻轉一次。有源蜂鳴器自帶了震蕩電路,一通電就會發(fā)聲2.硬件設計本實驗用到的硬件資源有:指示燈DS0、DS14個按鍵:KEY0、KEY1、KEY2、和WK_UP。DS0、DS1以及蜂鳴器和STM32的連接在上兩章都巳經分別介紹了,在戰(zhàn)艦STM32開發(fā))PE2 |kEY212PENKEY113)PE2 |kEY212PENKEY113PE4SEYO,PE2'TRACECKTSMCA23PE3TRACED0TSMC_A1。PE4TRACEDIFS\TC~A20KEY1連接在PE3上、KEY2連接在PE2上、WK_UP連接在PA0按鍵與STM32連接原理圖這里需要注意的是:KEY0、KEY1和KEY2是低電平有效的,而WK_UP是高電平有效的,并且外部都沒有上下拉電阻,所以,需要在STM32內部設置上下拉。3.軟件設計key.h#ifndefKEYH#define__KEY_H#include"sys.h”#defineKEY0GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)〃讀取按鍵0#defineKEY1GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)〃讀取按鍵1#defineKEY2GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2)〃讀取按鍵2#defineWK_UPGPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)//讀取按鍵3(WK_UP)#defineKEY0_PRES1//KEY0按下#defineKEY1_PRES2//KEY1按下#defineKEY2_PRES3//KEY2按下#defineWKUP_PRES4//WK_UP按下(即WK_UP/WK_UP)voidKEY_Init(void);//IO初始化u8KEY_Scan(u8);〃按鍵掃描函數#endif這段代碼里面最關鍵就是4個宏定義:#defineKEY0GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)〃讀取按鍵0#defineKEY1GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)〃讀取按鍵1#defineKEY2GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2)〃讀取按鍵2#defineWK_UPGPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)〃讀取按鍵3(WK_UP)然后我們打開USER文件夾Template.uvprojx,按新建按鈕新建一個文件,然后保存在HARDWARE->BEEP文件夾下面,保存為key.G在該文件中輸入如下代碼:#include"stm32f10x.h”#include"key.h”#include"sys.h”#include"delay.h"voidKEY_Init(void){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOE,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4;//KEY0-KEY2GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;//設置成上拉輸入GPIO_Init(GPIOE,&GPIO_InitStructure);//初始化PE4,PE3,PE2GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;//設置成下拉輸入GPIO_Init(GPIOA,&GPIO_InitStructure);//初始化PA0}u8KEY_Scan(u8mode){staticu8key_up=1;if(mode)key_up=1;if(key_up&&(KEY0==0||KEY1==0)){delay_ms(10);key_up=0;if(KEY0==0)returnKEY0_PRES;elseif(KEY1==0)returnKEY1_PRES;}elseif(KEY0==1&&KEY1==1)key_up=1;return0;}led.h#ifndef__LED_H#define__LED_H#include"sys.h”#defineLED0PBout(5)#defineLED1PEout(5)voidLED_Init(void);#endifled.c#include"led.h"#include"stm32f10x.h”voidLED_Init(void){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);GPIO_SetBits(GPIOB,GPIO_Pin_5);GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOE,&GPIO_InitStructure);GPIO_SetBits(GPIOE,GPIO_Pin_5);}main.c#include"led.h”#include"delay.h"#include"key.h”#include"sys.h”intmain(void){vu8key=0;delay_init();LED_Init();KEY_Init();while(1){key=KEY_Scan(0);if(key){switch(key)caseKEY1_PRES:LED1=!LED1;break;caseKEY0_PRES:LED0=!LED0;LED1=!LED1;break;}elsedelay_ms(10);}}實驗現象
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年軟考網絡技術發(fā)展趨勢試題及答案
- 高考作文邏輯結構試題與答案
- 2025兒童教育產品買賣合同
- 開放數據在軟件開發(fā)中的應用試題及答案
- 數據交互技術試題及答案解析
- 制定可行性分析的年度框架計劃
- 遠程團隊管理的挑戰(zhàn)與策略計劃
- 班級文藝匯演與參與安排計劃
- 2025年計算機二級VB實務試題及答案導航
- 積極尋求資源整合提升工作效果計劃
- 過程管理的優(yōu)化方法試題及答案
- 地西半球的國家 復習課課件-2024-2025學年七年級地理下學期(人教版2024)
- 體系文件培訓課件
- 路燈勞務分包合同協議
- 山東省青島市嶗山區(qū)2024-2025學年初三下學年期末考試英語試題試卷含答案
- 溫州市普通高中2025屆高三第三次適應性考試化學試題及答案
- 學校運動場改造方案與實施指南
- 2025年北京市東城區(qū)九年級初三一模語文試卷(含答案)
- 遼寧省名校聯盟2023-2024學年高一下學期6月聯合考試化學試題(解析版)
- 荊州市國土空間總體規(guī)劃(2021-2035年)
- SF-36生活質量調查表(SF-36-含評分細則)
評論
0/150
提交評論