首页 理论教育 键盘扩展过程中的电压信号变化及抖动波形

键盘扩展过程中的电压信号变化及抖动波形

时间:2023-11-06 理论教育 版权反馈
【摘要】:按键过程中的电压信号变化如图7.1所示,其中抖动的时间长短与开关的机械特性有关,一般为5~10 ms。这个抖动可能会导致运行程序认为出现多次按键,导致系统错误执行。图7.1按键抖动波形为了保证执行程序对按键的一次闭合仅作一次按键输入处理,必须消除抖动影响。这样10~20 ms的延时,既可以避开抖动,又不会超出键稳定闭合的时间区间。

键盘扩展过程中的电压信号变化及抖动波形

(1)键盘选择

首先是译码方式的选择。按键值编码方式分为(硬件)编码键盘与非(硬件)编码键盘。编码键盘是采用硬件编码/译码器件,对按下的键进行判断与译码,直接输出相应的键码/键值。其特点是需要专用硬件译码,编码固定,编程简单;适用于大规模的键盘,如常用的计算机的大、小键盘。非编码键盘是采用软件编码/译码,通过扫描方式,识别按键并计算或查表输出相应的键码/键值。其特点是无需专用硬件译码,编码灵活,编程较复杂;适用于小规模的键盘,单片机应用系统常采用这类键盘。

其次是键盘形式的选择。按键组连接方式分为独立连接键盘与矩阵连接键盘。独立连接键盘是每键独立与一条I/O线相连,通过程序直接读取该I/O线的高/低电平状态,并判断按键按下与否;适用于键数少的系统中。其特点是占I/O口线多,但判键速度快,不需要编码转换,多用于设置控制键、功能键。矩阵连接键盘是按键采用矩阵式排列,各键处于矩阵行/列的结点处,通过程序对连在行(列)的I/O线传送已知电平的信号,然后读取列(行)线的状态信息。逐线扫描,确定按下键的位置,并输出对应的键码/键值。适用于需要较多数字键的系统。其特点是可用较少I/O口连接较多的键,执行的判键程序时间较长。

(2)键盘“防抖”处理

目前的按键大多是采用机械触点的闭合、释放来实现键按下的信号输入。由于机械触点的弹性作用,按键的闭合及释放的瞬间不会立刻稳定地通、断,而会出现“抖动”现象。按键过程中的电压信号变化如图7.1所示,其中抖动的时间长短与开关的机械特性有关,一般为5~10 ms。这个抖动可能会导致运行程序认为出现多次按键,导致系统错误执行。(www.xing528.com)

图7.1 按键抖动波形

为了保证执行程序对按键的一次闭合仅作一次按键输入处理,必须消除抖动影响。常用的消除抖动的方法有硬件方式和软件方式。硬件去抖动,采用电路延时方法,可用专门的自动去抖动的接口芯片。例如,8279接口芯片的去抖动功能。或者在键盘电路中附加去抖动电路,以抑制抖动的产生,例如可使用双稳态电路或滤波电路等。

软件去抖动是采用延时程序以避开按键的抖动过程,进入键稳定状态后,再进行列线状态的输入和判定。而键的稳定闭合时间,与操作者的按键动作有关,一般为十分之几秒到几秒不等。这样10~20 ms的延时,既可以避开抖动,又不会超出键稳定闭合的时间区间。在单片机应用系统中,为了减少硬件开销,降低功耗,常采用软件去抖动方式。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