编码器和译码器
能够把数字、字母变换成二进制数码的电路称为编码器。反过来能把二进制数码还原成数字、字母的电路就称为译码器。
( 1 )编码器
图 4 ( a )是一个能把十进制数变成二进制码的编码器。一个十进制数被表示成二进制码必须 4 位,常用的码是使从低到高的每一位二进制码相当于十进制数的 1 、 2 、 4 、 8 ,这种码称为 8 - 4 - 2 - 1 码或简称 BCD 码。所以这种编码器就称为“ 10 线 -4 线编码器”或“ DEC / BCD 编码器”。
从图看到,它是由与非门组成的。有 10 个输入端,用按键控制,平时按键悬空相当于接高电平 1 。它有 4 个输出端 ABCD ,输出 8421 码。如果按下“ 1 ”键,与“ 1 ”键对应的线被接地,等于输入低电平 0 、于是门 D 输出为 1 ,整个输出成 0001 。
如按下“ 7 ”键,则 B 门、 C 门、 D 门输出为 1 ,整个输出成 0111 。如果把这些电路都做在一个集成片内,便得到集成化的 10 线 4 线编码器,它的逻辑符号见图 4 ( b )。左侧有 10 个输入端,带小圆圈表示要用低电平,右侧有 4 个输出端,从上到下按从低到高排列。使用时可以直接选用。
( 2 )译码器
要把二进制码还原成十进制数就要用译码器。它也是由门电路组成的,现在也有集成化产品供选用。图 5 是一个 4 线 —10 线译码器。它的左侧为 4 个二进制码的输入端,右侧有 10 个输出端,从上到下按 0 、 1 、 …9 排列表示 10 个十进制数。输出端带小圆圈表示低电平有效。平时 10 个输出端都是高电平 1 ,如输入为 1001 码,输出“ 9 ”端为低电平 0 ,其余 9 根线仍为高电平 1 ,这表示“ 9 ”线被译中。
如果要想把十进制数显示出来,就要使用数码管。现以共阳极发光二极管( LED )七段数码显示管为例,见图 6 。它有七段发光二极管,如每段都接低电平 0 ,七段都被点亮,显示出数字“ 8 ”;如 b 、 c 段接低电平 0 ,其余都接 1 ,显示的是“ 1 ”。可见要把十进制数用七段显示管显示出来还要经过一次译码。如果使用“ 4 线 —7 线译码器”和显示管配合使用,就很简单,输入二进制码可直接显示十进制数,见图 6 。译码器左侧有 4 个二进制码的输入端,右侧有 7 个输出可直接和数码管相连。左上侧另有一个灭灯控制端 I B ,正常工作时应加高电平 1 ,如不需要这位数字显示就在 I B 上加低电平 0 ,就可使这位数字熄灭。
寄存器和移位寄存器
( 1 )寄存器
能够把二进制数码存贮起来的的部件叫数码寄存器,简称寄存器。图 7 是用 4 个 D 触发器组成的寄存器,它能存贮 4 位二进制数。 4 个 CP 端连在一起作为控制端,只有 CP=1 时它才接收和存贮数码。 4 个 R D 端连在一起成为整个寄存器的清零端。如果要存贮二进制码 1001 ,只要把它们分别加到触发器 D 端,当 CP 来到后 4 个触发器从高到低分别被置成 1 、 0 、 0 、 1 ,并一直保持到下一次输入数据之前。要想取出这串数码可以从触发器的 Q 端取出。
( 2 )移位寄存器
有移位功能的寄存器叫移位寄存器,它可以是左移的、右移的,也可是双向移位的。
图 8 是一个能把数码逐位左移的寄存器。它和一般寄存器不同的是:数码是逐位串行输入并加在最低位的 D 端,然后把低位的 Q 端连到高一位的 D 端。这时 CP 称为移位脉冲。
先从 R D 端送低电平清零,使寄存器成 0000 状态。假定要输入的数码是 1001 ,输入的次序是先高后低逐位输入。第 1 个 CP 后, 1 被打入第 1 个触发器,寄存器成 0001 ;第 2 个 CP 后, Qo 的 1 被移入 Q 1 ,新的 0 打入 D 1 ,成为 0010 ;第 3 个 CP 后,成为 0100 ;第 4 个 CP 后,成为 1001 。
可见经过 4 个 CP ,寄存器就寄存了 4 位二进制码 1001 。目前已有品种繁多的集成化寄存器供选用。
计数器和分频器
( 1 )计数器
能对脉冲进行计数的部件叫计数器。计数器品种繁多,有作累加计数的称为加法计数器,有作递减计数的称为减法计数器;按触发器翻转来分又有同步计数器和异步计数器;按数制来分又有二进制计数器、十进制计数器和其它进位制的计数器等等。
现举一个最简单的加法计数器为例,见图 9 。它是一个 16 进制计数器,最大计数值是 1111 ,相当于十进制数 15 。需要计数的脉冲加到最低位触发器的 CP 端上,所有的 J 、 K 端都接高电平 1 ,各触发器 Q 端接到相邻高一位触发器的 CP 端上。 J—K 触发器的特性表告诉我们:当 J=1 、 K=1 时来一个 CP ,触发器便翻转一次。在全部清零后, ① 第 1 个 CP 后沿,触发器 C0 翻转成 Q0=1 ,其余 3 个触发器仍保持 0 态,整个计数器的状态是 0001 。 ② 第 2 个 CP 后沿,触发器 C0 又翻转成“ Q0=0 , C1 翻转成 Q1=1 ,计数器成 0010 。 …… 到第 15 个 CP 后沿,计数器成 1111 。可见这个计数器确实能对 CP 脉冲计数。
2 )分频器
计数器的第一个触发器是每隔 2 个 CP 送出一个进位脉冲,所以每个触发器就是一个 2 分频的分频器, 16 进制计数器就是一个 16 分频的分频器。
为了提高电子钟表的精确度,普遍采用的方法是用晶体振荡器产生 32768 赫标准信号脉冲,经过 15 级 2 分频处理得到 1 赫的秒信号。因为晶体振荡器的准确度和稳定度很高,所以得到的秒脉冲信号也是精确可靠的。把它们做到一个集成片上便是电子手表专用集成电路产品,见图 10 。