加减法运算电路设计.docx
《加减法运算电路设计.docx》由会员分享,可在线阅读,更多相关《加减法运算电路设计.docx(14页珍藏版)》请在冰点文库上搜索。
加减法运算电路设计
西安建筑科技大学华清学院
课程设计(论文)
课程名称:
数字电子技术基础
题目:
加减法运算电路设计
院(系):
专业班级:
姓名:
学号:
指导教师:
2010年12月26日
一、设计内容及要求……………………………………………2
二、加减法运算电路方案设计…………………………………3
三、加减法运算电路设计………………………………………5
四、Mulitism软件仿真实现加减法运算电路…………………10
五、心得与体会…………………………………………………12
加减法运算电路设计
1.设计内容及要求
1.设计一个一位十进制并行加减法运算电路
2.通过按键输入被减数和减数,并设置+、-号按键;
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所示:
通过开关J1——J8接不同的高低电平来控制输入端所置的两个一位十进制数,译码显示器U10和U13分别显示所置入的两个数。
数A直接置入四位超前进位加法器74LS283的A4——A1端,74LS283的B4——B1端接四个2输入异或门。
四个2输入异或门的一输入端同时接到开关J9上,另一输入端分别接开关J5——J8,通过开关J5——J8控制数B的输入。
当开关J9接低电平时,B与0异或的结果为B,通过加法器74LS283完成两个数A和B的相加。
当开关J9接高电平时,B与1异或的结果为B非,置入的数B在74LS283的输入端为B的反码,且74LS283的进位信号C0为1,其完成J=A+B(反码)+1,实际上其计算的结果为J=A-B完成减法运算。
由于译码显示器只能显示0——9,所以当A+B>9时不能显示,我们在此用另一片芯片74LS283完成二进制码与8421BCD码的转换,即J>9(1001)时加上6(0110),产生的进位信号送入译码器U15来显示结果的十位,U14显示结果的个位。
当执行减法运算时两个一位十进制数相减不会大于10,U15则不显示,我们用一个共阴极显示器的低位与U15的低位相接,若产生小数减大数的情况,则在U16中显示“-”号。
而大数减小数则不会出现这种情况,用一片芯片U14即可显示结果。
2.2.2加减运算方案二
由两异或门两与门和一或门组成全加器,可实现一位二进制加逻辑运算,四位二进制数并行相加的逻辑运算可采用四个全加器串行进位的方式来实现,将低位的进位输出信号接到高位的进位输入端,四个全加器依次串行连接,并将最低位的进位输入端接逻辑“0”,就组成了一个可实现四位二进制数并行相加的逻辑电路。
通过在全加器电路中再接入两个反相器可组成一个全减器,实现一位二进制减逻辑运算,将来自低位的错位信号端接到向高位借位的信号端,依次连接四个全减器,构成可实现四位二进制数并行进行逻辑减运算的电路。
在两组电路置数端接开关控制置数输入加法还是减法运算电路,电路输出端接LED灯显示输出结果,输出为五位二进制数。
图2-2-1加减法运算电路图
2.2.3两种方案的比较
通过对两种方案的比较,为实现设计要求,首先在不计入数码管所需芯片的情况下,方案二一共需要十二个芯片,电路的连接相当复杂,产生接线错误和导线接触不良的几率大大增加,而且耗费较高;而方案一一共需要七或九个芯片,且其中几个芯片只用到一两个门,相对接线较简单,容易实现。
其次,方案二采用串行进位和借位的方式来实现四位逻辑加减运算,任意一位的逻辑运算必须在前一位的运算完成之后才能进行,相较而言运算速度不高;而方案一采用的是超前进位的方式来实现四位逻辑运算的,每位的进位只有加数和被加数决定,而与低位的进位无关,它的运算速度较方案二高出很多。
综上所述,方案一较方案二更加优秀,不仅电路简单而且运算速度更快,经综合小组各设计方案,被选为小组共同方案。
3.电路设计
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的补码。
加法器相加的
图3-1-1减法运算电路
结果为:
A+B反+1,由于2n=24=(10000)2,相加结果与相2n减只能由加法器进位输出信号完成。
当进位输出信号为1时,它与2n的差为0;当进位输出信号为0时,它与2n差值为1,同时还要发出借位信号。
因为设计要求被减数大于或等于减数,所以所得的差值就是A-B差的原码,借位信号为0。
十进制
或功能
输入
输出
字形
LEBLLT
D
D
D
D
a
b
c
d
e
f
g
10
L
H
H
H
L
H
L
L
L
L
L
L
L
L
熄灭
11
L
H
H
H
L
H
H
L
L
L
L
L
L
L
熄灭
12
L
H
H
H
H
L
L
L
L
L
L
L
L
L
熄灭
13
L
H
H
H
H
L
H
L
L
L
L
L
L
L
熄灭
14
L
H
H
H
H
H
L
L
L
L
L
L
L
L
熄灭
15
L
H
H
H
H
H
H
L
L
L
L
L
L
L
熄灭
灯测试
×
×
L
×
×
×
×
H
H
H
H
H
H
H
灭灯
×
L
H
×
×
×
×
L
L
L
L
L
L
L
熄灭
锁存
H
H
H
×
×
×
×
3.1.2译码显示
一个七段LED译码驱动器74HC4511和一个七段LED数码显示器组成。
七段LED译码驱动器74HC4511的功能表如下.在74HC4511中,经前面运算电路运算所得的结果输入74HC4511的D3D2D1D0,再译码输出,最后在七段LED显示器中显示出来.
图3-1-2译码显示电路
3.1.3加法电路的实现
用两片4位全加器74LS83和门电路由于一位8421BCD数A加一位数B有0到18这十九种结果。
而且由于显示的关系当大于9的时候要加六转换才能正常显示,所以设计的时候与如下的真值表:
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
2
0
0
0
1
1
0
3
0
0
1
0
0
0
4
0
0
1
0
1
0
5
0
0
1
1
0
0
6
0
0
1
1
1
0
7
0
1
0
0
0
0
8
0
1
0
0
1
0
9
0
1
0
1
0
1
10
需要转换
0
1
0
1
1
1
11
0
1
1
0
0
1
12
0
1
1
0
1
1
13
0
1
1
1
0
1
14
0
1
1
1
1
1
15
1
0
0
0
0
0
16
1
0
0
0
1
0
17
1
0
0
0
1
1
18
1
0
0
1
0
0
19
无关项
1
0
0
1
0
1
20
1
0
0
1
1
0
21
1
0
0
1
1
1
22
1
0
1
0
0
0
23
1
0
1
0
0
1
24
1
0
1
0
1
0
25
由表我们可以算出Y的表达式
由前16项有
(1)
(2)由后10项有
由
(1)
(2)有Y=CO+S3S2+S3S1
由于用与非门比较方便所以我们选用了与非门电路
有以下两种选择:
(1)
(2)
但是第一种方式简单所以我们选用了第一种方式得到了如下的理论图:
图4.2.1加法的实现电路图
4.电路的仿真实现
4.1.1减法电路的实现
图4.1.1减法实现电路图
4.1.2带符号减法实现图
4.3元器件选择
4.3.1加法电路器件
完成加法运算可用器件超前进位加法器74LS283或者4008来实现。
如图3-1-3还需用到2输入与门74LS08,3输入或门。
4.3.2减法电路器件
由于没有直接做减法运算的器件,所以用加上减数的补码来完成减法运算,仍要用到74LS283或者4008,如图3-1-1,只需在加法器前加上4个异或门(一片74LS86)即可。
电路图总共需要的元器件有:
超前进位加法器74LS283(或4008)2个
2输入与门74LS082个
3输入或非门74LS271个
2输入异或门74LS86N5个
反相器74LS04N1个
4输入DED-HEG-DIG显示器4个
共阴极七段显示器1个
5.心得与体会
回顾此次课程设计,感慨颇多,从理论到实践,在整整五天的时间里,我学到了很多的知识,不仅巩固了以前所学的知识,还学到了很多书本上所没有的内容。
通过这次设计我懂得了理论与实际结合是很重要的,从理论中得出结论,并运用到实践中,才能提高自己的独立动手能力和独立思考能力,这个过程是一个自我探索、自我学习的过程,我由此弥补了不足,提高了自己。
刚接到这个课题时,我感觉加减法运算电路会很容易,也许只需要用一个时序电路就可以完成。
有了想法,我便开始付诸实际。
我在网上搜了很多资料,翻阅了很多书籍,随着对此课题的深入了解,我发现这与我最初的想法南辕北辙。
时序电路尽管在理论上可行,运用起来却有很多问题。
比如,在计算加法时,无法保证数据全部输出。
而在执行减法的时候,又会出现溢出的情况。
最后我决定按照网上的模型,通过设置开关来控制数据的不同输入。
再将这些输入分别接入74LS283N的引脚,并由它的输出端输出相加后的数据,再通过两个与门一个或门来判断数据是否溢出,并将它缺少的部分补全,由此得出正确的数据输出。
我们在此次课程设计的过程中,最初由于对器件的了解相对较少,因此一度毫无进展。
最后我通过与其他同学的交流,并且自己实践,慢慢的摸索,终于掌握了相关器件的使用,最成功的便是我使用共阴极气短数码管显示器来控制符号的输出,并完成了课程设计。
经过与田老师的交流,我们弥补了之前的不足,并完善了电路设计,最终得到了完美的结果。
此次课程设计让我得到了多方面的锻炼。
一方面我对数字电子技术基础专业知识有了进一步的掌握,并熟悉了更多电子仪器的使用及电子电路的测试方法,了解常用电子器件的类型和特性,同时掌握如何合理选用电子器件的原则,应用知识更为得新应手,熟练自如。
有了更多对模拟电子技术综合性训练的机会,也通过实用型模拟电子电路设计、安装、调试等各环节,培养了我运用课程中所学的理论与实践紧密结合,独立地解决实际问题的能力。
另一方面对于动手能力的培养和敏捷思维方式的形成起到很大的作用。
设计一个电路首先要有合理的原理,再有合理的原理图,对于大型的电路还要注意分层分块的完成然后系统连接。
在以后的工作中对于我们的实践训练这是很重要的。
再一方面电子电路的安装与调试技能培养了我的创新能力和对治学要严谨的态度。
没有辛苦的历程就无法感受甜美的收获。
此次数字电子技术基础课程设计让我的身心也得到了改善,自身素质也有所提高。
而且通过与组员们的合作,我们对此门课程有了更深的了解。
我们此次的合作争吵与交流并存,但是我们都秉着正确的态度来看待此次的课程设计,不仅收获知识还收获快乐。
这过程中我们受到了老师的精心指导和帮助,您的思想指引着我们克服了诸多困难,在这里我代表全体组员衷心的感谢田老师!
参考文献:
[1]唐治德,数字电子技术基础,科学出版社,重庆,2010-6-12
[2]江捷,马志诚,数字电子技术基础,北京,北京工业大学出版社,2009-10-01
[3]余孟常,数字电子技术基础,高等教育出版社,2010-09-07
[4]唐竞欣,数字电子技术名师大课堂,科学出版社,北京,2006-05-01
[5]王义军,数字电子技术/电气工程及其自动化,中国电力出版社,2006-01