1《数字逻辑》课程设计报告题目八位二进制加法器学院(部)信息工程学院专业计算机科学与技术班级学生姓名学号6月23日至6月27日共一周指导教师(签字)2目录要求------------------------------------------------------------------3摘要-----------------------------------------------3关键字-----------------------------------------------4技术要求---------------------------------------------4一、系统综述------------------------------------------------------41、总体设计思想---------------------------------------42、总体设计方案及选择--------------------------------53、系统框图------------------------------------------64、工作原理------------------------------------------6二、单元电路设计------------------------------------------------71、三位十进制数的加法运算------------------------------------------72、八位二进制加法运算------------------------------------------------9三、系统综述------------------------------------------------------131、三位十进制数加法总设计图---------------------------132、八位二进制加法运算设计图--------------------------13结束语---------------------------------------------------------------16参考文献------------------------------------------------------------16鸣谢------------------------------------------------------------------17元件一览表---------------------------------------------------------17收获与体会---------------------------------------------------------193八位二进制加法器摘要加法器常用作计算机算术逻辑部件,执行逻辑操作、移位与指令调用。在电子学中,加法器是一种数位电路,其可进行数字的加法计算。在现代的电脑中,加法器存在于算术逻辑单元(ALU)之中。加法器可以用来表示各种数值,如:BCD、加三码,主要的加法器是以二进制作运算。由于负数可用二的补数来表示,所以加减器也就不那么必要。在不同的场合使用的加法器对其要求也不同,有的要求速度更快,有的要求面积更小。常见的加法器有串行进位加法器、74LS283超前进位加法器等,因此可以通过选取合适的器件设计一个加法器。本次设计主要是如何实现8位二进制数的相加,即两个000到255之间的数相加,由于在实际中输入的往往是三位十进制数,因此,被加数和加数是两个三位十进制数,范围在000到255之间.当输入十进制数的时候,8421BCD码编码器先开始工作,编码器先将十进制数转换成四位二进制数,输出的四位二进制数直接到达8421BCD码加法器的输入端,我们可以使用71LS185加法器构成的一位8421BCD码的加法器,8421BCD码是用4位二进制数表示1位十进制数,4位二进制数内部为二进制,8421BCD码之间是十进制,即逢十进一。而四位二进制加法器是按四位二进制数进行运算,即逢十六进一。二者进位关系不同。当四位二进制数加法器74LS283完成这个加法运算时,要用两片74LS283。第一片完成加法运算,第二片完成修正运算。8421BCD码加法器工作时,8421BCD码的加法运算为十进制运算,而当和数大于9时,8421BCD码就产生进位,而此时十六进制则不一定产生进位,因此需要对二进制和数进行修正,即加上6(0110),让其产生一个进位。当和数小于等于9时,则不需要修正或者说加上0。因此我们可以通过三个8421BCD码加法器的相连组成一个三位串行进位并行加法器,这样通过低位向高位产生进位进行十进制的加法运算,最后通过连接数码管显示所得的结果。当输入二进制数的时候,两个串接的74LS283四位加法器进行加法运算,产生的八位二进制数通过集成芯片转换成三位十进制数,最后通过数码管显示。4关键词串行进位加法器74LS283超前进位加法器八位二进制数八位二进制数转化技术要求1.八位二进制加数与被加数的输入2.三位数码管的输出3.三位十进制加数与被加数的输入一、系统综述1.总体设计思想本次设计的目的是实现两个八位二进制数的相加,那么我们如何实现呢?通常在实际中输入的是三位十进制数,而要求是八位二进制数,八位二进制数换算成三位十进制数最大为255,也就是说要输入两个000到255之间的数。要实现它们的相加,我们想到了两种方案,下面我说一下这二种方案。第一种,当输入两个三位十进制数时,由于在数字电路中运算所用到的是二进制数,因此我们必须首先将十进制数转换为二进制数,于是一个问题出现了,那就是,我们如何实现十进制数到二进制数的转换,通过查阅相关资料,我们发现二-十进制编码器(也叫8421BCD码编码器,在实际中通常指74LS147)可以实现从十进制数到二进制数的转换,于是我们通过二-十进制编码器来实现上述的转换。由于二-十进制编码器可以实现一位十进制数到四位二进制数的转换,而题目中的是两个三位十进制数,因此我们就需要用到6个二-十进制编码器,分别将三位十进制数的个位、十位、百位转换为其各自对应的8421BCD码,于是我们得到了两个十二位的8421BCD码。于是如何实现两个三位十进制数的相加这个问题就变成了如何实现两个十二位的8421BCD码相加这个新问题。那么,如何实现呢?我们想到了加法器,常用的加法器74LS283能够实现四位二进制数的相加,于是5我们就要将74LS283进行串联,实现十二位数的相加,但加法器74LS283的进位是逢16进1,而这两个十二位的8421BCD码相加时的进位是逢10进1,那么就要对加法器74LS283的二进制和数进行修正,即加上一个6(0110),让其产生一个进位。于是把大于9的项画在卡诺图里,另外考虑到若相加产生进位,则同样出现大于9的情况。综合考虑,得到修正和数的条件,用与非门和与门来实现,得到了一个新的加法器,它可以实现逢10进1这个条件。将这两个十二位的8421BCD码分别接到三个新的加法器的输入端,得到一个新的十二位的8421BCD码。由于结果要得到一个三位十进制数,因此再将这个十二位的8421BCD码通过三个7447七段显示译码器转换为一个三位十进制数,通过数码管将它显示出来,即为所求的结果。第二种,当输入的不是三位十进制数而是八位二进制数时,我们如何实现它们的相加呢?我们知道,超前进位并行加法器74LS283可以实现四位二进制数的相加,于是,我们需要两个74LS283进行串联,这样我们就得到一个新的九位二进制数,其范围在000到510之间。那么我们如何实现从九位二进制数到三位十进制数的转换呢?我们就想到了数码转换器,通过74185芯片来实现字码的转换。这样,就得到了一个新的十二位8421BCD码,再通过7447七段数码显示译码器来实现8421BCD码到三位十进制数的转换,最后通过数码管显示出来,得到的就是所要求的的八位二进制数的和。第三种,通过上述两种思路,我们会要进一步想到,能不能同时实现八位二进制数和三位十进制数的相加呢?那么我们可以对上述的思路加以扩展,假设输入的是三位十进制数,我们可以设法将其转换为BCD码,再通过加法器输出。这样,我们既可以输入三位十进制数,也可以输入八位二进制数。那么三位十进制数如何转换为八位二进制数呢?我们想到了二-十进制编码器,一个二-十进制编码器可以实现一位十进制数到四位二进制数的转换,那么我们就可以将一个二-十进制编码器和一些与非门组成一个新的二-十进制编码器来实现这个三位十进制数的十位到8421BCD码的转换;同理,三位十进制数的百位也可以这样转换。于是三位十进制数就转换到了八位二进制数,接着,我们就可以用第二种思路来实现八位二进制数的相加。2.总体设计方案及选择通过这三种思路,经过分析验证,我们发现,。在实践论证中我们发现,由于第一种思路所用的元件少,且个位、十位、百位各自对称,因此在连接上方便可行,不易出错。同时由于原理清晰,一旦出现错误,我们可以尽快发现问题并加以改正。在论证第二种思路时,我们发现,在使用译码器时,由于使用的是4线-16线译码器74LS154,因此它有616个出线端。而我们要实现九位二进制数到十二位BCD码的转换,就要有512个出线端,也就是512除以16,即32个译码器。由于所用到的译码器数量冗长,在连接上容易出错。因此并不采纳。同理,第三种思路也是如此。3、系统框图8421BCD编码器8421BCD加法器数码管显示输出8421BCD码输出和数图A系统框图图BBCD码加法器4、工作原理当输入十进制数的时候,8421BCD码编码器先开始工作,编码器先将十进制数转换成四位二进制数,输出的四位二进制数直接到达8421BCD码加法器的输入端,我们可以使用71LS185加法器构成的一位8421BCD码的加法器,8421BCD码是用4位二进制数表示1位十进制数,4位二进制数内部为二进制,8421BCD码之间是十进制,即逢十进一。而四位二进制加法器是按四位二进制数进行运算,即逢十六进一。二者进位关系不同。当四位二进制数加法器74LS283完成这个加法运算时,要用两片74LS283。第一片完成加法运算,十进制输入7第二片完成修正运算。8421BCD码加法器工作时,8421BCD码的加法运算为十进制运算,而当和数大于9时,8421BCD码就产生进位,而此时十六进制则不一定产生进位,因此需要对二进制和数进行修正,即加上6(0110),让其产生一个进位。当和数小于等于9时,则不需要修正或者说加上0。因此我们可以通过三个8421BCD码加法器的相连组成一个三位串行进位并行加法器,这样通过低位向高位产生进位进行十进制的加法运算,最后通过连接数码管显示所得的结果。当输入二进制数的时候,两个串接的74LS283四位加法器进行加法运算,产生的八位二进制数通过集成芯片转换成三位十进制数,最后通过数码管显示。二、单元电路设计1.三位十进制数的加法运算模块1.18421BCD码编码器原理在电路图中,左端的10个开关分别代表输入的十进制的十个数码0—9,输入低电平有效,即某一个开关闭合,对应的输入信号为0。输出为4位码,所以输出端输出的代码正好对应8421BCD码。因此我们可以通过这个电路将十进制数转换成对应的8421BCD码,然后再进行计算。8图1.18421BCD码编码器电路1.28421BCD码加法器原理这部分是使用四位加法器构成的一位8421BCD码的加法器,8421BCD码是用四位二进制数表示1位十进制数,4位二进制数内部为二进制,8421BCD码是十进制,即逢十进一。而四位二进制加法器是按四位二进制数进行运算,即逢十六进一。二者进位关系不同。当四位二进制数加法器74LS283完成这个加法运算时,要用两片74LS283。第一片完成加法运算,第二片完成修正运算。8421BCD码的加法运算是十进制运算,而当和数大于9时,842