【蓝桥杯嵌入式】第四章 按键控制LED

描述

    

 

第一节 按键的基本知识  
 

按键的最基本的知识就是消抖,它分为软件消抖和硬件消抖。其中,软件消抖流程为:当检测到按键按下时,启动一个延时,持续一段时间(通常几毫秒);在延时结束后,再次读取按键状态;如果按键仍然处于按下状态,那么可以确定按键的状态为按下;否则,可以确定按键的状态为释放;软件消抖通过延时等待按键电平的稳定来避免误触发。如下图:

         嵌入式

         
 

硬件的消抖方案有很多种:在按键引脚与微控制器之间添加外部电路元件,如电容、电阻或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代码如下:

嵌入式

嵌入式

嵌入式

嵌入式

嵌入式

第五节 实验现象   

注意:请用USB线连接电脑与开发板,注意是CN2口。

现象:LED闪烁一次,按下按键,对应的LED翻转一次。

来源:撞上电子微信公众号

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分