CN101079637A - 按键系统及其检测方法 - Google Patents

按键系统及其检测方法 Download PDF

Info

Publication number
CN101079637A
CN101079637A CN 200710049164 CN200710049164A CN101079637A CN 101079637 A CN101079637 A CN 101079637A CN 200710049164 CN200710049164 CN 200710049164 CN 200710049164 A CN200710049164 A CN 200710049164A CN 101079637 A CN101079637 A CN 101079637A
Authority
CN
China
Prior art keywords
bar
button
lead
low level
capable lead
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
Application number
CN 200710049164
Other languages
English (en)
Inventor
付强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN 200710049164 priority Critical patent/CN101079637A/zh
Publication of CN101079637A publication Critical patent/CN101079637A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Input From Keyboards Or The Like (AREA)

Abstract

按键系统及其检测方法,涉及电子技术,特别涉及按键的扫描检测技术。本发明针对现有矩阵按键扫描电路占用硬件资源多,系统成本高的问题,公开了一种按键系统及其检测方法。本发明的按键系统,包括按键编码集成电路、n条行导线、m条列导线、m只二极管,且n≥m>1;n条行导线与m条列导线以n×m矩阵分布,n条行导线接按键编码集成电路,m条列导线分别通过二极管与行导线连接,n×m矩阵的其余交点上则分布按键,按键按下时,行导线和列导线接通;本发明还公开了上述按键系统的按键检测方法。本发明的有益效果是,节约了印制电路板和整机的空间,降低了系统成本。

Description

