机械按键是指在按下按键时通过机械结构产生的反馈力将按键瞬间弹起,使输入信号从低电平变为高电平。机械按键需要一个或多个金属触点,当按键按下时,触点会闭合,当按键释放时,触点会分开。这种结构生产的机械振动将导致微小的开关跳动,甚至造成多次信号输入,这就是所谓的按键抖动。为了解决机械按键抖动的问题,需要采取一定的消抖措施。
机械按键消抖可采取软件或硬件的方法。在软件方面,常用的消抖方法是延时去抖和状态机去抖。延时去抖是指在按键按下后延迟一段时间,再判断按键是否真正按下;状态机去抖则是在程序中设置一个状态机,当按键发生状态变化时判断按键是否稳定按下或释放。在硬件方面,常用的消抖方法是添加稳定器电路或加密触点结构。添加稳定器电路是指利用芯片内部或外部的稳定器电路,通过锁存器控制输入信号的变化,以达到消除抖动的目的;加密触点结构则是指通过增加按键位移或触点接触面积,限制按键抖动的发生。
机械键盘采用多种消抖方法,常见的有锁存器去抖、IC去抖、按键反向消抖等。锁存器去抖是指在按键按下时,通过锁存器将输入信号锁住,直到稳定后再释放;IC去抖则是利用芯片内部稳定器电路进行抖动去除;按键反向消抖则是在按键信号反相之后加入放大器,通过放大并滤除高频噪声的方法进行消抖。
机械按键的优势在于手感好、响应快、寿命长、可观察性好、适用范围广,不容易造成误按。而缺点在于价格相对较贵,噪音大,体积较大,需要较大的散热空间。相比之下,薄膜键盘的价格较低、噪音较小,但手感不如机械键盘好,使用寿命比机械键盘低,易造成误按。另外,相较于机械按键消抖,薄膜键盘多采用软件消抖的方式,相对不够稳定。