数字逻辑电路课程课程设计--简易加减计算器

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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所示:

进位输出(CO) 进位信号(Y)二进制和

(DCBA)

1010 0 1

1011 0 1

1100 0 1

1101 0 1

1110 0 1

1111 0 1

0000 1 1

0001 1 1

0010 1 1

表1

根据真值表可得进位信号

Y=DB+DC+CO=D(B+C)+CO。设计一个进位信号,这里我们采用两片74LS283,第一片运算电路送过来的代码,当其运算结果大于9时,由组合逻辑电路产生进位信号。当运算结果为16、17、18时,将进位输出信号与组合逻辑电路进位信号做或运算,这样就得到了合适的进位了。可是怎样才可以得到正确的十进制数的代码呢,在其进行加法运算时,在第二片加法器上认为加上0110代码,将其与第一片加法器的运算结果做和,这样就得到了我们所需要的运算结果了。当进行两个数相减的时候,减原码就相当于加上这个数的补码。运用异或门将要减的数变成反码,通过进位输入端来进行加一,这样就变成补码相加的了。数据相加电路如图3,进位如图4:

相关文档
最新文档