按键系统及其检测方法
技术领域
本发明涉及电子技术,特别涉及按键的扫描检测技术。
背景技术
目前各生产厂家生产碟机、卫星接收机、遥控器等需要使用按键的产品大部分都采用矩阵式扫描电路连接到MCU(按键编码集成电路)进行按键扫描检测确认某个按键的状态;采用该种按键扫描方式参见图1,图中涉及对4×4个按键的按键扫描电路,其中,S15~S0表示按键,PA3~PA0为行导线输入端,初始化为带上拉电阻的输入口,PA7~PA4为列导线输出端,初始化为输出低电平。扫描方法:首先由输出口PA7~PA4向所有的列导线输出低电平,读取各行导线PA3~PA0的状态,若行导线状态全为高电平,则表明无键按下,若行导线状态中有低电平,则表明有键按下,再对每一条列导线进行扫描,即:PA7~PA4四条列导线分别输出低电平,在每次输出低电平期间,读取各行导线PA3~PA0的状态,确定键值。例如:PA7~PA4输出″1011″,此时若读取PA3~PA0的状态为″1110″,则表明按键S4被按下。4×4个按键需要8个GPIO(通用输入输出)口线。若扫描n×n个按键,则需要2n个GPIO口线。这种矩阵扫描检测方式容易受到MCU的GPIO口线的限制而影响按键的数量,如果按键数量多,那么就必须更换有更多GPIO口的MCU,从而增加了系统成本,也不利于产品的小型化。
发明内容
本发明所要解决的技术问题是,针对现有矩阵按键扫描电路占用硬件资源多,系统成本高的问题,提供一种按键系统及其检测方法。
本发明解决所述技术问题采用的技术方案是,按键系统,包括按键编码集成电路、n条行导线、m条列导线、m只二极管,且n≥m>1;行导线与按键编码集成电路连接;n条行导线与m条列导线以n×m矩阵分布,m只二极管分布于矩阵的交点上,二极管阳极接行导线,阴极接列导线,且每条行导线最多与一只二极管的阳极连接,每条列导线与一只二极管的阴极连接;矩阵的其余交点上则分布按键,按键按下时,行导线和列导线接通。
按键系统的按键检测方法,包括下列步骤:
a.将n条行导线置为高电平,然后扫描n条行导线,判断是否有低电平出现,有低电平出现则进入步骤b,无低电平出现则进入步骤c;
b.检测到电平为低电平的行导线上接地的按键被按下;
c.按如下方法检测位于n×m矩阵交点上的按键:
将第i条行导线置为低电平;
扫描第j条行导线是否为低电平,j≠i;
若是,则第j条行导线通过二极管连接的列导线与第i条行导线的交点上的按键被按下。
对上述第j条行导线通过二极管连接的列导线可以通过软件确定:结合按键系统的电路图中二极管的具体分布,在程序中记录二极管所处的行导线和列导线为(j,r),j与r一一对应;当将第j条行导线作为扫描线,扫描第j条行导线是否为低电平时,通过程序中记录的j所对应的r,则确定出第j条行导线通过二极管连接的列导线为第r条列导线。
特别的,当m只二极管分布于n×m矩阵对角线的交点上时,二极管所处的行导线和列导线为(k,k),则本发明的按键系统的按键检测方法,包括下列步骤:
a.将n条行导线置高电平,然后扫描n条行导线,判断是否有低电平出现,有低电平出现则进入步骤b,无低电平出现则进入步骤c;
b.检测到电平为低电平的行导线上接地的按键被按下;
c.按如下方法检测位于n×m矩阵交点上的按键:
将第i条行导线置为低电平;
扫描第k条行导线是否为低电平,k≠i;
若是,则第k条列导线与第i条行导线的交点上的按键被按下。
本发明的有益效果是,提供一种多按键检测系统及其方法,节约了印制电路板和整机的空间,降低了系统成本。
以下结合具体实施方式和附图,对本发明作进一步说明。
附图说明
图1是4×4矩阵按键扫描电路图。
图2是本发明实施方式的电路图。
图3是分发明实施方式流程图。
图4是本发明实施例1的电路图
具体实施方式
本发明的按键系统,包括按键编码集成电路(MCU),n(n>1)条行导线与n条列导线,n只二极管,n2个按键,以及n只电阻;按照如图2所示的电路图连接:n条行导线分别通过电阻与电源连接,n条行导线一端分别与MCU的通用输入输出(GPIO)接口连接,一端通过按键接地,为了简化电路,n条行导线的接地端分别与一条接地的导线连接,行导线通过按键接地起到静电放电防护的作用;n条行导线与n条列导线以n×n矩阵分布,构成n2个交点,为了电路图布局方便和简化按键检测方法,n只二极管分布于n×n矩阵对角线上的n个交点上,二极管阳极接行导线,阴极接列导线,且每条行导线最多与一只二极管的阳极连接,每条列导线与一只二极管的阴极连接,能防止电路短路;其余n2-n个交点上则分布按键,按键按下时,行导线和列导线接通。
对图2中n2个按键分别定义为K1、K2、K3…Kn;n只二极管分别定义为D1、D2、D3…Dn;n只电阻分别定义为R1、R2、R3…Rn;连接行导线的MCU的GPIO口线分别定义为:KEY1、KEY2、KEY3…KEYn,对应的行导线分别为:第1条行导线、第2条行导线、第3条行导线…第n条行导线。通过对MCU的GPIO的口线置为高/低电平(高电平指模拟电压大于等于3V,逻辑电平定义为1;低电平指模拟电压小于3V,逻辑电平定义为0),实现了将所对应连接的行导线置为高/低电平。
对图2中n2个按键分别定义为K1、K2、K3…Kn;n只二极管分别定义为D1、D2、D3…Dn;n只电阻分别定义为R1、R2、R3…Rn;连接行导线的MCU的GPIO口线分别定义为:KEY1、KEY2、KEY3…KEYn,对应的行导线分别为:第1条行导线、第2条行导线、第3条行导线…第n条行导线。通过对KEY1、KEY2、KEY3…KEYn置为高/低电平(高电平指模拟电压大于等于3V,逻辑电平定义为1;低电平指模拟电压小于3V,逻辑电平定义为0),使KEY1、KEY2、KEY3…KEYn所对应连接的行导线被置为高/低电平,结合图3,对图2所示的电路图的按键检测方法具体实现如下:
步骤S302:将KEY1、KEY2、KEY3…KEYn置为高电平,MCU依次扫描KEY1、KEY2、KEY3…KEYn的电平状态;
步骤S303:判断是否有低电平出现,无低电平出现,则进入步骤S305;有低电平出现,则进入步骤S304,表示有按键被按下,即检测到电平为低电平的行导线上接地的按键被按下。设电平为低电平的行导线连接的MCU的GPIO口线为KEYx(x∈n),则检测到Kx按键被按下,本次按键检测结束;
步骤S305:初始化k为1;
步骤S306:初始化i为1,初始化计数值为0;
步骤S307:判断i是否等于k,i等于k,则进入步骤S308;i不等于k,则进入步骤S309;
步骤S308:i的值加1;
步骤S309:先将KEY1、KEY2、KEY3…KEYn置为高电平,再将KEYi置为低电平;扫描KEYk的电平状态;
步骤S310:判断是否有低电平出现,无低电平出现,则进入步骤S311;有低电平出现,则进入步骤S304,表示有按键被按下,即检测到n×n矩阵上位于第k条列导线和第i条行导线的交点上的按键被按下;
步骤S311:计数值的值加1;
步骤S312:判断计数值是否等于n-1,计数值等于n-1,则进入步骤S316;计数值不等于n-1,则进入步骤S313;
步骤S313:i的值加1;
步骤S314:判断i的值是否等于k的值,i等于k,则进入步骤S315;i不等于k,则返回步骤S309;
步骤S315:i的值加1后返回步骤S309;
步骤S316:判断k的值是否等于n,k等于n,则进入步骤S318;k不等于n否,则进入步骤S317;
步骤S317:k的值加1后返回步骤S306。
步骤S318:没有检测到有按键被按下,程序结束。
结合图2中的按键标识,进一步说明检测按键Kn+1、Kn+2、Kn+3…Kn2是否被按下的实现方法:
先将KEY1、KEY2、KEY3…KEYn置为高电平,再将KEY2置为低电平,MCU扫描KEY1的状态;判断是否有低电平出现,有低电平出现,则说明Kn+1按键被按下;无低电平出现,则先将KEY1、KEY2、KEY3…KEYn置为高电平,再将KEY3置为低电平,MCU扫描KEY1的状态;判断是否有低电平出现,有低电平出现,则说明Kn+2按键被按下;无低电平出现,则依次类推,即先将KEY1、KEY2、KEY3…KEYn置高电平,再依次分别将KEY2、KEY3…KEYn置为低电平,在每次置低电平期间,MCU扫描KEY1的状态,判断是否有低电平出现,有低电平出现,则可以依次确定按键Kn+1、Kn+2…K2n-1被按下。
同理可得,先将KEY1、KEY2、KEY3…KEYn置为高电平,再依次分别将KEY1、KEY3…KEYn置为低电平,在每次置低电平期间,MCU扫描KEY2的状态,判断是否有低电平出现,有低电平出现,则可以依次确定按键K2n、K2n+1…K3n-2被按下。依次类推,先将KEY1、KEY2、KEY3…KEYn置为高电平,再依次分别将KEY1、KEY2、KEY3…KEYn-1置为低电平,在每次置低电平期间,MCU扫描KEYn的状态,判断是否有低电平出现,有低电平出现,则可以依次确定按键Kn2-n、Kn2-n+1、Kn2-n+2…Kn2被按下。
本发明的上述具体实施方式,实现了通过n个通用输入输出口线完成对n×n个按键的检测,比现有的矩阵式扫描电路减少了一半的通用输入输出口线,行导线通过按键接地,不仅有效防止了静电放电,还简化了按键检测方法,对于行导线上接地的按键,当将n条行导线置为高电平后,直接扫描每条行导线的电平状态就可以确定出该条行导线上接地的按键是否被按下;另外,二极管分布在n×n矩阵的对角线上时,二极管所处的行导线和列导线为(k,k),k是一个公差为1递增数列,从1递增到n,简化了按键检测方法的程序实现。
实施例1
按键电路图如图4所示:KEY1~KEY4分别表示4个GPIO口线,D1~D4分别表示4只二极管,K1~K16分别表示16个按键,R1~R4分别表示4只电阻;4条行导线分别通过电阻(D1~D4)与电源连接;4条行导线一端通过按键(K1~K4)接地,一端分别与MCU的GPIO口线(KEY1~KEY4)连接;4条行导线与4条列导线以4×4矩阵分布,构成42个交点,4只二极管(D1~D4)分布于4×4矩阵对角线上的4个交点上,二极管阳极接行导线,阴极接列导线;其余42-4个交点上则分布按键(K5~K16),按键按下时,行导线和列导线接通。
若按键K3被按下,结合图3,本发明的检测过程如下:
将KEY1、KEY2、KEY3、KEY4置为高电平,MCU依次对KEY1、KEY2、KEY3、KEY4进行扫描,因为KEY3出现低电平,则检测到第3条行导线上与地接通的按键(按键K3)被按下,本次按键检测结束。
若按键K9被按下,结合图3,本发明的检测过程如下:
第一步:先将KEY1、KEY2、KEY3、KEY4置为高电平,MCU依次对KEY1、KEY2、KEY3、KEY4进行扫描,没有检测到低电平,则可以排除被按下的按键不是接地的四个按键(K1、K2、K3、K4)之一,进入下一步;
第二步:初始化k的值为1,i的值为1,即KEYk为KEY1,KEYi为KEY1;初始化计数值为0;因为KEYi等于KEYk;则i的值加1,KEYi变为KEY2;先将KEY1、KEY2、KEY3、KEY4置高电平,再将KEYi(KEY2)置为低电平,MCU扫描KEYk(KEY1)的电平状态;KEY1为高电平;则计数值的值加1,计数值变为1;因为计数值不等于n-1(3),则i的值加1,i为3;因为i=3,k=1,i≠k,则先将KEY1、KEY2、KEY3、KEY4置高电平,KEYi(KEY3)置为低电平,MCU扫描KEY1的电平状态,KEY1为高电平;则计数值的值加1,计数值变为2;因为计数值不等于n-1(3),则i的值加1,i为4;因为i=4,k=1,i≠k,则先将KEY1、KEY2、KEY3、KEY4置高电平,KEY4置低电平,MCU扫描KEY1的状态,KEY1为高电平,此时可以确定被按下的按键不在第1条列导线上,进入下一步;
第三步:k的值加1,则KEYk为KEY2;初始化i的值为1,即KEYi为KEY1,初始化计数值为0;因为i=1,k=2,i≠k,先将KEY1、KEY2、KEY3、KEY4置高电平,再将KEYi(KEY1)置低电平,MCU扫描KEYk(KEY2)的状态,KEY2为高电平,则计数值的值加1,计数值变为1;因为计数值不等于n-1(3),则i的值加1,i为2;因为i=k=2,则i的值加1,i为3即KEYi变为KEY3;先将KEY1、KEY2、KEY3、KEY4置高电平,KEYi(KEY3)置为低电平,MCU扫描KEY2的电平状态,KEY2为低电平;则检测到4×4矩阵上位于第2条列导线和接KEY3的行导线(即第3条行导线)交点上的按键(按键K9)被按下,即由D2所在的列导线确定被按下键所在的列导线,由被置为低电平的KEY3所连接的行导线确定被按下键所在的行导线,本次按键检测结束。
以上虽然结合附图描述了本发明的实施方式,但是本领域的技术人员可以在所附权力要球的范围内做出各种变形或修改,例如:根据等效的原则,将权利要求书中所述的技术方案改为阴极接行导线,阳极接列导线;行导线通过按键接电源,行导线通过电阻接地。按键检测时,将权利要求书中所述的置为高电平的技术方案改为置为低电平;置为低电平的技术方案改为置为高电平。对于上述的等效变形,同样属于本发明所要求保护的范围。

