键盘、键盘扫描电路及方法

文档序号:6587482阅读:293来源:国知局
专利名称:键盘、键盘扫描电路及方法
技术领域
本发明涉及一种键盘,特别涉及一种键盘扫描电路及方法。
背景技术
键盘是电脑、PDA(个人数字助理)、手机等电子产品中主要的人机对话输入设备。 随着电子产品功能的增加,要完成控制复杂多样的功能,则需要键盘提供足够的按键。键盘 通过内部的矩阵扫描电路对键盘上的按键进行扫描,从而确定按键的位置。现有矩阵键盘 扫描电路大多使用单片机I/O端口来进行键盘扫描以控制键盘的按键部分。由于控制功能 增加需要利用I/O端口进行控制的端口也增加,这样就导致键盘扫描电路占用过多的I/O 端口资源。低成本中小型的单片机为市场上销售的主体,如果使用上述矩阵键盘扫描电路 就会使得有限的I/O端口变得更为紧张。

发明内容
有鉴于此,有必要提供一种用少量的I/O端口实现多按键的键盘及键盘扫描电路。此外,还有必要提供一种键盘扫描方法。一种键盘,该键盘包括内部微处理器,该微处理器集成了 CPU、RAM, ROM、定时器/ 计数器部件,其特征在于该微处理器还包括键盘扫描程序及I/O端口,该I/O端口包括锁 存器、场效应晶体管、上拉电阻;该场效应晶体管的栅电极与锁存器电性连接,漏电极与上 拉电阻电性连接,源电极接地;该I/O端口作为输入输出端口,用于读取键盘按键状态并将 键盘按状态输出给微处理器。一种键盘扫描电路,其包括N个I/O端口、若干个按键、N条行线、N条第一列线、N 条第二列线、N个第一电阻及N个第二电阻,其中N为自然数。N条行线分别与N个I/O端 口电性连接。每条第一列线的一端通过N个按键分别与N条行线电性连接,另一端通过第 一电阻接地。每条第二列线的一端与对应的行线电性连接,另一端通过第二电阻与第一电 阻的一端电性连接。一种键盘的扫描方法,包括以下步骤设置与N条行线电性连接的N个I/O端口为输入口,同时读取该N个I/O端口的 电平状态;判断该N个I/O端口是否有电平状态发生变化;若该I/O端口有电平状态变化,记录与N个I/O端口相对应的第一键值;将I/O端口设置为输出口;读取该N个I/O端口的电平状态;记录与N个I/O端口的电平状态相对应的第二键值;根据记录的第一键值和第二键值判断出被按下的键盘按键。采用上述键盘扫描电路利用N个I/O端口实现扫描NxN个按键,减少了键盘对I/0端口资源的占用,并且实现了多个按键的扫描。同时,通过一种该扫描电路采用的扫描方法。


