译码器的工作原理及相关电路图分析
译码器的工作原理及相关电路图分析
一般我们指的译码器是从一种数据表示形式转换为另一数据表示形式的器件。而指令的解析未必就是你说到的译码器可以解决的,而是诸如乘法器、全加法器或者更为基本的触发器或逻辑电路直接构成,并不属于译码器的子集。
建议你把基本概念弄清楚了再来表达你的准确想法,不然旁人很难帮上你的忙。
对你补充的回答:根据前面对译码器的解释,指令译码器也是同样的道理,你可以把它理解为普通的地址译码器,比如3-8译码器(或8-256译码器),其实就是把3(或8)条数据线上表示的信息转换为8(或256)条数据线来表示的一种形式,(即译码),然后利用该信息表示的独立性和唯一性对功能电路作出恰当的选择(比如选择当前执行的指令的部件为加法处理单元)。在这个意义上来说它就是一个普通的地址译码器,用于选中哪个功能单元来处理当下的操作数。 一条指令只需一个地址,而非你说的多少种译码器,一个8位指令译码器就可以支持256条指令,一个16位指令译码器可达到最多65536条指令。
因此,你可以通过一个典型的3-8译码器来了解译码的基本原理,常见型号是74LS138.当然,实际的指令解码电路要复杂得多,而且是基于系统设计的,你只能从等效的角度来了解。由浅入深,慢慢来。通过对74LS138的了解,你会对译码器有初步的认识,也是最重要、最基础的认识。
把所使用的每一种二进制代码状态都赋于特定的含义,表示一个特定的信号或对象,叫编码。如用四位二进制数的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的电平示意图(红色数字为端口电平),大家可按下图进行分析,也可以分析输出端另外七种组合时的输出情况。
|