第一节 按键的基本知识
按键的最基本的知识就是消抖,它分为软件消抖和硬件消抖。其中,软件消抖流程为:当检测到按键按下时,启动一个延时,持续一段时间(通常几毫秒);在延时结束后,再次读取按键状态;如果按键仍然处于按下状态,那么可以确定按键的状态为按下;否则,可以确定按键的状态为释放;软件消抖通过延时等待按键电平的稳定来避免误触发。如下图:
硬件的消抖方案有很多种:在按键引脚与微控制器之间添加外部电路元件,如电容、电阻或Schmitt触发器等,这些电路元件可以滤除按键的电气噪音,提供更稳定的电平信号。
蓝桥杯嵌入式开发板并没有在硬件上处理,所以只能通过软件的方式来消抖。
第二节 硬件解读
从图中我们可以看出,一共有4个按键,每一个按键的原理图都是一样的,我们举一个例子吧,以PA0为例,当按键被按下,按键的1,2和3,3导通,按键的3,4接地,导致PA0也接地,所以PA0也就是低电平。由此我们知道,当按键按下时,PA0为低电平;反之为高电平。
以下是按键和引脚的关系:
按键 | 引脚 |
B1 | PB0 |
B2 | PB1 |
B3 | PB2 |
B4 | PA0 |
第三节 CubeMX配置
配置PB0,PB1,PB2,PA0为输入模式,并配置上拉和标签。【注意:配图有误,配图为输出模式,正常是输入模式】
第四节 MDK代码
结合上图,可以看出需要20ms的消抖时间。所以MDK代码如下:
第五节 实验现象
现象:LED闪烁一次,按下按键,对应的LED翻转一次。
来源:撞上电子微信公众号
-
led
+关注
关注
242文章
23277浏览量
660831 -
嵌入式
+关注
关注
5082文章
19123浏览量
305122 -
按键
+关注
关注
4文章
223浏览量
57601
发布评论请先 登录
相关推荐
评论