02-1 编码器、译码器与数据选择器

02-1 编码器与译码器

一、编码器

功能:将输入的每一个高、低电平信号编成一个对应的二进制代码。

1、普通编码器

在普通编码器中,任何时刻只允许输入一个编码信号

2、优先编码器

允许同时输入两个以上的编码信号,但编码器早已将所有信号的优先级排了顺序,同时出现多个信号时,仅对其中优先权最高的一个进行编码。

(1)下图为:8线-3线优先编码器74HC148

功能介绍:

  • 1‘ 启动端S‘ :当输入低电平时候才能启动;输入高电平电路不工作,所有输出端置为1.

  • 2’ 启动端S’ 置0时,电路工作:

    • 选通输出端YSY'_S为0,扩展端YEXY'_{EX}为1时意味着:检测到电路虽然被启动,但是没有输入。

    • 选通输出端YSY'_S为1,扩展端YEXY'_{EX}为0时意味着:检测到电路启动,且有输入,此时Y2Y'_2~Y1Y'_1

为有效输出,可以读取。

功能表格如下:注意看,下面所有的内容(包括输入输出)都是“非”之后的结果。I7I_7优先级最高

(2)下图为:二 - 十进制优先编码器74HC147

其功能较为简单,如下:

二、译码器

使用与非门搭建的3线-8线译码器74HC138

功能表如下:

启动信号需求:S1S_1置1,S2S_2S3S_3置0(有一个是0即可,当然,一般是让两个都是0)

对应的,也有二 - 十进制译码器74HC42

三、数据选择器

经典的二选一数据选择器

二选一数据选择器的逻辑表达式:

$Y=SEL \cdot A+SEL’ \cdot B $

  • 双4选1数据选择器的74HC153

逻辑式:

Y1=[D10(A1A0)+D11(A1A0)+D12(A1A0)+D13(A1A0)]S1Y_1=[D_{10}(A'_1A'_0)+D_{11}(A'_1A'_0)+D_{12}(A'_1A'_0)+D_{13}(A'_1A'_0)]\cdot S_1

Y2=[D20(A1A0)+D21(A1A0)+D22(A1A0)+D23(A1A0)]S2Y_2=[D_{20}(A'_1A'_0)+D_{21}(A'_1A'_0)+D_{22}(A'_1A'_0)+D_{23}(A'_1A'_0)]\cdot S_2