[发明专利]一种按键扫描的方法及按键扫描装置有效
申请号: | 201010297272.4 | 申请日: | 2010-09-29 |
公开(公告)号: | CN101958717A | 公开(公告)日: | 2011-01-26 |
发明(设计)人: | 顾建良 | 申请(专利权)人: | 惠州TCL移动通信有限公司 |
主分类号: | H03M11/20 | 分类号: | H03M11/20 |
代理公司: | 深圳市君胜知识产权代理事务所 44268 | 代理人: | 杨宏;彭辉剑 |
地址: | 516006 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 按键 扫描 方法 装置 | ||
技术领域
本发明涉及按键扫描领域,尤其涉及的是一种按键扫描信息处理的方法及装置。
背景技术
目前市面上的手机平台方案的键盘按键扫描方法多采用行扫描法,即当按键按下时,对键盘阵列的行逐行拉低来进行按键的扫描,这种扫描方法存在功耗大的问题,并且在按键按下时要不停的进行扫描才能保证按键的正确检测。现有技术的键盘按键扫描中不仅功耗大,且其扫描算法所要执行的判断相当多,而且执行时间比较长。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种按键扫描的方法及按键扫描装置,其节省了扫描时间,提高了按键扫描效率,大大节约了扫描功耗。
本发明解决技术问题所采用的技术方案如下:
一种按键扫描的方法,其中,包括步骤:
预先设置用于根据不同的行口值和列口值确定相对应按键被按下的键盘按键表;
当有按键按下时,设置各行口方向为输出,各列口方向为输入,并赋予各行口输出值为第一预定值,扫描一次读取各列口的值,存放到列变量中;
以及设置各列口方向为输出,各行口方向为输入,并赋予各列口输出值为所述第一预定值,扫描一次读取各行口的值,存放到行变量中;
根据扫描读取各行值和各列值查询所述键盘按键表,以确定具体是哪个按键被按下。
所述按键扫描的方法,其中,所述设置用于根据相应的行口值和列口值确定对应按键被按下的键盘按键表的步骤还包括:分别设置用于存放读取的端口值的行变量及列变量。
所述按键扫描的方法,其中,所述设置用于根据相应的行口值和列口值确定对应按键被按下的键盘按键表的步骤还包括:设置行口和列口都为上拉。
所述按键扫描的方法,其中,所述第一预定值为零。
所述按键扫描的方法,其中,所述根据扫描读取各行值和各列值查询所述键盘按键,以确定哪个按键被按下的步骤具体包括:根据扫描读取的行值和列值,查找这两个值中二进制的0的起始位置,并根据该起始位置定位按键在相应的行或列的键盘序号,以确定哪个按键被按下。
一种按键扫描装置,其中,包括:
键盘按键表设置模块,用于设置根据不同的行口值和列口值确定相对应按键被按下的键盘按键表;
列口值读取模块、用于当有按键按下时,设置各行口方向为输出,各列口方向为输入,并赋予各行口输出值为第一预定值,扫描一次读取各列口的值,存放到列变量中;
行口值读取模块,用于当有按键按下时,设置各列口方向为输出,各行口方向为输入,并赋予各列口输出值为所述第一预定值,扫描一次读取各行口的值,存放到行变量中;
按键按下确认模块,用于根据扫描读取各行值和各列值查询所述键盘按键表,以确定具体是哪个按键被按下。
所述的按键扫描装置,其中,还包括:
端口值储存模块,用于存放读取的端口值的行变量及列变量。
所述的按键扫描装置,其中,还包括:
赋值模块,用于当所述行口和列口都设置为上拉时,赋所述第一预定值为零。
本发明所提供的按键扫描方法及按键扫描装置,该方法在按键按下时不需要一直进行扫描,在按键状态改变时只对行和列各扫描一次即可,缩短了扫描时间,大大节约了扫描功耗,具有功耗低的优点。本发明提供了一种全新的按键扫描方式,只需要少许代码,就可以完成按键的扫描,扫描速度因为代码的减少而提高,同时扫描的效率也相应的提高。
附图说明
图1是本发明实施例按键扫描的方法流程图;
图2是4*4按键矩阵结构示意图;
图3是现有传统按键扫描扫描方法流程图;
图4是本发明一具体应用实施例的按键扫描的方法流程图;
图5是本发明实施例的按键扫描装置原理框图。
具体实施方式
本发明的一种按键扫描的方法及按键扫描装置,为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供的一种按键扫描方法,如图1所示,包括以下步骤:
步骤S110、首先,预先设置用于根据不同的行(ROW)口值和列(COL)口值确定相对应按键被按下的键盘按键表。以及分别设置用于存放读取的端口值的行变量及列变量;
步骤S120、当有按键按下时,设置各行口方向为输出,各列口方向为输入,并赋予各行口输出值为第一预定值,扫描一次读取各列口的值,存放到列变量中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于惠州TCL移动通信有限公司,未经惠州TCL移动通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010297272.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:过电流保护电路以及电视机
- 下一篇:插座的导电片结构