摘要
加减法运算电路设计
1.设计内容及要求
1.设计一个 4 位并行加减法运算电路,输入数为一位十进制数,且作减法
运算时被减数要大于或等于减数。
2.led 灯组成的七段式数码管显示置入的待运算的两个数,按键控制运算
模式,运算完毕,所得结果亦用数码管显示。
3.提出至少两种设计实现方案,并优选方案进行设计
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
因为 B○+ 1= B 非,B○+ 0=B,所以通过异或门 74LS86 对输入的数 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 功能表续
CO
S3
S2
S1
S0
8
0
0
0
0
0
4
0
0
0
0
1
2
0
0
1
1
0
1
0
1
0
1
0
0
0
0
0
0
Y
0
0
0
0
0
数的大小
0
1
2
3
4
没有超过 9
图 3-1-2 译码显示电路
3.1.3 加法电路的实现
用两片 4 位全加器 74LS83 和门电路设计一位 8421BCD 码加法器
由于一位 8421BCD 数 A 加一位数 B 有 0 到 18 这十九种结果。而且由于显示的关系
当大于 9 的时候要加六转换才能正常显示,所以设计的时候有如下的真值表:
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
由表我们可以算出 Y 的表达式
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
需要转换
无关项