一种按键扩展电路及方法技术

技术编号:10076691 阅读:138 留言:0更新日期:2014-05-24 10:30
本发明专利技术涉及一种按键扩展电路及方法,包括N条数据线,每一条数据线与微处理器的一个I/O端口PBn连接,n为整数且0≤n≤N-1;从N条数据线中任意选择i条数据线,并将被选择的每一条数据线与一个二极管的正极连接,二极管的负极与一按键Kx的第一端连接,按键Kx的第二端接地;未被选择的每一条数据线与一按键Ky的第二端连接,按键Ky的第一端与按键Kx的第一端连接,其中i=1,2,3……N,x为整数且1≤x≤2N-1+N*(2N-1-1),y为整数且1≤y≤2N-1+N*(2N-1-1),x≠y。通过本发明专利技术所述的按键扩展电路及方法,可以采集2N-1+N*(2N-1-1)按键的键值,大大扩展了按键的容量。

【技术实现步骤摘要】

本专利技术涉及一种按键扩展电路及方法。具体地说是一种微处理器I/O端口按键扩展电路及方法。
技术介绍
随着微处理器应用领域的逐渐扩大,操作人员与微处理器之间需要交流的信息也越来越多,而微处理器一般都是通过获取按键的键值来获取操作人员的指令信息的,这也就意味着微处理器需要采集的按键数量也越来越多了。但微处理器的I/O口数量是有限的,为了使用较少的I/O口来采集尽可能多的按键数量,有人提出了按键扩展方法。目前,常见的按键扩展方法主要有四种:独立式按键输入方式、A/D按键输入方式、串口扩充按键输入方式以及矩阵式按键输入方式。其中,独立式按键输入方式是按键直接与微处理器的I/O端口相连,即每个按键对应一个I/O端口,有多少个按键,就需要多少根线与微处理器的I/O端口相连,即能采集的按键数量与I/O端口的数量一致,因此,这种方法比较浪费I/O端口的资源,一般适用于按键数量少(一般少于4个)或规模小的系统;A/D按键输入方式是给每个按键串联不同阻值的电阻,则当按键按下后,每个按键上的电压也是不同的,因此,通过A/D转换即可使微处理器获取到不同的电压值进而通过比较所述电压值获取相应的按键所对应的键值。但这种方法需要占用微处理器内部的A/D模块,因此只适用于微处理器内部有A/D模块的情况,且对电阻的精度、A/D模块的转换精度要求也很高;串口扩充按键输入方式是采用外围电路对I/O端口进行扩充,例如利用移位寄存器(74LS164等)通过串口的方式,使用3根串口线来实现按键扩展,这种方法可以节省I/O端口,但这种方式要占用串口,而串口主要是用作通信的接口;矩阵式按键输入方式是指在按键扩展中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接,如水平线和垂直线的接线数量分别为A和B,那么可采集的按键数量就等于A*B。但这种方法最多也只能采集A*B个按键,且仍需要占用较多的I/O端接口。授权公告号为CN202600622U,技术名称为“一种新型矩阵式键盘电路”,公开了一种新型矩阵式键盘电路,在每位按键上串联一个二极管,在微处理器有N个I/O端口的情况下,每N-1个按键为一组,一端接微处理器的某个I/O端口,另一端分别接微处理器的另外N-1个I/O端口,依次接完微处理器提供的N个I/O端口,即可完成按键的扩展。通过这种接线方式,在微处理器提供N个I/O端口的情况下,最多可以获取到N*(N-1)个按键的键值,若需要采集更多的按键数量,则需要微处理器提供更多的I/O端口来实现。
技术实现思路
为此,本专利技术所要解决的技术问题在于现有技术中的按键扩展电路在微处理器提供N个I/O端口的情况下,最多只能采集N*(N-1)个按键的键值,从而提出一种在N个I/O端口的情况下能够对更多的按键进行采集的按键扩展电路及方法。为解决上述技术问题,本专利技术的技术方案如下:本专利技术提供了一种按键扩展电路,包括:N条数据线,每一条数据线与微处理器的一个I/O端口PBn连接,其中n为整数且0≤n≤N-1;从所述N条数据线中任意选择i条数据线,并将被选择的每一条数据线与一个二极管的正极连接,二极管的负极与一按键Kx的第一端连接,按键Kx的第二端接地;未被选择的每一条数据线与一按键Ky的第二端连接,按键Ky的第一端与按键Kx的第一端连接,其中i=1,2,3……N,x为整数且1≤x≤2N-1+N*(2N-1-1),y为整数且1≤y≤2N-1+N*(2N-1-1),x≠y。本专利技术所述的按键扩展电路,与I/O端口PB0-PBN-1连接的N条数据线分别经一个电阻Rd后与电源VCC连接,其中d为整数且1≤d≤N。本专利技术所述的按键扩展电路,在N=4时,四条数据线分别与微处理器的I/O端口PB0、PB1、PB2、PB3连接;按键K1的第一端分别与二极管D1、D2、D3、D4的负极连接,按键K1的第二端接地,二极管D1、D2、D3、D4的正极通过四条数据线分别与I/O端口PB3、PB2、PB1、PB0连接;按键K2的第一端分别与二极管D5、D6、D7的负极连接,按键K2的第二端接地,二极管D5、D6、D7的正极通过三条数据线分别与I/O端口PB3、PB2、PB1连接,按键K16的第二端通过数据线与I/O端口PB0连接,按键K16的第一端与按键K2的第一端连接;按键K3的第一端分别与二极管D8、D9、D10的负极连接,按键K3的第二端接地,二极管D8、D9、D10的正极通过三条数据线分别与I/O端口PB3、PB2、PB0连接,按键K23的第二端通过数据线与I/O端口PB1连接,按键K23的第一端与按键K3的第一端连接;按键K4的第一端分别与二极管D11、D12的负极连接,按键K4的第二端接地,二极管D11、D12的正极通过两条数据线分别与I/O端口PB3、PB2连接,按键K17的第二端通过数据线与I/O端口PB0连接,按键K17的第一端与按键K4的第一端连接,按键K24的第二端通过数据线与I/O端口PB1连接,按键K24的第一端与按键K4的第一端连接;按键K5的第一端分别与二极管D13、D14、D15的负极连接,按键K5的第二端接地,二极管D13、D14、D15的正极通过三条数据线分别与I/O端口PB3、PB1、PB0连接,按键K30的第二端通过数据线与I/O端口PB2连接,按键K30的第一端与按键K5的第一端连接;按键K6的第一端分别与二极管D16、D17的负极连接,按键K6的第二端接地,二极管D16、D17的正极通过两条数据线分别与I/O端口PB3、PB1连接,按键K18的第二端通过数据线与I/O端口PB0连接,按键K18的第一端与按键K6的第一端连接,按键K31的第二端通过数据线与I/O端口PB2连接,按键K31的第一端与按键K6的第一端连接;按键K7的第一端分别与二极管D18、D19的负极连接,按键K7的第二端接地,二极管D18、D19的正极通过两条数据线分别与I/O端口PB3、PB0连接,按键K25的第二端通过数据线与I/O端口PB1连接,按键K25的第一端与按键K7的第一端连接,按键K32的第二端通过数据线与I/O端口PB2连接,按键K32的第一端与按键K7的第一端连接;按键K8的第一端与二极管D20的负极连接,按键K8的第二端接地,二极管D本文档来自技高网
...

