基于与非门的加法器.docx
《基于与非门的加法器.docx》由会员分享,可在线阅读,更多相关《基于与非门的加法器.docx(12页珍藏版)》请在冰豆网上搜索。
基于与非门的加法器
基于与非门的加法器设计
杨吕鹏张光银邓文俊
*******
摘要:
本项目设计了一个基于与非门电路的简易加法器。
该加法器使用74HC00N芯片,实现输入范围为-3~+3的加法功能,并通过共阴数码管显示最终运算结果。
该系统分为“输入模块”、“运算模块”、“译码显示模块”三部分。
通过“输入模块”向“运算模块”输入两个加数分别对应的补码,之后将运算结果传输到“译码显示模块”,转换成结果对应的七位二进制码,控制的七段数码管显示结果。
关键词:
与非门,加法器,译码器,数码管,74HC00N
1需求及电路说明
1.1电路功能与要求:
实现-3~+3范围内任意两个整数的加法运算。
只能使用与非门,并用数码管显示结果。
1.2输入定义:
本系统使用5.24V(移动电源电压,5-6V均可)驱动,并采用两个四位拨码开关实现输入两个加数对应的二进制补码的目的。
每个拨码开关作为一个加数,并且定义每个拨码开关是从左到右是低位到高位,开关闭合代表该二进制位是1,断开是0。
逻辑电路图中定义的输入变量按高位到低位排列是A3,A2,A1,A0;B3,B2,B1,B0。
1.3输出定义:
本系统的最终输出是两个七段共阴数码管上的数字,其中一个显示管显示数字,另一个显示正负号。
2系统方案
2.1设计原理
加法器的总体参考方案框图如图2-1所示。
它包括“输入模块”、“运算模块”、“译码显示模块”三部分组成。
图2-1加法器系统原理框图
2.2设计方案与论证
2.2.1输入模块
输入模块这部分我们采用拨码开关来实现四位二进制补码的输入。
电源使用输出电压为5.24V的移动电源。
经实测,5.24V满足74HC00N最低高态输入电压的条件,拨码开关在接入上拉电阻后也能满足向74HC00N输入高低电平的需求。
2.2.2运算模块
对于运算部分的设计,我们有以下三种方案:
方案一:
设计一种电路,当用户输入两组4位二进制码之后,能直接输出其对应的计算结果(如图2-4)。
图2-4直接输出对应结果的加法器
方案二:
将4位二进制加法分解成4个全加器的级联(如图2-5)。
图2-5四个1位二进制全加器级联组成的加法器
方案三:
将电路分成两部分,先将进位全部算出,再将加数与进位一起运算,得到最终的计算结果(如图2-6)。
图2-6先行进位的加法器
方案讨论:
方案一虽然理论上运行速度是三种方案中运行速度最快的,但是它涉及的卡诺图较为复杂,化简时容易出错;方案二将加法器分解出易于设计的全加器,能在短时间内设计出正确的电路,但是因为级联电路必须等待上一位进位计算完才能计算下一位,所以运算速度较慢;方案三结合了方案一、方案二的优点。
但是考虑到本项目只需实现四位二进制加法运算,所以三种方案在运算速度上并没有明显差异,所以我们选择了易于实现且不容易出错的方案二。
2.2.3译码显示模块电路
对于数码管显示方式,我们有以下两种显示方案:
方案一:
如图2-7所示。
图2-7数码管显示方案一
方案二:
如图2-8所示。
图2-7数码管显示方案一
方案讨论:
对比方案一和方案二,我们不难发现他们的区别在与6的显示方式。
虽然两种显示方式都不影响6的读数,但是选用方案二的话,a段与d段数码管便能同时点亮或熄灭,这就意味着在译码器电路设计的时候,a段与d段可以共用一套电路,从而使减少与非门的使用。
所以,最后我们选择了方案二的显示方案。
3.硬件设计与优化
3.1开关模块电路设计与优化
考虑到74HC00N引脚不能悬空,所以如图2-2,我们在开关与与非门之间接了上拉电阻,使得当开关断开时,与非门引脚接地,实现低电平输入,同时避免芯片的损坏。
图2-2开关电路单元电路
因为输入范围为-3~+3,它们对应的三位二进制补码为1101,1110,1111,0000,0001,0010,0011,不难发现第3位与第4位同时为1或同时为0,所以每组拨码开关只需使用三个开关即可,第三个开关向运算模块输入11或00,其中多余的一个开关令其接地。
这样做不但不会影响到运算的结果,还能使运算部分所需的与非门减少。
具体电路如图2-3所示。
图2-3开关模块具体电路
3.2运算模块电路设计与优化
令两个加数输入分别为为A,B,进位输入为Cin,进位输出为Cout,则通过逻辑分析,不难得到下面两个逻辑表达式:
根据上面的逻辑表达式,我们可以设计一位全加器(如图3-1)
图3-1一位全加器电路图
但是,我们要设计的加法器是基于与非门的加法器,所以我们还需将异或门转化为与非门电路。
通过下面的等式
Y=AB’+A’B
=((AB’)’(A’B)’)’
=(((AB)’A)’((AB)’B)’)’
我们可以得出异或门的等效与非门电路,如图3-2所示。
图3-2异或门等效与非门电路
所以,将图3-2等效电路代入图3-1电路中,可以得到图3-3的与非门全加器。
图3-3与非门全加器电路
在设计四位加法器时只需将四个一位全加器级联起来即可,但是考虑到最低位做加法运算时不用考虑进位输入Cin,所以在设计时,最低位全加器可以省略一个异或门,即四个与非门。
同时,因为我们在开关电路的设计时已经说明第三个开关同时输入二进制补码的第三位和第四位,所以第四级全加器的A3⊕B3可以和第三级全加器中的A2⊕B2共用。
做这些处理不但不影响系统功能,还能节省8个与非门。
具体电路如图3-4。
图
3-4优化之后的运算模块具体电路
3.3译码显示模块电路设计与优化
该系统使用的两段共阴数码管显示最后的结果。
令显示数字的数码管七段分别为a1,b1,c1,d1,e1,f1,g1,显示符号的数码管七段分别为a2,b2,c2,d2,e2,f2,g2。
则根据图3-5的显示效果图可以列出对应的真值表(表3-1)
图3-5数码管显示效果图
注意:
图3-5的二进制补码从左到右分别为S3,S2,S1,S0。
表3-1数码管显示真值表
通过表3-1可以列出卡诺图,利用卡诺图化简,得到最简和式,再将最简和式利用公式化为与非逻辑关系,如下:
a1=d1=((((S1S3’)’(S0’S2)’)’(S2’S3)’)’(S1’((S0S2)’(S0’S2’)’)’)’)’
b1=
(((S2S3)’(S2’S3’)’)’(S0S1’)’)’
c1=
(((S0’S1)’)’(((S2S3’)’(S2’S3)’)’)’)’
e1=
((S0’S1)’(S0’S2)’)’
f1=
((((S2S3’)’(S2’S3)’)’)’(S0’S1’)’)’
g1=
((((S1’S2)’(S1S3’)’)’)’(((S0’S1)’(S2’S3)’)’)’)’
注意:
其中g2=S3,不需要接与非门,直接连到显示符号的数码管g段。
观察这些逻辑表达式,我们可以发现有许多与非门可以共用,我们在设计时将这些与非门分级,在将它们与上一级连接。
这样既能节省一些与非门,同时也为电路设计带来方便,也更容易检错。
具体电路如图3-6所示。
图3-6译码电路
通过实物测量,译码器输出端电压为5.2V,又因为数码管导通电压为1.7V,为了避免因电流过大而使数码管损坏,我们还要加入限流电阻,则限流电阻分到的电压为3.5V,又因为本系统所用的数码管正常工作电流为3mA,所以选用1.1kΩ的限流电阻。
具体电路如图3-7所示。
图3-7译码显示模块具体电路
3.4整体电路原理图
4.结果分析
通过对实物电路的测试,要求可以全部满足。
实物图如图4-1~4-5所示。
图4-1显示0+0
图4-2显示3+0
图4-3显示3+3
图4-4显示(-3)+0
图4-5显示(-3)+(-3)
5.参考文献
[1]数字电路与逻辑设计实验教程,机械工业出版社,张亚君陈龙
[2]DigitalDesign(FourthEdition),JohnF.Wakerly