按键系统及其检测方法技术方案

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

【技术实现步骤摘要】

本专利技术涉及电子技术,特别涉及按键的扫描检测技术。
技术介绍
目前各生产厂家生产碟机、卫星接收机、遥控器等需要使用按键的产品大部分都采用矩阵式扫描电路连接到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;步骤S308i的值加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;步骤S313i的值加1;步骤S314判断i的值是否等于k的值,i等于k,则进入步骤S315;i不等于k,则返回步骤S309;步骤S3本文档来自技高网...

【技术保护点】
按键系统,其特征是,包括按键编码集成电路、n条行导线、m条列导线、m只二极管,且n≥m>1;行导线与按键编码集成电路连接;n条行导线与m条列导线以n×m矩阵分布,m只二极管分布于所述矩阵的交点上,二极管阳极接行导线,阴极接列导线,且每条行导线最多与一只二极管的阳极连接,每条列导线与一只二极管的阴极连接;所述矩阵的其余交点上则分布按键,所述按键按下时,行导线和列导线接通。

【技术特征摘要】

【专利技术属性】
技术研发人员:付强
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:51[中国|四川]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1