CN101193195A - 按键检测处理方法 - Google Patents
按键检测处理方法 Download PDFInfo
- Publication number
- CN101193195A CN101193195A CNA2006100705031A CN200610070503A CN101193195A CN 101193195 A CN101193195 A CN 101193195A CN A2006100705031 A CNA2006100705031 A CN A2006100705031A CN 200610070503 A CN200610070503 A CN 200610070503A CN 101193195 A CN101193195 A CN 101193195A
- Authority
- CN
- China
- Prior art keywords
- button
- key
- current
- key value
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明公开了一种按键检测处理方法,通过对按键检测处理程序进行优化,在迅速进行按键切换操作时,为了能让微处理器有比较充足的时间响应当前按键的变化,并顺利切换到当前的按键操作中,从而完成按键触发事件的顺利切换,本发明在CPU检测到连续两次都有按键按下,且两次按键值不相同时,将当前按键值置为无按键操作时所对应的按键值,并在后续的几个按键检测循环周期中重复所述过程;而后CPU重新检测当前按键值,并响应当前按键操作,从而有效避免了按键已切换而无响应现象的发生,在不增加任何成本的前提下,将用户的附加价值做到最大,显著提高了电视产品的整机品质。
Description
技术领域
本发明涉及一种对按键的触发进行检测和处理的方法,具体地说,是涉及一种为避免出现按键已切换而无响应现象的按键检测处理方法。
背景技术
伴随着电视机的普及化越来越广泛,遥控器的使用也越来越频繁。日常生活中声音、图像画质等调整项是被用户调整次数最多的选项之一,为使调整更连续化,所有的电视机软件都将加减按键设置为连续键,即按住不放的话,菜单选项里的数值会连续不停的变化。由于微处理器的处理速度是有一定限度的,如果遥控按键切换得相对迅速,就有可能出现按键已切换,但是微处理器却因切换时间太短而没有足够的时间响应新的按键,导致出现按键不响应新操作而仍继续上次按键操作的现象。比如先前一直按音量增加键,突然间换成音量减少键,微处理器没有对减少键响应,出现按音量减少键而画面却一直显示音量在增加的现象。特别是在电视机生产线上,流水线生产要求工人的参数调整速度很快,因切换按键过于迅速也时常出现上述现象,特别是采用的微处理器速度相对较慢的机型尤其明显。
发明内容
本发明为了解决现有技术中所遇到的按键已切换而微处理器却没有对新操作进行响应的问题,提供了一种新型的按键检测处理方法,通过在按键迅速切换时,对当前按键值进行一定的处理,从而给微处理器以足够的时间来响应新的按键操作,有效避免了按键已切换而无响应现象的发生。
为解决上述技术问题,本发明采用以下技术方案予以实现:
一种按键检测处理方法,当CPU检测到连续两次都有按键按下,且两次按键值不相同时,将当前按键值置为无按键操作时所对应的按键值,进而重新检测当前按键值,并响应当前按键操作。
在CPU检测到上次按键值与当前按键值不相同,且两次都有按键按下时,表明两次按键切换速度太快,为了给CPU比较充足的时间响应当前按键的变化,并顺利切换到当前的按键操作中,从而完成按键触发事件的顺利切换,在本发明中所采取的措施是:将当前按键值置为无按键操作时所对应的按键值,并在后续多次的按键检测循环周期中重复所述过程。本发明中,所述将当前按键值置为无按键操作时所对应的按键值的过程在3个按键检测循环周期中重复进行。在第4个按键检测循环周期中,将上次按键值置为当前按键值,CPU响应当前按键操作。
在跟踪程序时发现:只要无按键操作时间大于一定的按键检测循环周期的话,前后两次按键都可以正确的识别;而如果无按键操作时间只有一个循环周期的话,按键还是不能正确识别。因此,在本发明中采用了如下措施:当CPU检测到上次有按键按下,而当前无按键按下时,保持无按键操作时间大于等于N个按键检测循环周期。本发明优选N等于2,即保持无按键操作时间大于1个按键检测循环周期,从而保证CPU可以对前后两次按键都可以正确的识别。
所述按键为遥控器按键,红外遥控接收头根据遥控编解码规则解读出当前按键的按键值,CPU通过I2C总线读取红外遥控接收头的反馈值,当无按键操作时,反馈当前按键值为0;当有按键操作时,反馈当前按键值为非0值,且不同按键对应不同的按键值。当然,所述按键也可以是电视机控制面板按键,其处理方法相同。
与现有技术相比,本发明的优点和积极效果是:本发明通过对按键检测处理程序进行优化,在迅速进行按键切换操作时,为了能让微处理器有比较充足的时间响应当前按键的变化,并顺利切换到当前的按键操作中,从而完成按键触发事件的顺利切换,本发明将当前按键值置为无按键操作时所对应的按键值,并在后续的几个按键检测循环周期中重复所述过程,从而有效避免了按键已切换而无响应现象的发生。在不增加任何成本的前提下,将用户的附加价值做到最大,显著提高了电视产品的整机品质。
附图说明
图1是本发明中按键检测处理软件的流程框图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细地说明。
本发明针对按键切换速度过快,以致微处理器来不及响应,造成电视机误动作的问题,采用软件优化按键检测处理程序模块的方式,根据检测结果智能化处理所接收到的按键,避免出现按键已切换而无新操作响应的现象。在不增加任何硬件成本的情况下为用户创造更佳的附加价值。
实施例一,以遥控器按键为例对本发明的按键检测处理方法加以说明。当用户按压遥控器的按键时,通过遥控器的红外线发送器将按键值传送到电视机里的红外遥控接收头,根据一定的遥控编解码规则解读出当前按键的键值,微处理器通过IIC总线读取遥控接收头的反馈值,软件的背景任务中不停地循环获取当前的遥控键值。一般软件中在无按键操作的时候默认为当前按键值为0,如果获取值为非0值,则与程序中的预先设定键值对应,从而触发相应的功能事件,完成对电视机的控制操作。因为是循环检测,软件中会设置一个变量记录上次按键的键值,并与当前的按键值进行比较,如果连续几次按键值皆相同,则认定为用户按了连续键,程序会简化检测处理程序,一直响应当前操作,直到用户停止按键。
有按键按下的时候,检测到的按键值为非零值;无按键按下的时候,检测到的按键值为零值。针对此特点,本发明在软件中增加了如下检测处理程序,来解决按键已迅速切换而微处理器CPU对新操作无响应的问题:
在按键检测处理程序中,当CPU检测到连续两次都有按键按下,且两次按键值不相同时,将当前按键值置为无按键操作时所对应的按键值,即0,进而重新检测当前按键值,并响应当前按键操作。
在CPU检测到上次按键值与当前按键值不相同,且两次都有按键按下时,则表明两次按键切换速度太快,为了给CPU比较充足的时间响应当前按键的变化,并顺利切换到当前的按键操作中,从而完成按键触发事件的顺利切换,在本发明中,将当前按键值置为0,并在后续多次的按键检测循环周期中重复所述过程。本发明通过对CPU的程序运行周期以及按键检测循环周期进行充分考虑后,将当前按键值置为0的过程在3个按键检测循环周期中重复进行。在第4个按键检测循环周期中,将上次按键值置为当前按键值,CPU响应当前按键操作。
此外,在跟踪程序时发现:只要无按键操作时间大于一定的按键检测循环周期的话,前后两次按键都可以正确的识别;而如果无按键操作时间只有一个循环周期的话,按键还是不能正确识别。因此,在本发明中采用了如下措施:当CPU检测到上次有按键按下,而当前无按键按下时,保持无按键操作时间大于等于N个按键检测循环周期。本发明优选N等于2,即保持无按键操作时间大于1个按键检测循环周期,从而保证CPU可以对前后两次按键都可以正确的识别。
本发明的软件流程框图参见图1所示,其中,计数器1在按键迅速切换时对按键循环周期进行计数;计数器2对无按键操作的时间进行计数;具体包括以下步骤:
(1)检测当前按键值(CurrentKey)是否为零;
①如果CurrentKey为零,则检测上次按键值(LastKey)是否为零;如果LastKey不为零,则进行计数,即计数器2的值加1,如果计数器2的值大于1,则将LastKey值置成CurrentKey的值,并将计数器2的值清零,否则,将计数器1的值清零,进入下个循环周期;如果LastKey为零,则直接将计数器1的值清零,进入下个循环周期;
②如果CurrentKey非零,则进入到(2);
(2)如果CurrentKey、LastKey值均为非零,则比较LastKey和CurrentKey的值是否相等,如果相等,则表示当前按键是连续按键,继续响应当前按键操作,计数器1清零;如果不相等,则进入(3);
(3)如果CurrentKey、LastKey均为非零,且LastKey不等于CurrentKey的值,则表明之前也有按键,两次按键切换速度太快,微处理器可能来不及响应变化而仍执行LastKey的动作,需对当前按键值进行一定的处理;在此,将CurrentKey的值清零,即不响应当前按键值,清零的同时并计数一次,即计数器1的值加1,程序重新检测当前按键值,直到计数器1的计数次数达到3以后,便不再对CurrentKey的值进行清零,直接响应当前CurrentKey的按键操作,同时计数器1的值清零。
在此采用清零并循环计数的原因是:程序循环检测一次需要几十微秒的时间,几次循环后让微处理器能有比较充足的时间响应当前按键的变化,并顺利切换到当前的按键操作中,从而完成按键触发事件的顺利切换。这几次循环加起来的时间对用户来说相当短暂,所以,也不会感觉按键有明显的停顿感,不会影响正常操作,而对微处理器来说则有足够的时间处理完其他的背景任务,响应按键的操作。
当然,上述方法也同样适用于对电视机控制面板按键的触发操作,在此不再赘述。
本发明是一种软件处理方法,主要是为了让用户及流水线工人在使用遥控器对电视机进行调节时得到更可靠的遥控效果。此功能通过将当前获取到的按键值情况与上次按键值进行比较,根据两次键值的不同情况进行自适应的调整,从而有效保证了微处理器总能有足够的时间去处理当前的按键操作,并可靠地完成操作事件。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
Claims (8)
1.一种按键检测处理方法,其特征在于:当CPU检测到连续两次都有按键按下,且两次按键值不相同时,将当前按键值置为无按键操作时所对应的按键值,进而重新检测当前按键值,并响应当前按键操作。
2.根据权利要求1所述的按键检测处理方法,其特征在于:在CPU检测到上次按键值与当前按键值不相同,且两次都有按键按下时,表明两次按键切换速度太快,将当前按键值置为无按键操作时所对应的按键值,并在后续多次的按键检测循环周期中重复上述过程。
3.根据权利要求2所述的按键检测处理方法,其特征在于:所述将当前按键值置为无按键操作时所对应的按键值的过程在3个按键检测循环周期中重复进行。
4.根据权利要求3所述的按键检测处理方法,其特征在于:在第4个按键检测循环周期中,将上次按键值置为当前按键值,CPU响应当前按键操作。
5.根据权利要求1所述的按键检测处理方法,其特征在于:当上次有按键按下,而当前无按键按下时,保持无按键操作时间大于等于N个按键检测循环周期。
6.根据权利要求5所述的按键检测处理方法,其特征在于:所述N等于2。
7.根据1至5中任一权利要求所述的按键检测处理方法,其特征在于:所述按键为遥控器按键,红外遥控接收头根据遥控编解码规则解读出当前按键的键值,CPU通过I2C总线读取红外遥控接收头的反馈值,当无按键操作时反馈当前按键值为0;当有按键操作时反馈当前按键值为非0值,且不同按键对应不同的按键值。
8.根据1至5中任一权利要求所述的按键检测处理方法,其特征在于:所述按键为电视机控制面板按键。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006100705031A CN101193195A (zh) | 2006-11-21 | 2006-11-21 | 按键检测处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006100705031A CN101193195A (zh) | 2006-11-21 | 2006-11-21 | 按键检测处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101193195A true CN101193195A (zh) | 2008-06-04 |
Family
ID=39487919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006100705031A Pending CN101193195A (zh) | 2006-11-21 | 2006-11-21 | 按键检测处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101193195A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739805A (zh) * | 2009-12-21 | 2010-06-16 | 康佳集团股份有限公司 | 实现遥控按键释放消息的方法 |
CN101645198B (zh) * | 2009-03-27 | 2011-09-07 | 青岛海信电器股份有限公司 | 按键识别方法及遥控器 |
WO2012040973A1 (zh) * | 2010-09-30 | 2012-04-05 | 江苏惠通集团有限责任公司 | 按键检测方法及装置 |
CN103176065A (zh) * | 2011-12-21 | 2013-06-26 | 北京普源精电科技有限公司 | 具有多个功能设置按键的数据采集装置 |
CN104992538A (zh) * | 2015-05-13 | 2015-10-21 | 青岛海信宽带多媒体技术有限公司 | 一种终端与遥控器之间的交互方法及终端 |
CN107231156A (zh) * | 2016-03-23 | 2017-10-03 | 浙江正泰电器股份有限公司 | 按键扫描方法和低压电器的控制器 |
CN107861844A (zh) * | 2017-09-30 | 2018-03-30 | 杭州天马时控科技股份有限公司 | 一种高效率按键检测方法 |
-
2006
- 2006-11-21 CN CNA2006100705031A patent/CN101193195A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645198B (zh) * | 2009-03-27 | 2011-09-07 | 青岛海信电器股份有限公司 | 按键识别方法及遥控器 |
CN101739805A (zh) * | 2009-12-21 | 2010-06-16 | 康佳集团股份有限公司 | 实现遥控按键释放消息的方法 |
CN101739805B (zh) * | 2009-12-21 | 2014-07-16 | 康佳集团股份有限公司 | 实现遥控按键释放消息的方法 |
WO2012040973A1 (zh) * | 2010-09-30 | 2012-04-05 | 江苏惠通集团有限责任公司 | 按键检测方法及装置 |
CN103176065A (zh) * | 2011-12-21 | 2013-06-26 | 北京普源精电科技有限公司 | 具有多个功能设置按键的数据采集装置 |
CN103176065B (zh) * | 2011-12-21 | 2016-08-10 | 北京普源精电科技有限公司 | 具有多个功能设置按键的数据采集装置 |
CN104992538A (zh) * | 2015-05-13 | 2015-10-21 | 青岛海信宽带多媒体技术有限公司 | 一种终端与遥控器之间的交互方法及终端 |
CN104992538B (zh) * | 2015-05-13 | 2019-08-09 | 青岛海信宽带多媒体技术有限公司 | 一种终端与遥控器之间的交互方法及终端 |
CN107231156A (zh) * | 2016-03-23 | 2017-10-03 | 浙江正泰电器股份有限公司 | 按键扫描方法和低压电器的控制器 |
CN107861844A (zh) * | 2017-09-30 | 2018-03-30 | 杭州天马时控科技股份有限公司 | 一种高效率按键检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101193195A (zh) | 按键检测处理方法 | |
KR101742410B1 (ko) | 스크린샷 기능을 내장하는 지능형 단말기 및 그 구현 방법 | |
US9565293B2 (en) | Method and device for operating mobile terminal based on sensor, and mobile terminal | |
CN101364342B (zh) | 一种电脑电视一体机的无线遥控方法 | |
CN202907113U (zh) | 一种手势识别控制的电视机 | |
CN102395935A (zh) | 控制通信系统的状态的方法和设备 | |
CN102547214B (zh) | 一种多人视频通信中的视频编码方法以及终端 | |
US10289818B2 (en) | Screen unlocking method for electronic terminal, image acquiring method and electronic terminal | |
US11054947B2 (en) | Key reference updating method and module, and terminal device | |
CN104503569A (zh) | 电子设备及其唤醒方法 | |
CN104898839A (zh) | 一种终端设备及其控制方法 | |
CN103677239A (zh) | 一种无线显示终端控制方法及装置 | |
CN106930039B (zh) | 一种洗衣机中途添加洗涤剂的方法及洗衣机 | |
CN106507190B (zh) | 一种移动终端视频自动循环播放系统及其方法 | |
CN102170588B (zh) | 一种有遥控器的机顶盒及其切换工作状态的方法 | |
CN105491242A (zh) | 移动通讯终端及其控制方法和装置 | |
CN201662609U (zh) | 一种按键检测电路 | |
CN102830818A (zh) | 信号处理的方法、装置及系统 | |
CN109938587B (zh) | 烹饪机的控制方法、装置、计算机可读存储介质及烹饪机 | |
CN104572121A (zh) | 用于计算机的屏幕的亮度调节方法和装置 | |
CN104469522A (zh) | 一种视频播放的控制方法及装置 | |
CN107613349B (zh) | 一种播放终端的控制方法、控制终端及计算机可读介质 | |
WO2016045401A1 (zh) | 触摸屏操作方法及装置 | |
CN104898946B (zh) | 一种控制方法及电子设备 | |
CN109996100B (zh) | 一种智能遥控器的控制方法、存储介质以及遥控器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20080604 |