本文已参与「新人创作礼」活动,一起开启掘金创作之路。
编码概念及简介
- 编码:用二进制码表示具有特定含义的信号 [输入:信号 ;输出:代码]
- 译码:把一组代码所表示的特定含义翻译出来 [输入:代码 ;输出:信号]
编码器
输出代码的类型:
- 二进制编码器
- 十进制编码器 输入信号的优先级差异:
- 普通编码器
- 优先编码器
- 二进制编码器(普通二进制编码器) 将输入信号表达为输出的二进制代码 如一个3位二进制编码器;其根据输入输出信号端数:8-3线编码器
- 二进制优先编码器 允许几个信号同时输入,但只对优先级别最高的进行编码
| Io | I1 | I2 | I3 | I4 | I5 | I6 | I7 | Y1 | Y2 | Y3 |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| × | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| × | × | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| × | × | × | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| × | × | × | × | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
| × | × | × | × | × | 1 | 0 | 0 | 1 | 0 | 1 |
| × | × | × | × | × | × | 1 | 0 | 1 | 1 | 0 |
| × | × | × | × | × | × | × | 1 | 1 | 1 | 1 |
这里的优先级顺序是从I7到I0的。 eg: 输入如下格式,输出是100.即是由I4决定的。并且优先级顺序不随信号输出有效方式的改变而改变。
| Io | I1 | I2 | I3 | I4 | I5 | I6 | I7 | Y1 | Y2 | Y3 |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
- 十进制编码器【10-4线优先编码器】 关于十进制编码器(BCD编码器,其同二进制编码器类似);其优先级从I9到I0.
集成编码器(以74LS148为例介绍)
集成8-3线优先编码器,如图所示
- 当(ST)'=1时,输入选通控制端高有效,即芯片没有选通工作,此时输出端全为1,此时低有效的不低有效,该高有效的没有高有效。此时高有效控制输出端输出高有效。
- 当(ST)'=0时,输入选通控制端低有效,即芯片选通工作,但某时刻八路输入信号均不出现,输出代码全为1,此时低有效的不低有效,该高有效的没有高有效。
- 当输入控制端信号低有效时,芯片选通工作,完成8路信号输入3路代码输出的“8-3线优先编码”功能,且输入信号以低有效表达,优先级从I7递减到I0,输出代码低有效。在芯片选通完成正常的“8-3线优先编码功能”时,低有效输出控制端果然输出低有效,高有效输出控制端也一定输出高有效。
级联扩展(以74LS148为例介绍)
例子:使用74LS148组成16-4线优先编码器
- 输入级:实现片间优先级
- 输出级:1. 低三位代码共用
2. 利用控制端生成输出的最高位代码
译码器
根据输入代码的类型:
- 二进制译码器
- 十进制译码器
- 显示译码器 相关的实例
集成译码器
- 当一个以高有效输入方式控制的输入不高有效时,不论剩余控制端输入是多少,不论有没有输入,输出全1.(表示的是没有信号输入) 即芯片根本没有工作
- 当一个以低有效输入方式控制的输入不低有效时,不论剩余控制端输入是多少,不论有没有输入,输出全为1(无有效信号出现)
- 当S1= 1,S2'+S3'=0时,芯片正常选通工作,完成三位代码入8路信号出的三位二进制数的译码功能,且输出信号以低有效方式表达
译码器级联扩展
主要关于级联扩展部分详情见图片
译码器应用实例
【注意】:3-8译码器得到的是输出低有效方式表达。 因此实际3-8译码器芯片的输出端给出的是最小项的反函数
- 使用74LS138组成5-32线译码器 首先可以想到的是74LS138 是一个3-8线译码器;因此需要4片才能实现此功能,5-3 = 2;因此需要实现一个高两位的功能