数字电路课程设计之加减法运算电路设计(1)

更新时间:2023-11-13 17:25:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

加减法运算电路设计

1.设计内容及要求

1.设计一个4位并行加减法运算电路,输入数为一位十进制数,且作减法运算时被减数要大于或等于减数。

2.led灯组成的七段式数码管显示置入的待运算的两个数,按键控制运算模式,运算完毕,所得结果亦用数码管显示。

3.提出至少两种设计实现方案,并优选方案进行设计

设计资料1

2.结构设计与方案选择

2.1电路原理方框图

电路原理方框图如下

显示所置入的两个一位十进制数 加法运算电路 → 开 关 → 选 择置数 运算方式

译码显示计算结果 减法运算电路

图1-1二进制加减运算原理框图

如图1-1所示,第一步置入两个四位二进制数(要求置入的数小于1010),如(1001)2和(0111)2,同时在两个七段译码显示器上显示出对应的十进制数9和7;第二步通过开关选择运算方式加或者减;第三步,若选择加运算方式,所置数送入加法运算电路进行运算,同理若选择减运算方式,则所置数送入减法运算电路运算;第四步,前面所得结果通过另外两个七段译码器显示。

即:

若选择加法运算方式,则(1001)2+(0111)2=(10000)2 十进制9+7=16

并在七段译码显示器上显示16.

若选择减法运算方式,则(1001)2-(0111)2=(00010)2十进制9-7=2 并在七段译码显示器上显示02.

2.2加减运算电路方案设计

2.2.1加减运算方案一

如图2-2-1所示:通过开关S2——S9接不同的高低电平来控制输入端所置的两个一位十进制数,译码显示器U13和U15分别显示所置入的两个数。数A直接置入四位超前进位加法器74LS283的A4——A1端,74LS283的B4——B1端接四个2输入异或门。四个2输入异或门的一输入端同时接到开关S1上,另一输入端分别接开关S6——S9,通过开关S6——S9控制数B的输入。当开关S1接低电平时,B与0异或的结果为B,通过加法器74LS283完成两个数A和B的相加。当开关S1接高电平时,B与1异或的结果为B非 ,置入 的数B在74LS283的输入端为B的反码,且74LS283的进位信号C0为1,其完成S=A+B(反码)+1,实际上其计算的结果为S=A-B完成减法运算。由于译码显示器只能显示0——9,所以当A+B>9时不能显示,我们在此用另一片芯片74LS283完成二进制码与8421BCD码的转换,即S>9(1001)时加上6(0110),产生的进位信号送入译码器U10来显示结果的十位,U11显示结果的个位。由于减法运算时两个一位十进制数相减不会大于10,所以不会出现上述情况,用一片芯片U11即可显示结果。

2.2.2加减运算方案二

由两异或门两与门和一或门组成全加器,可实现一位二进制加逻辑运算,四位二进制数并行相加的逻辑运算可采用四个全加器串行进位的方式来实现,将低位的进位输出信号接到高位的进位输入端,四个全加器依次串行连接,并将最低位的进位输入端接逻辑“0”,就组成了一个可实现四位二进制数并行相加的逻辑电路。

通过在全加器电路中再接入两个反相器可组成一个全减器,实现一位二进制减逻辑运算,将来自低位的错位信号端接到向高位借位的信号端,依次连接四个全减器,构成可实现四位二进制数并行进行逻辑减运算的电路。

在两组电路置数端接开关控制置数输入加法还是减法运算电路,电路输出端

接LED灯显示输出结果,输出为五位二进制数。

图2-2-1加减法运算电路图

2.2.3两种方案的比较

通过对两种方案的比较,为实现设计要求,首先在不计入数码管所需芯片的情况下,方案二一共需要十二个芯片,电路的连接相当复杂,产生接线错误和导线接触不良的几率大大增加,而且耗费较高;而方案一一共需要七或九个芯片,且其中几个芯片只用到一两个门,相对接线较简单,容易实现。

