工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->家用电器电路图->其他电路图->键盘编码器原理介绍

键盘编码器原理介绍

作者:dolphin时间:2012-10-31

组合逻辑中将某输入线的动作状态以数码的形式输出,此电路即为编码器(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 有效编码器输出四键编码器与真值表



评论

技术专区