第5章译码器及其应用 5.1设计目的 (1) 掌握二进制译码器、二十进制译码器和显示译码器的工作原理及使用方法。 (2) 设计二进制38译码器74LS138功能测试电路。 (3) 设计二十进制译码器74HC42功能测试电路。 (4) 设计显示译码器74LS48芯片功能测试电路。 5.2设计原理 译码器(Decoder)在数字系统中属于组合逻辑电路。译码是编码的逆过程,其逻辑功能是将每一组代码的含义“翻译”出来,即将每一组代码译为一个特定的输出信号,表示它原来所代表的信息。能完成译码功能的逻辑电路称为译码器。常用的译码器电路有二进制译码器(Binary Decoder)、二十进制译码器(BinaryCoded Decimal Decoder)和显示译码器(Display Decoder)三类。 图5174LS138译码器引脚排列图 5.2.1二进制译码器 TTL 74系列的集成电路二进制译码器有多种,如74LS138、74LS139和74LS154等。74LS138为二进制38译码器,74LS139为二进制24译码器,74LS154为二进制416译码器。本节介绍集成电路二进制译码器74LS138的用法。 图51为74LS138译码器引脚排列图。A0、A1、A2是3个输入引脚,G1、G2A、G2B为3个附加控制端,Y0~Y7为译码器输出引脚。表51为74LS138 38译码器真值表。 表5174LS138 38译码器真值表 输入 使能位选择位 输出 G1 G2* C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 × H × × × H H H H H H H H L × × × × H H H H H H H H H L L L L L H H H H H H H H L L L H H L H H H H H H H L L H L H H L H H H H H H L L H H H H H L H H H H H L H L L H H H H L H H H H L H L H H H H H H L H H H L H H L H H H H H H L H H L H H H H H H H H H H L 注: *G2=G2A+G2B,(G1=E1,G2=E2+E3)。 由表51可以看出,当一个选通端(E1)为高电平,另两个选通端(E2和E3)为低电平时,可将地址端(A0、A1、A2)的二进制编码在Y0~Y7对应的输出端以低电平译出。比如: ABC=000时,则输出端Y0输出低电平信号; ABC=001时,输出端Y1输出低电平信号,余类推。 注意: 集成电路器件引脚的名称没有统一标准,同一器件在不同资料上的名称有可能不同,如74LS138的引脚名称在两种资料上的区别见表52。 表5274LS138的引脚名称在两种资料上的区别 引脚编号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 名称1 A B C E2 E3 E1 Y7 GND Y6 Y5 Y4 Y3 Y2 Y1 Y0 名称2 A0 A1 A2 G2A G2B G1 Y7 GND Y6 Y5 Y4 Y3 Y2 Y1 Y0 图5274HC42译码器引脚排列图 尽管名称不同,但引脚的位置和功能是一致的,可从外部引脚图和真值表中查到对应关系。 5.2.2二十进制译码器 74HC42是CMOS系列集成电路二十进制译码器。二十进制译码器的逻辑功能是将输入BCD码的10个代码译成10个高、低电平输出信号。 图52是74HC42译码器引脚排列图。A、B、C、D是4个输入引脚,0~9为译码器的10个输出引脚。表53为74HC42译码器真值表。 表5374HC42译码器真值表 序 号 输入 输出 D C B A 0 1 2 3 4 5 6 7 8 9 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 2 0 0 1 0 1 1 0 1 1 1 1 1 1 1 3 0 0 1 1 1 1 1 0 1 1 1 1 1 1 4 0 1 0 0 1 1 1 1 0 1 1 1 1 1 5 0 1 0 1 1 1 1 1 1 0 1 1 1 1 6 0 1 1 0 1 1 1 1 1 1 0 1 1 1 7 0 1 1 1 1 1 1 1 1 1 1 0 1 1 8 1 0 0 0 1 1 1 1 1 1 1 1 0 1 9 1 0 0 1 1 1 1 1 1 1 1 1 1 0 伪 码 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 由表53可以看出,当输入D、C、B、A依次取0000,0001,0010,…,1001时,0~9端依次输出低电平。而当D、C、B、A依次取1010,1011,…,1111时,0~9端输出保持高电平。 5.2.3显示译码器 在数字系统中,常常需要将某些数字或运算结果显示出来。这些数字量要先经过译码,才能送到数字显示器去显示。这种能把数字量翻译成数字显示器所能识别的信号的译码器称为数字显示译码器。数字显示译码器通常由译码器、驱动电路和显示器三部分组成。 常见的显示器有三类,分别是LED数码管显示器、LCD液晶显示器和点阵式显示器。LED数码管根据显示形式一般有七段8字形、八段8字形带小数点、15段米字形带小数点三种; 根据公共端接法不同有共阴极和共阳极两种; 根据发光效率不同有普通LED和高亮度LED区分; 根据连体位数不同有1位、2位、3位、4位和多位等品种; 根据数码管尺寸的不同有0.28、0.30、0.32、0.36、0.39、0.5、0.56、0.8、1.0、1.8、3.0、4.0、5.0、7.0、8.0、10英寸等多种。 1. 七段数字显示器 七段数字显示器就是将7个发光二极管按一定的方式排列起来,七段a,b,c,d,e,f,g(小数点DP)各对应一个发光二极管,利用不同发光段的组合,显示不同的阿拉伯数字,如图53所示。 图53七段数字显示器及发光段组合图 根据公共端接法不同,七段数字显示器的内部接法分为共阳极接法和共阴极接法两种,如图54所示。 图54七段数字显示器的内部接法 七段显示译码器也有多种,TTL系列的如74LS48为共阴极七段显示译码器,74LS47为共阳极七段显示译码器; CMOS系列的如CD4511为共阴极七段显示译码器,CD4543为共阳极七段显示译码器。本节我们只讨论74LS48共阴极七段显示译码器的用法。 图5574LS48引脚图 2. 74LS48简介 74LS48是中规模BCD码七段显示译码/驱动器,可提供较大电流流过发光二极管。图55是74LS48引脚图,4个输入信号A、B、C、D对应4位二进制码输入; 7个输出信号a~g对应七段字型。译码输出为“1”时,LED的相应字段点亮,例如,DCBA=0001时,译码器输出b和c为“1”,故将b和c段点亮,显示数字“1”。另外,有三个控制端: 试灯输入端(LT),灭灯输入端(RBI),特殊控制端(BI/RBO)。表54是74LS48七段显示译码器真值表。 表5474LS48七段显示译码器真值表 输入 输出 显示 字符 LTRBI BI/RBO DCBA abcdefg 11 1 0000 1111110 0 1× 1 0001 0110000 1 1× 1 0010 1101101 2 1× 1 0011 1111001 3 1× 1 0100 0110011 4 1× 1 0101 1011011 5 1× 1 0110 0011111 6 1× 1 0111 1110000 7 1× 1 1000 1111111 8 1× 1 1001 1110011 9 由表54可以看出,当LT、RBI和BI均为高电平时,可将输入端(D、C、B、A)的二进制编码在七段显示器上译出。比如: DCBA=0000时,显示“0”; DCBA=1001时,显示“9”。 5.3用Proteus软件仿真 【实例5.1】二进制译码器74LS138芯片功能测试电路如图56所示。已知,电路图中74LS138(U2)的1、2、3脚A、B、C接“逻辑状态”调试元件; 74LS138的6脚接“逻辑状态”调试元件,E2、E3接地。74LS138的Y0~Y7脚接“逻辑探针”调试元件。 图56二进制译码器74LS138芯片功能测试电路 先向E1上接的“逻辑状态”调试元件输入“0”,再向A、B、C“逻辑状态”调试元件输入“010”。单击Proteus图屏幕左下角的运行键,系统开始运行,出现如图57所示的二进制译码器74LS138芯片功能测试结果图1。此时,Y0~Y7“逻辑探针”调试元件全部显示高电平“1”。不管向A、B、C“逻辑状态”调试元件输入“1”或“0”,Y0~Y7“逻辑探针”调试元件显示全“1”不变。 图57二进制译码器74LS138芯片功能测试结果图1 现在,先向A、B、C“逻辑状态”调试元件输入“000”,再向E1上接的“逻辑状态”调试元件输入“1”。单击Proteus图屏幕左下角的运行键,系统开始运行,出现如图58所示的二进制译码器74LS138芯片功能测试结果图2。此时,Y0“逻辑探针”调试元件显示低电平“0”,其余仍显示高电平“1”。 图58二进制译码器74LS138芯片功能测试结果图2 在维持E1上接的“逻辑状态”调试元件输入“1”的前提下,改变向A、B、C三个“逻辑状态”调试元件上输入的电平,Y0~Y7“逻辑探针”调试元件显示也随之变化。其变化规律与表51的74LS138功能真值表所反映的关系一致。 根据以上对74LS138芯片功能测试,确定: 在向74LS138的6脚E1接高电平,向E2、E3输入低电平的前提下,依次向ABC输入以下电平“000、001、010、011、100、101、111”,译码器输出Y0~Y7将以其排列顺序依次出现低电平“0”。 【实例5.2】二十进制译码器74HC42芯片功能测试电路如图59所示。已知,图中,74HC42(U3)的A、B、C、D接“逻辑状态”调试元件,74HC42的0~9输出通过限流电阻接发光二极管。发光二极管的负端接译码器输出,正端通过限流电阻接正电源。由于74HC42为低有效输出,故当输出端有效时,发光二极管负极接低电位,发光二极管亮。当输出端无效时,输出端为高电位,发光二极管不亮。 图59二十进制译码器74HC42芯片功能测试电路 在图59中,向A、B、C、D输入“0000”,单击Proteus图屏幕左下角的运行键,系统开始运行,出现如图510所示的二十进制译码器74HC42芯片功能测试结果图。此时,输出0上接的发光二极管点亮,其余发光二极管则不亮。向A、B、C、D依次输入0000,0001,…,1001,输出0,1,…,9上接的发光二极管将依次点亮。假如向A、B、C、D输入1010,1011,…,1111,则输出0,1,…,9上接的发光二极管都将不亮。 图510二十进制译码器74HC42芯片功能测试结果图 根据上述对二十进制译码器74HC42芯片功能测试确定: 依次向A、B、C、D输入电平“0000、0001、0010、0011、0100、0101、0110、0111、1000、1001”,译码器输出0~9将以其排列顺序依次出现低电平“0”。 【实例5.3】显示译码器74LS48芯片功能测试电路如图511所示。已知,电路中74LS48(U3)的A、B、C、D接“逻辑状态”调试元件,74LS48的LT、RBI接高电位,QA、QB、QC、QD、QE、QF、QG各经一限流电阻与共阴极七段显示器的7个引脚相连。 向A、B、C、D输入“1000”,单击Proteus图屏幕左下角的运行键,系统开始运行,出现如图512所示的显示译码器74LS48芯片功能测试结果图。此时,七段显示器显示数字“8”。向A、B、C、D依次输入“0000,0001,0010,0011,0100,0101,0110,0111,1000,1001”,七段显示器上将依次显示数字“0,1,2,3,4,5,6,7,8,9”。假如向A、B、C、D输入1010,1011,1100,1101,1110,七段显示器将显示0~9以外的符号,输入“1111”时,显示器不亮。 图511显示译码器74LS48芯片功能测试电路 图512显示译码器74LS48芯片功能测试结果图 根据上述对显示译码器74LS48芯片功能测试,可知: 74LS48在LT、RBI接高电位的前提下,向A、B、C、D依次输入“0000,0001,0010,0011,0100,0101,0110,0111,1000,1001”电平时,七段显示器上将依次显示数字“0,1,2,3,4,5,6,7,8,9”。 5.4小结 本章共有3个实例,分别为: (1) 二进制译码器74LS138芯片功能测试电路; (2) 二十进制译码器74HC42芯片功能测试电路; (3) 显示译码器74LS48芯片功能测试电路。 译码器在数字系统中属于组合逻辑电路,译码是编码的逆过程。常用的译码器电路有二进制译码器、二十进制译码器和显示译码器三类。