1、在十进制运算时,当相加二数之和大于9时,便产生进位。用BCD码完成十进制数运算时,当和数大于9时,必须对和数进行加6修正,由加法器和比较器完成功能的实现。加法器的加数和被加数若大9则蜂鸣器警报5秒,数码管显示为0,由比较器和计数器控制。动态数码管由计数器、数据选择器、译码器完成显示功能。关键词:十进制加法器、动态数码管显示、蜂鸣器警报第二章 十进制加法器设计说明2.1 设计思路根据项目要求设计的十进制加法器有两个输入,及加数和被加数,分别是用四个拨码开关表示的四位二进制数,即输入的范围为0到15;有一个输出,即两个加数相加的结果。加数、被加数和结果都需要显示在动态数码管上,并且,加数或被加数若
2、大于9,则蜂鸣器报警5秒钟,且显示为0.根据要求,设计加数和被加数的合法范围为0到9,故当输入的加数大于9的时候需要将其统一变换成0。这里我们使用7485四位数字比较器和相应的组合逻辑电路,将输入的加数和1001B(即9)做比较,如果其小于9,就输出原数作为加数;如果其大于9,就输出0000B(即0)作为新的加数。处理过的加数、被加数分别接入74283四位超前进位加法器的各个引脚,相加后的四位输出结果SUM1-SUM4连同进位输出cout,是一个五位的二进制数,cout是其高位。输出的五位二进制数需要转换成为八位BCD码才能显示,故需要添加转换环节。使用一片7485比较器和一片74283四位超
3、前进位加法器即可实现从五位二进制数到五位BCD码的转换。加数、被加数和运算结果,通过由十进制加法计数器74160接成的4进制加法计数器的循环与两片双四选一数据选择器74153的控制,分时输出数值,经过BCD七段译码器7448译码即可接入动态数码管进行显示,动态数码管的片选也由同一四进制加法计数器控制,实现数据的显示。2.2 流程图2.3 模块介绍1、输入转换部分:利用两片7485和相应的组合逻辑电路,将输入的加数通过7485和9做比较,如果加数小于等于9,即从或门输出一个高电平1和输入加数的各个位相与,即输入各位不变;如果加数大于9,即从或门输出一个低电平0和输入加数的各个位想与,相与后各位都
4、为0,即实现了当输入加数、被加数大于9时统一按作0处理。2、蜂鸣器部分:利用十进制加法器74160进行计时,若设置时钟脉冲信号周期为一秒,则循环0000、0001、0010、0011、1000五个状态,在1001暂态停止,及实现了5秒定时功能。定时器输入部分由两7458 AGBO引线加或门控制ENT/ENP使能端何时工作。输出部分通过一定逻辑门电路控制输出端口,从而控制蜂鸣器工作与否。3、加法器部分:将得到两个处理后的数的各位依次接入74283的各个引脚,就可以在74283的输出端得到相加后的结果,其中SUM1-SUM4连同进位信号cout共同构成一个五位二进制数, cout是高位。4、B-B
5、CD(二进制转换为BCD码):我们通过一片7485和一片74283来实现这个功能。观察二进制转换到BCD码的真值表,可以发现两者的最后一位是完全相等的(真值表加黑部分),故可以直接将结果的最后一位直接作为得数的最低位进行输出。当结果不大于9时(对于前四位是不大于4时),前四位是完全相等的;大于9时,对前四位来说,二进制数与BCD码总是相差0011B(即3)。我们利用一片7485、一片74283和相应的逻辑电路实现转换的功能。在得到得数后,将其最低位直接作为最低位输出,而将高四位分别接入一个7485的各个引脚,将其与4做比较,当其小于等于4时,或门输出一个低电平信号0输入74283的B1、B2位
6、,和二进制结果的前四位相加(即加上0000B),结果不变;当其大于4时,或门输出一个高电平信号1输入74283的B1、B2位,和二进制结果的前四位相加(即加上0011B),即可得到相应的BCD码。 5、动态数码管部分:通过一片十进制加法器74160,两片双四选一数据选择器74153和一片BCD七段译码器7448完成控制。74160的作用是对数据选择器和动态数码管进行选择,74160输出端QA、QB加与非门连接到LDN端,完成四进制循环,QA、QB、QC分别连接动态数码管的片选端SS0、SS1、SS2,进行片选。74153片选信号由74160输出端QA、QB控制,对应连接;数据输入部分0端接加数
7、各引脚,1端接被加数各引脚,2端由高到低分别接0、0、0、sum4,3端分别接第二片74283的输出低三位和第一片74283最低位;输出部分第一片74153 Y1、Y2,第二片74153 Y1、Y2分别接7884译码器输入端。译码器7448输出端a、b、c、d、e、f、g对应连接8个共阴数码管的并行段位引线输入信号端,完成动态数码管的显示。2.4 真值表(1)、B-BCD转换真值表二进制数BCD码1(2)、四位二进制加法真值表加数被加数得数 (注:加数和被加数都不大于9,且相加无进位得到的和;)(注:加数和被加数都不大于9时所有情况相加得到和;加数或被加数大于9时按0处理,相加得到和;(3)、
8、各芯片真值表BCD七段译码器7448真值表四位数字比较器7485真值表双四选一数据选择器74153真值表十进制加法计数器74160真值表四位超前进位全加器74283真值表第三章 原理图分析31 整体原理图3.2 输入转换部分设计输入A、B的控制完全相同。控制原理图如下所示。3.3、蜂鸣器部分34、加法器部分3.5、B-BCD(二进制转换为BCD码)3.6、动态数码管部分第4章 波形仿真图及结果分析4.1、9+8=17分析:加数A为1001B(十进制数为9),被加数为1000B(十进制数为8)。相加结果数码管显示为17。其中,l3 l2 l1表示数码管片选:000时显示加数9,001时显示被加数
9、8,010时显示结果高位1,011时显示结果地位7,循环显示。由于加数和被加数均在合法范围(小于等于9),所以蜂鸣器一直为低电平,不发生警报。4.2、7+2=9加数A为0111B(十进制数为7),被加数为0010B(十进制数为2)。相加结果数码管显示为9。000时显示加数7,001时显示被加数2,010时显示结果高位0,011时显示结果地位9,循环显示。4.3、8+0=8加数A为1000B(十进制数为8),被加数为0000B(十进制数为0)。相加结果数码管显示为8。000时显示加数8,001时显示被加数0,010时显示结果高位0,011时显示结果地位8,循环显示。4.4、7+12=7加数A为0
10、111B(十进制数为7),被加数为1100B(十进制数为12)。相加结果数码管显示为7,因为1100B为大于9非法数字,计算时记为0。000时显示加数7,001时显示被加数0,010时显示结果高位0,011时显示结果地位7,循环显示。由于被加数不在在合法范围(大于9),所以蜂鸣器五个周期为高电平,每周期一秒,发生五秒警报。4.5、0+4=4加数A为0000B(十进制数为0),被加数为0100B(十进制数为4),相加结果数码管显示为4。000时显示加数0,001时显示被加数4,010时显示结果高位0,011时显示结果地位4,循环显示。4.6、8+12=8加数A为1000B(十进制数为8),被加数
11、为1100B(十进制数为12),相加结果数码管显示为8,因为1100B为大于9非法数字,计算时记为0。000时显示加数,8,001时显示被加数0,010时显示结果高位0,011时显示结果地位8,循环显示。由于被加数不在在合法范围(大于9),所以蜂鸣器五秒为高电平,发生五秒警报,第二次警报正常,可重启动。4.7、8+8=16加数A为1000B(十进制数为8),被加数为1000B(十进制数为8),相加结果数码管显示为16。000时显示加数8,001时显示被加数8,010时显示结果高位1,011时显示结果地位6,循环显示。第5章 管脚锁定及硬件连线管脚锁定管脚名称类型引脚pin备注A0输入39加数二
12、进制第一位A140加数二进制第二位A241加数二进制第三位A344加数二进制第四位B045被加数二进制第一位B146被加数二进制第二位B247被加数二进制第三位B353被加数二进制第四位clk83控制蜂鸣器的74160时钟脉冲信号1HzCLK275控制片选的74160时钟脉冲信号256Hzl3输出87动态数码管片选第三位l286动态数码管片选第二位l185动态数码管片选第一位a198动态数码管段位显示第一位b197动态数码管段位显示第二位c196动态数码管段位显示第三位d195动态数码管段位显示第四位e193动态数码管段位显示第五位f192动态数码管段位显示第六位g191动态数码管段位显示第七
13、位BUZZER38蜂鸣器引脚第6章 总结本次EDA(Electric Design Automation)课程设计,是我第一次深入接触电路设计和工程设计的内容。作为一个测控专业的学生,我在过去的两年半中学习了专业的各方面知识,包括电路原理、模拟电路、数字电路等等,而这周的EDA课设,将我们学过的各方面电学知识和现代电路设计方法结合起来,应用计算机软件进行课题项目设计,不单夯实了我们的理论知识和对数字电路的理解,更极大的锻炼了我们实际动脑、动手能力。我的设计题目是十进制加法计数器,通过拨码开关输入两个十以内的数(大于9的时候按0处理),将输入的数通过动态数码管显示,相加后的结果也通过两个动态数码
14、管显示出来。在输入非法数字时,蜂鸣器发生五秒警报。该设计具有实际意义,它包含了从教材上截取的精华,比如比较器与9比较,四位二进制全进位加法器实现两位数加法计算,二进制数字向BCD码的转换。在这一周的设计过程中,我遇到了很多的问题,比如,蜂鸣器的定时,要求五秒警报,能在启动;比如,动态数码管的显示过程。本设计题目并没有我最初想象的那么简单,在一步步的设计进程中,我遇到了问题,学会了自己解决问题,收获颇多。很多问题在课本教材的学习过程中没遇到过,实际的动手设计很重要,可以锻炼的更多,收获的更多。通过一周课程设计,我受益良多。在老师的指导下,我学会了软件MAX+plus II 10.2 BASELI
15、NE的基础使用方法,初步了解了电气设计的过程,接触了工程设计的概念。在这一周的时间里,我独立进行思考,设计电路,调试波形这次课设让我在实际中真正地运用了在课本中学到的东西,既加深理论知识的理解,又锻炼了自己的动手能力,感谢老师一周的耐心讲解和帮助。参考文献1.数字电子技术基础. 阎石主编.高等教育出版社.2.EDA课程设计指导书. 编者:郑兆兆,周莲莲,张强. 燕山大学课程设计评审意见表指导教师评语:该生学习态度 (认真 较认真 不认真) 该生迟到、早退现象 (有 无)该生依赖他人进行设计情况 (有 无)平时成绩: 指导教师签字: 2012 年 3 月 16 日图面及其它成绩:答辩小组评语:设计巧妙,实现设计要求,并有所创新。设计合理,实现设计要求。实现了大部分设计要求。没有完成设计要求,或者只实现了一小部分的设计要求。答辩成绩: 组长签字:课程设计综合成绩:答辩小组成员签字: 2012年 3 月 16 日
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1