原创 一种用N+1个I/O口实现的N×N矩阵式键盘

2008-10-7 23:06 2515 6 7 分类: 通信

摘 要:介绍一种用N+1个I/O端口实现N×N矩阵式键盘的一般方法,并用该方法设计一个5×5的矩阵式键盘作为例子,给出软件编制框图并对该方法进行探讨。
关键词:键盘 矩阵 接口电路


引 言
  
  随着微机系统应用领域的扩大,操作人员与微机系统需要交流的信息越来越多,用来交流的手段和途径也更为灵活多样;而键盘输入作为最常用的输入设备仍有其不可替代的作用。因此,探讨一些键盘的特殊结构,用尽可能少的输入输出端口实现较多数量的按键数仍具有重要的应用价值。

  有些特殊情况下,在组成一个最小的单片机系统的过程中,由于通用的I/O口有限,而又需要大量的按键输入,这就要求一种新的键盘结构,即用尽量少的I/O口实现尽可能多的键盘输入。

  本文将从硬件和软件两个方面介绍一种用N+1个I/O口实现N×N矩阵式键盘的方法(为了与传统键盘区分,以下简称新型键盘)。首先,对传统键盘作一个简单的介绍。

一、传统键盘的介绍

  键盘的结构通常有两种形式:线性键盘和矩阵键盘。在不同的场合下,这两种键盘均得到了广泛的应用。

  线性键盘由若干个独立的按键组成,每个按键的一端与微机的一个I/O口相连。有多少个键就要有多少根连线与微机的I/O口相连,因此,只适用于按键少的场合。

  矩阵键盘的按键按N行M列排列,每个按键占据行列的一个交点,需要的I/O口数目是N+M,容许的最大按键数是N×M。显然,矩阵键盘可以减少与微机接口的连线数,简化结构,是一般微机常用的键盘结构。根据矩阵键盘的识键和译键方法的不同,矩阵键盘又可以分为非编码键盘和编码键盘两种。

◇ 非编码键盘

  非编码键盘主要用软件的方法识键和译键。根据扫描方法的不同,可以分为行扫描法、列扫描法和反转法三种。

◇ 编码键盘

  编码键盘主要用硬件来实现键的扫描和识别,通常使用8279专用接口芯片,在硬件上要求较高。

二、新型键盘的硬件和软件实现原理

  经过分析,实际上用N+1个I/O口,辅以适当的接口电路,是可以实现N×N个按键的。现以6个端口实现5×5的按键为例来叙述。

1.硬件实现

  图1所示为用6个I/O口来实现25个按键的示意图。具体的物理实现电路如图2所示。


301.jpg

  由图1和图2可见,硬件部分分为两块:一块是普通键盘矩阵,另外一块是中断和接口电路,主要由相应数目的二极管和电阻组成。具体对6个I/O口的情况,实现5×5的按键矩阵的中断和接口电路(图2)共需要10只二极管、12只电阻和1只三极管。10只二极管按其在电路中所起的作用可分为两组:第一组包括D6、D7、D8、D9和D10,用于保证按键信息的单一流向;第二组包括D1、D2、D3、D4和D5,它们在电路上对NPN三极管的基极构成"或"的逻辑关系,对单片机进行初始化。除了PORT6(其要求具有中断功能)以外,其余


的I/O口均被置成高电平,这样当有键按下时,三极管的基极由低变高,三极管导通;集电极由高电平跳变成低电平,向单片机发出中断信号,从而启动键盘扫描程序。


302.jpg


2.软件实现

  按键的识别主要靠软件来实现,需要编写键盘扫描程序。

(1)键盘扫描原理

  为了更好地说明键盘扫描的过程,假设编号为S12的键(见图2)被按下,扫描程序已经启动,扫描的具体过程如表1所列。
 


303.jpg
(2)键盘扫描程序的流程

  在启动键盘扫描程序以前首先要对CPU进行初始化(主要是对所使用的中断进行初始化)。假设已经有键按下,并引发了相应的中断服务程序(即键盘扫描程序),其流程图如图3所示。


3041.jpg

结束语

  ◇ 在I/O口数量有限的情况下,用该方法可以实现尽可能多的按键输入;

  ◇ 该方法还可以用于需要大量开关量测量的场合。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户411912 2008-10-9 17:12

PORT6的作用仅仅是用来检测S5、S9、S13、S17、S21。如果不加PORT6,则S5、S9、S13、S17、S21无效。所以,五个端口可以扫描 5x4 = 20 个按键。 如果按照PORT1~PORT5同样的形式添加PORT6,使PORT6不仅可以用于输入,而且可以用于输出,则可以实现 6x5 = 30 个按键的扫描,而不是文中所称的25个。
相关推荐阅读
用户972565 2008-10-10 18:37
PCB设计FQA
https://static.assets-stash.eet-china.com/album/old-resources/2008/10/10/c515a232-1f21-4347-a9a5-fca...
用户972565 2008-10-10 18:33
高低频混合PCB设计讲义,很全面
https://static.assets-stash.eet-china.com/album/old-resources/2008/10/10/262bf61c-b8a9-488c-b6bc-d16...
用户972565 2008-10-10 18:31
PCB制作:化金、镀金、浸金,一样吗其优缺点为何?
化金、镀金、浸金,一样吗其优缺点为何?  不一样,化金亦即化学金,通过化学氧化还原反应的方法生成一层镀层,一般厚度较厚,是化学镍金金层沉积方法的一种可以达到较厚的金层;另外一种为置换金,也就是浸金,亦...
用户972565 2008-10-10 18:30
贴片电容的材质规格
贴片电容目前使用NPO、X7R、Z5U、Y5V等不同的材质规格,不同的规格有不同的用途。下面我们仅就常用的NPO、X7R、Z5U和Y5V来介绍一下它们的性能和应用以及采购中应注意的订货事项以引起大家的...
用户972565 2008-10-07 23:31
C51,ARM,DSP区别
作为Processor,这几种器件有什么有优缺点。其实C51,ARM,DSP都不是单独作为芯片来提供给用户的,都要加一些外围电路来支持。例如:memory controller,interrupt c...
用户972565 2008-10-07 23:28
简单的PCB板的制造工艺流程
一. 双面板工艺流程:覆铜板(CCL)下料(Cut)→钻孔(Drilling)→沉铜(PTH)→全板镀铜(Panel Plating)→图形转移(Pattern)油墨或干膜→图形电镀(Pattern ...
EE直播间
更多
我要评论
1
6
关闭 站长推荐上一条 /3 下一条