独立按键基础知识
独立按键是一种简单的输入设备,广泛应用于各种电子设备中,用于实现基本的用户交互。它们的工作原理通常基于一个简单的机械开关,当按下按键时触发某些操作。独立按键可以有多种尺寸、形状和颜色,便于用户辨识和使用。
独立按键结构组成
独立按键的主要结构组成包括:按钮、外壳、弹簧、触点、导电片和引脚。由一个弹性体(如弹簧或金属片)和一个按键帽组成。当按键被用户按下时,弹性体会缩短,使按键帽压缩,使按钮顶部变得接近或触摸基底。当用户松开按钮时,弹性体恢复原状,按键返回初始位置。所以当按键未被按下时,通常触点是分开的,电路是断开的。当按下按键时,导电片触碰到触点,从而形成一个闭合电路。
独立按键原理
单片机通过检测按键按下前后的高低电平变化,来判断按键是否按下。通过程序的控制,就可以实现不同的功能与设置。机械式按键在按下或者释放时,由于机械弹性作用的影响,通常伴随有一定时间的触点机械抖动,然后其触点才稳定下来。抖动时间长短与开关的机械特性有关,一般为5-10ms。在触点抖动期间检测按键的按下与否,可能会导致判断错误,为了克服机械抖动所产生的影响,必须采取消抖措施,可分为硬件消抖和软件消抖。
消抖措施
由于机械按键在闭合和分开时可能产生的机械振动(相当于弹簧),导致开关状态在短时间内多次变换,这就是按键抖动现象。消抖措施主要分为软件消抖和硬件消抖:
- 软件消抖:主要是通过编程的方法,设定一个延迟或计时器,确保在一定的时间内只读取一次按键状态,避免抖动对程序的影响。当检测到按键按下时,不会立即去检测电平,而是经过短暂的延时之后,再去检测当前引脚的电平。
- 硬件消抖:在按键电路中加入元器件如电阻、电容组成的RC低通滤波器,通过电容的充放电作用将按键按下时的高频振荡吸收掉,对按键信号进行平滑处理,降低抖动的影响。
独立按键驱动原理
独立按键驱动是为了让微控制器能识别按键的状态,而微控制器正好可以识别高电平和低电平,所以大多数的按键都是通过给按键的一端接入高电平,一端接入GPIO;或者是给按键的一端接入低电平,一端接入GPIO。通过检测连接按键的引脚有没有发生电平变化,就可以知道按键是否按下。
独立按键原理图
开发板上一共有三个按键,一个复位、一个BOOT0和一个KEY_UP,复位和BOOT0作为单片机的特殊功能,不可以作为按键使用,故只有KEY_UP可以作为按键使用。
开发板关于独立按键的原理图如图所示。
开发板原理图中,将按键一端通过限流电阻R9接到引脚GPIOA0上,另一端接到了3V3(高电平)。
独立按键驱动流程
通过上面的原理图可以了解到,KEY_UP引脚接到了单片机的PA0引脚上。按键的一端接到了3.3V,另一端通过一个10K的电阻接到了GPIOA。通过检测PA0引脚的电平状态,判断按键是否按下。当按键松开的时候,PA0检测到的电平为默认的低电平,当按键按下的时候,PA0检测到的电平为高电平。在程序里使能PA0引脚,配置为输入模式,然后以一定时间去获取PA0引脚的状态,判断按键是否按下,如果按键按下,就执行对应的功能。