第四章 组合逻辑电路(Combinational Logic Circuits) 四、编码器(Encoder) 编码器功能正好与译码器功能相反,将某一时刻仅一个输入有效的多个输入的变量情况用较少的输出状态组合来表达出现的一种器件,通常使用的编码器一般分为:2n到n及10到8421BCD码的编码。 编码器的功能 下面我们通过一个例子来说明编码器的逻辑功能。
例 一个7层高的大楼,其每层有一个火警报警传感器,如有火警希望在控制中心的数码显示屏上能显示出火警的楼层数,假设不会在两层上同时出现火警。
这是一个实际使用编码器的例子,我们在上一节里学过了译码显示驱动器电路,其输入是8421BCD码,而现在其每层有一个传感器,也就相当于其输入的7根,这里无法直接与译码显示电路相连,须在这两之间加上一个转换电路,将其7种状态转换为4位(或更少位)的二进制输出。
由于7个传感器,并且同一时刻仅一个传感器有效,故输入共7种状态,我们可以用3位二进制数据来描述其状态,假设输入用 I0,I1,I2,I3,I4,I5,I6,输出为O0,O1,O2。我们可以将其状态用真值表表示为:
I6 |
I5 |
I4 |
I3 |
I2 |
I1 |
I0 |
O2 |
O1 |
O0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
根据上面的分析我们可以画出下图的工作框图。
根据真值表及其每个时刻仅一个输入有效,于是可写出输出与输入的表达式如下: O2=I6+I5+I4 O1=I6+I3+I2 O0=I5+I3+I1 或 Y2=I6+I5+I4 Y1=I6+I3+I2 Y0=I5+I3+I1
8线-3线优先编码器74LS148的逻辑图 从上图写出输出的逻辑式,即得到
(3.3.3) 为了扩展电路的功能和增加使用的灵活性,再74LS148的逻辑电路中附加了由门
,
和
组成的控制电路。其中
为选通输入端,只有在
的条件下,编码器才能正常工作。而在
时,所有的输出端均被封锁在高电平。 选通输出端
和扩展端
用于扩展编码功能。由图可知
(3.3.4) 上式表明。只有当所有的输入端都是高电平(即没有编码输入),而且S=1时,
才是低电平。因此,
的低电平信号表示“电路工作,但无编码输入”。 从上图还可以写出
(3.3.5) 这说明只要任何一个编码输入端有低电平信号输入,且S=1,
即为低电平。因此,
的低电平输出信号表示“电路工作,而且有编码输入”。 标准编码器器件 74148是一个8-3线的优先编码器电路,如下图给出了电路的管脚排布及逻辑符号。
其中:/I0~/I7:编码器输入端(低电平有效);
/S:选通输入端(低电平有效);
/Y0~Y2:编码器输出(低电平有效);
/YEX:扩展输出端(低电平有效);
YS:选通输出端;
HPRI/BIN:表示该编码器为二进制输出的优先编码器。下表列出了74148的功能真值表。
选通 |
输入端 |
输出 |
扩展 |
选通 |
/S |
/I7 |
/I6 |
/I5 |
/I4 |
/I3 |
/I2 |
/I1 |
/I0 |
/Y2 |
/Y1 |
/Y0 |
/YEX |
YS |
1 |
× |
× |
× |
× |
× |
× |
× |
× |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
× |
× |
× |
× |
× |
× |
× |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
× |
× |
× |
× |
× |
× |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
× |
× |
× |
× |
× |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
× |
× |
× |
× |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
× |
× | |