Claims (6)

1、按键系统,其特征是,包括按键编码集成电路、n条行导线、m条列导线、m只二极管,且n≥m>1;行导线与按键编码集成电路连接;n条行导线与m条列导线以n×m矩阵分布,m只二极管分布于所述矩阵的交点上,二极管阳极接行导线,阴极接列导线,且每条行导线最多与一只二极管的阳极连接,每条列导线与一只二极管的阴极连接;所述矩阵的其余交点上则分布按键,所述按键按下时,行导线和列导线接通。
2、如权利要1所述的按键系统,其特征是,所述行导线通过按键接地。
3、如权利要1或2所述的按键系统,其特征是,所述m只二极管分布于所述矩阵对角线的交点上。
4、如权利要求3所述的按键系统,其特征是,还包括n只电阻,所述n条行导线分别通过电阻与电源连接。
5、按键系统的按键检测方法,包括下列步骤:
a.将n条行导线置为高电平,然后扫描n条行导线,判断是否有低电平出现,有低电平出现则进入步骤b,无低电平出现则进入步骤c;
b.检测到电平为低电平的行导线上接地的按键被按下;
c.按如下方法检测位于n×m矩阵交点上的按键:
将第i条行导线置为低电平;
扫描第j条行导线是否为低电平,j≠i;
若是,则第j条行导线通过二极管连接的列导线与第i条行导线的交点上的按键被按下。
6、如权利要求书5所述的按键系统的按键检测方法,其特征是,m只二极管分布于n×m矩阵对角线上的交点上,所述步骤c为:
将第i条行导线置为低电平;
扫描第k条行导线是否为低电平,k≠i;
若是,则第k条列导线与第i条行导线的交点上的按键被按下。
CN 200710049164 2007-05-24 2007-05-24 按键系统及其检测方法 Pending CN101079637A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200710049164 CN101079637A (zh) 2007-05-24 2007-05-24 按键系统及其检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710049164 CN101079637A (zh) 2007-05-24 2007-05-24 按键系统及其检测方法

