新型键盘扫描系统及扫描方法

文档序号:7517311阅读:178来源:国知局
专利名称:新型键盘扫描系统及扫描方法
技术领域
本发明属于电子电路领域,涉及一种新型键盘扫描系统及扫描方法。
背景技术
键盘扫描是许多控制系统必不可少的部分,是实现进行人机交换方便快捷的方 法。但是往往键盘扫描需要耗费很多的1\0 口资源,而且本身对1\0 口的利用效率又不高, 很大程度上浪费了 CPU的资源。因此,当1\0 口数量一定时,扫描按键的个数多少对系统而 言有非常大的意义。在键盘中按键数量较多时,为了减少1\0 口的占用,通常将按键排列成矩阵形式。 在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。 这样,四个端口(如P1、P2、P3、P4 口 )就可以构成4*4 = 16个按键,比直接将端口线用于 键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘, 而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来 做键盘是合理的。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些。列线 通过电阻接正电源,并将行线所接的单片机的1\0 口作为输出端,而列线所接的1\0 口则作 为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是 低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否 有键按下了。虽然矩阵式键盘已经大幅度提高了 CPU的扫描速率,减少了 1\0 口的占用,但 仍然无法满足日益增长的实际需求,键盘扫描的方式也有待进一步改善提高。

发明内容
本发明所要解决的技术问题是提供一种新型键盘扫描系统;此外,本发明还提供一种新型键盘扫描方法。为解决上述技术问题,本发明采用如下技术方案。一种新型键盘扫描系统包括η个1\0 口,Sn个按键,其中 Sn=(Cl+C2n+- + C) + ^(C1 + C1 +…+ C;;,1);所述扫描系统通过η个I \0 口扫描Sn个按
键;每个按键直接或通过二极管与至少一个1\0 口相连。作为本发明的一种优选方案,所述按键由η+1组按键构成,其中第一组有 c:+c 2+··· + 个按键,剩余η组每组均有Ct, + C 2_, +…+ C=个按键;所述第一组按键中 每一个按键一端接地,另一端接至少一个1\0 口 ;所述剩余η组按键中每一个按键一端接一 个1\0 口,另一端接至少一个剩余的1\0 口。作为本发明的另一种优选方案,所述第一组按键中另一端仅接一个1\0 口的按键 与自己所接的I\0 口直接相连。作为本发明的再一种优选方案,所述第一组按键中另一端接至少两个1\0 口的按 键通过二极管与自己所接的1\0 口相连。作为本发明的再一种优选方案,所述剩余η组按键中的每一个按键的另一端均通过二极管与自己所接的1\0 口相连。作为本发明的再一种优选方案,所述二极管为高频二极管。一种新型键盘扫描方法为通过η个1\0 口控制sn个按键,且通过对1\0 口的扫描
唯一地确定按下的按键,其中民=(c〗+ cn2 +…+ ) + n{cl, + c 2_, +…+ c;;)海个按键直
接或通过二极管与至少一个1\0 口相连;所述扫描方法将sn个按键分为n+1组进行扫描, 其中第一组扫描g +cn2 +…+ c "个按键,剩余η组每组均扫描cfl1 +c^1 +…+ (^力个按键。
作为本发明的一种优选方案,所述η个1\0 口分别与单片机的pxc^pxppx2. . . pxlri 引脚相连,所述扫描方法将sn个按键分为n+1组进行扫描,第一组扫描的详细步骤为单片 机对 px0> pxp px2. · · pxlri 赋值 “ 1,,,然后读取 px0> px1、px2. · · pxlri 引脚信号,如果 px0> px1、 px2. . .pxlri中间有任何一个端口电压降为0,则引起所述端口电压压降的原因定是“地”,单 片机读取px0> px” px2. · · pxlri的引脚信号确定按下的按键;如果pxo、pxp px2. · · pxlri引脚 没有电压压降,则引起该端口电压压降的原因不是“地”。作为本发明的另一种优选方案,第i+2组扫描的详细步骤为单片机对pxi赋值 “0”,对pxq、ph1中除pxii外的引脚赋值“1”,然后读取px。、ph1中除pxi 之外的引脚电压,如果pxo、px2... pxlri中除pxi之外的引脚中间有任何一个端口电压降为 0,则引起该端口电压压降的原因定是"pxi”,单片机读取引脚信号确定按下的按键,其中 0彡i彡n-1。作为本发明的再一种优选方案,如果pxr px2. . . pxlri中没有任何引脚的端口电压 降为0,则没有任何按键按下。本发明的有益效果在于本发明只是对1\0 口进行赋值,并没有执行每一个按键 的检测过程,检测时间相对较短,可行性高,且能极大的提高1\0 口扫描按键的能力,节约 cpu的资源。


