下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验五按键输入实验实验目的:利用板载的4个按键,来控制板载的两个LED的亮灭和蜂鸣器的开关。通过本实验,将了解到STM32F1的IO口作为输入口的使用方法。内容要点.1.STM32IO口简介STM32F1的IO口在上一章巳经有了比较详细的介绍,这里我们不再多说。STM32F1的IO口做输入使用的时候,是通过调用函数GPIO_ReadInputDataBit()来读取IO口的状态的。了解了这点,就可以开始我们的代码编写了。这一个实验,我们将通过ALIENTEK战舰STM32开发板上载有的4个按钮(WK_UP、KEY0、KEY1和KEY2),来控制板上的2个LED(DS0和DS1)和蜂鸣器,其中WK_UP控制蜂鸣器,按一次叫,再按一次停;KEY2控制DS0,按一次亮,再按一次灭;KEY1控制DS1,效果同KEY2;KEY0则同时控制DS0和DS1,按一次,他们的状态就翻转一次。有源蜂鸣器自带了震荡电路,一通电就会发声2.硬件设计本实验用到的硬件资源有:指示灯DS0、DS14个按键:KEY0、KEY1、KEY2、和WK_UP。DS0、DS1以及蜂鸣器和STM32的连接在上两章都巳经分别介绍了,在战舰STM32开发)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. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 如何泡蛤蚧酒?泡酒的正确方法与配方大全泡酒的比例是多少泡酒的功效与作用解析
- 医疗运营策略方案
- 【培训课件】员工敬业与责任心培训
- 医院手术证明书
- 2024正式的委托代理合同样书
- 2024建筑劳务的合同范本
- 2024至2030年中国地坎行业投资前景及策略咨询研究报告
- 2024至2030年中国铝合金挡风板行业投资前景及策略咨询研究报告
- 2024至2030年中国花洒产品数据监测研究报告
- 2024至2030年中国自行车把芯数据监测研究报告
- 语文版五年级语文下册《珍珠鸟》课文
- usbcan ii v6 1用户手册3 2 CAN接线端
- 初中生物-济南出版社八年级上册 第六单元第二章第二节 食物链和食物网教学课件设计
- 焦点解决短期治疗
- 中华人民共和国药典(2023年版)
- 【2022年】陕西省宝鸡市警察招考公安专业科目预测试题(含答案)
- 《线性代数》课后习题答案
- 许可证有效期内的辐射安全防护工作总结
- 教学设计 《寻找时传祥》
- 农村生活污水处理设施运行维护费用指导价格指南(示范文本)
- 凸透镜成像规律动画可拖动最佳版swf
评论
0/150
提交评论