图1为一种较佳实施方式的键盘功能示意图,该键盘包括微处理器和键盘扫描电 路。图2为图1中微处理器的I/O端口内部电路示意图。图3为一种较佳实施方式的键盘扫描电路图。图4为I/O端口为4时,一较佳实施方式的键盘扫描电路图。图5为图3中键盘扫描电路的扫描方法的流程图。图6为图4中键盘扫描电路的扫描方法的流程图。
具体实施例方式请参阅图1,其为一种较佳实施方式的键盘10的功能示意图。键盘10包括微处理 器100及键盘扫描电路200。微处理器100包括I/O端口 110及键盘扫描程序130。微处 理器100通过I/O端口 110与键盘扫描电路200电性连接。微处理器100用于执行键盘扫 描程序130,控制键盘扫描电路200识别键盘10被操作的按键。在本实施方式中,微处理器100为一单片机,其还包括第一引脚101及第二引脚 102。第一引脚101与电压源Vcc连接,第二引脚102接地。I/O端口 110为输入输出端口,用于读取键盘10的按键状态并将读取的键盘10按 键状态输出给微处理器100。通过CPU输入不同的命令和参数,控制I/O端口 110相关的电 路及简单的操作。在其他实施方式中,I/O端口 110也可作为地址/数据总线。请参阅图2,其为一种较佳实施方式的微处理器100中I/O端口 110内部电路示意 图。该I/O端口 110在微处理器100的内部电路包括锁存器113、上拉电阻R1、场效应晶体 管Vl及第三引脚115。锁存器113与内部总线信号连接(图未示),用于对I/O端口 110的输入数据进 行锁存。当I/O端口 110作为输入时,锁存器113输出为高电平;当I/O端口 110作为输出 时,锁存器113根据内部总线信号控制锁存器113的输出。上拉电阻Rl电性连接于电压源Vcc和场效应晶体管Vl的源电极。场效应晶体管Vl的栅电极与锁存器113电性连接,漏电极与上拉电阻Rl电性连 接,源电极接地。本实施例中,场效应晶体管Vl为N型场效应管。第三引脚115与场效应晶体管Vl的漏电极电性连接。在I/O端口 110作为输入时,锁存器113输出为高电平,场效应管Vl的Vgs <0, 导致场效应晶体管Vl截止,但由于上拉电阻Rl的分压作用,第三引脚115为高电平。此时, 第三引脚115也可以通过外部输入源控制其电平状态,若外部输入为高电平,第三引脚115 为高电平;外部输入为低电平,第三引脚115为低电平。 在I/0端口 110作为输出时,锁存器113输出为高电平时,场效应管V1的Vgs < 0, 场效应晶体管Vl截止,由于上拉电阻Rl的分压作用,第三引脚115为高电平;锁存器113 输出为低电平时,场效应管Vl的Vgs > 0,场效应晶体管Vl导通,第三引脚115为低电平。
请参阅图3,其为一种较佳实施方式的键盘扫描电路200的电路图。键盘扫描电 路200包括N条行线L1 Ln、N条第一列线Ph P1^ N条第二列线P2^1 P2_n、NxN个按 键Sh Sn_n、N个I/O端口 K1 Kn、N个第一电阻RH R1^n及N个第二电阻R2^1 R2_n, 其中N为自然数。N-I条第一列线与N条行线交错排列,形成Nx(N-I)个交叉点。Nx(N-I) 个交叉点分别对应放置Nx (N-I)个按键。第N条第一列线通过N个按键直接与N条行线连 接。NxN个按键的一端分别与对应行线电性连接,另一端分别与对应的第一列线电性连接。 N条第二列线与N条行线一一对应,且每条第二列线一端与对应行线电性连接,另一端通过 第二电阻与第一电阻的一端电性连接。第一电阻Rh Rn的阻值远小于第二电阻IV1 R2-n的阻值。每条行线L1 Ln分别由一个I/O端口及N个按键的一端顺次电性连接而成。如 行线L1其由I/O端口 K1及Sg SpnN个按键的一端顺次电性连接。同样,对于行线Lm,其 中m为自然数,且2=<m<n,其由I/O端口 &及Snri Sm_nN个按键的一端顺次电性连 接。每条第一列线Ph Ph分别由N个按键的另一端及一个第一电阻的一端顺次电 性连接而成,且第一电阻的另一端接地。如第一列线Pw其由Sw SlriN个按键的另一端 及第一电阻Rh顺次电性连接。同样,对于第一列线Pu,其中m为自然数,且2 = < m < n, 其由Snri Sm_nN个按键的另一端及第一电阻Rn顺次电性连接。每条第二列线Pp1 P2_n分别由一个I/O端口及一个第二电阻顺次电性连接而成。 如第二列线P2-i由I/O端口 K1及第二电阻Rp1顺次电性连接。同样,对于第二列线P2_m,其 中m为自然数,且2=<m<n,其由Km及第一电阻Rn顺次电性连接。键盘扫描电路200在执行按键扫描程序时,首先将I/O端口 K1 Kn设置成为输 入口 ;然后,扫描I/O端口 Ki Kn的电平状态。若全部为高电平状态,则无按键按下,若I/ 0端口 K1 Kn中任意一个I/O端为低电平状态,则该行有按键被按下,CPU记录此时的I/ 0端口 K1 Kn的电平状态为第一键值;然后,将I/O端口设置为输出口,且该电平状态变化 的I/O端口设置为高电平状态,其余I/O端口为低电平状态。此时,若按键仍然被按下,由 于第二电阻的阻值远大于第一电阻的阻值,通过第二电阻及第二列线与第一电阻一端电性 连接的I/O端口也为高电平状态。再次扫描I/O端口 K1 Kn的电平状态;CPU记录此时的 I/O端口 K1 Kn的电平状态为第二键值;将第一键值左移4位后与第二键值相加得到第三 键值;通过查表方式得到该第三键值对应的按键。请参阅图4,其为N为4时的一较佳实施例的键盘扫描电路201的电路图。键盘扫 描电路101包括4条行线L1 L4、4条第一列线Ph Pi_4、4条第二列线P” P2_4、16个 按键Sh S4_4、4个I/O端口 K1 K4,4个第一电阻RH RH及4个第二电阻R2^1 R2_4。 3条第一列线与4条行线交叉放置形成12个交叉点的矩阵,12个交叉点放置12个按键。第 4条第一列线通过4个按键直接与4条行线连接。16个按键的一端分别与对应行线电性连 接,另一端分别与对应第一列线连接。4条第二列线与4条行线一一对应,且每条第二列线 一端与对应行线连接,另一端通过第二电阻与第一电阻连接。行线Ll由I/O端口 K1及Sm、S"、S1+ S1^4按键的一端顺次电性连接,行线L2由 I/O端口 K2及S2_” S2_2、S2_3、S2_4按键的一端顺次电性连接,行线L3由I/O端口 K3及Sm、 S3_2、S3_3、S3_4按键的一端顺次电性连接,行线L4由I/O端口 K4及S4_2、S4_3、S4_4按键的
5一端顺次电性连接。第一列线Ph其由S1YS2YS3YSH按键的另一端及第一电阻RH顺次电性连接,第一列线Ph2其由Si_2、S2_2、S3_2、S4_2按键的另一端及第一电阻队_2顺次电性连接,第一列线 Pi-3其由S1+ S2_3、S3_3、S4_3按键的另一端及第一电阻队_3顺次电性连接,第一列线Pi_4其由 S1+ S2_4、S3_4、S4_4按键的另一端及第一电阻Rh顺次电性连接。第二列线P”由I/O端口 K1及第二电阻Rp1顺次电性连接,第二列线P2_2由I/O端 口 K2及第二电阻R2_2顺次电性连接,第二列线P2_3由I/O端口 K3及第二电阻R2_3顺次电性 连接,第二列线P2-4由I/O端口 K4及第二电阻R2_4顺次电性连接。键盘扫描电路200在执行按键扫描程序时,首先将I/O端口 K1 K4设置成为输入 口 ;然后,扫描I/O端口 K1 K4的电平状态。若全部为高电平状态,则无按键按下,若I/O 端口 K1 K4中任意一个I/O端为低电平状态,则该行有按键被按下,CPU记录此时的I/O端 口 K1 K4的电平状态为第一键值;然后,将I/O端口设置为输出口,并且该电平状态变化的 I/O端口设置为高电平状态,其余I/O端口设置为低电平状态。此时,若按键仍然被按下,由 于第二电阻的阻值远大于第一电阻的阻值,通过第二电阻及第二列线与第一电阻一端电性 连接的I/O端口也为高电平状态。再次扫描I/O端口 K1 K4的电平状态;CPU记录此时的 I/O端口 K1 K4的电平状态为第二键值;将第一键值左移4位后与第二键值相加得到第三 键值;通过查表方式得到该第三键值对应的按键。如表一所示,其为4x4键盘扫描电路不同按键被按下时所对应键值表。表一 4x4键盘扫描电路的键值表
权利要求
1.一种键盘,其包括微处理器,其特征在于该微处理器还包括键盘扫描程序及I/O端 口,该I/O端口包括锁存器、场效应晶体管、上拉电阻;该微处理器的第一引脚与电压源连 接,第二引脚接地;该场效应晶体管的栅电极与锁存器电性连接,漏电极与上拉电阻电性连 接,源电极接地;该I/O端口作为输入输出端口,用于读取键盘按键状态并将键盘按状态输 出给微处理器。
2.如权利要求1所述的键盘,其特征在于该I/O端口用作输入端口时,场效应晶体管 截止,通过上拉电阻将I/O端口置为高电平,然后根据外部输入源为高电平,I/O端口为高 电平,外部输入源为低电平,I/O端口为低电平;该I/O端口用作输出口时,若场效应晶体管 截止,I/O端口为高电平,若场效应晶体管导通,I/O端口为低电平。
3.如权利要求2所述键盘,其特征在于该场效应晶体管为N型场效应晶体管,该I/O 端口也可以作为地址/数据总线。
4.一种键盘扫描电路,其特征在于该键盘扫描电路包括N个I/O端口、若干个按键、N 条行线、N条第一列线、N条第二列线、N个第一电阻及N个第二电阻,其中N为自然数,该N 条行线分别与N个I/O端口电性连接;每条第一列线的一端通过N个按键分别与N条行线 电性连接,另一端通过第一电阻接地;每条第二列线的一端与对应的行线电性连接,另一端 通过第二电阻与第一电阻的一端电性连接。
5.如权利要求4所述的键盘扫描电路,其特征在于每一个第一电阻的阻值小于对应 的第二电阻的阻值。
6.一种键盘的扫描方法,包括以下步骤设置与N条行线电性连接的N个I/O端口为输入口,同时读取该N个I/O端口的电平 状态;判断该N个I/O端口是否有电平状态发生变化;若该I/O端口有电平状态变化,记录与N个I/O端口的电平状态相对应的第一键值;将I/O端口设置为输出口 ;读取该N个I/O端口的电平状态;记录与N个I/O端口的电平状态相对应的第二键值;根据记录的第一键值和第二键值判断出被按下的键盘按键。
7.如权利要求6所述的键盘扫描方法,其特征在于将I/O端口设置为输出口的步骤 进一步包括将有电平状态变化的I/O端口设置为高电平状态,其他I/O端口设置为低电平状态。
8.如权利要求7所述的键盘扫描方法,其特征在于该电平状态变化的I/O端口被置 为高电平状态时,通过第二列线及第二电阻与第一电阻一端连接的I/O端口同时被置为高 电平状态。
9.如权利要求8所述的键盘扫描方法,其特征在于进一步包括将第一键值左移若干 位后与第二键值相加,得到第三键值;根据第三键值判断出被按下的键盘按键。
全文摘要
一种键盘,该键盘包括内部微处理器,该微处理器还包括键盘扫描程序及I/O端口,该I/O端口包括锁存器、场效应晶体管、上拉电阻。该I/O端口为输入输出端口,用于读取键盘按键状态并将键盘按状态输出给微处理器。一种键盘扫描电路,包括N个I/O端口、若干个按键、N条行线、N条第一列线、N条第二列线、N个第一电阻及N个第二电阻,其中N为自然数。一种键盘的扫描方法,其首先将I/O端口设置为输入端口,若电平状态发生改变,读取I/O端口的键值,然后,将I/O端口设置为输出端口,再次读取I/O端口的键值,根据两次的键值确定按下的按键。
文档编号G06F3/02GK101995956SQ20091030611
公开日2011年3月30日 申请日期2009年8月26日 优先权日2009年8月26日
发明者丁林坤, 周享平, 庄宗仁, 舒礼盛, 黄仁文 申请人:鸿富锦精密工业(深圳)有限公司;鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1