【技术保护点】
一种按键扩展电路,其特征在于,包括:N条数据线,每一条数据线与微处理器的一个I/O端口PBn连接,其中n为整数且0≤n≤N?1;从所述N条数据线中任意选择i条数据线,并将被选择的每一条数据线与一个二极管的正极连接,二极管的负极与一按键Kx的第一端连接,按键Kx的第二端接地;未被选择的每一条数据线与一按键Ky的第二端连接,按键Ky的第一端与按键Kx的第一端连接,其中i=1,2,3……N,x为整数且1≤x≤2N?1+N*(2N?1?1),y为整数且1≤y≤2N?1+N*(2N?1?1),x≠y。

【技术特征摘要】
1.一种按键扩展电路,其特征在于,包括:
N条数据线,每一条数据线与微处理器的一个I/O端口PBn连接,
其中n为整数且0≤n≤N-1;
从所述N条数据线中任意选择i条数据线,并将被选择的每一
条数据线与一个二极管的正极连接,二极管的负极与一按键Kx的第
一端连接,按键Kx的第二端接地;未被选择的每一条数据线与一按
键Ky的第二端连接,按键Ky的第一端与按键Kx的第一端连接,其中
i=1,2,3……N,x为整数且1≤x≤2N-1+N*(2N-1-1),y为整数且1
≤y≤2N-1+N*(2N-1-1),x≠y。
2.根据权利要求1所述的按键扩展电路,其特征在于:
与I/O端口PB0-PBN-1连接的N条数据线分别经一个电阻Rd后与
电源VCC连接,其中d为整数且1≤d≤N。
3.根据权利要求1或2所述的按键扩展电路,其特征在于:
在N=4时,四条数据线分别与微处理器的I/O端口PB0、PB1、
PB2、PB3连接;
按键K1的第一端分别与二极管D1、D2、D3、D4的负极连接,
按键K1的第二端接地,二极管D1、D2、D3、D4的正极通过四条数
据线分别与I/O端口PB3、PB2、PB1、PB0连接;
按键K2的第一端分别与二极管D5、D6、D7的负极连接,按键
K2的第二端接地,二极管D5、D6、D7的正极通过三条数据线分别与
I/O端口PB3、PB2、PB1连接,按键K16的第二端通过数据线与I/O端
口PB0连接,按键K16的第一端与按键K2的第一端连接;
按键K3的第一端分别与二极管D8、D9、D10的负极连接,按键

