分时动态变换键位扫描方法及系统.pdf
《分时动态变换键位扫描方法及系统.pdf》由会员分享,可在线阅读,更多相关《分时动态变换键位扫描方法及系统.pdf(11页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202011000262.X (22)申请日 2020.09.22 (71)申请人 君凯迪科技 (深圳) 有限公司 地址 518000 广东省深圳市罗湖区桂园街 道深南东路4002号鸿隆世纪广场C座 8E (72)发明人 徐千朗悦黄宏章冯秋雄 (74)专利代理机构 深圳市添源知识产权代理事 务所(普通合伙) 44451 代理人 黎健任 (51)Int.Cl. H03M 11/20(2006.01) (54)发明名称 一种分时动态变换键位扫描方法及系统 (57)摘要 本发明提供一种。
2、分时动态变换键位扫描方 法及系统, 所述分时动态变换键位扫描方法包括 以下步骤: 步骤S1, 配置分时动态变换键盘中的 一个IO口输出低电平, 其它IO口为输入端口; 步 骤S2, 依次扫描输入端口的高低电平状态, 实时 判断是否有输入端口为低电平, 若是则跳转至步 骤S3, 若否则返回步骤S1; 步骤S3, 判断是否在同 一时间有两个或两个以上的输入端口为低电平, 若否则跳转至步骤S4, 若是则返回步骤S1; 步骤 S4, 读取输出低电平的输出端口J和输入端口K, 计算对应按键的列数位置和行数位置。 本发明有 效避免了键位判断错误的问题, 降低了生产成 本, 提高了键位扫描的准确性和实效性,。
3、 能够很 好地满足工业产品应对大信息数据的需求。 权利要求书2页 说明书5页 附图3页 CN 112073070 A 2020.12.11 CN 112073070 A 1.一种分时动态变换键位扫描方法, 其特征在于, 包括以下步骤: 步骤S1, 配置分时动态变换键盘中的一个IO口输出低电平, 其它IO口为输入端口; 步骤S2, 依次扫描输入端口的高低电平状态, 实时判断是否有输入端口为低电平, 若是 则跳转至步骤S3, 若否则返回所述步骤S1, 配置分时动态变换键盘中的下一个IO口输出低 电平, 其它IO口为输入端口; 步骤S3, 判断是否在同一时间有两个或两个以上的输入端口为低电平, 若否。
4、则跳转至 步骤S4, 若是则返回所述步骤S1, 配置分时动态变换键盘中的下一个IO口输出低电平, 其它 IO口为输入端口; 步骤S4, 读取输出低电平的输出端口J和输入端口K, 并通过输出端口J和输入端口K计 算对应按键的列数位置和行数位置, 其中, J为当前输出低电平的输出端口编号, K为输出端 口J在输出低电平时所检测到的低电平的输入端口编号。 2.根据权利要求1所述的分时动态变换键位扫描方法, 其特征在于, 所述步骤S4通过公 式L=(K+N-2)%N)+1计算按键的列数位置L, 其中, N为IO口的总数, %为模余运算符。 3.根据权利要求2所述的分时动态变换键位扫描方法, 其特征在于。
5、, 所述步骤S4通过公 式H=(N-J)%N)+L)%N)+1计算按键的行数位置H。 4.根据权利要求1至3任意一项所述的分时动态变换键位扫描方法, 其特征在于, 当所 述IO口的总数大于或等于4时, 所述步骤S1包括以下子步骤: 步骤S101, 先配置IO口A1至IO口An为输入端口, 单独配置IO口A1输出低电平, 然后跳转 至步骤S2中依次扫描IO口A2至IO口An, n为最后一个IO口的序号; 步骤S102, 在没有输入端口为低电平或同时有多个输入端口为低电平时, 返回配置IO 口A1至IO口An为输入端口, 单独配置IO口A2输出低电平, 然后跳转至步骤S2中依次扫描IO 口A1、 。
6、IO口A3至IO口An; 步骤S103, 在没有输入端口为低电平或同时有多个输入端口为低电平时, 返回配置IO 口A1至IO口An为输入端口, 单独配置IO口A3输出低电平, 然后跳转至步骤S2中依次扫描IO 口A1、 IO口A2、 IO口A4至IO口An; 步骤S104, 返回重复上述步骤, 一直循环到单独配置IO口An输出低电平, 然后跳转至步 骤S2中依次扫描IO口A1至IO口An-1。 5.根据权利要4所述的分时动态变换键位扫描方法, 其特征在于, 所述步骤S3中, 在不 同时间段的分别出现输入端口为低电平时, 跳转至所述步骤S4进行列数位置和行数位置的 计算。 6.根据权利要5所述的。
7、分时动态变换键位扫描方法, 其特征在于, 所述步骤S4中, 根据 当前时间段的输出低电平的输出端口J和输入端口K进行列数位置和行数位置的计算, 然后 切换至下一个输入端口为低电平所对应的时间段, 并读取新的输入端口K进行下一个键位 的列数位置和行数位置计算, 依此重复。 7.根据权利要5所述的分时动态变换键位扫描方法, 其特征在于, 所述n为5。 8.根据权利要求1至3任意一项所述的分时动态变换键位扫描方法, 其特征在于, 在所 述步骤S2中, 依次扫描输入端口的高低电平状态, 并记录其动态扫描的时序图, 当输入端口 为低电平时, 标识该输入端口的序号。 9.一种分时动态变换键位扫描系统, 其。
8、特征在于, 包括了分时动态变换键盘以及如权 权利要求书 1/2 页 2 CN 112073070 A 2 利要求1至8任意一项所述的分时动态变换键位扫描方法, 其特征在于, 所述分时动态变换 键盘为一线式的分时动态变换键盘, 电源VCC分别通过上拉电阻连接至一一对应的IO口, 多 个IO口之间并联连接, 所述分时动态变换键盘采用了所述分时动态变换键位扫描方法实现 键位扫描。 权利要求书 2/2 页 3 CN 112073070 A 3 一种分时动态变换键位扫描方法及系统 技术领域 0001 本发明涉及一种键位扫描方法, 尤其涉及一种分时动态变换键位扫描方法, 并涉 及包括了该分时动态变换键位扫。
9、描方法的分时动态变换键位扫描系统。 背景技术 0002 现有电路中的键位扫描电路多种多样, 花样百出, 有分压式AD转换的、 有比较器电 路的、 也有使用行列扫描方式, 不但结构复杂功能复杂, 往往采用复杂电路结构的驱动电路 来完成多种功能的键位扫描功能, 而且占用很多IO资源, 这样一方面成本会比较高, 同时, 电路结构和算法复杂化后, 会带来一些不稳定的因素, 给产品带来隐形的风险, 增加测试的 成本, 降低了产品的合格率。 0003 现在的带键位的产品功能越来越复杂, 需求的按键也越来越多, 现有的技术, 键盘 电路使用的IO比较多, 需要的管脚就比较多, 成本较高。 随着竞争越来越激烈。
10、, 各厂商绞尽 脑汁的减少IO口, 希望能够合理降低产品成本, 为此, 我司也研发过新型的键位扫描电路, 但是, 随之而来也会面临了新的问题, 即如何在实现减少IO口数量的基础上, 实现更为准确 和快速的键位扫描, 以便应对工业产品对大信息数据的需求。 发明内容 0004 本发明所要解决的技术问题是需要提供一种能够提高键位扫描准确性和实效性 的分时动态变换键位扫描方法, 还进一步提供包括了该分时动态变换键位扫描方法的分时 动态变换键位扫描系统。 0005 对此, 本发明提供一种分时动态变换键位扫描方法, 包括以下步骤: 步骤S1, 配置分时动态变换键盘中的一个IO口输出低电平, 其它IO口为输。
11、入端口; 步骤S2, 依次扫描输入端口的高低电平状态, 实时判断是否有输入端口为低电平, 若是 则跳转至步骤S3, 若否则返回所述步骤S1, 配置分时动态变换键盘中的下一个IO口输出低 电平, 其它IO口为输入端口; 步骤S3, 判断是否在同一时间有两个或两个以上的输入端口为低电平, 若否则跳转至 步骤S4, 若是则返回所述步骤S1, 配置分时动态变换键盘中的下一个IO口输出低电平, 其它 IO口为输入端口; 步骤S4, 读取输出低电平的输出端口J和输入端口K, 并通过输出端口J和输入端口K计 算对应按键的列数位置和行数位置, 其中, J为当前输出低电平的输出端口编号, K为输出端 口J在输出。
12、低电平时所检测到的低电平的输入端口编号。 0006 本发明的进一步改进在于, 所述步骤S4通过公式L=(K+N-2)%N)+1计算按键的列 数位置L, 其中, N为IO口的总数, %为模余运算符。 0007 本发明的进一步改进在于, 所述步骤S4通过公式H=(N-J)%N)+L)%N)+1计算按 键的行数位置H。 0008 本发明的进一步改进在于, 当所述IO口的总数大于或等于4时, 所述步骤S1包括以 说明书 1/5 页 4 CN 112073070 A 4 下子步骤: 步骤S101, 先配置IO口A1至IO口An为输入端口, 单独配置IO口A1输出低电平, 然后跳转 至步骤S2中依次扫描I。
13、O口A2至IO口An, n为最后一个IO口的序号; 步骤S102, 在没有输入端口为低电平或同时有多个输入端口为低电平时, 返回配置IO 口A1至IO口An为输入端口, 单独配置IO口A2输出低电平, 然后跳转至步骤S2中依次扫描IO 口A1、 IO口A3至IO口An; 步骤S103, 在没有输入端口为低电平或同时有多个输入端口为低电平时, 返回配置IO 口A1至IO口An为输入端口, 单独配置IO口A3输出低电平, 然后跳转至步骤S2中依次扫描IO 口A1、 IO口A2、 IO口A4至IO口An; 步骤S104, 返回重复上述步骤, 一直循环到单独配置IO口An输出低电平, 然后跳转至步 骤。
14、S2中依次扫描IO口A1至IO口An-1。 0009 本发明的进一步改进在于, 所述步骤S3中, 在不同时间段的分别出现输入端口为 低电平时, 跳转至所述步骤S4进行列数位置和行数位置的计算。 0010 本发明的进一步改进在于, 所述步骤S4中, 根据当前时间段的输出低电平的输出 端口J和输入端口K进行列数位置和行数位置的计算, 然后切换至下一个输入端口为低电平 所对应的时间段, 并读取新的输入端口K进行下一个键位的列数位置和行数位置计算, 依此 重复。 0011 本发明的进一步改进在于, 所述n为5。 0012 本发明的进一步改进在于, 在所述步骤S2中, 依次扫描输入端口的高低电平状态, 。
15、并记录其动态扫描的时序图, 当输入端口为低电平时, 标识该输入端口的序号。 0013 本发明还提供一种分时动态变换键位扫描系统, 包括了分时动态变换键盘以及如 上所述的分时动态变换键位扫描方法, 所述分时动态变换键盘为一线式的分时动态变换键 盘, 电源VCC分别通过上拉电阻连接至一一对应的IO口, 多个IO口之间并联连接, 所述分时 动态变换键盘采用了所述分时动态变换键位扫描方法实现键位扫描。 0014 与现有技术相比, 本发明的有益效果在于: 通过自主设计的分时动态变换键位扫 描方法, 能够快速响应分时动态变换键盘的按键信息, 并且, 在能够满足了一线式连接需求 且快速响应的基础上, 还有效。
16、避免了键位判断错误的问题, 降低了生产成本, 提高了键位扫 描的准确性和实效性, 能够很好地满足工业产品应对大信息数据的需求。 附图说明 0015 图1是本发明一种实施例的工作流程示意图; 图2是本发明一种实施例的分时动态变换键盘的电路原理图; 图3是本发明一种实施例的动态键位扫描时序示意图。 具体实施方式 0016 下面结合附图, 对本发明的较优的实施例作进一步的详细说明。 0017 如图1所示, 本例提供一种分时动态变换键位扫描方法, 包括以下步骤: 步骤S1, 配置分时动态变换键盘中的一个IO口输出低电平, 其它IO口为输入端口; 步骤S2, 依次扫描输入端口的高低电平状态, 实时判断是。
17、否有输入端口为低电平, 若是 说明书 2/5 页 5 CN 112073070 A 5 则跳转至步骤S3, 若否则返回所述步骤S1, 配置分时动态变换键盘中的下一个IO口输出低 电平, 其它IO口为输入端口; 步骤S3, 判断是否在同一时间有两个或两个以上 (即多个) 的输入端口为低电平, 若否 则跳转至步骤S4, 若是则返回所述步骤S1, 配置分时动态变换键盘中的下一个IO口输出低 电平, 其它IO口为输入端口; 步骤S4, 读取输出低电平的输出端口J和输入端口K, 并通过输出端口J和输入端口K计 算对应按键的列数位置和行数位置, 其中, J为当前输出低电平的输出端口编号, K为输出端 口J。
18、在输出低电平时所检测到的低电平的输入端口编号。 0018 在实际应用中, 可以先搭建好分时动态变换键盘, 如图2所示, 当然, 图2所示的是 优选的5*5的分时动态变换键盘, 应用时可以根据实际需求调整为3*3或4*4等不同规格的 分时动态变换键盘, 分时动态变换键盘包括N个IO口, 分别命名为A1、 A2, , An, , n为最 后一个IO口的序号, 如所述n为5, 就代表共有5个IO口。 0019 每一个IO口都会动态切换为输出端口和输入端口, 如依次动态变换为一个输出低 电平其它为输入端口, 每一次动态变换均配置唯一的输出端口, 并对应扫描相应的其它输 入端口, 即每一个IO口均与分时。
19、动态变换键盘中的多个按键连接, 当输入端口在没有按键 按下时由上拉电阻维持为高电平, 当有按键按下时, 每一组按键一一对应相应的输入端口 会为改变为低电平, 通过判断相应输入端口是否为低电平可定位出该键位是否被按下; 但 是在实际应用中, 因为每一个IO口连接的不止一个按键, 而是一组, 如果没有合适的算法以 及相应的键位扫描方法, 就会出现误判、 出错以及响应速度慢等问题。 0020 因此, 首先, 本例在所述步骤S2判断有输入端口为低电平的基础上, 还通过所述步 骤S3判断是否在同一时间有两个或两个以上的输入端口为低电平, 若否才跳转至步骤S4, 进而能够避免误触或误判的问题; 加之, 本。
20、例还针对性地通过所述步骤S4通过公式L=(K+ N-2)%N)+1计算按键的列数位置L, 其中, N为IO口的总数, %为模余运算符, 在计算出列数位 置L的基础上, 每一列也有多个按键, 本例所述步骤S4通过公式H=(N-J)%N)+L)%N)+1计 算按键的行数位置H, 进而能够快速且准确地定位到按键的列数位置和行数位置, 再进一步 保证了键位扫描的准确性, 计算公式简单有效, 不涉及复杂的多次方等计算, 实效性能高。 0021 当所述IO口的总数大于或等于4时 (优选n=5) , 所述步骤S1包括以下子步骤: 步骤S101, 先配置IO口A1至IO口An为输入端口, 单独配置IO口A1输。
21、出低电平, 然后跳转 至步骤S2中依次扫描IO口A2至IO口An, n为最后一个IO口的序号; 步骤S102, 在没有输入端口为低电平或同时有多个输入端口为低电平时, 返回配置IO 口A1至IO口An为输入端口, 单独配置IO口A2输出低电平, 然后跳转至步骤S2中依次扫描IO 口A1、 IO口A3至IO口An; 步骤S103, 在没有输入端口为低电平或同时有多个输入端口为低电平时, 返回配置IO 口A1至IO口An为输入端口, 单独配置IO口A3输出低电平, 然后跳转至步骤S2中依次扫描IO 口A1、 IO口A2、 IO口A4至IO口An; 步骤S104, 返回重复上述步骤, 一直循环到单独。
22、配置IO口An输出低电平, 然后跳转至步 骤S2中依次扫描IO口A1至IO口An-1。 重复循环执行上述步骤, 就能不断地实现对分时动态 变换键盘的扫描。 0022 本例首先配置IO口A1至IO口An为输入端口, 因为一线式的连接方式, 这样的配置 说明书 3/5 页 6 CN 112073070 A 6 更为合理、 有效且快捷, 然后再单独配置IO口A1输出低电平作为输出口, 其它IO口为输入口 执行步骤S2及其后续跳转和扫描; 接着还是先配置IO口A1至IO口An为输入端口, 然后再单 独配置IO口A2输出低电平作为输出口, 其它IO口为输入口执行步骤S2及其后续跳转和扫 描, 以此类推和。
23、循环, 进而能够很好地实现动态扫描, 且稳定可靠。 0023 如图3所示, 本例所述步骤S3中, 在不同时间段的分别出现输入端口为低电平时, 跳转至所述步骤S4进行列数位置和行数位置的计算。 值得说明的是, 这里不同于最开始步 骤S3所需要判断是否在同一时间有两个或两个以上的输入端口为低电平的操作, 判断是否 在同一时间有两个或两个以上的输入端口为低电平是为了实现避免误触或误判, 而这里的 在不同时间段的分别出现输入端口为低电平时则是为了快速响应不同时间段的按键; 如图 3所示, 在IO口A1动态输出低电平时, 如果IO口A2、 IO口A3、 IO口An上分别的在第一轮、 第二 轮、 第n轮时。
24、; 出现不同时间段的低电平, 此时说明不同时间段有两个或多个按键发生, 按照 键位定位算法公式, 则通用通过前面所述的计算公式来实现其计算: L=(K+N-2)%N)+1 ; H= (N-J)%N)+L)%N) +1。 0024 这种情况下, 本例所述步骤S4中, 根据当前时间段的输出低电平的输出端口J和输 入端口K进行列数位置和行数位置的计算, 然后切换至下一个输入端口为低电平所对应的 时间段, 并读取新的输入端口K进行下一个键位的列数位置和行数位置计算, 依此重复。 0025 假设N=5, 其中J=1, K=2、 3、 n (n为第n个IO口) , 则有: IO口A2检测到低电平时的键位的。
25、列数与行数分别为: 列数位置L=(K+N-2)%N)+1=(2+ 5-2)%5)+1=1; 行数位置H=(N-J)%N)+L)%N)+1= (5-1)%5)+1)%5)+1=1; 列数位置指的 是列的序号, 行数位置指的是行的序号, 即IO口A2检测到低电平时的键位为第1列第1行。 0026 IO口A3检测到低电平时的键位的列数与行数分别为: 列数位置L= (K+N-2)%N)+1 = (3+5-2)%5)+1=2; 行数位置H=(N-J)%N)+L)%N) +1= (5-1)%5)+2)%5)+1=2, 即IO 口A3检测到低电平时的键位为第2列第2行。 0027 IO口An检测到低电平时的。
26、键位的列数与行数分别为: 列数位置L= (K+N-2)%N)+1 =(n+3)%5)+1; 行数位置H=(N-J)%N)+L)%N) +1= (5-n)%5)+ (n+ 3)%5)+1)%5)+ 1。 0028 同理, 若IO口A2动态输出, 在IO口A3、 IO口An上分别出现不同时间段的低电平, 此 时说明不同时间段有两个按键发生, 假设N=7, J=2, K=3、 n (n为第n个IO口) , 按照步骤S4的键 位扫描计算方式, 则有: IO口A3检测到低电平时的键位的列数与行数分别为: 列数位置L=(K+N-2)%N)+1=(3+ 7-2)%7)+1=2; 行数位置H= (N-J)%N。
27、)+L)%N)+1= (7-2)%7)+2)%7)+1=1, 即IO口A3检 测到低电平时的键位为第2列第1行。 0029 IO口An检测到低电平时的键位的列与行数分别为: 列数位置L= (K+N-2)%N)+1= (n+5)%7)+1; 行数位置H=(N-J)%N)+L)%N) +1= (7-n)%7)+ (n+5)%7)+1)%7)+1。 0030 那么, 明显的, 本例通过自主设计的分时动态变换键位扫描方法, 能够快速响应分 时动态变换键盘的按键信息, 在能够满足了一线式连接需求且快速响应的基础上, 还有效 避免了键位判断错误的问题, 降低了生产成本, 提高了键位扫描的准确性和实效性, 。
28、能够很 好地满足工业产品应对现在大级别的信息数据的需求。 0031 优选的, 本例在所述步骤S2中, 依次扫描输入端口的高低电平状态, 并记录其动态 说明书 4/5 页 7 CN 112073070 A 7 扫描的时序图, 当输入端口为低电平时, 标识该输入端口的序号, 即记录输入端口K的数值, 那么, 在后续进行跳转和计算的时候, 就可以通过该标识快速实现, 有利于再进一步提高其 响应速度。 0032 本例还提供一种分时动态变换键位扫描系统, 包括了分时动态变换键盘以及如上 所述的分时动态变换键位扫描方法, 所述分时动态变换键盘为一线式的分时动态变换键 盘, 优选如图2所示, 在实际应用中,。
29、 可以根据实际需求进行调整, 电源VCC分别通过上拉电 阻连接至一一对应的IO口, 多个IO口之间并联连接, 所述分时动态变换键盘采用了所述分 时动态变换键位扫描方法实现键位扫描。 0033 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明, 不能认定 本发明的具体实施只局限于这些说明。 对于本发明所属技术领域的普通技术人员来说, 在 不脱离本发明构思的前提下, 还可以做出若干简单推演或替换, 都应当视为属于本发明的 保护范围。 说明书 5/5 页 8 CN 112073070 A 8 图1 说明书附图 1/3 页 9 CN 112073070 A 9 图2 说明书附图 2/3 页 10 CN 112073070 A 10 图3 说明书附图 3/3 页 11 CN 112073070 A 11 。
- 内容关键字: 分时 动态 变换 键位 扫描 方法 系统
用于挤压片状弹簧的压簧装置.pdf
用于回收硫酸装置低温废热的热量回收塔.pdf
汽车零部件冲压定位机构.pdf
弹簧快速弹出的送料装置.pdf
输液杆的主供电箱排水结构.pdf
农业经济果树种植嫁接用防护装置.pdf
车用尿素溶液水解反应装置.pdf
可自由组合堆叠式户用储能电源.pdf
财务凭证卷绕器.pdf
建筑施工卸料平台.pdf
具有应急照明功能的户内多功能储能电源.pdf
多托板自动分离机构.pdf
发动机精密配件加工用稳定支架.pdf
便于清理的橡胶促进剂过滤装置.pdf
防偏移内衣点胶机.pdf
耐插拔动力信号混合式储能防水连接器.pdf
棋类设备的智能裁判器、对弈棋子及棋类设备.pdf
大杯可脱带两用式文胸.pdf
振动传感器及车载扬声器系统.pdf
无酒精的香水配方及其制备方法.pdf
石油勘探用三角异型管电池壳性能检测装置及其检测方法.pdf
耐高温陶瓷纤维毡.pdf
转向器摇臂轴花键相对齿形位置间隙测具.pdf
盐碱土壤改良用松土装置.pdf
铝粉生产线.pdf
用于臭氧催化剂生产的混料器.pdf
新能源锂电池材料高效研磨设备及其研磨方法.pdf
地质勘测样品粉碎机.pdf
管道支撑架.pdf
行星减速机的防松脱结构.pdf
带音响装置的操作模块.pdf
基于机器视觉的反射膜生产质控的方法及系统.pdf
PVC加工辅助热稳定剂.pdf
立式淬火炉.pdf
几丁质结合蛋白CBP21及其编码基因和应用.pdf
精密焊管表面涂覆纳米陶瓷涂层的方法.pdf
一种环状芽孢杆菌及其在制备阿魏酸脱羧酶中的应用.pdf
一种铝合金芯铝型线导线内衬管大钢锚型耐张线夹.pdf
棉籽蛋白生产中脱酚液的应用.pdf
一种高级别管线钢的LF炉处理方法.pdf
一种热塑性树脂包膜肥料及其制备方法与包膜材料.pdf
决奈达隆合成方法.pdf
一种用于高效构建无抗性标记重组分枝杆菌的抗性表达盒.pdf
水电用调质型大厚度易焊接Z向高强度钢板及其生产方法.pdf
熔融法硬脂酸铅制备工艺.pdf
一种利用稻草秸秆制备燃料乙醇的方法.pdf
一种手机使用时间监测装置.pdf
酿造果酒添加歧化酶(SOD)工艺程序.pdf
一种铝合金芯铝型线导线大钢锚型耐张线夹.pdf
一种纸纤维发泡缓冲材料.pdf
一种阿维菌素颗粒药肥.pdf