按键触点的机械抖动
在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作,这种情况是不允许出现的。为了克服按键触点机械抖动所致的检测误判,必须采取去抖动措施。这一点可从硬件、软件两方面予以考虑。在键数较少时,可采用硬件去抖,而当键数较多时,采用软件去抖。
在硬件上可采用在键输出端加 R-S 触发器 ( 双稳态触发器 ) 或单稳态触发器构成去抖动电路。图 7.3 是一种由 R-S 触发器构成的去抖动电路,当触发器一旦翻转,触点抖动不会对其产生任何影响。
软件上采取的措施是:在检测到有按键按下时,执行一个 10 ms 左右(具体时间应视所使用的按键进行调整)的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态。同理,在检测到该键释放后,也应采用相同的步骤进行确认,从而可消除抖动的影响。
4.按键编码
一组按键或键盘都要通过 I/O 口线查询按键的开关状态。根据键盘结构的不同,采用不同的编码。无论有无编码,以及采用什么编码,最后都要转换成为与累加器中数值相对应的键值,以实现按键功能程序的跳转。
5.编制键盘程序
一个完善的键盘控制程序应具备以下功能:
(1) 检测有无按键按下,并采取硬件或软件措施,消除键盘按键机械触点抖动的影响。
(2) 有可靠的逻辑处理办法。每次只处理一个按键,其间对任何按键的操作对系统不产生影响,且无论一次按键时间有多长,系统仅执行一次按键功能程序。
(3) 准确输出按键值(或键号),以满足跳转指令要求。
Contact: 吴经理
Phone: 13808548642
Tel:
Add: 福建省泉州市洛江区万虹路99号