译码器基础

如题所述

第1个回答  2022-06-11

初次接触译码器的童鞋可能会问,译码器是什么?

首先,我们需要明确,电脑和人类沟通,需要转换。因为人类对于抽象语言比较擅长,而当前的计算机本质上只能识别0、1二进制串。因此,人类所表达的知识要被电脑接受,需要将其转换编码成二进制数,这一过程可以理解为编码;而人类要理解计算机给我们计算的结果,则需要将结果解释成我们能理解的对象(如七段显示译码器中显示的数据),这一个过程,其实就是译码。

另外,译码器不是客观存在的,是根据我们人类的意志制造的,也就是说译码器长什么样子是由人类决定的。我们现在常见的2-4译码器、3-8译码器等是硬件工程师和研发人员积累多年的经验,抽象出的常用MSI基本元件,为硬件工程师进行电路设计提供基本功能单元。(有点类似于我们学习C语言时,C语言的标准函数库)

常见的译码器包括2-4译码器、3-8译码器,这些都是典型的译码器,常见的2-4译码器,其真值表、逻辑电路功能如下图所示:

2-4译码器的真值表中的功能是人类规定的,更直接点说,是一帮搞硬件研发的人规定,根据这个规定,可以直接写出:

常见的2-4译码器74LS139如下图所示:

74LS139片上有两个2-4译码器,每个译码器上有一个低有效的使能端,四个输出均为低有效。

在简单介绍2-4译码器之后,那么问题来了,如何利用74LS139做一个4-16译码器?显然,4-16译码器对应的功能应该是有4个高有效数据输入端(不包括使能端),16个低有效的输出端,从输出的角度,我们至少需要两个74LS139,那具体怎么做呢?首先,我们给输出进行编号,如下图所示:

在图中,我们对输出端进行了编号。我们希望第一个2-4译码器(从上向下看)的输出对应/Y 0 /Y<sub>3</sub>,第二个译码器的输出对应/Y<sub>4</sub> /Y 7 ,第三个译码器对应/Y 8 /Y<sub>11</sub>,第四个译码器对应/Y<sub>12</sub> /Y 15

接下来该如何处理呢?显然,对于每一个2-4译码器,只有两位输入,另外还有两个输入可以控制选择哪一个2-4译码器。假设我们的4-16译码器的输入是I 3 I 2 I 1 I 0 ,其中低两位I 1 I 0 直接接每个2-4译码器的A、B端,则我们可以控制高两位I 3 I 2 的取值,如果我们选择:

(上面这个结果,大家如果不怕麻烦,也可以画出4-16译码器的真值表看)

到这一步,基本上与预想的差不多了,剩下的是实现如何根据高两位来在4个译码器中选择合适的2-4译码器。显然,这又需要一个2-4译码器来实现,因此,最终的4-16译码器如下图所示:

根据这个图,大家可以顺便进行验证,并对这个过程进行总结,包括:思路、一般步骤、低位共享时高位如何控制等等。

童鞋们如有问题,可以直接在上提问,或者我写的地方有错,咱们一起探讨,共同进步!

相似回答