CN105486940A - 电子设备的按键检测电路及按键检测方法 - Google Patents
电子设备的按键检测电路及按键检测方法 Download PDFInfo
- Publication number
- CN105486940A CN105486940A CN201410474846.9A CN201410474846A CN105486940A CN 105486940 A CN105486940 A CN 105486940A CN 201410474846 A CN201410474846 A CN 201410474846A CN 105486940 A CN105486940 A CN 105486940A
- Authority
- CN
- China
- Prior art keywords
- button
- adc value
- key
- voltage
- power
- 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.)
- Granted
Links
Landscapes
- Input From Keyboards Or The Like (AREA)
Abstract
本发明公开了一种电子设备的按键检测电路,该按键检测电路包括电源输入端、按键模块和主控制器;主控制器对电源输入端输入的电源电压和按键模块输出的按键电压进行检测,获取实际电源电压和实际按键电压,将检测到的实际电源电压、实际按键电压分别转换为对应的实际电源ADC值和实际按键ADC值,根据实际电源ADC值与标准电源ADC值的比值,以及标准最小按键ADC值和标准最大按键ADC值动态调整按键模块中每一按键对应的电压检测范围,并根据实际按键ADC值和所述电压检测范围检测出被按下的按键。本发明还公开了一种电子设备的按键检测方法。本发明提高了按键检测的精度,能够避免由于误判断和误响应而导致按键功能错位。
Description
技术领域
本发明涉及按键检测技术领域,尤其涉及一种电子设备的按键检测电路及按键检测方法。
背景技术
一般情况下,对于电子设备的按键模块的供电,在不同的使用场合,使用不同的电源供电,从而导致电源提供给按键模块的电源电压有离散性,即按键模块在不同场合其电源电压发生变化,出现偏移,使得按键检测电路检测到的电压存在离散性,从而导致按键功能错误。
为了防止按键功能错位,普遍采用减少按键数量的方式,使得每个按键分得较大的电压范围值,以能够精确检测出实际被按下的按键,避免误判断。例如,电源提供的电源电压为3.3V,按键模块中有5个按键,每个按键对应一个电压检测范围,同时增加一个不按按键时的电压检测范围,从而每个按键分得的电压范围值是3.3V/6=0.55V,即5个按键对应的电压检测范围分别为0~0.55V、0.55~1.1V、1.1~1.65V、1.65~2.2V和2.2~2.75V,不按按键时的电压检测范围为2.75~3.3V。
由上述可知,当按键的数量增加时,每个按键分得的电压范围值变小,每个按键对应的电压检测范围变小,而且由于电源电压存在离散性(一般电源的供电范围是±10%,电源电压偏移范围是-0.33~0.33V),以及由于按键检测电路的处理IC内部的元器件随温度变化、老化等因素而性能发生变化,导致按键检测电路检测到某一按键的实际按键电压可能落在另一按键的电压检测范围,从而容易造成误判断和误响应,导致按键功能错位,因而为确保按键功能精确,按键的数量不能增加过多。
发明内容
本发明的主要目的在于提高按键检测的精度,在按键数量增多时也能够避免由于误判断和误响应而导致按键功能错位。
为了达到上述目的,本发明提供一种电子设备的按键检测电路,所述按键检测电路包括电源输入端、按键模块和主控制器;所述按键模块的输入端与所述电源输入端连接,所述按键模块的输出端与所述主控制器的按键检测端连接,所述主控制器的电源检测端与所述电源输入端连接;
所述主控制器用于对所述电源输入端输入的电源电压和所述按键模块输出的按键电压进行检测,获取实际电源电压和实际按键电压,将所述实际电源电压、所述实际按键电压分别转换为对应的实际电源ADC(Analog-to-DigitalConverter,模拟/数字转换)值和实际按键ADC值,根据所述实际电源ADC值与标准电源ADC值的比值,以及标准最小按键ADC值和标准最大按键ADC值动态调整所述按键模块中每一按键对应的电压检测范围,并根据所述实际按键ADC值和所述电压检测范围检测出被按下的按键。
优选地,所述主控制器包括:模数转换单元,用于对所述实际电源电压进行AD转换(即模数转换),将所述实际电源电压转换相应数字量的实际电源ADC值,并对所述实际按键电压进行AD转换,将所述实际按键电压转换为相应数字量的实际按键ADC值;
微控制器,用于读取所述实际电源ADC值,根据所述实际电源ADC值和标准电源ADC值的比值,获取电源偏移量,并根据每一按键的标准最小按键ADC值和所述电源偏移量,获取每一按键的实际最小按键ADC值,根据每一按键的标准最大按键ADC值和所述电源偏移量,获取每一按键的实际最大按键ADC值,根据每一按键的实际最小按键ADC值和实际最大按键ADC值确定每一按键的电压检测范围;读取所述实际按键ADC值,当所述实际按键ADC值位于某一按键的实际最小按键ADC值和标准最大按键ADC值之间时,确定该按键被按下。
优选地,所述模数转换单元包括第一分压电阻、第二分压电阻、第三分压电阻、第四分压电阻、第一比较器、第二比较器、第一基准电压输入端和第二基准电压输入端;
所述第一分压电阻的一端作为所述主控制器的电源检测端,与所述电源输入端连接,所述第一分压电阻的另一端经由所述第二分压电阻接地;所述第一比较器的同相输入端与所述第一分压电阻和第二分压电阻的公共端连接,所述第一比较器的反相输入端与所述第一基准电压输入端连接,所述第一比较器的输出端与所述微控制器的第一检测端连接;
所述第三分压电阻的一端作为所述主控制器的按键检测端,与所述按键模块的输出端连接,所述第三分压电阻的另一端经由所述第四分压电阻接地;所述第二比较器的同相输入端与所述第三分压电阻和第四分压电阻的公共端连接,所述第二比较器的反相输入端与所述第二基准电压输入端连接,所述第二比较器的输出端与所述微控制器的第二检测端连接。
优选地,所述按键模块包括上拉电阻和至少一按键单元,每一所述按键单元包括一按键和检测电阻;
所述上拉电阻的第一端与所述电源输入端连接,所述上拉电阻的第二端与所述检测电阻的第一端连接,所述检测电阻的第二端与所述按键的第一端连接,所述按键的第二端接地,所述上拉电阻和所述检测电阻的公共端与所述主控制器的按键检测端连接。
优选地,每一所述按键单元还包括第一静电防护器件和第二静电防护器件;所述第一静电防护器件与所述检测电阻并联,所述第二静电防护器件与所述按键并联。
优选地,所述按键模块还包括限流电阻,所述限流电阻的一端与所述上拉电阻和所述检测电阻的公共端连接,所述限流电阻的另一端与所述主控制器的按键检测端连接。
优选地,所述按键检测电路还包括用于滤除所述电源输入端输入的电源电压中的浪涌电压和静电电压的电源滤波模块;所述电源滤波模块的输入端与所述电源输入端连接,所述电源滤波模块的输出端与所述主控制器的电源检测端连接。
优选地,所述电源滤波模块包括磁珠、第一滤波电容和第二滤波电容;
所述磁珠的第一端与所述电源输入端连接,所述磁珠的第二端与所述主控制器的电源检测端连接;所述第一滤波电容的一端与所述磁珠的第二端连接,且与所述主控制器的电源检测端连接,所述第一滤波电容的另一端接地,所述第二滤波电容与所述第一滤波电容并联。
此外,为了达到上述目的,本发明还提供一种电子设备的按键检测方法,所述键检测方法包括以下步骤:
主控制器对电源输入端输入的电源电压和按键模块输出的按键电压进行检测,获取实际电源电压和实际按键电压;
将所述实际电源电压、所述实际按键电压分别转换为对应的实际电源ADC值和实际按键ADC值,根据所述实际电源ADC值与标准电源ADC值的比值,以及标准最小按键ADC值和标准最大按键ADC值动态调整按键模块中每一按键对应的电压检测范围;
根据所述实际按键ADC值和所述电压检测范围检测出被按下的按键。
优选地,所述根据将所述实际电源电压、所述实际按键电压分别转换为对应的实际电源ADC值和实际按键ADC值,根据所述实际电源ADC值与标准电源ADC值的比值,以及标准最小按键ADC值和标准最大按键ADC值动态调整所述按键模块中每一按键对应的电压检测范围,并根据所述实际按键ADC值和所述电压检测范围检测出被按下的按键具体为:
对所述实际电源电压进行AD转换,将所述实际电源电压转换相应数字量的实际电源ADC值,并对所述实际按键电压进行AD转换,将所述实际按键电压转换为相应数字量的实际按键ADC值;
读取所述实际电源ADC值,根据所述实际电源ADC值和标准电源ADC值的比值,获取电源偏移量,并根据每一按键的标准最小按键ADC值和所述电源偏移量,获取每一按键的实际最小按键ADC值,根据每一按键的标准最大按键ADC值和所述电源偏移量,获取每一按键的实际最大按键ADC值,根据每一按键的实际最小按键ADC值和实际最大按键ADC值确定每一按键的电压检测范围;读取所述实际按键ADC值,当所述实际按键ADC值位于某一按键的实际最小按键ADC值和标准最大按键ADC值之间时,确定该按键被按下。
本发明提供的电子设备的按键检测电路及按键检测方法,通过主控制器对电源输入端输入的电源电压和按键模块输出的按键电压进行检测,获取实际电源电压和实际按键电压,将检测到的实际电源电压、实际按键电压分别转换为对应的实际电源ADC值和实际按键ADC值,根据实际电源ADC值与标准电源ADC值的比值,以及标准最小按键ADC值和标准最大按键ADC值动态调整按键模块中每一按键对应的电压检测范围,并根据实际按键ADC值和所述电压检测范围检测出被按下的按键。从而在电源输入端输入的电源电压出现偏移或者主控制器的内部器件自身因素而使得主控制器检测到的实际电源电压与标准电源电压存在偏差时,主控制器根据检测到的实际电源电压重新给每一按键设置对应的电压检测范围,从而当主控制器检测到的实际按键电压位于某一按键的电压检测范围,主控制器确定该按键被按下,而不受其它按键的电压检测范围的影响导致误判断,从而能够提高按键检测的精度,而且由于主控制器能够动态调整每一按键设置对应的电压检测范围,因此在按键数量增多时也能够准确判断是哪一个按键被按下,并正确相应被按下的按键,从而能够避免由于误判断和误响应而导致按键功能错位。
附图说明
图1为本发明电子设备的键检测电路较佳实施例的电路结构示意图;
图2为图1中主控制器内部的电路结构示意图;
图3为本发明电子设备的键检测方法较佳实施例的流程示意图。
本发明的目的、功能特点及优点的实现,将结合实施例,并参照附图作进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种电子设备的键检测电路。
参照图1,图1为本发明电子设备的键检测电路较佳实施例的电路结构示意图。
本发明较佳实施例中,所述按键检测电路包括电源输入端VIN、按键模块10和主控制器20;所述按键模块10的输入端与所述电源输入端VIN连接,所述按键模块10的输出端与所述主控制器20的按键检测端DET2连接,所述主控制器20的电源检测端DET1与所述电源输入端VIN连接。
所述主控制器20用于对所述电源输入端VIN输入的电源电压和所述按键模块10输出的按键电压进行检测,获取实际电源电压和实际按键电压,将所述实际电源电压、所述实际按键电压分别转换为对应的实际电源ADC值和实际按键ADC值,根据所述实际电源ADC值与标准电源ADC值的比值,以及标准最小按键ADC值和标准最大按键ADC值动态调整所述按键模块10中每一按键对应的电压检测范围,并根据所述实际按键ADC值和所述电压检测范围检测出被按下的按键。
需要说明的是,标准电源ADC值是根据标准电源电压为3.3V时所计算得的ADC值,假设ADC值采用8位二进制值表示,以3.3V为最大值,则3.3V对应的ADC值为255,该标准电源ADC值被预置于微控制器22中;标准最小按键ADC值和标准最大按键ADC值是根据上拉电阻RD1和检测电阻的阻值,以及标准电源电压为3.3V时所计算得的每一按键的电压检测范围中最小值与最大值对应的ADC值。
在本实施例中,电源输入端VIN用于输入外部电源提供的电源电压VCC,例如,预设的标准电源电压为3.3V,本领域技术人员应当知晓,电源供电时其电源电压VCC存在±10%的偏移,即对于3.3V的电源电压,电源电压偏移范围是-0.33~0.33V,从而主控制器20对电源输入端VIN输入的电源电压进行检测时,检测到的实际电源电压不一定是标准电源电压3.3V,可能是2.97~3.63V中任意一个电压值。当按键模块10中无按键被按下或有按键被按下时,按键模块10均输出一按键电压,主控制器20对按键模块10输出的按键电压进行检测,获取实际按键电压。
主控制器20将检测到的实际电源电压、实际按键电压分别转换为对应的实际电源ADC值和实际按键ADC值,根据实际电源ADC值与标准电源ADC值的比值,以及标准最小按键ADC值和标准最大按键ADC值动态调整按键模块10中每一按键对应的电压检测范围,并根据实际按键ADC值和所述电压检测范围检测出被按下的按键。从而在电源输入端VIN输入的电源电压出现偏移或者主控制器20的内部器件自身因素而使得主控制器20检测到的实际电源电压与标准电源电压存在偏差时,主控制器20根据检测到的实际电源电压重新给每一按键设置对应的电压检测范围,从而主控制器20可以根据检测到的实际按键电压和重新调整的电压检测范围检测出被按下的按键,即当主控制器20检测到的实际按键电压位于某一按键的电压检测范围,主控制器20确定该按键被按下,而不受其它按键的电压检测范围的影响导致误判断,从而能够提高按键检测的精度,而且由于主控制器20能够动态调整每一按键设置对应的电压检测范围,因此在按键数量增多时也能够准确判断是哪一个按键被按下,并正确相应被按下的按键,从而能够避免由于误判断和误响应而导致按键功能错位。
再参照图2,图2为图1中主控制器20内部的电路结构示意图。
如图2所示,所述主控制器20包括模数转换单元21和微控制器22。
其中,模数转换单元21用于对所述实际电源电压进行AD转换,将所述实际电源电压转换相应数字量的实际电源ADC值,并对所述实际按键电压进行AD转换,将所述实际按键电压转换为相应数字量的实际按键ADC值。
微控制器22用于读取所述实际电源ADC值,根据所述实际电源ADC值和标准电源ADC值的比值,获取电源偏移量,并根据每一按键的标准最小按键ADC值和所述电源偏移量,获取每一按键的实际最小按键ADC值,根据每一按键的标准最大按键ADC值和所述电源偏移量,获取每一按键的实际最大按键ADC值,根据每一按键的实际最小按键ADC值和实际最大按键ADC值确定每一按键的电压检测范围;读取所述实际按键ADC值,当所述实际按键ADC值位于某一按键的实际最小按键ADC值和标准最大按键ADC值之间时,确定该按键被按下。
微控制器22根据所述实际电源ADC值和标准电源ADC值的比值,获取电源偏移量的过程具体为:微控制器22将所述实际电源ADC值与标准电源ADC值作除法运算,其中,实际电源ADC值作为除数,标准电源ADC值作为被除数,将实际电源ADC值与标准电源ADC值的比值作为电源偏移量。例如,实际电源ADC值记为VCC1,标准电源ADC值记为VCC2,电源偏移量记为Offset,则Offset=VCC1/VCC2。
微控制器22根据每一按键的标准最小按键ADC值和所述电源偏移量,获取每一按键的实际最小按键ADC值,根据每一按键的标准最大按键ADC值和所述电源偏移量,获取每一按键的实际最大按键ADC值的过程具体为:微控制器22将每一按键的标准最小按键ADC值与所述电源偏移量作乘法运算,将每一按键的标准最小按键ADC值与电源偏移量的乘积作为每一按键的实际最小按键ADC值;微控制器22将每一按键的标准最大按键ADC值与所述电源偏移量作乘法运算,将每一按键的标准最大按键ADC值与电源偏移量的乘积作为每一按键的实际最大按键ADC值。
例如,第n按键的标准最小按键ADC值记为StandardMIN_Keyn,第n按键的实际最小按键ADC值记为ActualMIN_Keyn,第n按键的标准最大按键ADC值记为StandardMAX_Keyn,第n按键的实际最大按键ADC值记为ActualMAX_Keyn,则ActualMIN_Keyn=StandardMIN_Keyn*Offset,ActualMAX_Keyn=StandardMAX_Keyn*Offset,其中,n为大于或等于1的正整数。
将第n按键的实际最小按键ADC值ActualMIN_Keyn转换为第n按键的相应的实际最小按键电压VMIN_Keyn,将第n按键的实际最大按键ADC值ActualMAX_Keyn转换为第n按键的相应的实际最大按键电压VMAX_Keyn,从而,第n按键的电压检测范围是VMIN_Keyn~VMAX_Keyn,因此当主控制器20中微控制器22检测到第n按键的实际按键电压位于VMIN_Keyn~VMAX_Keyn之间时,微控制器22确定是该第n按键被按下;当微控制器22检测到实际按键电压没有位于VMIN_Keyn~VMAX_Keyn之间时,微控制器22检测出没有按键被按下。
具体地,如图2所示,所述模数转换单元21包括第一分压电阻RS1、第二分压电阻RS2、第三分压电阻RS3、第四分压电阻RS4、第一比较器U1、第二比较器U2、第一基准电压输入端Vref1和第二基准电压输入端Vref2。
所述第一分压电阻RS1的一端作为所述主控制器20的电源检测端DET1,与所述电源输入端VIN连接,所述第一分压电阻RS1的另一端经由所述第二分压电阻RS2接地;所述第一比较器U1的同相输入端与所述第一分压电阻RS1和第二分压电阻RS2的公共端连接,所述第一比较器U1的反相输入端与所述第一基准电压输入端Vref1连接,所述第一比较器U1的输出端与所述微控制器22的第一检测端ADC1连接。
所述第三分压电阻RS3的一端作为所述主控制器20的按键检测端DET2,与所述按键模块10的输出端连接,所述第三分压电阻RS3的另一端经由所述第四分压电阻RS4接地;所述第二比较器U2的同相输入端与所述第三分压电阻RS3和第四分压电阻RS4的公共端连接,所述第二比较器U2的反相输入端与所述第二基准电压输入端Vref2连接,所述第二比较器U2的输出端与所述微控制器22的第二检测端ADC2连接。
如图1所示,所述按键模块10包括上拉电阻RD1和至少一按键单元,每一所述按键单元包括一按键和检测电阻。按键模块10可以包括n个按键单元,n为大于或等于1的正整数,如图1中,示出了第一按键单元包括按键K1和检测电阻RK1,第二按键单元包括按键K2和检测电阻RK2,第三按键单元包括按键K3和检测电阻RK3,……,第n按键单元包括按键Kn和检测电阻RKn。
所述上拉电阻RD1的第一端与所述电源输入端VIN连接,所述上拉电阻RD1的第二端与所述检测电阻的第一端连接,所述检测电阻的第二端与所述按键的第一端连接,所述按键的第二端接地,所述上拉电阻RD1和所述检测电阻的公共端与所述主控制器20的按键检测端DET2连接。
具体地,每一所述按键单元还包括第一静电防护器件和第二静电防护器件;所述第一静电防护器件与所述检测电阻并联,所述第二静电防护器件与所述按键并联。如图1中,示出了第一按键单元包括第一静电防护器件F11和第二静电防护器件F12,第二按键单元包括第一静电防护器件F21和第二静电防护器件F22,第三按键单元包括第一静电防护器件F31和第二静电防护器件F32,……,第n按键单元包括第一静电防护器件Fn1和第二静电防护器件Fn2。
每个按键单元中的第一防静电器件和第二防静电器件是放静电点,能够抑制静电的产生,加速静电泄漏,起到静电防护作用。
具体地,所述按键模块10还包括限流电阻RE1,所述限流电阻RE1的一端与所述上拉电阻RD1和所述检测电阻的公共端连接,所述限流电阻RE1的另一端与所述主控制器20的按键检测端DET2连接。
限流电阻RE1对上拉电阻RD1和所述检测电阻的公共端输出的按键电压进行限流,同时限流电阻RE1也起到静电防护作用,使得能够输出稳定的按键电压至主控制器20的按键检测端DET2,能够提高主控制器20的检测精度。
如图1所示,所述按键检测电路还包括电源滤波模块30,电源滤波模块30用于滤除所述电源输入端VIN输入的电源电压中的浪涌电压和静电电压;所述电源滤波模块30的输入端与所述电源输入端VIN连接,所述电源滤波模块30的输出端与所述主控制器20的电源检测端DET1连接。电源滤波模块30滤除电源输入端VIN输入的电源电压中的浪涌电压和静电电压,使得能够输出稳定的电源电压至主控制器20的电源检测端DET1,能够提高主控制器20的检测精度。
具体地,所述电源滤波模块30包括磁珠LP1、第一滤波电容C1和第二滤波电容C2;
所述磁珠LP1的第一端与所述电源输入端VIN连接,所述磁珠LP1的第二端与所述主控制器20的电源检测端DET1连接;所述第一滤波电容C1的一端与所述磁珠LP1的第二端连接,且与所述主控制器20的电源检测端DET1连接,所述第一滤波电容C1的另一端接地,所述第二滤波电容C2与所述第一滤波电容C1并联。
基于图1,本发明电子设备的按键检测电路的工作原理如下:
电源输入端VIN输入的实际电源电压经过磁珠LP1、第一滤波电容C1和第二滤波电容C2进行滤波,滤除电源电压中的浪涌电压和静电电压后,实际电源电压被输出至主控制器20的电源检测端DET1,主控制器20的电源检测端DET1接收到的实际电源电压经过第一分压电阻RS1和第二分压电阻RS2进行分压后,输出至第一比较器U1的同相输入端,同时第一基准电压输入端Vref1输入的基准电压输入到第一比较器U1的反相输入端,实际电源电压经过第一比较器U1处理后,从第一比较器U1的输出端输出与实际电源电压对应的实际电源ADC值,并将该实际电源ADC值输出至微控制器22的第一检测端ADC1,微控制器22根据该实际电源ADC值能够检测出电源输入端VIN输入的实际电源电压。
从而当该实际电源ADC值与微控制器22预置的标准电源ADC值存在偏差时,微控制器22可以根据该实际电源电压对每一按键的电压检测范围进行调整。
同理,当按键模块10中有按键被按下时,上拉电阻RD1、检测电阻和被按下的按键对地形成通路,此时按键模块10输出的按键电压为上拉电阻RD1和检测电阻对电源输入端VIN输入的实际电源电压进行分压所得的实际按键电压,按键模块10输出的实际按键电压被输出至主控制器20的按键检测端DET2;当按键模块10中没有按键被按下时,由于上拉电阻RD1的上拉作用,此时按键模块10输出至主控制器20的按键检测端DET2的实际按键电压为电源输入端VIN输入的实际电源电压。
主控制器20的按键检测端DET2接收到的实际按键电压经过第三分压电阻RS3和第四分压电阻RS4进行分压后,输出至第二比较器U2的同相输入端,同时第二基准电压输入端Vref2输入的基准电压输入到第二比较器U2的反相输入端,实际按键电压经过第二比较器U2处理后,从第二比较器U2的输出端输出与实际按键电压对应的实际按键ADC值,并将该实际按键电压输出至微控制器22的第二检测端ADC2,微控制器22根据该实际按键电压能够检测出按键模块10输出的实际按键电压。从而微控制器22可以根据该实际按键电压,查找该实际按键电压是否落在某一按键对应的电压检测范围内。
例如,按键K1被按下时,上拉电阻RD1、检测电阻RK1和按键K1对地形成通路,此时上拉电阻RD1和检测电阻RK1对实际电源电压VCC分压所得的实际按键电压,即按键K1对应的实际按键电压Vkey=VCC*RK1/(RD1+RK1),其中,RD1为上拉电阻RD1的阻值,RK1为检测电阻RK1的阻值。根据上述微控制器22根据电源输入端VIN输入的实际电源电压所分配的第n按键的电压检测范围是VMIN_Keyn~VMAX_Keyn可知,假设按键K1的电压检测范围是VMIN_Key1~VMAX_Key1,从而当VMIN_Key1≤Vkey≤VMAX_Key1,微控制器22检测出此时按键K1被按下。检测按键K2~Kn被按下的手段参照上述对按键K1的检测方法,此处不再一一列举。当微控制器22检测到的实际按键电压Vkey没有落在按键K1~Kn对应的电压检测范围内,则检测出此时没有按键被按下。
本发明还提供一种电子设备的按键检测方法。
参照图3,图3为本发明电子设备的键检测方法较佳实施例的流程示意图。
如图3所示,所述键检测方法包括以下步骤:
步骤S10:主控制器对电源输入端输入的电源电压和按键模块输出的按键电压进行检测,获取实际电源电压和实际按键电压;
步骤S20:将所述实际电源电压、所述实际按键电压分别转换为对应的实际电源ADC值和实际按键ADC值,根据所述实际电源ADC值与标准电源ADC值的比值,以及标准最小按键ADC值和标准最大按键ADC值动态调整按键模块中每一按键对应的电压检测范围;
步骤S30:根据所述实际按键ADC值和所述电压检测范围检测出被按下的按键。
需要说明的是,标准电源ADC值是根据标准电源电压为3.3V时所计算得的ADC值,假设ADC值采用8位二进制值表示,以3.3V为最大值,则3.3V对应的ADC值为255,该标准电源ADC值被预置于微控制器中;标准最小按键ADC值和标准最大按键ADC值是根据上拉电阻和检测电阻的阻值,以及标准电源电压为3.3V时所计算得的每一按键的电压检测范围中最小值与最大值对应的ADC值。
在本实施例中,预设的标准电源电压为3.3V,本领域技术人员应当知晓,电源供电时其电源电压存在±10%的偏移,即对于3.3V的电源电压,电源电压偏移范围是-0.33~0.33V,从而主控制器对电源输入端输入的电源电压进行检测时,检测到的实际电源电压不一定是标准电源电压3.3V,可能是2.97~3.63V中任意一个电压值。当按键模块中无按键被按下或有按键被按下时,按键模块均输出一按键电压,主控制器对按键模块输出的按键电压进行检测,获取实际按键电压。
主控制器将检测到的实际电源电压、实际按键电压分别转换为对应的实际电源ADC值和实际按键ADC值,根据实际电源ADC值与标准电源ADC值的比值,以及标准最小按键ADC值和标准最大按键ADC值动态调整按键模块中每一按键对应的电压检测范围,并根据实际按键ADC值和所述电压检测范围检测出被按下的按键。从而在电源输入端输入的电源电压出现偏移或者主控制器的内部器件自身因素而使得主控制器检测到的实际电源电压与标准电源电压存在偏差时,主控制器根据检测到的实际电源电压重新给每一按键设置对应的电压检测范围,从而主控制器可以根据检测到的实际按键电压和重新调整的电压检测范围检测出被按下的按键,即当主控制器检测到的实际按键电压位于某一按键的电压检测范围,主控制器确定该按键被按下,而不受其它按键的电压检测范围的影响导致误判断,从而能够提高按键检测的精度,而且由于主控制器能够动态调整每一按键设置对应的电压检测范围,因此在按键数量增多时也能够准确判断是哪一个按键被按下,并正确相应被按下的按键,从而能够避免由于误判断和误响应而导致按键功能错位。
具体地,步骤S20具体为:
对所述实际电源电压进行AD转换,将所述实际电源电压转换相应数字量的实际电源ADC值的比值,并对所述实际按键电压进行AD转换,将所述实际按键电压转换为相应数字量的实际按键ADC值;
读取所述实际电源ADC值,根据所述实际电源ADC值和标准电源ADC值的比值,获取电源偏移量,并根据每一按键的标准最小按键ADC值和所述电源偏移量,获取每一按键的实际最小按键ADC值,根据每一按键的标准最大按键ADC值和所述电源偏移量,获取每一按键的实际最大按键ADC值,根据每一按键的实际最小按键ADC值和实际最大按键ADC值确定每一按键的电压检测范围。
步骤S30具体为:
微控制器读取所述实际按键ADC值,当所述实际按键ADC值位于某一按键的实际最小按键ADC值和标准最大按键ADC值之间时,确定该按键被按下。
微控制器根据所述实际电源ADC值和标准电源ADC值的比值,获取电源偏移量的过程具体为:微控制器将所述实际电源ADC值与标准电源ADC值作除法运算,其中,实际电源ADC值作为除数,标准电源ADC值作为被除数,将实际电源ADC值与标准电源ADC值的比值作为电源偏移量。例如,实际电源ADC值记为VCC1,标准电源ADC值记为VCC2,电源偏移量记为Offset,则Offset=VCC1/VCC2。
微控制器根据每一按键的标准最小按键ADC值和所述电源偏移量,获取每一按键的实际最小按键ADC值,根据每一按键的标准最大按键ADC值和所述电源偏移量,获取每一按键的实际最大按键ADC值的过程具体为:微控制器将每一按键的标准最小按键ADC值与所述电源偏移量作乘法运算,将每一按键的标准最小按键ADC值与电源偏移量的乘积作为每一按键的实际最小按键ADC值;微控制器将每一按键的标准最大按键ADC值与所述电源偏移量作乘法运算,将每一按键的标准最大按键ADC值与电源偏移量的乘积作为每一按键的实际最大按键ADC值。例如,第n按键的标准最小按键ADC值记为StandardMIN_Keyn,第n按键的实际最小按键ADC值记为ActualMIN_Keyn,第n按键的标准最大按键ADC值记为StandardMAX_Keyn,第n按键的实际最大按键ADC值记为ActualMAX_Keyn,则ActualMIN_Keyn=StandardMIN_Keyn*Offset,ActualMAX_Keyn=StandardMAX_Keyn*Offset,其中,n为大于或等于1的正整数。
将第n按键的实际最小按键ADC值ActualMIN_Keyn转换为第n按键的相应的实际最小按键电压VMIN_Keyn,将第n按键的实际最大按键ADC值ActualMAX_Keyn转换为第n按键的相应的实际最大按键电压VMAX_Keyn,从而,第n按键的电压检测范围是VMIN_Keyn~VMAX_Keyn,因此当主控制器中微控制器检测到第n按键的实际按键电压位于VMIN_Keyn~VMAX_Keyn之间时,微控制器确定是该第n按键被按下;当微控制器检测到实际按键电压没有位于VMIN_Keyn~VMAX_Keyn之间时,微控制器检测出没有按键被按下。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种电子设备的按键检测电路,其特征在于,所述按键检测电路包括电源输入端、按键模块和主控制器;所述按键模块的输入端与所述电源输入端连接,所述按键模块的输出端与所述主控制器的按键检测端连接,所述主控制器的电源检测端与所述电源输入端连接;
所述主控制器用于对所述电源输入端输入的电源电压和所述按键模块输出的按键电压进行检测,获取实际电源电压和实际按键电压,将所述实际电源电压、所述实际按键电压分别转换为对应的实际电源ADC值和实际按键ADC值,根据所述实际电源ADC值与标准电源ADC值的比值,以及标准最小按键ADC值和标准最大按键ADC值动态调整所述按键模块中每一按键对应的电压检测范围,并根据所述实际按键ADC值和所述电压检测范围检测出被按下的按键。
2.如权利要求1所述的按键检测电路,其特征在于,所述主控制器包括:
模数转换单元,用于对所述实际电源电压进行AD转换,将所述实际电源电压转换相应数字量的实际电源ADC值,并对所述实际按键电压进行AD转换,将所述实际按键电压转换为相应数字量的实际按键ADC值;
微控制器,用于读取所述实际电源ADC值,根据所述实际电源ADC值和标准电源ADC值的比值,获取电源偏移量,并根据每一按键的标准最小按键ADC值和所述电源偏移量,获取每一按键的实际最小按键ADC值,根据每一按键的标准最大按键ADC值和所述电源偏移量,获取每一按键的实际最大按键ADC值,根据每一按键的实际最小按键ADC值和实际最大按键ADC值确定每一按键的电压检测范围;读取所述实际按键ADC值,当所述实际按键ADC值位于某一按键的实际最小按键ADC值和标准最大按键ADC值之间时,确定该按键被按下。
3.如权利要求2所述的按键检测电路,其特征在于,所述模数转换单元包括第一分压电阻、第二分压电阻、第三分压电阻、第四分压电阻、第一比较器、第二比较器、第一基准电压输入端和第二基准电压输入端;
所述第一分压电阻的一端作为所述主控制器的电源检测端,与所述电源输入端连接,所述第一分压电阻的另一端经由所述第二分压电阻接地;
所述第一比较器的同相输入端与所述第一分压电阻和第二分压电阻的公共端连接,所述第一比较器的反相输入端与所述第一基准电压输入端连接,所述第一比较器的输出端与所述微控制器的第一检测端连接;
所述第三分压电阻的一端作为所述主控制器的按键检测端,与所述按键模块的输出端连接,所述第三分压电阻的另一端经由所述第四分压电阻接地;所述第二比较器的同相输入端与所述第三分压电阻和第四分压电阻的公共端连接,所述第二比较器的反相输入端与所述第二基准电压输入端连接,所述第二比较器的输出端与所述微控制器的第二检测端连接。
4.如权利要求1所述的按键检测电路,其特征在于,所述按键模块包括上拉电阻和至少一按键单元,每一所述按键单元包括一按键和检测电阻;
所述上拉电阻的第一端与所述电源输入端连接,所述上拉电阻的第二端与所述检测电阻的第一端连接,所述检测电阻的第二端与所述按键的第一端连接,所述按键的第二端接地,所述上拉电阻和所述检测电阻的公共端与所述主控制器的按键检测端连接。
5.如权利要求4所述的按键检测电路,其特征在于,每一所述按键单元还包括第一静电防护器件和第二静电防护器件;所述第一静电防护器件与所述检测电阻并联,所述第二静电防护器件与所述按键并联。
6.如权利要求4所述的按键检测电路,其特征在于,所述按键模块还包括限流电阻,所述限流电阻的一端与所述上拉电阻和所述检测电阻的公共端连接,所述限流电阻的另一端与所述主控制器的按键检测端连接。
7.如权利要求1所述的按键检测电路,其特征在于,所述按键检测电路还包括用于滤除所述电源输入端输入的电源电压中的浪涌电压和静电电压的电源滤波模块;所述电源滤波模块的输入端与所述电源输入端连接,所述电源滤波模块的输出端与所述主控制器的电源检测端连接。
8.如权利要求7所述的按键检测电路,其特征在于,所述电源滤波模块包括磁珠、第一滤波电容和第二滤波电容;
所述磁珠的第一端与所述电源输入端连接,所述磁珠的第二端与所述主控制器的电源检测端连接;所述第一滤波电容的一端与所述磁珠的第二端连接,且与所述主控制器的电源检测端连接,所述第一滤波电容的另一端接地,所述第二滤波电容与所述第一滤波电容并联。
9.一种基于权利要求1至8中任意一项所述的按键检测电路的按键检测方法,其特征在于,所述键检测方法包括以下步骤:
主控制器对电源输入端输入的电源电压和按键模块输出的按键电压进行检测,获取实际电源电压和实际按键电压;
将所述实际电源电压、所述实际按键电压分别转换为对应的实际电源ADC值和实际按键ADC值,根据所述实际电源ADC值与标准电源ADC值的比值,以及标准最小按键ADC值和标准最大按键ADC值动态调整按键模块中每一按键对应的电压检测范围;
根据所述实际按键ADC值和所述电压检测范围检测出被按下的按键。
10.如权利要求9所述的按键检测方法,其特征在于,所述将所述实际电源电压、所述实际按键电压分别转换为对应的实际电源ADC值和实际按键ADC值,根据所述实际电源ADC值与标准电源ADC值的比值,以及标准最小按键ADC值和标准最大按键ADC值动态调整所述按键模块中每一按键对应的电压检测范围,并根据所述实际按键ADC值和所述电压检测范围检测出被按下的按键步骤具体为:
对所述实际电源电压进行AD转换,将所述实际电源电压转换相应数字量的实际电源ADC值,并对所述实际按键电压进行AD转换,将所述实际按键电压转换为相应数字量的实际按键ADC值;
读取所述实际电源ADC值,根据所述实际电源ADC值和标准电源ADC值的比值,获取电源偏移量,并根据每一按键的标准最小按键ADC值和所述电源偏移量,获取每一按键的实际最小按键ADC值,根据每一按键的标准最大按键ADC值和所述电源偏移量,获取每一按键的实际最大按键ADC值,根据每一按键的实际最小按键ADC值和实际最大按键ADC值确定每一按键的电压检测范围;读取所述实际按键ADC值,当所述实际按键ADC值位于某一按键的实际最小按键ADC值和标准最大按键ADC值之间时,确定该按键被按下。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410474846.9A CN105486940B (zh) | 2014-09-17 | 2014-09-17 | 电子设备的按键检测电路及按键检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410474846.9A CN105486940B (zh) | 2014-09-17 | 2014-09-17 | 电子设备的按键检测电路及按键检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105486940A true CN105486940A (zh) | 2016-04-13 |
CN105486940B CN105486940B (zh) | 2018-07-13 |
Family
ID=55674054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410474846.9A Active CN105486940B (zh) | 2014-09-17 | 2014-09-17 | 电子设备的按键检测电路及按键检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105486940B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106211228A (zh) * | 2016-09-07 | 2016-12-07 | 广东欧珀移动通信有限公司 | 通信模块异常检测方法及装置、移动终端 |
CN107482900A (zh) * | 2017-10-12 | 2017-12-15 | 珠海格力节能环保制冷技术研究中心有限公司 | 一种改善直流无刷电机emc的电路及使用该电路的风机 |
CN108563294A (zh) * | 2018-04-02 | 2018-09-21 | 郑州云海信息技术有限公司 | 一种id按键多用的服务器管理系统 |
CN112925220A (zh) * | 2021-02-04 | 2021-06-08 | 厦门狄耐克智能科技股份有限公司 | 一种无线智能面板及其多功能配置方法 |
US20230038599A1 (en) * | 2021-08-03 | 2023-02-09 | Potens Semiconductor Corp. | Electromagnetic interference regulator by use of capacitive parameters of field-effect transistor |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201477190U (zh) * | 2009-08-22 | 2010-05-19 | 福建捷联电子有限公司 | 按键电路板测试装置 |
CN101795139A (zh) * | 2010-01-27 | 2010-08-04 | 中山市嘉科电子有限公司 | 一种按键检测方法及按键检测电路 |
CN201622325U (zh) * | 2010-03-23 | 2010-11-03 | 青岛海信电器股份有限公司 | 按键测试装置以及电视机测试系统 |
CN201859203U (zh) * | 2010-11-03 | 2011-06-08 | 中航华东光电有限公司 | 具有模数转换器的单片机或微处理器的按键检测电路 |
US20110254556A1 (en) * | 2010-04-19 | 2011-10-20 | Hon Hai Precision Industry Co., Ltd. | Switch testing circuit |
US20130275632A1 (en) * | 2012-04-16 | 2013-10-17 | Hon Hai Precision Industry Co., Ltd. | Key detection circuit |
-
2014
- 2014-09-17 CN CN201410474846.9A patent/CN105486940B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201477190U (zh) * | 2009-08-22 | 2010-05-19 | 福建捷联电子有限公司 | 按键电路板测试装置 |
CN101795139A (zh) * | 2010-01-27 | 2010-08-04 | 中山市嘉科电子有限公司 | 一种按键检测方法及按键检测电路 |
CN201622325U (zh) * | 2010-03-23 | 2010-11-03 | 青岛海信电器股份有限公司 | 按键测试装置以及电视机测试系统 |
US20110254556A1 (en) * | 2010-04-19 | 2011-10-20 | Hon Hai Precision Industry Co., Ltd. | Switch testing circuit |
CN201859203U (zh) * | 2010-11-03 | 2011-06-08 | 中航华东光电有限公司 | 具有模数转换器的单片机或微处理器的按键检测电路 |
US20130275632A1 (en) * | 2012-04-16 | 2013-10-17 | Hon Hai Precision Industry Co., Ltd. | Key detection circuit |
Non-Patent Citations (1)
Title |
---|
王赟: "电容式触摸按键动态自适应的校正方法", 《电子世界》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106211228A (zh) * | 2016-09-07 | 2016-12-07 | 广东欧珀移动通信有限公司 | 通信模块异常检测方法及装置、移动终端 |
CN107482900A (zh) * | 2017-10-12 | 2017-12-15 | 珠海格力节能环保制冷技术研究中心有限公司 | 一种改善直流无刷电机emc的电路及使用该电路的风机 |
CN108563294A (zh) * | 2018-04-02 | 2018-09-21 | 郑州云海信息技术有限公司 | 一种id按键多用的服务器管理系统 |
CN112925220A (zh) * | 2021-02-04 | 2021-06-08 | 厦门狄耐克智能科技股份有限公司 | 一种无线智能面板及其多功能配置方法 |
US20230038599A1 (en) * | 2021-08-03 | 2023-02-09 | Potens Semiconductor Corp. | Electromagnetic interference regulator by use of capacitive parameters of field-effect transistor |
Also Published As
Publication number | Publication date |
---|---|
CN105486940B (zh) | 2018-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105486940A (zh) | 电子设备的按键检测电路及按键检测方法 | |
CN105021972B (zh) | 老化侦测电路及其方法 | |
TWI521870B (zh) | 電流平衡裝置與方法 | |
KR101487788B1 (ko) | 클럭 검출 방법 및 그 장치 | |
US11099690B2 (en) | Capacitance compensation module and method, self-capacitive touch display panel and display device | |
CN104362585A (zh) | 一种过温保护电路 | |
CN204405727U (zh) | 一种用于电子设备输入过/欠压检测的电路 | |
CN104198783B (zh) | 具有温度补偿特性的电源检测电路及受电设备 | |
CN103178820B (zh) | 上电复位电路 | |
TWI531801B (zh) | 電壓偵測電路 | |
CN103018588A (zh) | 一种低功耗抗干扰的三态输入检测电路 | |
CN101335510B (zh) | 长时延迟电路 | |
CN103066996A (zh) | 振荡器及其自校准方法 | |
CN204361662U (zh) | 一种过温保护电路 | |
CN104901679B (zh) | 一种输入检测电路 | |
CN204330870U (zh) | 一种开关量信号检测电路 | |
US20130275632A1 (en) | Key detection circuit | |
CN102857231A (zh) | 一种按键检测电路 | |
US20140163700A1 (en) | Control device, control method and related power management system | |
CN105004900A (zh) | 电源电压监视电路及具有该电源电压监视电路的电子电路 | |
US20120013414A1 (en) | Crystal oscillator circuit for adjusting resonant frequency of crystal oscillator | |
CN103134981B (zh) | 功率检测方法与装置 | |
CN102385018B (zh) | 外界设备连接侦测电路 | |
CN102317798B (zh) | 电阻检测装置及方法 | |
CN102751709A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |