CN202404527U - 一种键盘 - Google Patents
一种键盘 Download PDFInfo
- Publication number
- CN202404527U CN202404527U CN 201120426575 CN201120426575U CN202404527U CN 202404527 U CN202404527 U CN 202404527U CN 201120426575 CN201120426575 CN 201120426575 CN 201120426575 U CN201120426575 U CN 201120426575U CN 202404527 U CN202404527 U CN 202404527U
- Authority
- CN
- China
- Prior art keywords
- button
- key
- keyboard
- sampled signal
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Input From Keyboards Or The Like (AREA)
Abstract
本实用新型涉及一种电子产品,尤其涉及一种键盘,其包括键盘盘体、设于所述键盘盘体表面的按键以及位于键盘盘体内的按键电路,所述键盘还包括位于所述键盘盘体内的按键抖动消除装置,按键抖动消除装置与按键电路连接,按键抖动消除装置包括:采样电路、计数器以及处理器,计数器分别与采样电路以及处理器连接。借此,本实用新型能消除按键抖动,在按键闭合稳定期内读取非正常按键采样信号值的时也能正确识别按键,同时能够提高MCU的运行效率。
Description
技术领域
本实用新型涉及一种按键信息的处理方法,尤其涉及一种键盘。
背景技术
现有使用ADC(Analog-to-Digital Converter,模/数转换器)方式的按键电路,具有硬件电路简单、按键电路与单片机连线少、能节省I/O口、易于修改以及节省成本等优点。现在的大部分MCU(Micro Control Unit,微控制单元)都有ADC功能,只要把ADC按键电路接入到MCU的ADC接口即可,ADC按键电路的实质是一个电阻分压器,其基本原理如图1所示。图中,送往ADC器件的电压Vadc是电阻R1、R2对电压V cc的分压值,ADC器件对V adc进行转换得到一个对应的数字量。由于每一个数字量只对应一个模拟电压,所以只要不同的按键按下就可以取得不同的分压值,通过软件对数字量的识别,进而辨别出是哪个按键按下。
现有ADC按键的识别方法一般是利用求平均值的方法去识别,机械按键抖动时间的长短由按键的机械特性决定,而按键的闭合稳定时间的长短由操作人员的按键动作决定。软件每隔一段时间采样1次ADC数据并保存,共采样大于等于3次,执行数字滤波舍去最大、最小值,再对剩下的数据求平均值的方法去获得一个ADC值,利用这个值确定所按下的按键。在一般情况下,当抖动只出现在按键按下和弹起那一瞬间的时候,这种方法可以很好的解决误识别的问题。但当在按键按下并保持的闭合稳定时间内,出现了读取异常ADC值的情况,这种情况下,如果利用求得平均值的方法就很难去正确识别按键,因为读取到的异常ADC有可能比实际所按的按键ADC值大很多,例如出现2次异常读取的话,且2次ADC值(12位ADC)都比较大(如3000和3100),只去掉了一个值(去掉3100),另外一个值和其他的正常值一起求平均值(正常值为200,有6次,异常为3000,有1次,结果就是600),得到的按键ADC值可能会误差较大(600明显比正常200大很多),无法正常进行识别。
因此现有技术在使用软件识别ADC按键的时候容易出现误识别的情况,尤其在一路ADC器件上有较多按键的时候,这种情况比较严重。ADC按键的ADC值出现抖动的时候一般是在刚开始和结束的时候,但当出现的误读ADC值在稳定的按键闭合期内,则不容易识别,而且当误读的ADC值和正常ADC差别较大时,影响较大。
综上可知,现有消除按键抖动方法在实际使用上,显然存在不便与缺陷,所以有必要加以改进。
实用新型内容
有鉴于此,本实用新型提供一种键盘,其能消除按键抖动,在按键闭合稳定期内读取非正常按键采样信号值的时也能正确识别按键,同时能够提高MCU的运行效率。
为了实现上述目的,本实用新型提供一种键盘,所述键盘包括:键盘盘体、设于所述键盘盘体表面的按键以及位于键盘盘体内的按键电路,所述键盘还包括位于所述键盘盘体内的按键抖动消除装置,所述按键抖动消除装置与按键电路连接,所述按键抖动消除装置包括:
获取按键电路采样信号的采样电路;
用于将该按键的按键计数次数进行累加的计数器,当所述采样电路获取的采样信号值在其中一个按键的按键参考值范围内,则将该按键的按键计数次数累加一次,所述按键参考值范围为预定义的正常采样信号取值范围,且每个按键分别对应一按键参考值范围;
用于将所述计数器中按键计数次数最多的按键作为有效按键处理的处理器,所述计数器与所述采样电路以及所述处理器分别连接。
根据本实用新型的键盘,若采样电路获取的采样信号值不在所述按键参考值范围内,则采样电路再次获取采样信号值,若再次获取的采样信号值不在预设的无按键时采样信号取值范围内,则作为异常跳变处理。
根据本实用新型的键盘,所述采样信号值为ADC值、电压值或电流值。
根据本实用新型的键盘,若所述采样电路获取的采样信号值在其中一个按键的按键参考值范围内,还包括:判断按键状态变量是否标记为按键按下状态,所述按键状态变量用于标记键盘处于按键按下状态或按键未按下状态;若按键状态变量标记为按键未按下状态,则将所述按键状态变量修改标记为按键按下状态,同时按键计时开始。
根据本实用新型的键盘,若所述再次获取的采样信号值在预设的无按键时采样信号取值范围内,且所述按键状态变量标记为按键按下状态则按键计时结束,同时将所述按键状态变量修改为按键未按下状态。
根据本实用新型的键盘,按键计时开始后,若按键状态变量为按键按下状态,且按键计时达到预设的按键长按时间,则执行按键长按操作;按键计时结束时,按键计时到达预设的按键短按时间而未到达预设的按键长按时间,则执行按键短按操作。
本实用新型的键盘包括按键消除装置,按键消除装置通过获取按键电路的信号采样值,并判断该信号采样值是否在预定义的正常采样信号取值范围内,若在该范围内,则将该信号采样值对应的按键类型变量的计数累加一次,最后经过多次采样,通过对比各按键类型变量的计数,将按键类型变量计数最多的按键作为有效按键处理。在按键按下并保持闭合稳定的时间内,出现了读取异常采样信号值的情况,也能通过判断该采样信号值是否在正常采样信号取值范围内来排除该异常采样信号值,即使该异常采样信号值在正常采样信号取值范围内,也能通过多次采样,统计按键的按键类型变量计数,将按键类型变量计数最多的按键作为有效按键处理。同时,本案采用循环方式读取按键电路信号采样值,在读取信号采样值的间隙执行程序其他功能,而未使用延时方法读取按键电路信号采样值,提高了MCU的运行效率。借此,本实用新型能消除按键抖动,在按键闭合稳定期内读取非正常按键采样信号值的时也能正确识别按键,同时能够提高MCU的运行效率。
附图说明
图1是ADC按键电路的电路原理图;
图2是本实用新型一种键盘的结构原理图;
图3是本实用新型的按键抖动消除装置的运行流程图;
图4是本实用新型的按键抖动消除装置一种具体实现方法的流程图。
具体实施方式
为了使本实用新型的目的、技术方案及优点更加清楚明白,一下结合附图及实施例,对本实用新型进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本实用新型,并不用于限定本实用新型。
如图2所示,本实用新型一种键盘100,包括键盘盘体、设于键盘盘体表面的按键10以及位于键盘盘体内的按键电路20,键盘100还包括位于键盘盘体内的按键抖动消除装置30,按键抖动消除装置30与按键电路20连接,按键抖动消除装置30包括:采样电路31、计数器32以及处理器33。
采样电路31用于获取按键电路20的采样信号;
计数器32,用于当采样电路31获取的采样信号值在其中一个按键10的按键参考值范围内,则将该按键10的按键计数次数累加一次,按键参考值范围为预定义的正常采样信号取值范围,且每个按键分别对应一按键参考值范围;
处理器33,用于将计数器32中按键计数次数最多的按键10作为有效按键处理,计数器32与采样电路31以及处理器33分别连接。
本实用新型的按键抖动消除装置的运行流程如图3所示,该方法主要包括如下步骤:
步骤S201,获取按键电路的采样信号值,该采样信号值为ADC值、电压值或电流值。
步骤S202,判断采样信号值是否在按键参考值范围内,按键参考值范围为预定义的正常采样信号取值范围,每个按键分别对应一按键参考值范围。例如按键电路20有三个按键,三个按键A、B、C的正常采样信号取值(ADC值)范围分别为(180~200)、(210~230)、(240~260),若获取的采样信号值为500,则该采样信号值不在这三个按键的正常采样信号取值范围内,丢弃该采样信号值。
步骤S203,若采样信号值在其中一个按键的按键参考值范围内,则将该按键的按键类型变量计数累加一次。按键类型变量用于记录按键的类型(如按键A、按键B或按键C)。如前所述,若采样信号值为220,该采样信号值在按键B的正常采样信号取值范围内,即在按键B的按键参考值范围内,则将按键B的按键类型变量计数累加一次。
步骤S204,多次采样后,将按键计数最多的按键作为有效按键处理。例如进行了8次采样,其中有1次的采样信号值不在A、B、C按键的按键参考值范围内,有6次采样信号值落入按键B的按键参考值范围内,有1次采样信号值落入按键C的按键参考值范围内,则按键C的按键类型变量计数最多,将按键B作为有效按键处理。
本实用新型的按键消除装置30通过获取按键电路20的信号采样值,并判断该信号采样值是否在预定义的正常采样信号取值范围内,若在该范围内,则将该信号采样值对应的按键类型变量的计数累加一次,最后经过多次采样,通过对比各按键类型变量的计数,将按键类型变量计数最多的按键作为有效按键处理。在按键按下并保持闭合稳定的时间内,出现了读取异常采样信号值的情况,也能通过判断该采样信号值是否在正常采样信号取值范围内来排除该异常采样信号值,即使该异常采样信号值在正常采样信号取值范围内,也能通过多次采样,统计按键的按键类型变量计数,将按键类型变量计数最多的按键作为有效按键处理。借此,本实用新型能消除按键抖动,在按键闭合稳定期内读取非正常按键采样信号值的时也能正确识别按键。
本实用新型的按键被按下的时候,软件开始进行循环读取,每隔一段时间读取一次信号采样值,采用循环方式读取按键电路20信号采样值,在读取信号采样值的间隙执行程序其他功能,而未使用延时方法读取按键电路20的信号采样值,提高了MCU的运行效率。
优选地,在步骤S203中,“若采样信号值在其中一个按键的按键参考值范围内”之后还包括:判断按键状态变量是否处于按键按下标记状态,按键状态变量用于标记键盘处于按键按下状态或按键未按下状态;若按键状态变量标记为按键未按下状态,则将按键状态变量修改标记为按键按下状态,同时按键计时开始。也即,在首次接收到正常采样信号值之前,按键状态变量标记为没有按键按下,在首次收到正常采样信号值时,将按键状态变量修改标记为有按键按下。
优选地,经过步骤S202的判断,若采样信号值不在按键参考值范围内,则再次获取采样信号值,若再次获取的采样信号值不在预设的无按键时采样信号取值范围内(包括再次获取的采样信号值在按键参考值范围内或者不在按键参考值范围内),则作为异常跳变处理;若再次获取的采样信号值在预设的无按键时采样信号取值范围内,且按键状态变量标记为按键按下状态则按键计时结束,同时将按键状态变量修改为按键未按下状态。由按键计时开始至按键计时结束为一次按键的按键过程。也即,若连续两次采集的采样信号值均不在按键参考值范围内,而且第二次采集的采样信号值在无按键时采样信号取值范围内,则说明按键结束。
按键计时开始后,若按键状态变量标记为按键按下状态,且按键计时达到预设的按键长按时间,则执行按键长按操作,也即在按键按下的时间到达预设的按键长按时间前还未接收到按键结束的信息,作为按键长按处理;按键计时结束时,按键计时到达预设的按键短按时间而未到达预设的按键长按时间,则执行按键短按操作,也即从按键计时开始到按键计时结束所统计的时间只到达按键短按时间而未到达按键长按时间,作为按键短按处理。
图4示出了本实用新型的按键抖动消除装置一种实施例的具体实现方法,其流程主要包括以下步骤:
步骤S301,读取键盘电路的ADC值,并保存到变量A中。
在步骤S301之前还包括首先对各个变量进行定义:定义记录键盘电路ADC值的变量A、定义记录一次完整按键过程(包括按键的按下和弹起)的标记变量B1,定义记录按键按下的标记变量B2,定义记录按下按键的按键类型变量K,记录按键时间的变量T,定义记录读取到的所有按键类型数组变量K[10],定义记录读取到的所有按键的按键次数数组变量C[10]。
步骤S302,判断变量A中保存的ADC值是否在预定义的按键ADC值范围内,是则进入步骤S303,否则进入步骤S304。该预定义的按键ADC值范围即为预定义的正常ADC取值范围。
步骤S303,判断变量B2是否标记按键按下,若是则转到步骤S306,否则进入步骤S305。
步骤S304,再次读取键盘电路的ADC值,并进入步骤S314。
步骤S305,标记B2为按键按下状态,B1为未完成按键过程状态,记录当前按键类型,保存到变量K中,设置按键类型数组变量K[0]等于K,按键次数数组变量C[0]增加一次,此时变量T开始计时。
步骤S306,判断按键类型数组变量K[0]保存的类型是否等于当前按下的按键类型K,是则进入步骤S307,否则进入步骤S308。
步骤S307,按键次数数组变量C[0]增加一次,
步骤S308,保存当前按下的按键类型K到按键类型数组变量K[1]中,当前按键类型K对应的按键次数数组变量C[1]增加一次。
步骤S309,判断C[0]是否大于C[1],是则进入步骤S310;若否则进入步骤S311。
步骤S310,置K等于K[0],K有效。K有效则将K作为有效按键处理。
步骤S311,判断C[0]是否小于C[1],是则进入步骤S312;否则说明C[0]等于C[1],并进入步骤S313。
步骤S312,置K等于K[1],K有效。
步骤S313,置K为无效值。
步骤S314,判断再次读取的ADC值是否在预设的无按键时ADC值范围内,是则进入步骤S315,否则回到步骤S301。本步骤主要用于为了判断不在范围的ADC值是异常跳变还是正常按键放开导致。
步骤S315,判断B2是否为按下状态,是则进入步骤S316,否则回到步骤S301。
步骤S316,将B1标记为一次完整的按键过程,并将B2标记为按键未按下状态,变量T结束计时。
步骤S317,判断K是否有效,是则进入步骤S318,否则回到步骤S301。
步骤S318,判断是否满足:B2为按下状态,并且T已经到达了长按状态的时间;或者当B2为未按下状态,T到达了短按状态的时间。是则进入步骤S319,否则回到步骤S301。
步骤S319,执行按键长按或者按键短按处理,并进入步骤S320。
步骤S320,置B1为一次完整按键过程,置B2为未按下状态,置K为无效值,变量T清空。
从上述流程可以看出,按键被按下的时候,开始进行循环读取,每隔一段时间读取一次ADC值,并定义一个变量对读取到的ADC值进行计数,这个计数是通过比对当前读取到的ADC值所对应的按键类型和之前读取的ADC值所对应的按键类型进行判断,如果当前读取ADC值对应的按键类型与之前读取的ADC值对应的按键类型一致,则将该按键的按键类型变量计数次数进行一次累加,否则加入到新的按键类型变量中。当按键被释放的时候,对进行计数的几个变量进行对比,次数最多的那个即为当前按下的正确按键,如果次数都相等,则不进行处理。出现读取异常ADC值的情况,也能通过判断该ADC值是否在正常ADC值取值范围内来排除该异常ADC值,即使该ADC值在正常采样信号取值范围内,也能通过多次采样,统计按键类型变量K的计数次数,将按键类型变量K计数次数最多的按键作为有效按键处理。采用循环方式读取按键电路20的信号采样值,可以在读取信号采样值的间隙执行程序其他功能,而未使用延时方法读取按键电路20信号采样值,提高了MCU的运行效率。
综上所述,本实用新型的键盘包括按键消除装置,按键消除装置通过获取按键电路的信号采样值,并判断该信号采样值是否在预定义的正常采样信号取值范围内,若在该范围内,则将该信号采样值对应的按键类型变量的计数累加一次,最后经过多次采样,通过对比各按键类型变量的计数,将按键类型变量计数最多的按键作为有效按键处理。在按键按下并保持闭合稳定的时间内,出现了读取异常采样信号值的情况,也能通过判断该采样信号值是否在正常采样信号取值范围内来排除该异常采样信号值,即使该异常采样信号值在正常采样信号取值范围内,也能通过多次采样,统计按键的按键类型变量计数,将按键类型变量计数最多的按键作为有效按键处理。同时,本案采用循环方式读取按键电路信号采样值,在读取信号采样值的间隙执行程序其他功能,而未使用延时方法读取按键电路信号采样值,提高了MCU的运行效率。借此,本实用新型能消除按键抖动,在按键闭合稳定期内读取非正常按键采样信号值的时也能正确识别按键,同时能够提高MCU的运行效率。
当然,本实用新型还可有其他多种实施例,在不背离本实用新型精神及其实质的情况下,熟悉本领域的技术人员当可根据本实用新型作出各种相应的改变和变形,但这些相应的改变和变形都应当属于本实用新型所附的权利要求的保护范围。
Claims (2)
1.一种键盘,其特征在于,包括键盘盘体、设于所述键盘盘体表面的按键以及位于键盘盘体内的按键电路,所述键盘还包括位于所述键盘盘体内的按键抖动消除装置,所述按键抖动消除装置与按键电路连接,所述按键抖动消除装置包括:
获取按键电路采样信号的采样电路;
用于将该按键的按键计数次数进行累加的计数器,当所述采样电路获取的采样信号值在其中一个按键的按键参考值范围内,则将该按键的按键计数次数累加一次,所述按键参考值范围为预定义的正常采样信号取值范围,且每个按键分别对应一按键参考值范围;
用于将所述计数器中按键计数次数最多的按键作为有效按键处理的处理器,所述计数器与所述采样电路以及所述处理器分别连接。
2.根据权利要求1所述的键盘,其特征在于,所述采样信号值为ADC值、电压值或电流值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201120426575 CN202404527U (zh) | 2011-10-31 | 2011-10-31 | 一种键盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201120426575 CN202404527U (zh) | 2011-10-31 | 2011-10-31 | 一种键盘 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN202404527U true CN202404527U (zh) | 2012-08-29 |
Family
ID=46702163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201120426575 Expired - Fee Related CN202404527U (zh) | 2011-10-31 | 2011-10-31 | 一种键盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN202404527U (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508552A (zh) * | 2011-10-31 | 2012-06-20 | 深圳市大富科技股份有限公司 | 一种消除按键抖动的方法、装置及键盘 |
CN111238150A (zh) * | 2020-01-16 | 2020-06-05 | 长虹美菱股份有限公司 | 一种基于复合按键的冰箱控制方法 |
-
2011
- 2011-10-31 CN CN 201120426575 patent/CN202404527U/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508552A (zh) * | 2011-10-31 | 2012-06-20 | 深圳市大富科技股份有限公司 | 一种消除按键抖动的方法、装置及键盘 |
CN102508552B (zh) * | 2011-10-31 | 2014-07-30 | 深圳市大富科技股份有限公司 | 一种消除按键抖动的方法、装置及键盘 |
CN111238150A (zh) * | 2020-01-16 | 2020-06-05 | 长虹美菱股份有限公司 | 一种基于复合按键的冰箱控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102508552B (zh) | 一种消除按键抖动的方法、装置及键盘 | |
CN110199247B (zh) | 噪声检测方法及装置、电子设备和计算机可读存储介质 | |
CN201859203U (zh) | 具有模数转换器的单片机或微处理器的按键检测电路 | |
CN104104375B (zh) | 增强电容式触摸按键抗手机干扰的方法及电路 | |
CN102467241B (zh) | 移动终端的键盘及其实现按键和键盘锁定的方法 | |
CN102999291A (zh) | 待机状态下触摸唤醒移动终端的方法 | |
CN202404527U (zh) | 一种键盘 | |
CN109782059B (zh) | 一种准确计量反向有功电能的方法 | |
CN110022155A (zh) | 一种采样阈值随输入信号变化的异步过电平采样模数转换器 | |
CN101063693B (zh) | 无需模数转换器的单片机信号采样装置及其采样方法 | |
CN106707009B (zh) | 一种宽量程高精度电流统计电路 | |
CN213875939U (zh) | 一种按键检测电路 | |
CN110061733A (zh) | 脉冲信号的计数方法、重建方法及芯片 | |
CN101464420A (zh) | 便携式高速多道能谱仪 | |
CN202904029U (zh) | 一种低功耗核信号脉冲幅度分析器 | |
CN115793869B (zh) | 一种按键状态的识别方法及装置 | |
CN206725726U (zh) | 一种大型电机的电压检测装置 | |
CN108195930A (zh) | 一种新型磁记忆移动扫描式声光报警系统 | |
CN212872665U (zh) | 电容变化检测电路 | |
CN106685017A (zh) | 一种充电保护方法及装置 | |
CN108195929A (zh) | 一种新型磁记忆移动扫描式声光报警控制方法 | |
CN204007826U (zh) | 一种新型电子计价秤 | |
CN104601806A (zh) | 设置状态的方法及客户端 | |
CN110163083A (zh) | 用户信息的匹配方法、装置及终端设备 | |
CN204556806U (zh) | 基于磁敏传感器的ic卡识别模块 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120829 Termination date: 20171031 |
|
CF01 | Termination of patent right due to non-payment of annual fee |