CN109298331B - 低成本可检测多个任意组合按键的检测电路及处理方法 - Google Patents
低成本可检测多个任意组合按键的检测电路及处理方法 Download PDFInfo
- Publication number
- CN109298331B CN109298331B CN201811443921.XA CN201811443921A CN109298331B CN 109298331 B CN109298331 B CN 109298331B CN 201811443921 A CN201811443921 A CN 201811443921A CN 109298331 B CN109298331 B CN 109298331B
- Authority
- CN
- China
- Prior art keywords
- key
- line
- function
- state
- scanning
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/327—Testing of circuit interrupters, switches or circuit-breakers
- G01R31/3277—Testing of circuit interrupters, switches or circuit-breakers of low voltage devices, e.g. domestic or industrial devices, such as motor protections, relays, rotation switches
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本发明公开了低成本可检测多个任意组合按键的检测电路及处理方法,包括单片机、MCU、CPLD、FPGA、ARM等控制芯片、矩阵按键电路,其所述控制芯片设有R+C个IO引脚,其中R线控制IO作为输入,且带外部中断功能,且所述IO引脚具备浮空、开漏、推挽、上拉、下拉等IO功能设定;控制器芯片内建AD采样功能或运算放大器、比较器,或外挂运算放大器、比较器。有益效果:无需二极管,或仅需少量二极管即可实现低成本任意键无冲突、全键无冲,可配合三极管MOS管等实现IO复用用于LED灯光控制。
Description
技术领域
本发明涉及键盘组合按键检测领域,具体来说,涉及低成本可检测多个任意组合按键的检测电路及处理方法。
背景技术
键盘是很多电子产品的必须的输入设备,透过单片机、MCU、CPLD、FPGA、ARM等控制芯片实现按键扫描。通常,一般的有线键盘和无线键盘如USB、PS2、蓝牙等键盘的设计方法如下,如普通的薄膜键盘,是采用行列扫描线路,按键按照行和列输入,为了节省成本这些键盘是没有加二极管的,这样的键盘无法做到全键盘无冲突,如果出现冲突状态则就不会有按键资料输出,只能做特定组合的几个按键无冲突,做不到多个任意按键组合;在此技术上升级通过增加二极管开来隔离电信号,可达成多个任意按键组合全键无冲突的机械键盘,但是因为二极管无法做到薄膜上面,因此薄膜键盘要做成全键无冲突就需要增加额外的成本,比如增加薄膜到PCB的PIN脚个数,这样会增加PCB的尺寸和加工难度。普通的多个任意组合全键盘无冲突的按键,每个按键都要增加一个二极管,对于机械键盘而已一百多个二极管的成本也相对较高;有没有办法可以取消二极管或仅需要少数几个二极管即可实现低成本的全键无冲突功能,又可以在薄膜键盘上实现多个任意组合全键盘无冲突的功能。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出低成本可检测多个任意组合按键的检测电路及处理方法,以克服现有相关技术所存在的上述技术问题。
为此,本发明采用的具体技术方案如下:
根据本发明的一个方面,提供了可检测多个任意组合按键的检测电路,包括单片机、MCU、CPLD、FPGA、ARM、控制芯片、矩阵按键电路,其中,所述控制芯片设有R+C个IO引脚,所述IO引脚内部浮空、开漏、推挽、上拉、下拉等IO功能设定;纵向所述C线控制所述IO可进行输出和输入的切换,R线控制IO可结合控制器的AD采样功能读取R线电压值或配合运放比较器功能直接读取R线IO口状态;
所述矩阵按键电路包括R条横向支路和C条纵向支路,所述横向支路与所述纵向支路交叉处形成一个键位,所述横向R线支路与所述纵向C线支路相交形成R×C个矩阵分布的键位;所述控制芯片的电源VCC和所述R线控制IO之间串连0或n个电阻或并联0到n个电容,所述GND和所述R线控制IO之间串连0或n个电阻或并联0到n个电容,所述R线对应的每个键位对应串接一个电阻,且所述电阻线路连接处设有所述对地GND和接触开关,所述按键代表唯一一个键码,在所述横向支路的第一端形成R个横向IO端口,在所述纵向支路的第一端形成C个纵向IO端口,所述横向IO端口和所述纵向IO端口均与所述MCU的IO引脚连接。
进一步的,所述控制器IC的R线具有AD采样功能,所述AD功能在休眠时设定为输入带唤醒功能,当所述R线外接下拉电阻到所述GND时,所述R线控制IO读到的电平默认为低电平。
进一步的,所述控制器IC无AD功能时可采用电压比较线路,对电压进行比较,输出信号给R线做读取,此时R线根据应用电路可做输入带上拉或浮空或下拉的状态,当按键部分的电阻是接GND,则相应R线控制IO读到的电平默认为低电平。
进一步的,所述R和所述C的个数可根据应用自由扩展,且所述控制器芯片整合比较器和运算放大器,结合外围电阻匹配线路透过电压比较实现按键状态扫描读取功能。
进一步的,所述R线和所述C线控制IO到检测的按键中可串联0Ω到10MΩ电阻,且所述R线和所述C线控制IO对所述VDD或所述GND的电容为0到500uf之间,所述R线和所述C线线路上任意串接电阻,再所述IO口对所述VDD或所述GND串接任意电容。
进一步的,所述R线或C线控制可配合三极管或MOS管做LED灯光扫描,实现LED灯光和按键控制复用的功能,可应用与除普通机械键盘、游戏背光机械键盘等键盘,也可应用与薄膜键盘通过薄膜丝印电阻实现全键、多键、任意键无冲突功能。
进一步的,所述按键可透过所述控制芯片的USB、UART、SPI、IIC、蓝牙、WiFi等通讯接口传输到主机或直接用于设备的控制。
根据本发明的一个方面,提供了可检测多个任意组合按键的检测电路的处理方法,用于可检测多个任意组合按键的检测电路,包括以下步骤;
系统上电后,初始化CurKeyBuf和PreKeyBuf按键状态的内存缓冲区;
初始化所有的IO口状态,设定R线为输入且IO口内部Floating悬空,C线控制IO全部做输入且IO内部设定为输出或输入上拉;
可透过循环扫描C线IO,透过IO直接轮询采样R线IO的电压,或读取电平状态,或者透过控制芯片响应外部中断,读取R线电平或IO状态,实现按键的扫描检测过程;所述扫描检测过程包括两个环节:
扫描检测环节:对所有矩阵按键的检测,需要经过多次的R线C线IO重复扫描过程,针对带AD采样的控制芯片R线IO作为AD采样输入C线IO作为输出;针对不带AD采样的控制芯片可透过运算放大器或比较器把信号转换成普通IO口可以识别的高低电平;
根据应用线路当前扫描到的C线输出一高电平或低电平,其他C线IO口状态设定为输出状态循环扫描直到所有C线全部扫描完成,C线可根据外围线路与三极管或MOS管配合实现与LED控制的复用功能;
数据分析处理环节,数据分析处理环节需要以下几个步骤:
在当前C线扫描过程中,读取R线IO口的状态数据,并与前一次的扫描的R线IO状态CurKeyBuf数据做对比,如果匹配则按键状态没有变化,无需更新按键状态档所有C线扫描完成则进入下一轮的扫描,按键扫描去抖动的次数Counter加1;
如果CurKeyBuf与当前的R线IO口扫描结果不同,表示有按键改变或者抖动,则将当前一轮的R线状态把AD信号转为数字信号或直接读取R线IO的状态保存到CurKeyBuf更新数据缓冲区,且按键去抖动次数Counter清零,重新开始下一轮按键去抖动计数;
如果按键去抖动次数达累加到规定次数,没有按键发生变化,则表示CurKeyBuf中的按键状态为有效状态,开始进行按键比较处理。对比C线对应的CurKeyBuf和PreKeyBuf的数据比特位状态,如果数据状态一样则认为按键名义改变,如果数据比特位不同则认为按键发生改变。通过比对可以计算出不同比特的数据所处的位置,可定位唯一1个有发生变化的按键及其键码;通过比特的变化,得知该按键是弹起还是按下;
当按键有变化时,计算出相应的按键位置进行和按键的状态,再处理按键功能子程序或者向上层函数发送对应按键的消息;
在处理好按键功能子程序后,把最新的按键状态更新到PreKeyBuf中,如果初步确认按键为弹起,则将PreKeyBuf对应按键的比特位设置为1;反之,如果初步确认按键为按下,则将PreKeyBuf对应按键的比特位设置为0;
循环处理直到把所有的按键都处理完成,再进入下一轮按键扫描。
进一步,所述扫描检测环节中将所述纵向C线IO端口设置为输出,且输出高电平,其他C线IO设定为输出低,横向R线IO端口设置为AD输入,休眠时设定为输入带唤醒,纵向C线IO端口设置为输出,且输出低电平,其他C线IO设定为高,所述纵向C线IO端口设置为输出,且输出高电平,其他C线IO设定为输出低电平。
进一步的,所述数据分析处理环节中所述1)横向R线IO端口的高低电平,所述AD资料或IO状态转化为数字信号,与所述临时缓冲区CurKeyBuf的数据逐一进行对比,如果该状态已存在且相同,则对按键去抖动的次数累计加1;反之,将按键去抖动次数初始化为0。
进一步的,累计次数满足大于或者等于该阈值的条件下,则按键状态有效,比较所述CurKeyBuf和所述PreKeyBuf计算出对应位置的按键状态,处理完所有有改变状态的按键子程序,扫描检测过程结束。
本发明的有益效果为:无需二极管,仅需电阻电容,配合带AD功能的控制芯片做AD采样特殊的软件处理方法,即可实现检测多个任意组合按键,任意按键无冲突,无鬼键的功能;无需二极管,仅需电阻电容,配合比价器芯片,配合普通IO型控制器芯片读取IO状态,即可实现检测多个任意组合按键,任意按键无冲突,无鬼键的功能;降低了按键扫描产品的生产成本,也让按键检测更为有效快速,除了普通机械键盘、游戏LED背光机械键盘等键盘输入外,也使薄膜键盘、背光薄膜键盘透过薄膜丝印电阻实现全键、多键、任意键无冲突功能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的可检测多个任意组合按键的检测电路的结构示意图之一;
图2是根据本发明实施例的可检测多个任意组合按键的检测电路的结构示意图之一;
图3为图1演变应用线路;
图4为图2演变应用线路;
图5为使用比较器或运算放大器的按键扫描应用线路1;
图6为使用比较器或运算放大器的按键扫描应用线路2;
图7为按键扫描检测系统框架流程图;
图8为按键扫描检测环节控制器IO口初始化子程序流程图;
图9为按键扫描检测数据变量初始化子程序流程图;
图10为按键扫描检测环节子程序流程图;
图11为按键数据的分析处理环节子程序流程图。
具体实施方式
为进一步说明各实施例,本发明提供有附图,这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点,图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
根据本发明的实施例,提供了可检测多个任意组合按键的检测电路及处理方法。
实施例一,
如图1-6所示,根据本发明实施例的可检测多个任意组合按键的检测电路及处理方法,包括单片机、MCU、CPLD、FPGA、ARM、控制芯片、矩阵按键电路,其中,所述控制芯片设有R+C个IO引脚,其中R线控制IO作为输入使用,且带外部中断功能,可触发单缘上升、单缘下降沿,或上下双沿触发,所述IO引脚内部设有Floating浮空、开漏、推挽、上拉、下拉等IO功能设定,纵向所述C线控制所述IO可进行输出和输入的切换;
所述矩阵按键电路包括R条横向支路和C条纵向支路,所述横向支路与所述纵向支路交叉处形成一个键位,所述横向R线支路与所述纵向C线支路相交形成R×C个矩阵分布的键位;所述控制芯片的电源VCC和所述R线控制IO之间串连0或n个电阻或并联0到n个电容,所述GND和所述R线控制IO之间串连0或n个电阻或并联0到n个电容,所述R线对应的每个键位对应串接一个电阻,且所述电阻线路连接处设有所述对地GND和接触开关,所述按键代表唯一一个键码,在所述横向支路的第一端形成R个横向IO端口,在所述纵向支路的第一端形成C个纵向IO端口,所述横向IO端口和所述纵向IO端口均与所述MCU的IO引脚连接,可直接连接或透过多个电阻做连接。
借助于上述方案,无需二极管,仅需电阻电容,配合带AD功能的控制芯片做AD采样特殊的软件处理方法,即可实现检测多个任意组合按键,任意按键无冲突,无鬼键的功能;无需二极管,仅需电阻电容,配合比价器芯片,配合普通IO型控制器芯片读取IO状态,即可实现检测多个任意组合按键,任意按键无冲突,无鬼键的功能;降低了按键扫描产品的生产成本,也让按键检测更为有效快速,除了普通机械键盘、游戏机械键盘等键盘输入外,也使薄膜键盘通过薄膜丝印电阻实现全键、多键、任意键无冲突功能。
实施例二,
如图1-6所示,所述控制器IC的R线具有AD采样功能,所述AD功能在休眠时设定为输入带唤醒功能,当所述R线外接下拉电阻到所述GND时,所述R线控制IO读到的电平默认为低电平,此时在按键扫描中C线只有一条输出高电平,其他C线输出低电平,当按键按下连接导通时,对应的R线会拉高一定的电平,透过AD读取电阻分压的电压信号,大于设定的阈值时则认为按键按下接通,当读到AD电平为低于一地的阈值时认为是按键送开,当C线所有按键都被按下时R线读取到的电压都会大于一定的值,另外R线的电平信号不会互相干扰透过电平判断即可实现全键无冲突或者任意按键的组合;若按键部分串接的电阻是接VDD,则相应R线控制IO读到的电平默认为高电平,此时在按键扫描中C线只有一条输出低电平,其他C线输出低电高,当按键按下连接导通时,对应的R线会拉低一定的电平,透过AD读取电阻分压的电压信号,大于设定的阈值时则认为按键按下接通,当读到AD电平为低于一地的阈值时认为是按键送开,当C线所有按键都被按下时R线读取到的电压都会大于一定的值,另外R线的电平信号不会互相干扰透过电平判断即可实现全键无冲突或者任意按键的组合。
实施例三,
如图1-6所示,所述控制器IC无AD功能时可采用电压比较线路,对电压进行比较,输出信号给R线做读取,此时R线根据应用电路可做输入带上拉或浮空或下拉的状态,当按键部分的电阻是接GND,则相应R线控制IO读到的电平默认为低电平,此时在按键扫描中C线只有一条输出高电平,当按键按下连接导通时,对应的R线会拉高一定的电平,当大于比较器设定的分压电平时,比较器输出发生电平翻转,控制芯片R线可以识别到电平的状态为高电平或低电平,认为有按键按下;同理当按键部分的电阻是接VDD,则相应R线控制IO读到的电平默认为低电平,此时在按键扫描中C线只有一条输出低电平,当按键按下连接导通时,对应的R线会拉低一定的电平,当小于比较器设定的分压电平时,比较器输出发生电平翻转,控制芯片R线可以识别到电平的状态为高电平或低电平,认为有按键按下。
实施例四,
如图1-6所示,所述R和所述C的个数可根据应用自由扩展,且所述控制器芯片整合比较器和运算放大器,结合外围电阻匹配线路透过电压比较实现按键状态扫描读取功能,所述R线和所述C线控制IO到检测的按键中可串联0Ω到10MΩ电阻,且所述R线和所述C线控制IO对所述VDD或所述GND的电容为0到500uf之间,所述R线和所述C线线路上任意串接电阻,再所述IO口对所述VDD或所述GND串接任意电容,所述按键可透过所述控制芯片的USB、UART、SPI、IIC、蓝牙、WiFi等通讯接口传输到主机或直接用于设备的控制。
根据本发明的另一发明,提供了可检测多个任意组合按键的检测电路的处理方法,用于可检测多个任意组合按键的检测电路,包括以下步骤;
系统上电后,初始化CurKeyBuf和PreKeyBuf按键状态的内存缓冲区;
初始化所有的IO口状态,设定R线为输入且IO口内部Floating悬空,C线控制IO全部做输入且IO内部设定为输出或输入上拉;
可透过循环扫描C线IO,透过IO直接轮询采样R线IO的电压,或读取电平状态,或者透过控制芯片响应外部中断,读取R线电平或IO状态,实现按键的扫描检测过程;所述扫描检测过程包括两个环节:
扫描检测环节:对所有矩阵按键的检测,需要经过多次的R线C线IO重复扫描过程,针对带AD采样的控制芯片R线IO作为AD采样输入C线IO作为输出,根据应用线路不同如图1、图2每隔一定的时间只有一個C线扫描输出一高电平或低电平,其他C线IO口状态设定为输出状态循环扫描直到所有C线全部扫描完成;针对普通IO型控制芯片可采用图5图6的应用线路,R线做IO输入读取比较器的电平信号,C线IO作为输出,根据应用线路不同如图5、图6每隔一定的时间只有一個C线扫描;
输出一高电平或低电平,其他C线IO口状态设定为输出状态循环扫描直到所有C线全部扫描完成;
数据分析处理环节,数据分析处理环节需要以下几个步骤:
在当前C线扫描过程中,读取R线IO口的状态数据,并与前一次的扫描的R线IO状态CurKeyBuf数据做对比,如果匹配则按键状态没有变化,无需更新按键状态档所有C线扫描完成则进入下一轮的扫描,按键扫描去抖动的次数Counter加1;
如果CurKeyBuf与当前的R线IO口扫描结果不同,表示有按键改变或者抖动,则将当前一轮的R线状态把AD信号转为数字信号或直接读取R线IO的状态保存到CurKeyBuf更新数据缓冲区,且按键去抖动次数Counter清零,重新开始下一轮按键去抖动计数;
如果按键去抖动次数达累加到规定次数,没有按键发生变化,则表示CurKeyBuf中的按键状态为有效状态,开始进行按键比较处理。对比C线对应的CurKeyBuf和PreKeyBuf的数据比特位状态,如果数据状态一样则认为按键名义改变,如果数据比特位不同则认为按键发生改变。通过比对可以计算出不同比特的数据所处的位置,可定位唯一1个有发生变化的按键及其键码;通过比特的变化,得知该按键是弹起还是按下;
当按键有变化时,计算出相应的按键位置进行和按键的状态,再处理按键功能子程序或者向上层函数发送对应按键的消息;
在处理好按键功能子程序后,把最新的按键状态更新到PreKeyBuf中,如果初步确认按键为弹起,则将PreKeyBuf对应按键的比特位设置为1;反之,如果初步确认按键为按下,则将PreKeyBuf对应按键的比特位设置为0;
循环处理直到把所有的按键都处理完成,再进入下一轮按键扫描。
实施例五,
如图1-11所示,所述扫描检测环节中将所述纵向C线IO端口设置为输出,且输出高电平,其他C线IO设定为输出低,横向R线IO端口设置为AD输入,休眠时设定为输入带唤醒,纵向C线IO端口设置为输出,且输出低电平,其他C线IO设定为高,所述纵向C线IO端口设置为输出,且输出高电平,其他C线IO设定为输出低电平。
实施例六,
如图1-11所示,所述数据分析处理环节中所述横向R线IO端口的高低电平,所述AD资料或IO状态转化为数字信号,与所述临时缓冲区CurKeyBuf的数据逐一进行对比,如果该状态已存在且相同,则对按键去抖动的次数累计加1;反之,将按键去抖动次数初始化为0。
实施例七,
如图1-11所示,累计次数满足大于或者等于该阈值的条件下,则按键状态有效,比较所述CurKeyBuf和所述PreKeyBuf计算出对应位置的按键状态,处理完所有有改变状态的按键子程序,扫描检测过程结束。
综上所述,借助于本发明的上述技术方案;
(一)硬件线路利用了电阻和比较器的特性,结合控制器软件做AD或IO的状态做计算处理;或控制器芯片整合比较器或运算放大器,结合外围电阻匹配线路透过电压比较实现按键状态扫描读取功能;
(二)该方案无需二极管,即可实现多个任意按键组合按键实现防鬼键的功能,适用需要任意键无冲突,可任意键组合的按键产品,如电脑周边的普通机械键盘、游戏机械键盘;因为无需二极管,只需电阻即可实现全键无冲突或任意组合按键同时触发,可在导电膜、薄膜上印制柔性电阻,实现薄膜键盘无法实现的全键盘按键无冲突功能,大大降低了生产成本;
(三)可透过控制芯片的USB、UART、SPI、IIC、蓝牙、WiFi等通讯接口传输到主机或直接用于设备的控制;硬件线路利用了电阻和比较器的特性,结合控制器软件做AD或IO的状态做计算处理,无需二极管,即可实现多个任意按键组合按键实现防鬼键的功能;
(四)适用需要任意键无冲突,可任意键组合的按键产品,如电脑周边的普通机械键盘、游戏机械键盘;因为无需二极管,只需电阻即可实现全键无冲突或任意组合按键同时触发,可在导电膜、薄膜上印制柔性电阻,实现薄膜键盘无法实现的全键盘按键无冲突功能,大大降低了生产成本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.低成本可检测多个任意组合按键的检测电路,其特征在于,包括单片机、MCU、CPLD、FPGA、ARM控制芯片、矩阵按键电路,其控制芯片设有R+C个IO引脚,其中R线控制IO作为输入,且带外部中断功能,可触发上升沿、下降沿,或上下双沿中断,IO引脚具备浮空、开漏、推挽、上拉、下拉的IO功能设定;控制器芯片内建AD采样功能或运算放大器、比较器,或外挂运算放大器、比较器;R线控制IO可结合控制器的AD采样功能读取R线电压值或配合运放比较器功能直接读取R线IO口状态,纵向C线控制IO可进行输出和输入的切换;
矩阵按键电路包括R条横向支路和C条纵向支路,横向支路与纵向支路交叉处形成一个键位,横向R线支路与纵向C线支路相交形成R×C个矩阵分布的键位;控制芯片的电源VCC和R线控制IO之间串连0或n个电阻或并联0到n个电容,GND和R线控制IO之间串连0或n个电阻或并联0到n个电容,R线对应的每个键位对应串接一个电阻,且电阻线路连接处设有对地GND和接触开关,按键代表唯一一个键码,在横向支路的第一端形成R个横向IO端口,在纵向支路的第一端形成C个纵向IO端口,横向IO端口和纵向IO端口均与MCU的IO引脚连接。
2.根据权利要求1所述的可检测多个任意组合按键的检测电路,其特征在于,控制器IC的R线具有AD采样功能,AD功能在休眠时设定为输入带唤醒功能,当R线外接下拉电阻到GND时,R线控制IO读到的电平默认为低电平。
3.根据权利要求2所述的可检测多个任意组合按键的检测电路,其特征在于,控制器IC无AD功能时可采用电压比较线路,对电压进行比较,输出信号给R线做读取,此时R线根据应用电路可做输入带上拉或浮空或下拉的状态,当按键部分的电阻是接GND,则相应R线控制IO读到的电平默认为低电平。
4.根据权利要求3所述的可检测多个任意组合按键的检测电路,其特征在于,R和C的个数可根据应用自由扩展,且控制器芯片带AD功能或整合比较器和运算放大器,也可选择不带AD功能的控制器芯片而使用外挂运算放大器的方式,结合外围电阻匹配线路透过电压比较实现按键状态扫描读取功能,无需二极管或仅需少量二极管即可低成本实现多按键无冲突,全键无冲,任意按键的组合。
5.根据权利要求4所述的可检测多个任意组合按键的检测电路及处理方法,其特征在于,R线或C线控制可配合三极管或MOS管做LED灯光扫描,实现LED灯光和按键控制复用的功能,可应用与除普通机械键盘、游戏背光机械键盘,也可应用与薄膜键盘通过薄膜丝印电阻实现全键、多键、任意键无冲突功能。
6.根据权利要求5所述的可检测多个任意组合按键的检测电路及处理方法,其特征在于,R线和C线控制IO到检测的按键中可串联0Ω到10MΩ电阻,且R线和C线控制IO对VDD或GND的电容为0到500uf之间,R线和C线线路上任意串接电阻,再IO口对VDD或GND串接任意电容。
7.根据权利要求6所述的可检测多个任意组合按键的检测电路,其特征在于,按键可透过控制芯片的USB、UART、SPI、IIC、蓝牙、WiFi的通讯接口传输到主机或直接用于设备的控制。
8.可检测多个任意组合按键的检测电路的处理方法,其特征在于,用于权利要求7所述的可检测多个任意组合按键的检测电路,包括以下步骤:
系统上电后,初始化CurKeyBuf和PreKeyBuf按键状态的内存缓冲区;
初始化所有的IO口状态,设定R线为输入且IO口内部Floating悬空,C线控制IO全部做输入且IO内部设定为输出或输入上拉;
可透过循环扫描C线IO,透过IO直接轮询采样R线IO的电压,或读取电平状态,或者透过控制芯片响应外部中断,读取R线电平或IO状态,实现按键的扫描检测过程;扫描检测过程包括两个环节:扫描检测环节:对所有矩阵按键的检测,需要经过多次的R线C线IO重复扫描过程,针对带AD采样的控制芯片R线IO作为AD采样输入C线IO作为输出;针对不带AD采样的控制芯片可透过运算放大器或比较器把信号转换成普通IO口可以识别的高低电平;
根据应用线路当前扫描到的C线输出一高电平或低电平,其他C线IO口状态设定为输出状态循环扫描直到所有C线全部扫描完成,C线可根据外围线路与三极管或MOS管配合实现与LED控制的复用功能;
数据分析处理环节,数据分析处理环节需要以下几个步骤:
在当前C线扫描过程中,读取R线IO口的状态数据,并与前一次的扫描的R线IO状态CurKeyBuf数据做对比,如果匹配则按键状态没有变化,无需更新按键状态档所有C线扫描完成则进入下一轮的扫描,按键扫描去抖动的次数Counter加1;
如果CurKeyBuf与当前的R线IO口扫描结果不同,表示按键改变或者抖动,则将当前一轮的R线状态把AD信号转为数字信号或直接读取R线IO的状态保存到CurKeyBuf更新数据缓冲区,且按键去抖动次数Counter清零,重新开始下一轮按键去抖动计数;
如果按键去抖动次数达累加到规定次数,没有按键发生变化,则表示CurKeyBuf中的按键状态为有效状态,开始进行按键比较处理,对比C线对应的CurKeyBuf和PreKeyBuf的数据比特位状态,如果数据状态一样则认为按键名义改变,如果数据比特位不同则认为按键发生改变,通过比对可以计算出不同比特的数据所处的位置,可定位唯一一个发生变化的按键及其键码;通过比特的变化,得知该按键是弹起还是按下;
当按键变化时,计算出相应的按键位置进行和按键的状态,再处理按键功能子程序或者向上层函数发送对应按键的消息;
在处理好按键功能子程序后,把最新的按键状态更新到PreKeyBuf中,如果初步确认按键为弹起,则将PreKeyBuf对应按键的比特位设置为1;反之,如果初步确认按键为按下,则将PreKeyBuf对应按键的比特位设置为0;
循环处理直到把所有的按键都处理完成,再进入下一轮按键扫描。
9.根据权利要求8所述的可检测多个任意组合按键的检测电路的处理方法,其特征在于,扫描检测环节中将纵向C线IO端口设置为输出,且输出高电平,其他C线IO设定为输出低,横向R线IO端口设置为AD输入,休眠时设定为输入带唤醒,纵向C线IO端口设置为输出,且输出低电平,其他C线IO设定为高,纵向C线IO端口设置为输出,且输出高电平,其他C线IO设定为输出低电平。
10.根据权利要求9所述的可检测多个任意组合按键的检测电路的处理方法,其特征在于,数据分析处理环节中1)横向R线IO端口的高低电平,AD资料或IO状态转化为数字信号,与临时缓冲区CurKeyBuf的数据逐一进行对比,如果该状态已存在且相同,则对按键去抖动的次数累计加1;反之,将按键去抖动次数初始化为0。
11.根据权利要求10所述的可检测多个任意组合按键的检测电路的处理方法,其特征在于,累计次数满足大于或者等于阈值的条件下,则按键状态有效,比较CurKeyBuf和PreKeyBuf计算出对应位置的按键状态,处理完所有有改变状态的按键子程序,扫描检测过程结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811443921.XA CN109298331B (zh) | 2018-11-29 | 2018-11-29 | 低成本可检测多个任意组合按键的检测电路及处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811443921.XA CN109298331B (zh) | 2018-11-29 | 2018-11-29 | 低成本可检测多个任意组合按键的检测电路及处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109298331A CN109298331A (zh) | 2019-02-01 |
CN109298331B true CN109298331B (zh) | 2021-09-24 |
Family
ID=65141801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811443921.XA Active CN109298331B (zh) | 2018-11-29 | 2018-11-29 | 低成本可检测多个任意组合按键的检测电路及处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109298331B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110161359A (zh) * | 2019-05-17 | 2019-08-23 | 国能新能源汽车有限责任公司 | 矩阵键盘按键检测装置及方法 |
CN110299941B (zh) * | 2019-05-23 | 2022-04-12 | 广东瑞谷光网通信股份有限公司 | 光模块IICReady Time精准测试方法、电子设备及计算机可读存储介质 |
CN110460323A (zh) * | 2019-08-27 | 2019-11-15 | 深圳市迈铭科技有限公司 | 一种矩阵开关控制方法及其控制系统 |
CN112416144A (zh) * | 2020-11-26 | 2021-02-26 | 珠海恒宇新科技有限公司 | 蓝牙键盘及其实现全键无冲突的方法 |
CN113948332B (zh) * | 2021-10-29 | 2024-03-22 | 广东美的厨房电器制造有限公司 | 按键的触发检测电路、按键组件和家电设备 |
CN114252756B (zh) * | 2021-11-02 | 2024-05-28 | 航天科工防御技术研究试验中心 | 基于ate的电压调整器芯片测试装置及方法 |
CN114816081B (zh) * | 2022-04-29 | 2023-10-24 | 长沙锐逸微电子有限公司 | 一种低成本高可靠性键盘实现方法 |
CN117666411B (zh) * | 2023-11-08 | 2024-05-24 | 江苏迈奇重工机械有限公司 | 一种石材切割控制系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951263A (zh) * | 2010-10-22 | 2011-01-19 | 刘利华 | 一种按键扫描方法及系统 |
CN101995956A (zh) * | 2009-08-26 | 2011-03-30 | 鸿富锦精密工业(深圳)有限公司 | 键盘、键盘扫描电路及方法 |
CN107204765A (zh) * | 2015-05-21 | 2017-09-26 | 四川大学 | 一种三端轻触开关 |
CN107872230A (zh) * | 2017-08-25 | 2018-04-03 | 广州飞达音响股份有限公司 | 一种可检测多个任意组合按键的扫描检测电路及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007514247A (ja) * | 2003-12-15 | 2007-05-31 | イシャコフ,マーク | 入出力装置用の汎用多機能キー |
-
2018
- 2018-11-29 CN CN201811443921.XA patent/CN109298331B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101995956A (zh) * | 2009-08-26 | 2011-03-30 | 鸿富锦精密工业(深圳)有限公司 | 键盘、键盘扫描电路及方法 |
CN101951263A (zh) * | 2010-10-22 | 2011-01-19 | 刘利华 | 一种按键扫描方法及系统 |
CN107204765A (zh) * | 2015-05-21 | 2017-09-26 | 四川大学 | 一种三端轻触开关 |
CN107872230A (zh) * | 2017-08-25 | 2018-04-03 | 广州飞达音响股份有限公司 | 一种可检测多个任意组合按键的扫描检测电路及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109298331A (zh) | 2019-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109298331B (zh) | 低成本可检测多个任意组合按键的检测电路及处理方法 | |
KR101648066B1 (ko) | 아날로그-디지털 컨버터 및 이를 포함하는 이미지 센서 | |
US8310381B2 (en) | Capacitive key touch sensing using analog inputs and digital outputs | |
US10408862B2 (en) | Multiple channel capacitive voltage divider scanning method and apparatus | |
US20070096949A1 (en) | Method and apparatus for scanning a key or button matrix | |
CN107092577B (zh) | 带有可编程块和模拟电路控制的集成电路器件 | |
CN107872230B (zh) | 一种可检测多个任意组合按键的扫描检测电路及方法 | |
US20150130441A1 (en) | Detection device and method for electronic device | |
JPH11119863A (ja) | カード情報読み出し方法、カード、ホスト装置、及び、ドライブ装置 | |
US20110157070A1 (en) | System and method for configuring capacitive sensing speed | |
JP6629449B2 (ja) | 周辺機器デバイスからの割り込みのデジタルアグリゲーション | |
CN103543892A (zh) | 感测电路、触控模块、电子装置和控制方法 | |
US7095339B2 (en) | Apparatus for data input and key detection method thereof | |
JP2004139557A (ja) | キーパッド装置およびその動作方法 | |
CN101620012B (zh) | 温度检测器及其使用方法 | |
CN104423616B (zh) | 输入装置及控制单元 | |
CN107332568B (zh) | 按键编码电路和键盘扫描电路 | |
CN111045973B (zh) | 集成电路、汇流排系统以及其控制方法 | |
CN101521757B (zh) | 图像传感器 | |
CN114003147A (zh) | 信号检测装置、触控板和电子设备 | |
EP3583617B1 (en) | Method for operating an active input element and corresponding input element, input arrangement and computer program product | |
CN107340872B (zh) | 按键系统及其控制方法 | |
CN111600591A (zh) | 一种矩阵键盘的按键识别方法及系统 | |
US11449172B1 (en) | Touch control apparatus and touch panel thereof | |
CN216388040U (zh) | 信号检测装置、触控板和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |