这节课主要为下节课的存储器存储原理打基础,数字电路对编码译码很了解了就可以跳过了。
我们把所使用的每一种二进制代码状态都赋于特定的含义,表示一个特定的信号或对象,叫编码。如用四位二进制数的0000~1001这十种状太,分别表示0~9这十个十进制数码,称为8421编码。反过来把代码的特定含义翻译出来,称为译码。
计算机在处理各种文字符号或数码时,必须把这些信息进行二进制编码,在编码时所使用的第一种二进制代码状态都赋予了特定的含义,即表示一个确定的信号或者对象,实现这种功能的电路叫编码器,如用于键盘的BCD码,ASCII码编码器等。
单片机外围电路用译码器较多,所以在这节课我们主要与大家一起来学习下译码器的工作原理,把代码的含义‘翻译’成相应的输出信号,以表示其原意。其功能恰恰与编码器相反。
译码器可以将输入代码的状态翻译成相应的输出信号,以高、低电平的形式在各自的输出端口送出,以表示其意愿。译码器有多个输入端和多个输出端。假如输入的端个数为,每个输出端只能有两个状态,则输出端个数最多有2n个。常用译码器输入、输出端头数来称呼译码器,如3线-8线译码器,4线-10线译码器等。我们经常用到的74138就是一个三线-八线译码器,朋友们可以到我们网站的《芯片资料》频道下载74138的中文资料。
编码、译码的概念我们了解下,下面我们就来重点来讲一下三-八译码器的工作原理,这在我们51单片机的接口电路中也是经常用到的。
74138的工作原理如下图所示:
从上图可看出,74138有三个输入端:A0、A1、A2和八个输出端Q0~Q7。当输入端A0、A1、A2的编码为000时,译码器输出为Q0=0,而Q1~Q7=1。即Q0对应于A0、A1、A2为000状态,低电平有效。A0、A1、A2的另外7种组合见后面的真值表。
图中S1、S2、S3为使能控制端,起到控制译码器是否能进行译码的作用。只有S1为高电平,S2、S3均为低电平时,才能进行译码,否则不论输入羰输入为何值,每个输出端均为1。
下图是输入端A0、A1、A2为000,控制端S1=1、S1=0、S2=0的电平示意图(红色数字为端口电平),大家可按下图进行分析,也可以分析输出端另外七种组合时的输出情况。