位置:首页 > 自动化 > 数字电路

键盘编码器的原理

时间:2010-01-09 10:59:39

编码器的原理

 组合逻辑中将某输入线的动作状态以数码的形式输出,此电路即为编码器(encoder)。编码器电路输出线数越多,可以编码的数量就越多,亦即可以区分输入的线数就越多,例如一个拥有101个按键的键盘,若要以编码器区分每一个按键的动作,此编码器的输出线至少要7条(27=128),我们常将键盘按键编码输出,最主要的目的就是减少键盘与数字系统中的联机,试想一个101条线输出的键盘如何在桌面上移动,若将其编码输出,信号线仅需7条,是不是方便太多了。

 

 

图1 编码器讯号输出示意简图

 

1编码器的动作与编码

 

下图2是一个四键编码器,我们藉由这个图来了解何谓输入线的动作与编码,当编码器输入端4个开关其中一个按下时,我们称此开关动作(active),因为每一个开关都有自己的输入线,所以也可以说编码器某输入线动作了,“动作”对逻辑电路而言没有规定一定是“0”或“1”,对TTL的编码器而言,通常是以“0”来动作的,而CMOS则大多以“1”来动作。

 

 

图2 四键编码器示意图与真值表

 

当编码器任何一个输入线动作时,输出端将会产生编码,以图3-14而言,S0、S1、S2、S3动作时分别对应的Y1Y0输出是00、01、10、11(见图2),请注意一个问题,没有任何一个按键动作时Y1Y0 =11与S3动作时的编码相同,这个问题如何解决呢?也就是Y1Y0用什么码来代表S0、S1、S2、S3中没有任何一个按键压下呢?解决的方法有二,方法之一为将输入线减少一条,例如我们可以将图(上表)中的S3去除,因此原来对应于S3的编码状态11就可以设计成S0、S1、S2中无键按下时的状态输出,整个编码输出对应(如表)所示。

 

 

图3 三键编码器示意图与真值表

 

方法之二则为多加一条有效编码输出线ST,每当任何一键动作时,此输出线立即跟着动作用以表示线目前的编码是有效的,表中的ST仅在有键按下时为0,数字系统可根据ST为0时读取Y1Y0的编码。

 

 

图4 有效编码器输出四键编码器与真值表

  • 请您评价
    0/250 验证码: