数字逻辑电路课程课程设计--简易加减计算器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要
本次课程设计的任务是设计一个具有加减运算功能的简易计算器,并通过合适的方式来显示最后的计算结果。
此次设计电路的完成主要是利用简单的数字电路和电路逻辑运算来进行的。
简易加减计算器电路主要是对数据的输入与显示,数据的加减运算,数据的输出与显示三个主要的方面来设计研究完成的。
在输入电路的部分,我们通过开关的闭合与断开来实现数据的输入,开关闭合接入高电平“1”,断开接入低电平“0”。
而输入的数据将通过显示译码管以十进制的形式显示出来。
由于输入二进制的位数较多,我们采用个位十位分别输入的方式来简化电路。
加减运算电路则主要通过加法器来实现的。
设计电路时,我们将个位和个位、十位和十位分别接入一片加法器。
在进行加法运算时我们所选择的加法器是完全符合要求的,但是在进行减法运算时加法器就不能满足我们的设计要求了。
因此我们将减法转换为加法进行运算,运算时采用补码的形式。
在进行减法时通过异或门将减数的原码全部转换为补码,输入加法器中进行相加。
最后将进位信号加到十位的运算电路上就实现了加减法的运算电路。
在显示电路中,由加法器输出的数据是二进制码。
这些码可能表示超过十的数字,所以显示译码管就不能正确的显示出数字了。
此时要将二进制转化成BCD码,再将BCD 码送到显示译码管中就可以将计算所得的数字显示出来了。
概述
1.1设计题目:
简易加减计算器
1.2设计任务和要求:
1)用于两位以下十进制数的加减运算。
2)以合适的方式显示输入数据及计算结果。
1.3设计方案比较:
方案一:输入十进制的数字,再通过编码器对十进制的数字进行编码,输出二进制的数据。
运用显示译码器对输入的数字以十进制的形式进行显示。
在进行加减计算的时候将二进制数字运用数模转换,然后再进行相加减。
然后将这些模拟信号再次转换成数字信号转换成数字信号,再将数字信号输入到显示译码管中来显示数剧。
这个方案中要进行数模转换和模数转换所需要的电路器件有些复杂,并且转换的时候需要很长的时间,而且转换以后数值的精度不高。
鉴于这种方案中有太多的缺点,所以没有采用。
方案二:输入十进制的数字,并对数字进行编码,通过显示译码管将输入的数字显示出来。
再将编码所得的二进制数字求取补码,将补码送到串行进位加法器中进行相加。
最后将二进制码转换成BCD码输入到显示译码管中,从而就可以将相加以后所得的数字显示出来。
这个方案中避免了像方案一中需要大量的时间和精度不高的缺点,但是由于应用了串行加法器的缘故,电路会比较复杂,不利于进行连接。
方案三:本方案采用十位和十位相加,个位和个位相加的方法,将个位和十位分别输入到电路中。
由于输入的数字是二进制码,将二进制码输入到显示译码管中就可以显示输入的数字。
相加或者相减的时候采用补码的形式通过加法器进行相加。
再将二进制转化成BCD 码输入到显示译码管中就可以将相加所得数字显示出来。
此方案中运用了较少的原件并且运行所需的时间很少。
相对方案一和方案二。
这种方案是最好的,所以就采用了这种方案。
1.4设计原理:
图1 二进制加减运算原理框图
设计原理分析:如图1所示,第一步置入两个二进制数,数字的置入用开关控制,二进制码输入显示译码管。
这样四个显示译码管上显示出对应的十进制数;第二步通过开关选择运算方式为加或减;第三步,按照选择的运算方式对数据进行求补码的运算。
然后将补码进行相加;第四步,前面所得数据化为BCD码,以方便在显示译码管上显示。
个位相加的结果通过一个显示译码管显示。
十位因为可能有进位所以选用两个显示译码管。
系统总体方案
2.1编码:
输入两位二进制数。
通过开关控制输入的数据,采用个位和个位、十位和十位相加的原理进行输入。
将数据输入显示译码管中就可以将输入的数据显示出来了。
如图2:
图2
2.2加减运算:
通过开关选择要进行的加运算或减运算。
进行两个数相加的运算时,可以直接将得到的二进制进行相加。
这可以通过加法器74LS283D来实现。
因为是采用个位和个位相加、十位和十位相加的原理,所以现在就出现了一些问题。
当个位相加的结果超过十以后就要有进位,而且这时的二进制输入到显示译码管中就不会显示出所需要的数据。
所以这是要将相加得到的二进制数转变成BCD码,这样就可以将各位的数字显示出来。
因为我们所选用的加法器是十六进制的,所以需要把加法器通过门器件输出合适的进位信号来实现十进制的加法运算。
对产生进位的二进制列真值表可得进位信号的表达式。
真值表如表1所示:
表1
根据真值表可得进位信号Y=DB+DC+CO=D(B+C)+CO。
设计一个进位信号,这里我们采用两片74LS283,第一片运算电路送过来的代码,当其运算结果大于9时,由组合逻辑电路产生进位信号。
当运算结果为16、17、18时,将进位输出信号与组合逻辑电路进位信号做或运算,这样就得到了合适的进位了。
可是怎样才可以得到正确的十进制数的代码呢,在其进行加法运算时,在第二片加法器上认为加上0110代码,将其与第一片加法器的运算结果做和,这样就得到了我们所需要的运算结果了。
当进行两个数相减的时候,减原码就相当于加上这个数的补码。
运用异或门将要减的数变成反码,通过进位输入端来进行加一,这样就变成补码相加的了。
数据相加电路如图3,进位如图4:
图3图4
2.3显示电路:
由于在进行加减运算的时候已经将二进制数加上0110代码,这样就和容易将相加或相减的结果很好的输出。
但是因为十位上的进位要进行输出,所以要运用两个显示译码管来对十位相加的结果来进行表示。
如图5:
图5
2.4总体电路:
通过把输入电路,加减运算电路和显示电路整合到一起就得到了如图6所示的整体的电路图。
设计体会
此次设计让我学习到了许多宝贵的知识。
这是我们第一次将课本上的理论知识以电路设计的形式在实践中运用。
让我深刻感受到理论知识与实际的电路实现是有很大区别的。
这次在课程设计中出现的问题,使我知道了我所学的专业知识必须经过多实践才能真正的掌握。
通过对题目的分析得出需要完成电路版块的总体框图以后感觉设计应该很快就能完成了。
可是我们在实际的设计中遇到了许多问题。
例如进行加法运算的时候可能会产生进位,而且超过十的数字显示在晶体管上的时候就会出错,像这类的问题,都需要经过查找分析,不断地改进方案找到最终的解决方法。
在解决问题的过程中,我们通过互相的讨论,交换观点,查找资料来完善设计方案,因此,也有了更多的收获和思考。
在进行Multisim的仿真时,电路总是运行错误,无法完成运算,我们只好将电路中的每一小部分分别进行模拟仿真,发现在电路中,一个开关或门器件都有可能使运行出错。
这次实验让我知道了设计并不是那么简单的,也许这个问题看起来非常的简单,但是不动手去做就永远无法知道这个问题后面有多少困难去解决。
通过此次的设计我明白了知识的联系和积累是多么的重要,它还让我明白了逻辑组合电路功能的强大性。
当然在本次课程设计中收获最多的还是对以往所学的知识的更好的巩固和复习,同时又让我对已学过的知识有了进一步的研究和理解,通过学以致用我对所学的知识进行了拓展和运用,加深了理解,同时又扩大了知识面,也基本了解了电子设计的步骤及Multisim软件的运用。
可修改编辑
参考文献
[1]《数电电子设计技术基础》高等教育出版社阎石主编
[2]《电工与数字电子技术实验》
[3]《数字电路与逻辑设计》西安电子科技大学出版社蔡良伟主编
[4]网路上的各种资料
. .
精品doc。