\tK3的第二端接地,二极管D8、D9、D10的正极通过三条数据线分别
与I/O端口PB3、PB2、PB0连接,按键K23的第二端通过数据线与I/O
端口PB1连接,按键K23的第一端与按键K3的第一端连接;
按键K4的第一端分别与二极管D11、D12的负极连接,按键K4的第二端接地,二极管D11、D12的正极通过两条数据线分别与I/O
端口PB3、PB2连接,按键K17的第二端通过数据线与I/O端口PB0连
接,按键K17的第一端与按键K4的第一端连接,按键K24的第二端通
过数据线与I/O端口PB1连接,按键K24的第一端与按键K4的第一端
连接;
按键K5的第一端分别与二极管D13、D14、D15的负极连接,按
键K5的第二端接地,二极管D13、D14、D15的正极通过三条数据线
分别与I/O端口PB3、PB1、PB0连接,按键K30的第二端通过数据线
与I/O端口PB2连接,按键K30的第一端与按键K5的第一端连接;
按键K6的第一端分别与二极管D16、D17的负极连接,按键K6的第二端接地,二极管D16、D17的正极通过两条数据线分别与I/O
端口PB3、PB1连接,按键K18的第二端通过数据线与I/O端口PB0连
接,按键K18的第一端与按键K6的第一端连接,按键K31的第二端通
过数据线与I/O端口PB2连接,按键K31的第一端与按键K6的第一端
连接;
按键K7的第一端分别与二极管D18、D19的负极连接,按键K7的第二端接地,二极管D18、D19的正极通过两条数据线分别与I/O
端口PB3、PB0连接,按键K25的第二端通过数据线与I/O端口PB1连
接,按键K25的第一端与按键K7的第一端连接,按键K32的第二端通
过数据线与I/O端口PB2连接,按键K32的第一端与按键K7的第一端
连接;
按键K8的第一端与二极管D20的负极连接,按键K8的第二端接

\t地,二极管D20的正极通过一条数据线与I/O端口PB3连接,按键
K19的第二端通过数据线与I/O端口PB0连接,按键K19的第一端与按
键K8的第一端连接,按键K26的第二端通过数据线与I/O端口PB1连接,按键K26的第一端与按键K8的第一端连接,按键K33的第二端
通过数据线与I/O端口PB2连接,按键K33的第一端与按键K8的第一
端连接;
按键K9的第一端分别与二极管D21、D22、D23的负极连接,按
键K9的第二端接地,二极管D21、D22、D23的正极通过三条数据线
分别与I/O端口PB2、PB1、PB0连接,按键K37的第二端通过数据线
与I/O端口PB3连接,按键K37的第一端与按键K9的第一端连接;
按键K10的第一端分别与二极管D24、D25的负极连接,按键K10的第二端接地,二极管D24、D25的正极通过两条数据线分别与I/O
端口PB2、PB1连接,按键K20的第二端通过数据线与I/O端口PB0连
接,按键K20的第一端与按键K10的第一端连接,按键K38的第二端通
过数据线与I/O端口PB3连接,按键K38的第一端与按键K10的第一端
连接;
按键K11的第一端分别与二极管D26、D27的负极连接,按键K11的第二端接地,二极管D26、D27的正极通过两条数据线分别与I/O
端口PB2、PB0连接,按键K27的第二端通过数据线与I/O端口PB1连
接,按键K27的第一端与按键K11的第一端连接,按键K39的第二端通
过数据线与I/O端口PB3连接,按键K39的第一端与按键K11的第一端
连接;
按键K12的第一端与二极管D28的负极连接,按键K12的第二端
接地,二极管D28的正极通过一条数据线与I/O端口PB2连接,按
键K21的第二端通过数据线与I/O端口PB0连接,按键K21的第一端与
按键K12的第一端连接,按键K28的第二端通过数据线与I/O端口PB1
\t连接,按键K28的第一端与按键K12的第一端连接,按键K40的第二端
通过数据线与I/O端口PB3连接,按键K40的第一端与按键K12的第一
端连接;

【专利技术属性】
技术研发人员:陈志伟吴双龙
申请(专利权)人:德力西电气有限公司
类型:发明
国别省市:

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

1