Publications (1)

Publication Number Publication Date
CN101079637A true CN101079637A (zh) 2007-11-28

Family

ID=38906905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710049164 Pending CN101079637A (zh) 2007-05-24 2007-05-24 按键系统及其检测方法

Country Status (1)

Country Link
CN (1) CN101079637A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075194A (zh) * 2009-11-23 2011-05-25 鸿富锦精密工业(深圳)有限公司 键盘扫描电路和方法及电子设备
CN102111467A (zh) * 2011-03-04 2011-06-29 惠州Tcl移动通信有限公司 一种手机及其按键检测装置
WO2012040973A1 (zh) * 2010-09-30 2012-04-05 江苏惠通集团有限责任公司 按键检测方法及装置
CN102857232A (zh) * 2012-09-17 2013-01-02 青岛海信宽带多媒体技术有限公司 一种按键检测电路及检测方法
CN103297020A (zh) * 2013-05-14 2013-09-11 福建师范大学 一种可扩展按键数量的按键电路
CN103532562A (zh) * 2012-06-30 2014-01-22 硅实验室公司 用于混合信号接口电路的装置和相关方法
CN103885603A (zh) * 2014-03-26 2014-06-25 许恒聪 一种可调式键盘
CN104065384A (zh) * 2014-07-03 2014-09-24 南通医疗器械有限公司 一种按键检测电路的实现方法
CN107718872A (zh) * 2017-09-30 2018-02-23 北京印刷学院 基于现代印刷技术的uvled程控固化光源
WO2018098620A1 (zh) * 2016-11-29 2018-06-07 王铭 矩阵按键、其组合按键检测装置、方法及检测的检测方法
CN109634434A (zh) * 2019-01-18 2019-04-16 深圳市富励逻辑科技有限公司 多点组合扫描式键盘、具有键盘的设备及按键识别方法
CN112713902A (zh) * 2020-12-07 2021-04-27 珠海格力电器股份有限公司 确定按键扫描键值的方法、系统、遥控器、介质及应用

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075194A (zh) * 2009-11-23 2011-05-25 鸿富锦精密工业(深圳)有限公司 键盘扫描电路和方法及电子设备
CN102075194B (zh) * 2009-11-23 2015-03-11 鸿富锦精密工业(深圳)有限公司 键盘扫描电路和方法及电子设备
WO2012040973A1 (zh) * 2010-09-30 2012-04-05 江苏惠通集团有限责任公司 按键检测方法及装置
CN102111467A (zh) * 2011-03-04 2011-06-29 惠州Tcl移动通信有限公司 一种手机及其按键检测装置
CN102111467B (zh) * 2011-03-04 2014-07-30 惠州Tcl移动通信有限公司 一种手机及其按键检测装置
US8989801B2 (en) 2011-03-04 2015-03-24 Huizhou Tcl Mobile Communication Co., Ltd. Mobile phone and key detection device
CN103532562B (zh) * 2012-06-30 2018-07-03 硅实验室公司 用于混合信号接口电路的装置和相关方法
CN103532562A (zh) * 2012-06-30 2014-01-22 硅实验室公司 用于混合信号接口电路的装置和相关方法
CN102857232A (zh) * 2012-09-17 2013-01-02 青岛海信宽带多媒体技术有限公司 一种按键检测电路及检测方法
CN102857232B (zh) * 2012-09-17 2016-03-09 青岛海信宽带多媒体技术有限公司 一种按键检测电路及检测方法
CN103297020A (zh) * 2013-05-14 2013-09-11 福建师范大学 一种可扩展按键数量的按键电路
CN103885603A (zh) * 2014-03-26 2014-06-25 许恒聪 一种可调式键盘
CN104065384A (zh) * 2014-07-03 2014-09-24 南通医疗器械有限公司 一种按键检测电路的实现方法
WO2018098620A1 (zh) * 2016-11-29 2018-06-07 王铭 矩阵按键、其组合按键检测装置、方法及检测的检测方法
CN107718872A (zh) * 2017-09-30 2018-02-23 北京印刷学院 基于现代印刷技术的uvled程控固化光源
CN109634434A (zh) * 2019-01-18 2019-04-16 深圳市富励逻辑科技有限公司 多点组合扫描式键盘、具有键盘的设备及按键识别方法
CN112713902A (zh) * 2020-12-07 2021-04-27 珠海格力电器股份有限公司 确定按键扫描键值的方法、系统、遥控器、介质及应用

