键盘消抖电路的研究与分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
判断是否有键按下;简单硬件消抖则
是采用电容来平掉信号的毛刺。但是对稳定性要求比较高的应用则需要采用相对复杂的集成电路来实现。
1 简单键盘消抖方法
1.1 软件延时消抖
按键抖动时间的长短由按键的机械特性决定,一般为5ms~10ms,按键稳定闭合时间的长短则是由操作人员的按键动作决定的,一般为零点几秒至数秒,如图1所示。
利用软件延时消除键盘抖动所产生的毛刺信号时需设置一个定时器中断,每中断一次则读取键盘接口的信号数据,如果与上次读取的数据不一致,说明当前读取的是前沿抖动数据,将当前的数据保留,等待下次定时器中断。如果当前读取的数据和前次读取数据相同则说明读取的是稳定状态下的数据,则确认为真正有键按下。当检测到按键释放后,需要延时5ms~10ms的时间,待后沿抖动消失后才能转入该键的处理程序。
软件延时并不需要增加新的硬件,但采用这种方式来设计,一般通过软件指令或者定时器的方式来设定延时的时间,采用通用处理器,由于运行速度不一致,需要将软件做相应的修改,比较麻烦。
1.2 简单硬件消抖
采用简单的硬件延时消抖是在键盘数据线接入单片机的引脚的地方并入一小电容,利用电容的充放电原理来实现消除因键盘的抖动所产生的毛刺。如图2所示,键盘按键信号key通过由R2,C1构成的RC振荡电路,过滤到毛刺,到达MCU的引脚上。
基金项目:武汉科技大学校基金资助项目(2006XY26)
键盘消抖电路的研究与分析
邢远秀1 陈姚节2
1、武汉科技大学理学院 4300812、武汉科技大学计算机学院 430081
键盘是计算机和工业控制等领域不可缺少的输入设备,通过它可以实现人机对话,完成各种功能操作。但是,通常的按键所用开关为机械弹性开关,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,因而在闭合及断开的瞬间均伴随有一连串的抖动,键抖动会引起一次按键被误读多次,为了确保对按键的一次闭合仅作一次处理,必须去除按键抖动。常见的消抖方法采用软件或硬件来实现:软件消抖主要是采用延时多次读取键盘接口数据,通过比较前后两次读取键盘端口的数据来
RC振荡电路实现键盘消抖的成本相对较低,工作不是很稳定,可能出现差错(即产生抖动信号),这只适合对消除抖动要求不高的场合。
2 集成电路消抖
集成电路实现键盘消抖主要是采用双组可再触发单稳态多谐振荡器-74HC123,它可把按键所产生的小脉冲信号转换成大方波信号并送到处理器引脚进行计数。
2.1 74HC123工作原理
74HC123包括两个独立的单稳态触发
表1 74HC123功能表
图3 74HC123管脚与内部结构
图2 RC消抖电路原理图
图1 按键波形图
器,各管脚以字头1、2相区别。单稳输出脉冲的宽度主要由外接的定时电阻(RT)和定时电容(CT)决定。单稳态触发器的翻转时刻决定于A、B、CLR三个输入进行与运算的结果,图3给出了74HC123的管脚与内部逻辑结构。
其中74HC123功能表如表1所示。单稳态触发器74HC123具有可重触发功能,并带有复位输入端CLR。所谓可重触发,是指该电路在输出定时时间TW内, 可被输入脉冲重新触发。
74 HC123的主要性能如下:
(1)电路在输入信号A、B、CLR
的所有静态组合下均处于稳态Q=0,Q=1。
(2)有两种边沿触发方式。输入A
是下降沿触发,输入B是上升沿触发。从
功能表可见,当A或B中的任一端输入相
应的触发脉冲,则在Q端可以输出一个正
向定时脉冲,Q 端输出一个负向脉冲。
例如当A为低,B端有上升沿触发时,其
输出波形如图4(a)所示。
(3)电路工作中存在死区时间。
在定时时间TW结束之后,定时电容CT有一段充电恢复时间,如果在此恢复
时间内又输入触发脉冲,则输出脉冲
宽度就会小于规定的定时时间TW。因
此CT的恢复时间就是死区时间,记作
TD。若要得到精确的定时,则两个触
发脉冲之间的最小间隔应大于TW+TD,
如图4(c)所示。死区时间TD的存在,限制了这种单稳的应用场合。
2.2 电路具体设计实现
74HC123消抖的实现如图5所示,其中1A端口和2B端口接键盘按键开关,经过整形后的脉冲通过13端口传输到CPU的INTO端口进行相应的中断处理。不管触发信号持续多长时间,外围电阻电容决定单稳时间。因为触发是由边沿(上升或下降沿)触发。前次触发后的单稳没有恢复到触发前状态而又有触发信号时,可再触发单稳,将在触发边缘开始继续维持阻容给定的单稳时间,而单稳是不理会在翻转后的触发信号的。其中,外接定时电阻RT(即Rext)取值范围为300kΩ~500kΩ,对外接定时电容CT(即Cext)通常没有限制。可得出输出脉宽公式如下:图5中消抖动电路的工作过程参见图6。从t0到t1,没有按键操作,电路处于稳定状态,INT0输出高电平。t1时刻开关按下时,在1A上的负跳变使单稳1翻转,进入暂稳状态(暂稳时间为RT1=470kΩ*0.1uF),INT0输出为低。由于在开关抖动期间(通常为10-20毫秒)会产生若干个跳变信号,开关抖动产生的正跳变信号同样会使单稳2翻转,进入暂稳状态(暂
稳时间为RT2=300kΩ*0.1uF),其
输出会在1B上低电平信号。t1到t2为开关按下时的抖动时间。在电路设计时,两个单稳的RT电路参数选
择,应使RT1>RT2>最大抖动时间。这样,在开关的抖动时间内,单稳1的输出INT0保持为低。到t3时刻,单稳2的暂稳过程结束,翻转到初始状态。t4时刻,单稳1的暂稳过程结束,INT0恢复为高。t4到t5为开关按下的保持时间。t5时刻开关释放瞬间产生的正跳变(在单稳2的2B输入端)使单稳2翻转,
再次进入暂稳状态,其输出会使单稳1的1B为低电平,禁止了1A上开关抖动信号使单稳1发生翻转的可能。t6时刻开关释放产生的抖动结束。t7单稳2的暂稳过程结束。可见,在一次按键操作过程中,开关按下和释放过程的抖动都消除了,INT0上
只产生了一个脉冲。3 结语无论在工业生产还是日常生活中,键盘都获得了广泛的使用,因此,只要有键盘存在的地方,消抖处理就是必不可少的。在按键的即时响应(指微观上)要
求不高的情况下,常用软件方法去抖,但是在工业控制等领域,对按键即时响应有严格要求,就需要采用复杂、稳定、可靠的集成电路消抖方式来实现。图6 消抖电路工作时序
图5 74HC123消抖电路的实现
图4 74LS123的工作波形