1独立按键
硬件连接原理:
把对应的端口赋值高电平,即“1”,按键按下,端口被拉低至低电平,即“0”,通过检测该端口的电平即可判断按键是否按下。
去抖分析:
按键是机械器件,按下或者松开时有固定的机械抖动,抖动图如下:
上图看出按键按下和松开的瞬间出现机械抖动,这个抖动时间虽然很短,一般10~15ms,不同按键抖动不同,但对应单片机来说,很轻松就能检测到,单片机是uS 级别。
但这个结果并不是我们需要的,实际上只进行一次按键操作,但有可能执行了多次按键结果,这就是抖动造成的,所以大多数产品实际使用中都使用了按键去抖功能。
按键去抖分为硬件去抖和软件去抖,硬件去抖最简单的就是按键2端并联电容,容量根据实验而定。软件去抖使用方便不增加硬件成本,容易调试,所以现在大都使用软件去抖。
软件去抖原理:
1、检测到按键按下后进行10~15ms 延时,用于跳过这个抖动区域;
2、延时后再检测按键状态,如果没有按下表明是抖动或者干扰造成,如果仍旧按下,可以
认为是真正的按下。并进行对应的操作。
3、同样按键释放后也要进行去抖延时,延时后检测按键是否真正松开。
程序样例中没有使用按键释放去抖程序,用户可以自行添加。
多数时候按键需要在释放时才起作用,像电脑鼠标一样,这个时候需要检测按键是否释放,如果没有释放则一直等待。