Similar Documents

Publication Publication Date Title
CN101079637A (zh) 按键系统及其检测方法
CN1122910C (zh) 有线/无线键盘及其控制方法
CN1189020C (zh) 光电转换设备
CN1758680A (zh) 一种移动通讯终端号码的排列和显示方法
CN1535009A (zh) 解交错视讯讯号的装置与方法
CN2669264Y (zh) 键盘扫描电路
CN1858677A (zh) 光电键盘
CN1866085A (zh) 显示装置
CN1710946A (zh) 一种在数字图像上叠加字符的方法
CN1914805A (zh) If计数方法
CN1760809A (zh) 移动站中的按键传感器
CN1076678C (zh) 集成电路卡型汽车音频系统和操作方法
CN86106162A (zh) 图象码的解码装置
CN1232926C (zh) 用于对图像进行二进制编码的装置及其使用方法
CN1540579A (zh) 用于触控式面板的坐标检测方法及系统
CN1083219C (zh) 广播制式自动选择装置
CN212624743U (zh) 一种红外屏的扫描电路
CN1143703C (zh) 电子智能棋具
CN200980204Y (zh) 减少对应于按键的电路板信号线的结构
CN1030943C (zh) 电脑鬼键检测及特殊功能键的安排方法
CN1159699A (zh) 数字会聚校正装置
CN1744191A (zh) 液晶驱动系统与方法
CN1341885A (zh) 两键输入法及其应用
CN1532678A (zh) 一种键盘信号感知装置
CN1893621A (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20071128