组合逻辑电路<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
本章要求:了解组合逻辑电路的特点,掌握组合电路的分析和设计方法,以及译码器、编码器、多路选择器等常用集成电路的设计使用。
本章内容:数字电路一般可分为组合逻辑电路和时序逻辑电路。组合逻辑电路的特点是输出逻辑状态完全由当前输入状态决定。门电路是组合逻辑电路的基本逻辑单元。本章介绍了组合电路的分析和设计方法,以及译码器、编码器、多路选择器等常用集成电路的设计使用。
本章学时:6学时
教学手段:传统教学结合电工电子技术EDA仿真,通过例题使学生理解并掌握本章内容。
10.1 组合逻辑电路的分析与设计
本节学时:2学时
本节重点:组合电路的分析和设计方法
教学内容:
10.1。1 组合逻辑电路的分析
组合逻辑电路的分析:从给定的逻辑电路图求出输出函数的逻辑功能。即求出逻辑表达式和真值表。
步骤一般为:
(1)推导逻辑电路输出函数的逻辑表达式并化简。
首先将逻辑图中各个门的输出都标上字母,然后从输入级开始,逐级推导出各个门的输出函数。
(2)由逻辑表达式建立真值表
作真值表的方法是首先将输入信号的所有组合列表,然后将各组合代入输出函数得到输出信号值。
(3)分析真值表,判断逻辑电路的功能
例10-1 试分析图10-1所示的逻辑电路图的功能。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
图10-1 例10-1的电路图 |
A B | Y |
0 0 0 1 1 0 1 1 | 1 0 0 1 |
解:(1)根据逻辑图写出逻辑函数式并化简
(2)列真值表如表9-5。
(3)分析逻辑功能
由真值表可知:
A、
例10-1 真值表 |
所以该电路是同或逻辑电路。
10.1.2 组合逻辑电路的设计
组合逻辑电路的设计就是在给定逻辑功能及要求的条件下,设计出满足功能要求,而且是最简单的逻辑电路,其一般步骤如下:
(1)确定输入输出变量,定义变量逻辑状态含义。
(2)将实际逻辑问题抽象成真值表。
(3)根据真值表写逻辑表达式,并化简成最简与或表达式。
(4)根据表达式画逻辑图。
例10-2 设有甲、乙、丙三台电机,它们运转时必须满足这样的条件,即任何时间必须有而且仅有一台电机运行,如不满足该条件,就输出报警信号。试设计此报警电路。
解:
(1) 取甲、乙、丙三台电机的状态为输入变量,分别用A、B和C表示,并且规定电机运转为1,停转为0,取报警信号为输出变量,以Y表示,Y=0表示正常状态,否则为报警状态。
(2)根据题意可列出表9-7所示真值表。
(3)写逻辑表达式,方法有两,其一是对Y=1的情况写,其
A B C | Y |
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 | 1 0 0 1 0 1 1 1 |
表10-2 真值表 |
图10-2 例10-2的电路图 |
非求反。以下是对Y=1的情况写出的表达式:
化简后得到:
(4)由逻辑表达式可画出图9-31所示的逻辑电路图,一般为由出向入的过程。
例10-3 试设计一逻辑电路供三人(A,B,C)表决使用。每人有一电键,如果他赞成,就按电键,表示“1”;如果不赞成,不按电键,表示“0”。表决结果用指示灯来表示,如果多数赞成,则指示灯亮,Y=1;反之灯不亮,Y=0。
A | B | C | Y |
0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 1 |
表10-3 真值表 |
Y为指示灯。
(1) 根据以上分析列出表9-8所示的真值表。
(2)由真值表写出逻辑式
化简后得到
(3)根据逻辑表达式画逻辑图如图9-32所示。
C
|
A
B
|
& |
& |
& |
Y |
& |
图10-3 例10-3的电路图 |
10.2译码器
学时:1学时
本节重点:二进制译码器 二—十进制译码器 显示译码器
教学内容:
将二进制代码(或其它确定信号或对象的代码)“翻译”出来,变换成另外的与之对应的输出信号(或另一种代码)的逻辑电路称为译码器。
<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />10.2.1 二进制译码器
N位二进制译码器有N个输入端和2N个输出端,即将N位二进制代码的组合状态翻译成对应的2N个最小项,一般称为N线-2N线译码器。2线-4线译码器的逻辑图如图10-4所示。
| ||||||||||||||||
1 × × 0 0 0 0 0 1 0 1 0 0 1 1 | 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 |
电路有2个输入端A、B,4个输出端,在任何时刻最多只有一个输出端为有效电平(此处为低电平),其真值表见表10-4。是使能控制端(也称为选通信号),当=0(有效)时,译码器处于工作状态;当=1(无效)时,译码器处于禁止工作状态,此时,全部输出端都输出高电平(无效状态)。
常用的中规模集成电路译码器有双2线-4线译码器74139,3线-8线译码器74138,4线-16线译码器74154和4线-10线译码器7442等。
74138是TTL系列中的3线—8线译码器,它的逻辑符号见图10-5 ,其中A、B和C是输入端,是输出端,是控制端。它的译码器的真值表见表10-5。在真值表中,从真值表可以看出当G1=1、G2=0时该译码器处于工作状态,否则输出被禁止,输出高电平。这三个控制端又称为片选端,利用它们可以将多片连接起来扩展译码器的功能。
图10-5 3-8译码器的逻辑符号 |
从真值表可知每一个输出端的函数为:
其中mi为输入C、B、A的最小项。
如果把G1作为数据输入端(同时使),把CBA作为地址端,则可以把G1信号送到一个由地址指定的输出端,例如,CBA=101,则Y5等于G1的反码。这种使用称为数据分配器使用。
控 制 |
| 输 出 | |
G1 G2 | C B A | Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 | |
X 1 0 X 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 | X X X X X X 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 |
<?xml:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" />
图10-6 用74138实现4-16线译码 图10-7 用74138实现组合逻辑函数
用两个3-8译码器可组成4-16线译码器,见图10-6,将C、B、A信号连接到U1和U2的C、B、A端,将U1的控制和U2的G1端连接到D,当D=0时,选中U1,否则选中U2,将U1的和U2的端连接到使能信号EN,当EN=0时,译码器正常工作,当EN=1时,译码器被禁止。
例10-4 用74138译码器实现的电路如图10-7所示,写出Y(A,B,C)的逻辑表达式。
解:从74138译码器的功能可知,它的每一个输出都是对应输入逻辑变量最小项的非,因此得到输出表达式
10.2.2 二—十进制译码器
二—十进制译码器又称为码制变换译码器,它是将BCD码译成十个独立输出的高电平或低电平信号。常用的有4线-10线BCD译码器7442,符号见图9-48,它的输入为8421BCD码时,输出为十个独立的信号线0-9,对于8421BCD码以外的伪码,输出全为高电平。该芯片常与发光二极管连接,用二极管是否发光来显示BCD数据。
CMOS 4028也是和7442相同功能的4线—10线译码器。
图10-8 7442符号图
|
10.3.3 显示译码器
在一些数字系统中,不仅需要译码,而且需要把译码的结果显示出来。所以显示译码器是对4位二进制数码译码并推动数码显示器的电路。
1.显示器件
目前广泛使用的显示器件是七段数码显示器,由a~g等7段可发光的线段拼合而成,通过控制各段的亮或灭,就可以显示不同的字符或数字。七段数码显示器有半导体数码显示器和液晶显示器两种。
半导体数码管(或称LED数码管)由发光二极管组成,有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸的数码管由二个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。发光二极管的阳极连在一起连接到电源正极的称为共阳数码管,阴极接低电平的二极管发光;发光二极管的阴极连在一起连接到电源负极的称为共阴数码管,阳极接高电平的二极管发光。图9-49所示是七段数码管的外形图及共阴、共阳等效电路。有的数码管在右下角还增设了一个小数点,形成八段显示。
图 10-9七段数码管的外形图及共阴共阳等效电路 |
a f b e c dp |
g d |
小数点 |
a b c d e f g |
a b c d e f g |
共阴结构 |
共阳结构 |
阴极 |
G2 |
常用LED数码管显示的数字和字符是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。
液晶显示器(LCD)是另一种数码显示器。液晶显示器中的液态晶体材料是一种有机化合物,在常温下既有液体特性,又有晶体特性。利用液晶在电场作用下产生光的散射或偏光作用原理,便可实现数字显示。一般对LCD的驱动采用正负对称的交流信号。
2.七段显示译码器
七段显示译码器的功能是把“8421”二-十进制代码译成对应于数码管的七个字段信号,驱动数码管,显示出相应的十进制代码。
显示译码器有很多集成产品,如用于共阳数码管的译码电路7446/47和用于共阴数码管的译码电路7448等,下面分别加以介绍。
(1).用于共阳数码管的译码电路7446/47
该电路采用集电极开路输出,具有试灯输入、前/后沿灭灯控制、灯光调节能力和有效低电平输出,驱动输出最大电压:46A、L46为30V,47A、L47、LS47为15V,吸收电流:46A、L46为40mA,47A、L47为30mA,LS47为24mA,7446与74246,7447与74247分别字型不同,其他相同,可以互换。共阳数码管的译码电路的符号见图10-10,真值表见表10-6 。
图10-10 7446的符号图 |
该译码器有4个控制信号:
灯测试端,=0数码管各段都亮,除试灯外=1。
动态灭零输入端,当=0,同时ABCD信号为0,而=1时,所有各段都灭,同时输出0,该功能是灭0。
灭灯输入/动态灭灯输出端,当作为输入端使用时,若=0,则不管其它输入信号,输出各段都灭。当作为输出端使用时,若输出0,表示各段已经熄灭。
7446与共阳数码管的连接见图10-11。图中电阻RP为限流电阻,具体阻值视数码管的电流大小而定。7446是OC输出,电源电压可以达到30 V,吸收电流40mA,对于一般的驱动是可以满足需求的,但是若数码管太大,就需要更高的电压和更大的电流,这就需要在译码器与数码管之间增加高电压、高电流驱动器。例如达林顿驱动电路DS2001/2/3/4,该电路由7个高增益的达林顿管组成,集电极-发射极间电压可达到50V,集电极电流350mA,输入与TTL、CMOS兼容,输出高电压50V,输出低电压1.6V。
十进制 | 控 制 | 输 入 |
| ||||
| D C B A |
| |||||
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 1 1 1 X 1 X 1 X 1 X 1 X 1 X 1 X 1 X 1 X 1 X 1 X 1 X 1 X 1 X 1 X | 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 |
1 0 0 1 1 1 1 1 0 0 1 0 0 1 0 1 0 0 0 0 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 1 1 0 0 1 0 1 1 1 0 0 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 | ||||
X X 1 0 0 X | X X X X 0 0 0 0 0 X X X X X 1 | 1 1 1 1 1 1 1 X 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 |
表10-6 7446真值表 |
图10-12 7448符号图 |
S |
图10-11 共阳数码管与译码 |
Ucc |
(2).用于共阴数码管电路7448
本电路采用有效高电平输出,具有试灯输入、前/后沿灭灯控制、输出最大电压5.5V,吸收电流7448为6.4mA,74LS48为6mA。7448的电路符号见图10-12。7448除输出高电平有效外,其它功能与7446相同。
由于共阴数码管的译码电路7448内部有限流电阻,故后接数码管时不需外接限流电阻。由于7448拉电流能力小(2mA),灌电流能力大(6.4mA), 所以一般都要外接电阻推动数码管,7448译码器的典型使用电路见图10-13。
10.2编码器 、10.3数据选择器、10.4加法器
本节学时:3学时
本节重点:编码器 数据选择器 加法器
教学内容
10.3编码器
编码器(Encoder)是用二进制码表示十进制数或其它一些特殊信息的电路。常用的编码器有普通编码器和优先编码器两类,编码器又可分为二进制编码器和二—十进制编码器。
10.3.1 普通编码器
N位二进制符号有2N种不同的组合,因此有N位输出的编码器可以表示2N个不同的输入信号,一般把这种编码器称为2N线-N线编码器。图9-38是三位二进制编码器的原理框图,
C
B
A
|
8线-3线
编 码 器 |
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 |
表10-7 8线-3线编码器编码表
|
输 入 | (i) C B A |
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 | 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 |
图10-14 8线-3线编码器的框图
|
它有8个输入端Y0 ~Y7,有3个输出端C、B、A,所以称为8线-3线编码器。对于普通编码器来说,在任何时刻输入Y0 ~Y7中只允许一个
Y1 Y2 Y3 Y4 Y5 Y6 Y7 |
C
B
A
|
≥1 |
≥1 |
≥1 |
图10-15 三位编码器的逻辑图 |
器的编码表如表10-7所列。由编码表得到输出表
达式为
C=Y4+ Y5+ Y6+ Y7
B=Y2+ Y3+ Y6+ Y7
A=Y1+ Y3+ Y5+ Y7
实现上述功能的逻辑图如图10-15所示。
10.3.2 优先编码器
普通编码器电路比较简单,但同时两个或更多输入
信号有效时,将造成输出状态混乱,采用优先编码器可以避免这种现象出现。优先编码器首先对所有的输入信号按优先顺序排队,然后选择优先级最高的一个输入信号进行编码。下面以74147和74148为例,介绍优先编码器的逻辑功能和使用方法。
1.10线-4线二进制优先编码器74147
10线-4线二进制优先编码器74147为二-十进制编码器,它的符号如图9-40所示,编码见表10-8所示的真值表。该编码器的特点是可以对输入进行优先编码,以保证只编码最高位输入数据线,该编码器输入为1-9九个数字,输出是BCD码,数字0不是输入信号。输入与输出都是低电平有效。
表10-8 74147真值表 |
输 入 | 输 出 |
1 2 3 4 5 6 7 8 9 | D C B A |
1 1 1 1 1 1 1 1 1 X X X X X X X X 0 X X X X X X X 0 1 X X X X X X 0 1 1 X X X X X 0 1 1 1 X X X X 0 1 1 1 1 X X X 0 1 1 1 1 1 X X 0 1 1 1 1 1 1 X 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 | 1 1 1 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 |
图10-16 4147优先编码器器符号 |
表
图10-17所示电路是74147的典型应用电路,该电路可以将0-9十个按扭信号转换成编码。当没有按扭按下时,按扭按下信号Y=0。若有按扭按下,则按扭按下信号Y=1。虽然0信号未进入74147,但是当0按扭按下时,按扭按下信号Y=1,同时编码输出1111,这就相当于0的编码是1111。
图10-17 将0-9数字按扭信号转换成BCD码的编码电路
|
2.8线-3线二进制优先编码器74148
输 入 | 输 出 | ||
EI | 0 1 2 3 4 5 6 7 | GS EO | A2 A1 A0 |
1 0 0 0 0 0 0 0 0 0 | X X X X X X X X 1 1 1 1 1 1 1 1 X X X X X X X 0 X X X X X X 0 1 X X X X X 0 1 1 X X X X 0 1 1 1 X X X 0 1 1 1 1 X X 0 1 1 1 1 1 X 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 | 1 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 | 1 1 1 1 1 1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 |
二进制编码器是用n位二进制码对2n个信号进行编码的电路。74148的符号图如图10-18所示。该编码器的输入与输出都是低电平有效。从真值表10-9可以看出,输入端EI是片选端,当EI=0时,编码器正常工作,否则编码器输出全为高电平。输出信号GS=0表示编码器工作正常,而且有编码输出。输出信号EO=0表示编码器正常工作但是没有编码输出,它常用于编码器级连。
图10-18 优先编码器74148 |
表10-9 74148真值表 |
例1: 某医院的某层有8个病房和一个大夫值班室,每个病房有一个按扭,在大夫值班室有一优先编码器电路,该电路可以用数码管显示病房的编码。各个房间按病人病情严重程度不同分类,1号房间病人病情最重,8号房间病情最轻。试设计一个呼叫装置,该装置按病人的病情严重程度呼叫大夫,就是若两个或两个以上的病人同时呼叫大夫,则只显示病情最重病人的呼叫。
解:根据题意,选择优先编码器74148,对病房进行编码。当有按扭按下时74148的GS端输出低电平,经过反相器推动三极管使蜂鸣器发声,以提醒有病房按下了按扭。具体电路见图10-19,图中的DS和7446A是将编码器的输出A0、A1、A2变换成我们习惯的显示方式—十进制数,称为译码和显示,在后面我们将详细讨论。图中由于74148输出低电平有效,而7446输入高电平有效,所以两个芯片之间串联反相器,
图10-19 优先编码器的应用 |
10.4数据选择器
从一组输入数据选出其中需要的一个数据作为输出的过程叫做数据选择,具有数据选择功能的电路称为数据选择器。常用的有4选1、8选1和16选1等数据选择器产品。
10.4.1 4选1数据选择器
图10-20是4选1数据选择器逻辑电路,由图可以得到输出Y的表达式为:
从表达式可以看出,当选择信号B=1、A=0时Y=D2,这就相当于将D2信号连接到了输
出端Y。
图10-20 4选1数据选择器逻辑电路
10.4.2 8选1数据选择器
8选1集成数据选择器74151具有八个输入信号D0-D7,一对互补输出信号Y和W,三个数据选择信号C、B、A和使能信号。符号图见图9-55,真值表见表10-10。
由真值表10-10得到该选择器的输出信号为:
这里Y是输出信号,W是Y的互补信号,mi是选择信号的最小项,Di是输入信号,是使能信号。若=0,多路选择器正常工作,否则多路选择器输出低电平。
74153是双4选1多路选择器,74157是四2选1数据选择器。
选 择 | 使 能 | 输 出 |
C B A | Y W | |
X X X 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 | 1 0 0 0 0 0 0 0 0 | 0 1 D0 D1 D2 D3 D4 D5 D6 D7 |
表10-10 多路选择器74151真值表 |
图10-21 多路选择器74151符号图 |
10.4.3.用数据选择器实现逻辑函数
从数据选择器的功能可以看出,它实际是选择信号与输入数据信号组成的最小项之和,只要将选择信号作为逻辑变量,适当确定输入数据信号的状态(1,0),就可以实现任意逻辑函数。
例2 用多路选择器74151实现函数
解:根据题目要求和数据选择器的功能可以列出真值表如表10-11所示。
表10-11 例2的真值表
选 择 信 号 | 输 出 | 数据信号 |
C B A | F(A,B,C) | D |
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 | 1 0 1 1 0 1 0 0 | D0=1 D1=0 D2=1 D3=1 D4=0 D5=1 D6=0 D7=0 |
图10-22 例2的逻辑图
由真值表可以得到逻辑图10-22。
例3 用8选1数据选择器74LS151实现的电路如图10-23所示,写出输出Y的逻辑表达式,列出真值表并说明电路功能。
D7 D6 D5 D4 D3 D2 D1 D0 |
G A B C |
Y W |
1 |
A B C
D |
图10-23 例3图
解:根据8选1数据选择器74LS151功能,按照图10-23电路的连接方式,将A、B、C代入,并将D代替D6、D5、D3、D0,代替D7、D4、D2、D1,得到
根据上式得到电路的真值表如表10-12所示,由表可见,该电路是4位奇校验器,即当4位输入A、B、C、D中“1”的个数为奇数时,输出F=1,为偶数时F=0
表10-12 例3真值表
a) A B C D | F | A B C D | F |
0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 | 0 1 1 0 1 0 0 1 | 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 | 1 0 0 1 0 1 1 0 |
10.5加法器
在数字系统中对二进制数进行加、减、乘、除运算时,都是转化成加法运算完成的,所以加法运算是构成运算电路的基本单元。
10.5.1 一位加法器
1.半加器
能对两个一位二进制数进行相加得到和及进位的电路称为半加器。按照二进制数运算规则得到表9-9所示真值表,其中A、B是两个加数,S是和,C是进位。
由真值表可以得到如下逻辑表达式
由表达式可以得到半加器逻辑图及符号如图10-24(a)、(b)所示。
(a) (b) 图10-24 半加器逻辑图及符号 |
∑ CO |
A a) B |
S b) C |
输 入 | 输 出 |
A B | S C |
0 0 0 1 1 0 1 1 | 0 0 1 0 1 0 0 1 |
表10-13 半加器真值表 |
2.全加器
能对两个一位二进制数相加并考虑低位来的进位,得到和及进位的逻辑电路称为全加器。全加器真值表如表10-14所示,表中CI为低位来的进位,A、B是两个加数,S是全加和,CO是进位。
从真值表可得到如下表达式:
化简后:
由逻辑表达式可画出逻辑图如图10-25所示。
表10-14 全加器真值表 |
输 入 | 输 出 |
CI A B | S CO |
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 | 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1 |
∑ CI CO |
A c) B(b) CI |
S a) CO |
(a) (b) 图10-25 全加器逻辑图及符号 |
3.集成一位全加器
74LS183是双一位全加器,输入信号为低位进位CI和两个加数A、B,输出为全加和S与本级进位CO,其逻辑符号如图10-26(a)所示。
CO S4 S3 S2 S1 74LS283
A4 A3 A2 A1 B4 B3 B2 B1 CI |
(a) (b) 图10-26 74LS183和74LS283的逻辑符号 |
S1 CO1 S2 CO 2 74LS183
A1 B1 CI1 A2 B2 CI 2 |
10.5.2 多位加法器
1.串行进位加法器
由全加器的串联可构成n位加法器,每个全加器表示一位二进制数据,构成方法是依次将低位全加器的进位CO输出端连接到高位全加器的进位输入端CI。
这种加法器的每一位相加结果都必须等到低一位的进位产生之后才能形成,即进位在各级之间是串联关系,所以称为串行进位加法器。
由于必须等待前级进位才能形成本级的进位和全加和,所以当位数很多时,运算速度会很慢。该种形式的加法器结构简单,在不要求运算速度的设备中还是可以使用的。
2.先行进位加法器
为了提高运算速度,必须设法减小由于进位引起的时间延迟,方法就是事先由两个加数构成各级加法器所需要的进位。集成加法器74LS283就是先行进位加法器,其逻辑符号如图10-26(b)所示。
74283执行两个4位二进制数加法,每位有一个和输出,最后的进位C4由第4位提供,产生进位的时间一般为22ns。
一片74LS283只能完成4位二进制数的加法运算,但把若干片级联起来,可以构成更多位数的加法器电路。由两片74LS283级联构成的8位加法器电路如图10-27所示,其中片(1)为低位片,片(2)为高位片。同理,可以把4片74LS283级联起来,构成16位加法器电路。
图10-27 用74LS283构成的8位加法器 |
CO S4 S3 S2 S1 74LS283(2)
A4 A3 A2 A1 B4 B3 B2 B1 CI |
A7 A6 A5 A4 B7 B6 B5 B4
|
S7 S6 S5 S4
|
CO S4 S3 S2 S1 74LS283(1)
A4 A3 A2 A1 B4 B3 B2 B1 CI |
A3 A2 A1 A0 B3 B2 B1 B0 |
S3 S2 S1 S0
|
利用74LS283的加法运算功能,还能实现具有某些特定功能的逻辑电路。图9-37(a)所示的是用74LS283组成的减法器电路。二进制减法操作可以通过先求出减数的补码再加上被减数求得。补码的求法为反码加1。例如求1101的补码,首先求1101的反码,为0010,然后再加1,得到0011。图10-28(a)中用反相器对减数求反,然后使进位端为1,完成反码加1求补码的运算。然后与被减数相加,得到差。如果不够减,加法器进位端将输出借位信
CO S4 S3 S2 S1 74LS283
A4 A3 A2 A1 B4 B3 B2 B1 CI |
D C B A 0 0 1 1 |
Y3 Y2 Y1 Y0
|
CO |
图10-28 用74LS283实现某些特定功能的逻辑电路 |
(a) (b) |
74LS283 |
号。图10-28(b)所示的是用74LS283实现由8421码到余3码的代码转换电路。图中,DCBA是8421码输入端,Y3 Y2 Y1 Y0是余3码输出端,满足8421码加上3得到余3码的关系。
文章评论(0条评论)
登录后参与讨论