图1为3个1\0 口扫描16按键的系统电路图;图2为3个1\0 口扫描16按键的方法流程图。
具体实施例方式下面结合附图对本发明的具体实施方式
作进一步详细说明。实施例一本实施例提供一种新型键盘扫描系统,该系统包括η个1\0 口,sn个按键,其中 民―口+“+…+ ^^ + “^二+匸^+…+ ^”所述扫描系统通过!!个八。口扫描 按键;每个按键直接或通过二极管与至少一个1\0 口相连。所述按键由n+1组按键构 成,其中第1组有 ;+c 2+…+ c "个按键,剩余η组每组均有ctdct1+…+ c=个按键;所 述第1组按键中每一个按键一端接地,另一端接至少一个1\0 口 ;所述剩余η组按键中每一 个按键一端接一个1\0 口,另一端接至少一个剩余的1\0 口。所述第1组按键中另一端仅 接一个1\0 口的按键与自己所接的1\0 口直接相连。所述第1组按键中另一端接至少两个 1\0 口的按键通过二极管与自己所接的1\0 口相连。所述剩余η组按键中的每一个按键的另一端均通过二极管与自己所接的1\0 口相连。所述二极管为高频二极管。
η个1\0 口实现Sn个按键的扫描过程如下当有η个1\0 口作为键盘扫描用,PXc^PXrPX2. . . PXlri分别对应这η个1\0端口。第一步检测,单片机对PXc^PX1IX2. . .PXlri 赋值“1”,然后读取 PXc^PX1IX2. .. PXlri 弓丨脚信号,如果PXo、PXpPX2.. .PXlri中间有任何一个端口电压降为0,则引起该端口电压压 降的原因定是“地”,单片机读取PXr PXp PX2... PXlri的引脚信号只有一个引脚为“0”的情况如果只有PXtl为“0”,则表示按键1按下;如果只有 &为“0”,则表示按键2按下...(总共可以检测到C〗= 个按键);只有两个引脚为“0”的情况如果只有PVPX1为“0”,则表示按键η+1按下;如果 只有PXp PX2为“0”,则表示按键η+2按下...(总共可以检测到C 2 =”个按键);只有三个引脚为“0”的情况如果只有PXc^PX1JX2为“0”,则表示按键n + ¥ + l 按下;如果只有PXo、PX1^ PX3为“0”,则表示按键η + ^11+ 按下;如果只有PXp PX1^ PX4为 “0”,则表示按键《 + ¥ + 3按下...(总共可以检测Q3=W^l个按键);只有四个引脚为“0”的情况总共可以检测c 4 1X"2_42Kn_3)个按键;...只有η-1个引脚为“0”的情况总共可以检测Cr1 ι个按键;当η个引脚都为“0”的情况总共可以检测C " =1个按键;总结起来也就是在第一步检测中可以检测C]+C;2 + ···+。;个按键。如果PXp PX1, PX2. . . PXlri引脚没有电压压降,则引起该端口电压压降的原因不是 “地”,执行第二步检测。第二步检测,单片机对PX1赋值“0”,对PXi、PX2. . . PXlri赋值“1”,然后读取P&、 PX2. · · PXlri引脚电压,如果PXpPX2. · · PXlri中间有任何一个端口电压降为0,则引起该端口 电压压降的原因定是"PX1 ”,单片机读取PXpPX2... PXlri引脚信号PX1, PX2. . . PXlri中只有一个引脚信号变为“0”的情况总共有C^1 = W-I种情况, 也即可以检测η-1个按键;PXi、PX2. . . PXlri中只有两个引脚信号变为“0”的情况,总共有C^1 =“广2)种组 合,即可以检测("_,—2)个按键;PX1^PX2. . . PXn^1中只有三个引脚信号变为“0”的情况,总共有C 3 =("-”( 2)…-3)种
组合,即可以检测个按键;...只有η-2个引脚为“0”的情况总共可以检测C==^-I个按键;当η-1个个 引脚都为“0”的情况总共可以检测C==I个按键;总结起来,在第二步检测中可以检测 (丨+^丨+…+匸二个按键。如果PXp PX2... PXlri引脚没有电压压降,则引起该端口电压压降的原因不是 "PX1 ”,则执行第三步检测。
第三步检测,对PX1 赋值 “0”,对 ΡΧ0、ΡΧ2· · · PXlri 赋值 “1”,读取 PX0> PX2. · · PXlri 引 脚信号,如果PXo、PX2... PXlri中任何一个变为“0”,则参照第二步检测过程进行检测;如果没有引脚信号改变,则引起压降的不是PX1,执行第四步检测。同理,可以推算出在第三步检测中可以检测Cj^+C^ + h.+C;;;1,按键;第四步检测,相同道理,如果引起压降的是P X2,则在此步检测中可以检测到
iCl^+Cjq+···+!;^个按键;如果引起压降的不是P X2,则执行第五步检测。...
第n+1步检测,相同道理,如果引起压降的是P Xlri,则在此步检测中可以检测到 Ci+cL+···+^-!^^ ;如果弓丨起压降的不是ρ Xlri,则表示没有按键按下,完成扫描程序。总结这n+1步的检测程序,一共可以检测按键个数是各个检测步骤检测按键个数实施例二本实施例中,η的值为2,Sn的值为5,3个1\0 口分别为PO 口、Pl 口,5个按键分 别为按键Κ1、按键Κ2、按键Κ3、按键Κ4、按键Κ5 ;其中按键Κ1、按键Κ2、按键Κ3为第1组按 键,按键Κ4为第2组按键,按键Κ5为第3组按键;其中按键Kl的一端接地,另一端直接与 PO 口相连;按键Κ2的一端接地,另一端直接与Pl 口相连;按键Κ3的一端接地,另一端通过 并联的二极管分别与PO 口、Pl 口相连;按键Κ4的一端接PO 口,另一端通过二极管与Pl 口 相连;按键Κ5的一端接Pl 口,另一端通过二极管与PO 口相连。2个1\0 口扫描5个按键的方法如下记这两个1\0 口分别是Ρ10、Ρ11,扫描按键总个数为S2 = 5。程序开始时扫描有无按键按下并确定引起Ρ10、Pll压降的原因(如果有按键按 下,Ρ10、Pll会有一个或同时从上一时刻的高电平电压被拉成低电平),即确定引起压降的 是“地”,PlO还是Pll。具体扫描过程包括以下步骤第一步检测,单片机对Ρ10、Ρ11赋“1”,然后检测Ρ10、Ρ11的引脚电压如果Ρ10、Pll有一个或者同时被拉低电压,这表明引起电压压降的是“地”,此时 单片机读取Pio、Pll引脚电压,如果只有PlO为“0”,则表示按键1按下;如果只有Pll为 “0”,则表示按键2按下;如果Ρ10、Pll同时为“0”则表示按键3按下;如果Ρ10、Ρ11电压都没有被拉低,则表示引起压降的不是“地”,执行第二步检测。第二步检测,单片机对PlO赋“0”,Pll赋“1”,然后检测Pll引脚电压如果Pll引脚电压被拉低,这表明引起电压压降的是“Ρ10”,此时单片机读取Pll 引脚电压,如果为“0”,则表示按键4按下;如果Pll引脚电压没有被拉低,则表示引起压降的不是“Ρ10”,执行第三步检测。第三步检测,单片机对Pll赋“0”,PlO赋“1”,然后检测PlO引脚电压如果PlO引脚电压被拉低,这表明引起电压压降的是“Ρ11”,单片机读取PlO引脚 电压,如果为“0”,则表示按键5按下;如果PlO引脚电压没有被拉低,则表示引起压降的不是Ρ11,则表示整个检测过程中没有发现有引脚电压被拉低,也即表示没有按键按下,键盘扫描过程结束。这样就完成了 5个1\0 口的扫描。从上面的检测过程可以看出,每一步检测都只是对1\0 口进行赋值,并没有执行 每一个按键的检测过程,这样检测时间相对也很短,可以保证扫描时间不是很长,保证此扫 描方法的可行性。实施例三本实施例提供的新型键盘扫描系统是以3个1\0 口扫描16个按键的系统,其电路 图如图1所示。η的值为3,Sn的值为16,3个1\0 口分别为PO 口、Pl 口、Ρ2 口,16个按键分别为 按键Κ1、按键Κ2、按键Κ3、按键Κ4、按键Κ5、按键Κ6、按键Κ7、按键Κ8、按键Κ9、按键Κ10、按 键Κ11、按键Κ12、按键Κ13、按键Κ14、按键Κ15、按键Κ16 ;其中按键Κ1、按键Κ2、按键K 3、 按键Κ4、按键Κ5、按键Κ6、按键Κ7为第1组按键,按键Κ8、按键Κ9、按键KlO为第2组按键, 按键Κ11、按键Κ12、按键Κ13为第3组按键,按键Κ14、按键Κ15、按键Κ16为第4组按键;其 中按键Kl的一端接地,另一端直接与PO 口相连;按键Κ2的一端接地,另一端直接与Pl 口 相连;按键K 3的一端接地,另一端直接与Ρ2 口相连;按键Κ4的一端接地,另一端通过并 联的二极管分别与PO 口、Pl 口相连;按键Κ5的一端接地,另一端通过并联的二极管分别与 PO 口、Ρ2 口相连;按键Κ6的一端接地,另一端通过并联的二极管分别与Pl 口、Ρ2 口相连; 按键Κ7的一端接地,另一端通过并联的二极管分别与PO 口、Pl 口、Ρ2 口相连;按键Κ8的 一端接PO 口,另一端通过二极管与Pl 口相连;按键Κ9的一端接PO 口,另一端通过二极管 与Ρ2 口相连;按键KlO的一端接PO 口,另一端通过并联的二极管分别与Pl 口、Ρ2 口相连; 按键Kll的一端接Pl 口,另一端通过二极管与PO 口相连;按键Κ12的一端接Pl 口,另一端 通过二极管与Ρ2 口相连;按键Κ13的一端接Pl 口,另一端通过并联的二极管分别与PO 口、 Ρ2 口相连;按键Κ14的一端接Ρ2 口,另一端通过二极管与PO 口相连;按键Κ15的一端接Ρ2 口,另一端通过二极管与Pl 口相连;按键Κ16的一端接Ρ2 口,另一端通过并联的二极管分 别与PO 口、Pl 口相连。图 1 中 Ρ10、Ρ11、Ρ12 连接 89k52 单片机的 Ρ1·0、Ρ1· 1、Ρ1·2 端口 ;D1、D2. · · D21 是 高频二极管IN60,二极管的作用主要是隔离P10、P11、P12使得他们之间的导通方向得以控 制,又因为单片机在扫描按键时对Pl. 0、Pl. 1、Pl. 2端口的赋值和读取引脚信号速度很快, 所以要求二极管能够快速导通截止,故选用高频二极管。该扫描系统把16个按键分成了四组。第一组,由“地”引起端口压降的按键,分别 为kl、k2、k 3、k4、k5、k6、k7。第二组,由“P10”引起压降的按键,分别为k8、k9、kl0。第 三组,由“P11”引起压降的按键,分别为kll、kl2、kl3。第四组,由“P12”引起压降的按键, 分别为 kl4、kl5、kl6。本实施例所述扫描系统的扫描方法为分组对按键进行扫描,进而确定被按下的按 键。第一组情况如果单片机检测到仅有PlO端口为“0”,则可以确定kl按下;如果检 测到仅有Pll端口为“0”,则可以确定k2按下;如果检测到仅有P12端口为“0”,则可以确 定k 3按下;如果检测到仅有P10、Pll端口为“0”,则可以确定k4按下;如果检测到仅有 ΡΙΟ、P12端口为“0”,则可以确定k5按下;如果检测到仅有Pll、P12端口为“0”,则可以确定k6按下;如果检测到ΡΙΟ、P1UP12端口均为“0”,则可以确定k7按下。第二组情况如果单片机检测到仅有P10、P11端口为“0”,则可以确定k8按下;如 果检测到仅有P10、P12端口为“0”,则可以确定k9按下;如果检测到P10、P11、P12端口均 为“0”,则可以确定klO按下。
第三组情况如果单片机检测到仅有Pll、PlO端口为“0”,则可以确定kll按下; 如果检测到仅有Pll、P12端口为“0”,则可以确定kl2按下;如果检测到如果检测到P11、 ΡΙΟ、P12端口均为“0”,则可以确定kl3按下。第四组情况如果单片机检测到仅有P12、PlO端口为“0”,则可以确定kl4按下; 如果检测到仅有P12、Pll端口为“0”,则可以确定kl5按下;如果检测到如果检测到P11、 ΡΙΟ、P12端口均为“0”,则可以确定kl6按下。这里对二极管IN60的具体功能阐述一下二极管的作用主要是快速截止和导通,使得P10、P11、P12之间的导通方向得以控 制,进而隔离P10、P11、P12。比如看第一组按键中的kl,如果kl按下,则PlO引脚信号变为 “0”,如果没有D3、D4(即k5按键旁边的二极管)的隔离作用,当PlO引脚电压被“地”拉低 时,P12引脚的电压也会被PlO拉低;同理如果没有D1、D2(即k4按键旁边的二极管)的隔 离作用,当PlO弓丨脚电压被“地”拉低时,Pll引脚的电压也会被PlO拉低。可以看出,如果 kl按下则P10、P11、P12的引脚电压均会被拉低。稍微分析下变可知,如果没有二极管的隔 离,任何按键按下都会导致P10、P11、P12引脚电压全部被拉低。这样电路也就无法区分具 体是哪个按键按下了。二极管要求是高频二极管主要是考虑到单片机在扫描键盘时信号的 读写速度是很快的(在微妙数量级),需要二极管能及时响应单片机的信号。3个1\0 口实现扫描16个按键的方法流程如图2所示记这三个1\0 口分别是P10、P11、P12,扫描按键总个数为S3 = 16。单片机开始时扫描有无按键按下并确定引起P10、P11、P12压降的原因(如果有按 键按下,P10、PlU P12会有一个、两个或同时从上一时刻的高电平电压被拉成低电平),即 确定引起压降的是“地”,P10, Pll还是P12。具体扫描过程包括以下步骤第一步检测,程序对P10、P11、P12赋“1”,然后检测P10、P11、P12的引脚电压如果ΡΙΟ、P11、P12有一个或者同时被拉低电压,这表明引起电压压降的是“地”, 执行步骤causeO ;causeO 单片机读取P10、Pl 1、P12引脚电压,如果只有PlO为“0”,则表示按键1 按下;如果只有Pll为“0”,则表示按键2按下;如果只有P12为“0”,则表示按键3按下; 如果只有P10、P11同时为“0”则表示按键4按下;如果只有P10、P12为“0”,则表示按键5 按下;如果只有P11、P12为“0”,则表示按键6按下;如果P10、P11、P12同时为“0”,则表示
按键7按下。如果P10、PlU P12电压都没有被拉低,则表示引起压降的不是“地”,执行第二步检测。第二步检测,程序对?10赋“0”,?11汴12赋“1”,然后检测?11、?12引脚电压如果P11、P12引脚电压有一个或同时被拉低,这表明引起电压压降的是“P10”,执 行步骤cause 1 ;Causel 单片机读取P11、P12引脚信号,如果只有Pll为“0”,则表示按键8按下;如果只有P12为“0”,则表示按键9按下;如果Pll、P12同时为“0”,则表示按键10按下。如果P11、P12引脚电压没有被拉低,则表示引起压降的不是“P10”,执行第三步检测。
第三步检测,程序对Pl 1赋“0”,ΡΙΟ、P12赋“ 1 ”,然后检测ΡΙΟ、P12引脚电压:如果P10、P12引脚电压有一个或同时被拉低,这表明引起电压压降的是“P11”,执 行步骤cause2 ;cause2 单片机读取P10、P12引脚信号,如果只有PlO为“0”,则表示按键11按下; 如果只有P12为“0”,则表示按键12按下;如果ΡΙΟ、P12同时为“0”,则表示按键13按下。如果P10、P12引脚电压没有被拉低,则表示引起压降的不是“P11”,执行第四步检测。第四步检测,程序对?12赋“0”,?10汴11赋“1”,然后检测P10、P11引脚电压如果P10、P11引脚电压有一个或同时被拉低,这表明引起电压压降的是“P12”,执 行步骤cause3 ;Cause3 单片机读取P10、P11引脚信号,如果只有PlO为“0”,则表示按键14按下; 如果只有Pll为“0”,则表示按键15按下;如果P10、P11同时为“0”,则表示按键16按下;如果P10、P11引脚电压没有被拉低,则表示引起压降的不是“P12”,也表示没有按 键按下,键盘扫描程序结束。程序完成了对16个1\0 口的扫描。这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例 中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实 施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明 的精神或本质特征的情况下,本发明可以以其他形式、结构、布置、比例,以及用其他元件、 材料和部件来实现。
权利要求
一种新型键盘扫描系统,其特征在于所述扫描系统包括n个I\O口,Sn个按键,其中所述扫描系统通过n个I\O口扫描Sn个按键;每个按键直接或通过二极管与至少一个I\O口相连。FSA00000134300600011.tif
2.根据权利要求1所述的新型键盘扫描系统,其特征在于所述按键由n+1组按 键构成,其中第一组有G + C 2 +…+ 个按键,剩余n组每组均有Ct, + C 2_, +…+ C=:;个按 键;所述第一组按键中每一个按键一端接地,另一端接至少一个1\0 口 ;所述剩余n组按键 中每一个按键一端接一个1\0 口,另一端接至少一个剩余的1\0 口。
3.根据权利要求2所述的新型键盘扫描系统,其特征在于所述第一组按键中另一端 仅接一个1\0 口的按键与自己所接的1\0 口直接相连。
4.根据权利要求2所述的新型键盘扫描系统,其特征在于所述第一组按键中另一端 接至少两个1\0 口的按键通过二极管与自己所接的1\0 口相连。
5.根据权利要求2所述的新型键盘扫描系统,其特征在于所述剩余n组按键中的每 一个按键的另一端均通过二极管与自己所接的1\0 口相连。
6.根据权利要求1至5任意一项所述的新型键盘扫描系统,其特征在于所述二极管 为高频二极管。
7.根据权利要求1所述的新型键盘扫描系统的扫描方法,其特征在于所述扫描 方法为通过n个1\0 口控制Sn个按键,且通过对1\0 口的扫描唯一地确定按下的按键,其中<formula>formula see original document page 2</formula>每个按键直接或通过二极管与至少一个1\0 口相连;所述扫描方法将Sn个按键分为n+1组进行扫描,其中第一组扫描 C:+C 2 +…+ 个按键,剩余n组每组均扫描Ct, +C 2_, +…+ C。个按键。
8.根据权利要求7所述的新型键盘扫描方法,其特征在于所述n个1\0口分别与单片 机的PXpPXpPXy . . PXn_i引脚相连,所述扫描方法将Sn个按键分为n+1组进行扫描,第一组 扫描的详细步骤为单片机对PX0、PX” PX2. PXn_i赋值“ 1 ”,然后读取PX0、PX” PX2. PXn_i 引脚信号,如果PXrPXpPXy . .PXn_i中间有任何一个端口电压降为0,则引起所述端口电压 压降的原因定是“地”,单片机读取P&、PXp PX2. . . PXn_i的引脚信号确定按下的按键;如果 PXQ、P&、PX2. . . PXn_i引脚没有电压压降,则引起该端口电压压降的原因不是“地”。
9.根据权利要求8所述的新型键盘扫描方法,其特征在于第i+2组扫描的详细步骤 为单片机对PXi赋值“0”,对PX0、PX2. PXn_i中除PXi之外的引脚赋值“1”,然后读取PX0、 PX2. . . PXn_!中除PXi之外的引脚电压,如果PXpPXy . . PXn_!中除PXi之外的引脚中间有任何 一个端口电压降为0,则引起该端口电压压降的原因定是“PX/’,单片机读取引脚信号确定 按下的按键,其中0彡i彡n-l。
10.根据权利要求8所述的新型键盘扫描方法,其特征在于如果PX^Xy. . PXn_i中没 有任何弓I脚的端口电压降为0,则没有任何按键按下。
全文摘要
本发明公开了一种新型键盘扫描系统及扫描方法,所述扫描方法为通过n个I\O口控制Sn个按键,且通过对I\O口的扫描唯一地确定按下的按键,其中每个按键直接或通过二极管与至少一个I\O口相连;所述扫描方法将Sn个按键分为n+1组进行扫描,其中第一组扫描个按键,剩余n组每组均扫描个按键。本发明只是对I\O口进行赋值,并没有执行每一个按键的检测过程,检测时间相对较短,可行性高,且能极大的提高I\O口扫描按键的能力,节约CPU的资源。
文档编号H03M11/20GK101834609SQ201010183858
公开日2010年9月15日 申请日期2010年5月25日 优先权日2010年5月25日
发明者孔祥洪, 杨谓, 江瑞煌 申请人:上海海洋大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1