按键开关的那些事 我们生活中都会遇见过很多很多的按键,有一个的多个的,还有触摸的,非触摸的,机械的,电子的有很多种。今天我们就一起来看一看按键到底都有哪种,到底有多少功能。 按键可以分为自锁式按键和非自锁式按键,自锁式按键就是当按键动作后可以自行锁定到某一个状态不发生改变 就像家里的灯火开关,就是自锁式开关。非自锁式开关就是当开关被按动的时输出状态发生改变,不按动时开关状态恢复至原状态的开关,就比如家里常用的鼠标键盘开关等 都是非自锁式开关。 按键分为编码按键和非编码键。编码按键是当按键动作的识别由专用的硬件编码器实现并产生该按键的编码号或者该按键的建制,如计算机的键盘。
非编码按键盘。是靠软件编程来识别的。他这种按键盘又分为独立按键盘和矩阵型按键盘。在单片机组成的各类系统中用的最多的就是非编码按键盘, 就比如说单个或者几个独立的按键, 又或者4乘4的.16位的小按键盘。 使用独立按键盘的缺点就是占用IO口非常多。可以选择使用矩阵式按键盘。以16位小按键盘为例如接线只需要8个I/O口即可,如果是16个独立按键就需要16个i/o端口。如果需要的按键更多就需要采用编码按键盘。 按键的功能就是通过按键的动作输出一个信号,这个信号让设备状态发生改变。
通常按按键使用过程中都会发生抖动,那什么是抖动?为什么会发生抖动呢? 按键所使用所使用开关通常为机械弹性开关。当机械触点断开或者闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定的接通。在断开时,同样也不会一下子断开。因此,在闭合和断开的瞬间均伴随着抖动抖动时间的长短由按键的机械特性决定,一般为5到10毫秒。 那如何消除这个抖动呢?有两种方法。 第一种方法呢就是硬件消除抖动。 在按键较少的时候可以使用硬件消除抖动,消除按键的抖动。硬件消抖的典型做法是采用R-S触发器或RC积分电路的方法。当按键较多时,硬件消抖方法将导致系统硬件电路设计复杂,而且会产生成本增加等。硬件消抖将无法胜胜任。 这时我们不光可以选择硬件抖动,还可以选择软件消除按键抖动。 第二种方法软件消除按键抖动 软件消抖的原理呢是在检测到有按键按下时,它不是立刻认定此按键已被摁下,而是执行一个10毫秒左右的延时程序后,我再确认按键电平是否仍然保持闭合状态。 电平若仍然保持闭合状态,则确认该按键被真正按下。 软件消除按键抖动有的缺点,因为软件防抖需应用到延时函数。延时函数是以消消耗单片机CPU资源为代价的。延时函数用多后有可能会降低程序的执行效率。 使用软件消除抖动的优点:就是不需增加其他附加的电子元件,只需更在编写程序时增加延时模块即可。可降低制造成本。缺点是有可能会降低程序的执行效率。 硬件按键的消除按键抖动的优点就是无需编程通过改变开关的接线即可实现按键防抖功能。缺点是当大量使用时会导致设计电路复杂,制造成本增加。 所以说按键消抖一定要选择最适合的方法消除它。 你认为哪款消除抖动的方法最好呢?
|
这些都接触过和检修过。