《(7)--2.3按键输入系统介绍.ppt》由会员分享,可在线阅读,更多相关《(7)--2.3按键输入系统介绍.ppt(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、按键输入系统介绍单片机按键介绍1GPIO输入功能程序设计2目录CONTENTSWORKREPORT按键扫描程序设计3单片机按键介绍单片机按键介绍独立式按键矩阵按键GPIOGPIO输入功能程序设计输入功能程序设计1.硬件原理图 Cortex-M3开发板按键模块电路图2.原理图分析从原理图上,可以看出WK_UP按键的一端连接到3.3v电源正极,另外一端连接到PA0端口,如果我们把WK_UP按键按下,那么PA0的管脚将会得到高电平状态值。KEY1、KEY2按键的一端接地,另外一端分别连接到PE4,PE3,端口上,当我们逐一按键这几个按键,它们对应的GPIO端口就会得到一个低电平状态值。所以我们判断按
2、键是否按下,只要判断按键对应的GPIO端口是否为按键的有效电平,就知道对应的按键是否按下。按键扫描程序设计按键扫描程序设计1.按键开关抖动按键扫描程序设计按键扫描程序设计硬件方法常用硬件方法为在按键两端加上1个大小为0.1uF的滤波电容或者使用RS触发器电路来对按键进行消抖。2.按键去抖动方法按键扫描程序设计按键扫描程序设计软件方法常用的软件方式为延时消抖和判断对比消抖。a、延时消抖是指是当检测出键闭合后执行一个10ms20ms的延时程序,再一次检测键的状态,如仍保持闭合状态,则确认真正有键按下。b、判断对比消抖是指通过连续读出多次按键的返回值(通常是35次),然后判断对比这几次读出的按键状态值是否相同,如果相同则证明这个按键值是有效按键值。u8 Key_Scan(void)u8 key_value=0;if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)=0)/如果PA0为低电平Delay_ms(20);if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)=0)/如果PA0还为低电平,则是正常按下key_value=1;while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)=0);/等待PA0为高电平通过(松手检测)谢 谢 观 看