数字电路基础(三)编码器和译码器

本文将详细介绍编码器和译码器的逻辑功能和应用。

一、编码器

将含有特定意义的信息编成若干二进制的代码,此过程称之为编码,而实现该功能的数字电路称为编码器。

1.二进制编码器

下图为三位二进制编码器实现的真值表:
在这里插入图片描述

由于编码的唯一性,某一时刻只能对一个输入信号编码,因此输入的八个电平中,只能有一个为低电平,其余为高电平。 A 0 A_0 A0, A 1 A_1 A1, A 2 A_2 A2是三个输出端,它们的逻辑表达式如下:
A 0 = I 1 ‾ ⋅ I 3 ‾ ⋅ I 5 ‾ ⋅ I 7 ‾ ‾ A_0 = \overline{\overline{I_1}\cdot \overline{I_3}\cdot \overline{I_5}\cdot \overline{I_7}} A0=I1I3I5I7
A 1 = I 2 ‾ ⋅ I 3 ‾ ⋅ I 6 ‾ ⋅ I 7 ‾ ‾ A_1 = \overline{\overline{I_2}\cdot \overline{I_3}\cdot \overline{I_6}\cdot \overline{I_7}} A1=I2I3I6I7
A 2 = I 4 ‾ ⋅ I 5 ‾ ⋅ I 6 ‾ ⋅ I 7 ‾ ‾ A_2 = \overline{\overline{I_4}\cdot \overline{I_5}\cdot \overline{I_6}\cdot \overline{I_7}} A2=I4I5I6I7
下图为它们的逻辑图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

只需要把相同的引脚连接在一起即可构成一个集成的三位二进制编码器。

2.优先编码器

上述的二进制编码器的问题是:只允许一个输入端是有效信号,否则编码器就会产生错误。为了解决这种问题,设计出了优先编码器。
本文将介绍8-3线优先编码器74148的逻辑功能。首先列出它的真值表:
在这里插入图片描述

由图可知,编码器的输入有效电平为低电平,输出的编码为反码形式。
在这里插入图片描述

I S ‾ \overline{I_S} IS是控制端,它的作用是控制编码器是否工作,只有当 I S I_S IS输入为0时,编码器才能进行编码。
E ‾ \overline{E} E是扩展端,如果输入的电平全为1或有错误电平输入,则输出1。
当输入一个有效的电平时,会根据优先级进行编码,在 I 0 I_0 I0~ I 7 I_7 I7中, I 7 I_7 I7的优先级最高, I 0 I_0 I0的最低。即无论 I 0 I_0 I0~ I 6 I_6 I6输入的是否为有效信号,只要 I 7 I_7 I7输入的是有效信号,则会首先编码 I 7 I_7 I7输入端的信号。

二、译码器

译码是编码的逆过程。他可以将一段编码翻译成实际的含义。用来实现它的逻辑电路叫做译码器。

1.二进制译码器

主要介绍3-8线译码器74138的逻辑功能。下面给出它的真值表以及集成后的芯片引脚图:
在这里插入图片描述

在这里插入图片描述

F 0 ‾ \overline{F_0} F0 ~ F 7 ‾ \overline{F_7} F7为8个输出端, S 1 ‾ \overline{S_1} S1 ~ S 3 ‾ \overline{S_3} S3为3个控制端,只有当 S 1 ‾ \overline{S_1} S1为1且 S 2 ‾ \overline{S_2} S2 S 3 ‾ \overline{S_3} S3为0时译码器才处于工作状态。当输入端输入表中特定的值时,输出端也会输出相应的值。而且二进制译码器每个输出的值是输入代码的最小项的值(低电平有效),故可以用二进制译码器74138实现逻辑函数。也是在数字电路中经常使用的一种译码器。

2.七段字形译码器

下图所示的是一个七段字形数码管:
在这里插入图片描述

7个条形的发光二极管排列成这种样式,每一段通过一个引脚控制。7段数码管有两种,共阳极数码管和共阴极数码管,其中,共阳极数码管的7个发光二极管的阳极连在一起,7个阴极是独立的;而共阴极数码管的7个发光二极管的阴极连在一起,7个阳极是独立的。
当共阳极数码管的某一阴极接低电平时,相应的二极管发光,故共阳极数码管需要输出低电平有效的译码器驱动,而共阴极数码管需要输出高电平有效的译码器驱动。

如下图所示是一个输出低电平有效的七段字形译码器74LS47的集成芯片引脚图和它的真值表:
在这里插入图片描述

在这里插入图片描述

7447芯片在译码的同时,还有一些引脚有如下的功能:

(1)试灯输入 L T ‾ \overline{LT} LT

试灯输入顾名思义是为了检测每一段数码管是否正常工作而设置的,当输入为0时,无论其余的输入是什么值,译码器都是输出低电平,可以保证每一个发光二极管变亮。

(2)灭灯输入 B I ‾ \overline{BI} BI

灭灯输入也是顾名思义,是为了让每一段数码管灭灯而设置的。当输入为0时,不论其他的输入是什么状态,译码器均输入高电平,使得所有的数码管熄灭

(3)灭零输入 B R I ‾ \overline{BRI} BRI

灭零输入的功能是为了让不需要显示的0熄灭而设置的,例如:当我们在显示0088.8800时,实际上只需显示88.88即可,把其他位置上的0熄灭即可。

(4)灭零输出 R B O ‾ \overline{RBO} RBO

灭零输入和灭灯输入公用一个端口,它们通常配合使用,可以实现多位数字的灭零控制,这里不做详细介绍。

2022/5/6 初稿

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