其次,方案二采用串行进位和借位的方式来实现四位逻辑加减运算,任意一位的逻辑运算必须在前一位的运算完成之后才能进行,相较而言运算速度不高;而方案一采用的是超前进位的方式来实现四位逻辑运算的,每位的进位只有加数和被加数决定,而与低位的进位无关,它的运算速度较方案二高出很多。

综上所述,方案一较方案二更加优秀,不仅电路简单而且运算速度更快,经综合小组各设计方案,被选为小组共同方案。

3单元电路设计、参数计算和器件选择

3.1单元电路设计

3.1.1减法电路的实现

图3-1-1 减法运算电路

如图3-1-1所示,该电路功能为计算A-B。若n位二进制原码为N原,则与它相对应的补码为N补=2n-N原,补码与反码的关系式为N补=N反+1, A-B=A+B补-2n=A+B反+1-2n

+1= B非,B○+0=B,所以通过异或门74LS86对输入的数B求其反因为B○

码,并将进位输入端接逻辑1以实现加1,由此求得B的补码。加法器相加的结果为: A+B反+1,

由于2n=24=(10000)2,相加结果与相2n减只能由加法器进位输出信号完成。当进位输出信号为1时,它与2n的差为0;当进位输出信号为0时,它与2n差值为1,同时还要发出借位信号。因为设计要求被减数大于或等于减数,所以所得的差值就是A-B差的原码,借位信号为0。

3.1.2 译码显示电路

一个七段LED译码驱动器74HC4511和一个七段LED数码显示器组

成。七段LED译码驱动器74HC4511的功能表如下.在74HC4511中,经前面运算电路运算所得的结果输入74HC4511的D3D2D1D0,再译码输出,最后在七段LED显示器中显示出来.

七段LED译码驱动器74HC4511功能表

七段LED译码驱动器74HC4511功能表续

图3-1-2 译码显示电路

3.1.3 加法电路的实现

用两片4位全加器74LS83和门电路设计一位8421BCD码加法器

由于一位8421BCD数A加一位数B有0到18这十九种结果。而且由于显示的关系 当大于9的时候要加六转换才能正常显示,所以设计的时候有如下的真值表:

CO 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 S3 8 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 S2 4 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 S1 2 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 S0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Y 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 数的大小 0 1 2 3 4 没有超过9 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 无关项 需要转换 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 1 1 22 23 24 25 26 27 28 29 30 31

由表我们可以算出Y的表达式

Y?S3S2S1S0?S3S2S1S0?S3S2S1S0?S3S2S1S0?S3S2S1S0?S3S2S1S0?S3S2?S3S1

由前16项有(1)(2)由后10项有

Y?CO?1

由(1)(2)有Y=CO+S3S2+S3S1

由于用与非门比较方便所以我们选用了与非门电路 有以下两种选择:

(1)Y=C4+S4S3+S4S2=C4+S4S3+S4S2?C4?S4S3?S4S2 (2)Y=C4+S4S3+S4S2=C4+S4S3+S4S2?C4?S4S3?S4S2

但是第一种方式简单所以我们选用了第一种方式得到了如下的理论图:

图3-1-3 加法运算电路

3.2 元器件选择

3.2.1 加法电路器件

完成加法运算可用器件超前进位加法器74LS283或者4008来实现。如图3-1-3还需用到2输入与门74LS08,3输入或门。

V CC B2 A2 S2 B3 A3 S3 C3 16 15 14 13 12 11 10 9 74LS283 1 2 3 4 5 6 7 8 S1 B1 A1 S0 B0 A0 C0-1 GND TTL加法器74LS283引脚图 VDDB3C3 S3 S2 S1 S0 C0-1 16 15 14 13 12 11 10 9 4008 1 2 3 4 5 6 7 8 A3 B2 A2 B1 A1 B0 A0 VSS CMOS加法器4008引脚图

3.2.2 减法电路器件

由于没有直接做减法运算的器件,所以用加上减数的补码来完成减法运算,仍要用到74LS283或者4008,如图3-1-1,只需在加法器前加上4个异或门(一片74LS86)即可。

=1 =1 74LS86 =1 =1 74LS08引脚图

本文来源:https://www.bwwdw.com/article/lpev.html

Top