简易加减计算器设计(数电)
32位加减法器设计2010012107季涛

带有溢出标志的32位加减法器的设计2010012107 季涛加法器是一个非常基本的数字运算电路,经常出现在数字电路的关键路径中。
本次作业实现的加减法器一共要实现五个基本功能:1)求补2)无符号数的加法3)无符号数的减法4)有符号数的加法5)有符号数的减法,同时对应每种功能还要给出对应的溢出标志。
虽然看起来功能有五种,但是核心的模块还是一个32位的加法器。
现在比较流行的加法器结构有很多,从最基本的一位半加器、全加器,到多位的行波进位加法器,曼彻斯特进位链加法器,旁路进位加法器,超前进位加法器,选择进位加法器,到更复杂的更多位的树结构表示的加法器,如Brent-Kung树、Kogge-Stone树等等。
由于想要实现一个速度较快的加法器,所以一般会选择后几种类型的结构,然后我之前的课程里已经实现过了超前进位加法器、Brent-Kung树结构前置进位加法器,所以本次作业我选择了Kogge-Stone树。
它的主要特点是:能获得log2N的级数,每级的扇出为2,代价是级间布线有很多的长线,PG单元更多。
Kogge-Stone树结构图如下:结构框图如下:设计的思路是这样的,求补的话就是对操作数进行取反然后+1,令加法器的一个输入为1,另一个输入为~a即可;无符号数和有符号数的加法的输入是一样的;减法的时候只要对第二个操作数求补即可。
然后溢出标志的获取我是对四种功能分别考虑,无符号数的加法,只有在最高位的进位信号为1的时候表示超过了数的表示范围,溢出信号为1,其余情况都为0;无符号数的减法只有在第一个操作数比第二个操作数小的时候溢出信号为1,其余为0;有符号数的加法只有在两个操作数的符号相同而和的最高位符号与他们不同时为1.其余为0;有符号数的减法只有在两个操作数的符号位不同而差的最高位和第二个操作数符号位相同时为1,其余为0。
这样就基本实现了功能。
总结:第一次作业主要让我又回顾了modelsom、DC等软件的使用方法,时隔一年没用有些东西确实都生疏了,甚至安装modelsim软件、DC综合的过程中也产生了不少问题,好在在同学和助教姐姐的帮助下都克服了困难。
4位加减法并行运算电路(包括拓展8位)

4位加减法并行运算电路(包括拓展8位)二○一二~二○一三学年第一学期电子信息工程系脉冲数字电路课程设计报告书班级:电子信息工程(DB)1004班课程名称:脉冲数字电路课程设计学时: 1 周学生姓名:学号:指导教师:廖宇峰二○一二年九月一、设计任务及主要技术指标和要求➢ 设计目的1. 掌握加/减法运算电路的设计和调试方法。
2. 学习数据存储单元的设计方法。
3. 熟悉集成电路的使用方法。
➢ 设计的内容及主要技术指标1. 设计4位并行加/减法运算电路。
2. 设计寄存器单元。
3. 设计全加器工作单元。
4. 设计互补器工作单元。
5. 扩展为8位并行加/减法运算电路(选作)。
➢ 设计的要求1. 根据任务,设计整机的逻辑电路,画出详细框图和总原理图。
2. 选用中小规模集成器件(如74LS 系列),实现所选定的电路。
提出器材清单。
3. 检查设计结果,进行必要的仿真模拟。
二、方案论证及整体电路逻辑框图➢ 方案的总体设计步骤一因为参与运算的两个二进制数是由同一条数据总线分时串行传入,而加法运算的时候需要两个数的并行输入。
所以需要两个寄存器分别通过片选信号,依次对两个二进制进行存储,分别在寄存器的D c B A Q Q Q Q 端口将两个4位二进制数变成并行输出; 步骤二 为了便于观察置入两个4位二进制数的数值大小,根据人们的习惯,在寄存器的输出端,利用两个七段译码器将二进制数转化为十进制数; 步骤三通过开关选择加/减运算方式;步骤四若选择加法运算方式,对所置入数送入加法运算电路进行运算;即:9)1001()0110()0011(222==+ 【十进制:963=+】又或:15)1111()0100()1011(222==+ 【十进制:15511=+】步骤五若选择减法运算方式,对所置入数送入减法运算电路进行运算;即:2)0010()0101()0111(222==- 【十进制:257=-】又或:10)1010()1101()0011(222=-=- 【十进制:10133-=-】步骤六为了便于观察最后的计算结果,以及对最后的计算结果的正确性能做出快速的判断,根据人们的习惯,同上,将计算出的结果输入七段译码器进行译码显示。
简单加减计算电路

简单加减计算电路简单加/减运算电路1 设计主要内容及要求1.1 设计⽬的:(1)掌握1位⼗进制数加法运算电路的构成、原理与设计⽅法;(2)熟悉QuartusII的仿真⽅法。
1.2 基本要求:(1)实现⼆进制数的加/减法;(2)设计加数寄存器A和被加数寄存器B单元;(3)实现4bit⼆进制码加法的BCD调整;(4)根据输⼊的4bitBCD编码⾃动判断是加数还是被加数。
1.3 发挥部分:(1)拓展2位⼗进制数(2)MC存储运算中间值;(3)结果存储队列;(4)其他。
2 设计过程及论⽂的基本要求2.1 设计过程的基本要求(1)基本部分必须完成,发挥部分可任选2个⽅向:(2)符合设计要求的报告⼀份,其中包括逻辑电路图、实际接线图各⼀份;(3)设计过程的资料、草稿要求保留并随设计报告⼀起上交;报告的电⼦档需全班统⼀存盘上交。
2.2 课程设计论⽂的基本要求(1)参照毕业设计论⽂规范打印,⽂字中的⼩图需打印。
项⽬齐全、不许涂改,不少于3000字。
图纸为A3,附录中的⼤图可以⼿绘,所有插图不允许复印。
(2)装订顺序:封⾯、任务书、成绩评审意见表、中⽂摘要、关键词、⽬录、正⽂(设计题⽬、设计任务、设计思路、设计框图、各部分电路及参数计算(重要)、⼯作过程分析、元器件清单、主要器件介绍)、⼩结、参考⽂献、附录(逻辑电路图与实际接线图)。
摘要当今的社会是信息化的社会,也是数字化的社会,各种数字化的电器与设备越来越普及,⼈们的⼤部分⽣活都依赖于这些数字化的设备。
⽽随着科技的发达,这些数字设备的功能越来越强⼤,程序越来越复杂。
但是我们都知道各种复杂的运算都是从简单的加减运算衍⽣出来的。
经过半学期的数字电⼦技术基础的学习,我们对数字电⼦技术的理论知识有了⼀定的了解。
在这个时刻,将理论结合实际的欲望,便显得更加迫切,⽽此时的课设安排正好可以帮助我们将理论结合实际,将梦想变成现实。
本次的简单运算电路是基于QuartusⅡ仿真软件⽽设计的,⽽每⼀个仿真软件都有它⾃⼰的特⾊与优缺点。
加减计算器电子课程设计

加减计算器电子课程设计一、课程目标知识目标:1. 学生能理解加减计算器的基本原理,掌握电子元件的功能和使用方法。
2. 学生能运用所学的数学知识,设计并搭建一个简单的加减计算器电路。
3. 学生了解电子技术在日常生活中的应用,理解电子计算器的发展历程。
技能目标:1. 学生能运用所学知识,分析问题,提出解决方案,具备初步的电子电路设计和搭建能力。
2. 学生能通过实际操作,提高动手能力,培养观察能力和问题解决能力。
3. 学生能通过团队合作,学会沟通与协作,提高项目执行能力。
情感态度价值观目标:1. 学生对电子技术产生兴趣,激发学习热情,培养科技创新意识。
2. 学生在课程学习中,培养耐心、细心和专注的品质,养成严谨的科学态度。
3. 学生通过实践,体会团队合作的重要性,培养集体荣誉感和责任感。
课程性质:本课程为实践性课程,结合数学和电子技术知识,培养学生的动手能力和问题解决能力。
学生特点:六年级学生具备一定的数学知识基础,好奇心强,喜欢动手操作,但可能对电子技术了解较少。
教学要求:教师需引导学生运用所学知识,注重实践操作,鼓励学生思考、提问,培养其创新精神和团队合作能力。
通过课程目标的具体分解,使学生在实践中达成学习成果,提高综合素养。
二、教学内容1. 电子元件基础知识:介绍电子元件的分类、功能及使用方法,如电阻、电容、二极管、三极管等。
- 教材章节:电子技术基础2. 加减计算器原理:讲解加减计算器的基本工作原理,引导学生理解数字电路的运算过程。
- 教材章节:数字电路基础3. 电路设计与搭建:指导学生运用电子元件,设计并搭建一个简单的加减计算器电路。
- 教材章节:电路设计与实践4. 数学知识应用:结合教材中的数学知识,分析加减计算器电路中的数值计算过程。
- 教材章节:数学基础知识5. 电子计算器发展史:介绍电子计算器的发展历程,使学生了解科技进步对社会发展的推动作用。
- 教材章节:电子技术发展史6. 团队合作与沟通:通过分组合作,培养学生的团队协作能力和沟通能力。
简易计算器设计范文

简易计算器设计范文首先,我们需要决定计算器的基本功能。
一个简易计算器通常应该具备加法、减法、乘法和除法的功能。
此外,我们还可以添加开方、求平方以及取模等功能。
在设计计算器之前,我们需要确定用户界面。
对于一个简易计算器来说,我们可以使用命令行界面或者图形用户界面。
在本文中,我们将使用命令行界面。
接下来我们需要设计计算器的算法。
为了实现加、减、乘、除这些基本运算,我们可以编写四个函数来完成。
比如,加法函数可以接收两个数并返回它们的和,减法函数可以接收两个数并返回它们的差,乘法函数可以接收两个数并返回它们的乘积,除法函数可以接收两个数并返回它们的商。
同时,我们还需要添加一些辅助函数来处理开方、求平方以及取模等功能。
比如,开方函数可以接收一个数并返回它的平方根,求平方函数可以接收一个数并返回它的平方,取模函数可以接收两个数并返回它们的余数。
在设计计算器时,我们还要考虑到用户输入的错误处理。
如果用户输入无效的操作或者除数为零,我们需要给出错误的提示信息。
接下来,我们来设计主要的程序流程。
首先,我们需要显示一个欢迎信息,告诉用户如何使用计算器。
然后,在一个循环中,我们会要求用户输入要执行的操作,然后读取用户输入的操作和操作数。
根据用户的选择,我们会调用相应的函数来执行计算,并输出结果。
接着,我们会继续询问用户是否要继续进行计算。
如果用户选择退出,我们会结束循环并显示一个退出信息。
最后,我们需要编写测试用例来确保计算器的功能正常。
我们可以输入一些固定的操作和操作数,然后验证计算器返回的结果是否正确。
如果测试用例中出现错误,我们需要进行修复。
在编写代码之前,我们还需要选择一个编程语言。
对于一个简易计算器来说,Python是一个非常适合的选择。
Python具有简单易读的语法,能够轻松地实现我们的设计。
下面是本文的设计示例:```python#导入所需的库import math#加法函数def add(x, y):return x + y#减法函数def subtract(x, y):return x - y#乘法函数def multiply(x, y):return x * y#除法函数def divide(x, y):if y == 0:raise ValueError("除数不能为零") return x / y#开方函数def square_root(x):if x < 0:raise ValueError("不能对负数开方") return math.sqrt(x)#求平方函数def square(x):return x ** 2#取模函数def modulo(x, y):if y == 0:raise ValueError("除数不能为零") return x % y#欢迎信息print("欢迎使用简易计算器!")print("请按以下方式输入操作:")print("加法:'a 数1 数2'")print("减法:'s 数1 数2'")print("乘法:'m 数1 数2'")print("除法:'d 数1 数2'")print("开方:'r 数'")print("求平方:'q 数'")print("取模:'o 数1 数2'")#主程序循环while True:#用户输入operation = input("输入操作:")data = operation.splitif data[0] == "a":result = add(float(data[1]), float(data[2])) print("结果为:", result)elif data[0] == "s":result = subtract(float(data[1]), float(data[2])) print("结果为:", result)elif data[0] == "m":result = multiply(float(data[1]), float(data[2])) print("结果为:", result)elif data[0] == "d":try:result = divide(float(data[1]), float(data[2])) print("结果为:", result)except ValueError as e:print("错误:", str(e))elif data[0] == "r":try:result = square_root(float(data[1]))print("结果为:", result)except ValueError as e:print("错误:", str(e))elif data[0] == "q":result = square(float(data[1]))print("结果为:", result)elif data[0] == "o":try:result = modulo(float(data[1]), float(data[2]))print("结果为:", result)except ValueError as e:print("错误:", str(e))else:print("无效的操作")#判断是否继续计算choice = input("是否继续计算?(y/n)")if choice == "n":breakprint("谢谢使用,再见!")```通过以上设计,我们可以在命令行中使用这个简易计算器来执行加、减、乘、除、开方、求平方和取模等操作。
数电实验加法器设计

实验10 加法计数器的设计(基于VHDL的实现)一、实验目的1 、了解可编程数字系统设计的流程2 、掌握Quartus II 软件的使用方法3、掌握VHDL输入方式设计数字系统的方法和流程4、熟练掌握加法计数器的设计方法二、实验设备1、计算机:Quartus II 软件2、Altera DE0 多媒体开发平台三、实验内容1、加法计数器的设计:含有异步清0和同步时钟使能的10进制加法计数器使用VHDL输入方式完成设计,在Quartus II 上进行编辑、编译、综合、适配和仿真;2、引脚锁定及硬件测试。
四、实验结果原理概述:当RST清零端为1时,计数器清零。
当RST=1时,计数器开始计数;当遇到CLK为上升沿时,并且当使能端EN=1时,计数器累加1;当使能端EN=0时,计数器不加;当清零端为1时,计数器再次清零。
如此持续,使得该加法计算器能够保持运行。
1、本次实验所用到的代码:LIBRARY IEEE; --- IEEE库声明USE IEEE.STD_LOGIC_1164.ALL; --- 程序包说明,STD_LOGIC在该程序包中定义USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 IS ---实体定义开始PORT(CLK,EN,RESET:IN STD_LOGIC;COUT:OUT STD_LOGIC;CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); ---定义输入端口及数据类型LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ---定义输出端口及数据类型);END CNT10;ARCHITECTURE BEHA V OF CNT10 ISSIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK,EN,RESET)BEGINIF( RESET='0' )THEN QQ<="0000";ELSIF (CLK'EVENT AND CLK='1')THENIF CQI="1001" THEN CQI<="0000";ELSE CQI<=CQI+'1';END IF;END IF;END PROCESS ;CQ<=CQI;PROCESS( CQI )BEGINIF CQI="1001"THEN COUT<='1';ELSE COUT<='0';END IF;END PROCESS ;PROCESS (CQI)BEGINCASE CQI IS CASE语句WHEN "0000"=>LED7S<="1000000";WHEN "0001"=>LED7S<="1111001";WHEN "0010"=>LED7S<="0100100";WHEN "0011"=>LED7S<="0110000";WHEN "0100"=>LED7S<="0011001";WHEN "0101"=>LED7S<="0010010";WHEN "0110"=>LED7S<="0000010";WHEN "0111"=>LED7S<="1111000";WHEN "1000"=>LED7S<="0000000";WHEN "1001"=>LED7S<="0010000";WHEN "1010"=>LED7S<="0001000";WHEN "1011"=>LED7S<="0000011";WHEN "1100"=>LED7S<="1000110";WHEN "1101"=>LED7S<="0100001";WHEN "1110"=>LED7S<="0000110";WHEN "1111"=>LED7S<="0001110";WHEN OTHERS=>NULL; ---不执行任何操作END CASE;END PROCESS ; END BEHA V;2、程序编译:3、波形仿真结果:5、引脚分配结果:五、故障排除在开始进行语言编译的时候,没有加LED7S来显示结果,只编辑了计数部分,所以导致怎么调试都不出结果,后来经过老师的指导,加上了上次实验的数码管显示的代码,然后又一次调试,结果得以显示。
简单的加减计算器详解
简易加减法计算器课程设计电气与信息工程学院电气工程及其自动化专业题目:简易加减法计算器姓名:胡永朋学号:181413112指导教师:李慧时间:2015年 6 月22 日~ 2015年6 月26日本次课程设计的任务是设计一个具有加减运算功能的简易计算器,并通过合适的方式显示最后的计算结果。
设计电路的完成主要是利用简单的数字电路和逻辑运算来进行的。
简易加减计算器电路主要是对数据的输入和显示,数据的加减运算,数据的输出与显示三个主要的方面来设计研究完成的。
在输入电路的部分,我们通过开关的闭合与断开来实现数据的输入,开关闭合接入高电平“1”,断开接入低电平“0”,而输入的数据将通过七段显示译码器显示出来。
加减运算电路主要通过加法器来实现。
一、设计方案设计方案比较:方案一:输入十进制的数字,再通过编码器对数字进行编码,输出二进制的数据,运用显示译码器对输入的数字以十进制的形式进行显示,在进行加减计算的时候将二进制数字运用模数转换,然后再进行相加减,然后再讲这些模拟信号再次转换成数字信号,再将数字信号输入到显示译码器来显示数字。
这个方案中要进行数模转换和模数转换所需要的电路器件有些复杂,并且转换的时间长,而且转换以后的数值精度不高,鉴于这种方案中的缺点太多,不采用。
方案二:输入十进制的数字,并对数字进行编码,通过显示译码器将输入的数值显示出来,再讲编码所得的二进制数字求其补码,将补码送到串行进位加法器中进行相加,最后将二进制码转换成BCD 码输入到显示译码器中,从而就可以将相加以后所得的数字显示出来。
这个方案中避免了方案一中需要大量的时间和精度不高的缺点,但是由于应用了串行加法器的缘故,电路会比较复杂,不利于进行连接。
方案三:本方案采用十位和十位相加,个位和个位相加的方法,将个位和十位分别输入到电路中,由于输入的数字是二进制码,将二进制码输入到显示译码器中就可以显示输入的数字。
相加或相减的时候采用补码的形式通过加法器进行相加。
加减法运算电路的课程设计
加减法运算电路的课程设计一、课程设计的目的和要求目的:1.了解加减法运算电路的原理、组成和性能。
2.熟悉加减法运算器的制作和调试过程。
3.提高学生的实际操作能力和实验调试能力,培养学生的创新意识和动手实践能力。
要求:1.合理规划实验内容,注重实际操作能力和实验调试能力的培养。
2.严格遵守实验安全规范,确保实验安全。
3.要注意实验设备和器材的选择和使用,确保实验结果的准确性和可靠性。
二、课程设计内容分析1.实验器材与工具(1)基于 MAX232 芯片的调试板。
(2)示波器、数字万用表、电烙铁等工具设备。
(3)Bread board(面包板)、LED 灯、电阻、电容等元器件。
2.实验原理(1)MAX232 介绍。
MAX232 是 MAXIM 公司推出的一款 RS232 界面通讯 IC,用于将 RS232 电平转换成 TTL 电平,实现 RS232 与 TTL 电平的转换。
MAX232 由四个电容和两个 RS232/TTL 翻译器组成。
电容用于同步时钟,翻译器用于转换信号电平。
一个翻译器的输入电路连接 RS-232 端口,另一个翻译器的输入电路连接 TTL 设备。
MAX232 可以混合工作,因此,它可以用于将 RS-232 端口连接到 TTL 设备,也可以将 TTL 设备连接到 RS-232 端口。
(2)加减法运算电路介绍。
加法器和减法器都是数字电路中常见的电路。
加减法器是计算机中运算器的组成部分。
加法器实现两个二进制数的加法运算,减法器实现两个二进制数的减法运算。
加法器的电路一般都由若干个半加器或全加器级联而成。
半加器是只能处理两个一位二进制数的加法电路,全加器可以处理三个一位二进制数的加法电路。
减法器的电路有反馈减法器和补码减法器两种。
反馈减法器专门用于二进制的减法,补码减法器则可以处理加法和减法。
3.实验过程(1)加法器电路将半加器和全加器级联,构成一个 4 位的加法器电路。
在电路板上布线,使用电子设备进行连接。
74ls193十进制加减减法计数器电路
74ls193十进制加减减法计数器电路
74LS193是一种具有4位二进制计数器功能的集成电路。
它可以被用来实现十进制加减减法计数器电路。
十进制加减计数器电路有两种模式:加法模式和减法模式。
在加法模式下,电路可以实现十进制加法计数的操作;在减法模式下,电路可以实现十进制减法计数的操作。
为了实现十进制加减计数器电路,需要使用多个74LS193集成电路进行级联。
每个74LS193集成电路的四个D输入端可以连接到一个十进制数字的四个位,如个位、十位、百位和千位。
进位端(Carry)和借位端(Borrow)分别连接到后一个
74LS193的时钟端和复位端。
通过适当的控制信号输入,可以选择加法模式或减法模式。
在加法模式下,每当计数器的值达到9时,进位端会被触发,同时将下一个级联的74LS193计数器加一。
当计数器的值达到15时,所有74LS193计数器都会被复位到0,实现循环十进制加法计数。
在减法模式下,每当计数器的值达到0时,借位端会被触发,同时将下一个级联的74LS193计数器减一。
当计数器的值达到-1时,所有74LS193计数器都会被复位到9,实现循环十进制减法计数。
通过适当的控制信号输入,可以选择计数起点和计数方向。
题目一 简易加法计算器的设计
---------------------------------------------------------------最新资料推荐------------------------------------------------------题目一简易加法计算器的设计题目一简易加法计算器的设计一. 设计目的通过简易计算器的设计,使同学们进一步掌握:(1) 8086/8088 汇编语言程序的设计和调试; (2) 扫描式键盘的基本工作原理; (3) LED 数码显示器的应用; (4) 微机基本应用系统的设计方法;二. 设计内容利用实验装置,设计一个简易加法计算器的原理线路,编制应用程序,实现三位十进制无符号数的加法。
操作和功能要求如下:(1) 运行开始, LED 数码显示复位,即全黑状态; (2) 当按下一个不超过 999 的加数时,在前三位 LED 数码管显示出来,按下+键时,表示加数输入完毕; (3) 当按下另一个不超过 999 的被加数时,在后三位 LED 数码管显示出来,按下=键时,表示被加数输入完毕,同时在六位 LED 数码管上显示加法结果; (4) 当按下R 键时,程序返回到初始状态,以便重复上述操作。
三. 设计要求 (1) 设计原理线路; (2) 编制应用程序;(3) 联合调试,实现上述功能; (4) 编写设计说明书(含原理图,程序及说明,实验方法,过程及结果)。
四. 设计提示 (1) 键盘符号可自行定义; (2) 在上述要求基础上,可以增设减法、乘法和除法功能。
题目二数字式钟表的设计一. 设计目的通过数字式钟1/ 9表的设计,使同学们进一步掌握:(1) 8086/8088 汇编语言程序的设计和调试; (2) 定时计数器 8253 的基本工作原理和应用; (3) 中断的使用; (4) LED 数码显示器的应用; (5) 微机基本应用系统的设计方法;二. 设计内容利用实验装置,设计一个数字式钟表的原理线路,编制应用程序,实现一个数字式钟表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子技术课程设计电气与信息工程学院建筑电气与智能化专业题目:简易加减计算器设计
姓名:徐雪娇
学号:094412110
指导教师:祁林
简易加减计算器设计
一、设计目的
1、在前导验证性认知实验基础上,进行更高层次的命题设计实验.
2、在教师指导下独立查阅资料、设计、特定功能的电子电路。
3、培养利用数字电路知识,解决电子线路中常见实际问题的能力.
4、积累电子制作经验,巩固基础、培养技能、追求创新、走向实用。
5、培养严肃认真的工作作风和严谨的科学态度。
二、设计要求
1、用于两位一下十进制的加减运算。
2、以合适方式显示输入数据及计算结果。
三、总体设计
第一步置入两个四位二进制数。
例如(1001)2,(0011)2和(0101)2,(1000)2,同时在两个七段译码显示器上显示出对应的十进制数9,3和5,8。
第二步通过开关选择加(减)运算方式;
第三步若选择加运算方式所置数送入加法运算电路进行运算;同理若选
择减运算方式,则所置数送入减法运算电路运算;
第四步前面所得结果通过另外两个七段译码器显示。
即:
方案一
通过开关J1-J8接不同的高低电平来控制输入端所置的两个一位十进制数,
译码显示器U10和U13分别显示所置入的两个数。
数A直接置入四位超前进位
加法器74LS283的A4-A1端,74LS283的B4-B1端接四个2输入异或门。
四个
2输入异或门的一输入端同时接到开关S1上,另一输入端分别接开关J5-J8,通过开关J5-J8控制数B的输入。
当开关S1接低电平时,B与0异或的结果为B,
通过加法器74LS283完成两个数A和B的相加。
当开关J1接高电平时,B与1
异或的结果为B非,置入的数B在74LS283的输入端为B的反码,且74LS283
的进位信号C0为1,其完成S=A+B(反码)+1,实际上其计算的结果为S=A-B
完成减法运算。
由于译码显示器只能显示0-9,所以当A+B>9时不能显示,我们
在此用另一片芯片74LS283完成二进制码与8421BCD码的转换,即S>9(1001)
时加上6(0110)2,产生的进位信号送入译码器U12来显示结果的十位,U11 2
显示结果的个位。
由于减法运算时两个一位十进制数相减不会大于10,所以不
会出现上述情况,用一片芯片U11即可显示结果。
方案二
由两异或门两与门和一或门组成全加器,可实现一位二进制加逻辑运算,四
位二进制数并行相加的逻辑运算可采用四个全加器串行进位的方式来实现,将低
位的进位输出信号接到高位的进位输入端,四个全加器依次串行连接,并将最低
位的进位输入端接逻辑“0”,就组成了一个可实现四位二进制数并行相加的逻辑电路。
通过在全加器电路中再接入两个反相器可组成一个全减器,实现一位二进制减逻辑运算,将来自低位的错位信号端接到向高位借位的信号端,依次连接四个全减器,构成可实现四位二进制数并行进行逻辑减运算的电路。
在两组电路置数端接开关控制置数输入加法还是减法运算电路,电路输出端接LED灯显示输出结果,输出为五位二进制数。
通过对两种方案的比较,为实现设计要求,首先在不计入数码管所需芯片的情况下,方案二一共需要十二个芯片,电路的连接相当复杂,产生接线错误和导线接触不良的几率大大增加,而且耗费较高;而方案一一共需要七或九个芯片,且其中几个芯片只用到一两个门,相对接线较简单,容易实现。
其次,方案二采用串行进位和借位的方式来实现四位逻辑加减运算,任意一位的逻辑运算必须在前一位的运算完成之后才能进行,相较而言运算速度不高;而方案一采用的是超前进位的方式来实现四位逻辑运算的,每位的进位只有加数和被加数决定,而与低位的进位无关,它的运算速度较方案二高出很多。
综上所述,方案一较方案二更加优秀,不仅电路简单而且运算速度更快,经综合小组各设计方案,被选为小组共同方案。
四、各部分电路设计
1、加法电路的实现
用两片4位全加器74LS283和门电路设计一位8421BCD码加法器。
由于一位8421BCD数A加一位数B有0到18这十九种结果。
而且由于显示的关系,当大于9的时候要加六转换才能正常显示,所以设计的时候有如下的
0 1 0 1 1 1 11
需要装换
0 1 1 0 0 1 12 0 1 1 0 1 1 13 0 1 1 1 0 1 14 0 1 1 1 1 1 15 1 0 0 0 0 0 16 1 0 0 0 1 0 17 1
1
18
由前16项得:
1323012301232103012301230123S S S S S S S S S S S S S S S S S S S S S S S S S S S S Y +=+++++=
由后10项得:
Y=C 4=1
由以上两式得
14323Y C S S S S =++43231C S S S S =••
加法电路
图4.1加法实现电路
2、减法电路的实现
图4.2减法实现电路
3、译码显示电路
译码显示电路是由一个七段LED译码驱动器74HC4511和一个七段LED数码显示器组成。
在74HC4511中,经前面运算电路运算所得的结果输入74HC4511的D3D2D1D0,再译码输出,最后在七段LED显示器中显示出来.
图4.3译码显示电路
4、电路图的仿真及检测
通过学习Multisim软件和对前面加减法运算电路的研究,总结出一套简单方便又可达到要求的方案,并设计出以下电路图:
五、整体电路图与仿真
六、设计总结
这次实习我感觉是我收获最大的一次,首先因为它较上几次实习,有一定的难度,我们第一次接触这种课程设计,刚开始觉得无从下手,还要花时间学multisim软件,这么短的时间,确实有点担心,怕到时候完不成任务。
可是完成后,我才发现,一件看似很难的事,当你完成的时候,会感到无比的自豪,我从图书馆借来了一本multisimy原理图仿真书,试着学习这个软件,当我觉得差不多的时候开始设计电路,在这个过程中,我不断地翻阅资料和上网查一些信息,还积极请教老师和同学,结果效果图初步完成了。
当进行仿真的时候,出现了各种问题,我们不断地对照线路的连接,结果检查出了问题,是一个开关连错了。
当排除了这个问题后,我们的成果终于完成了。
通过这次课程设计,加强了我们动手、思考和解决问题的能力。
尤其学习软件Multisim,除了可以提高仿真能力、综合能力和设计能力外,还可进一步提高实践能力。
初步掌握一种电子电路计算机辅助分析和设计软件对学习模拟电子技术基础课很有必要。
对我们而言,知识上的收获重要,精神上的丰收更加可喜。
挫折是一份财富,经历是一份拥有。
它提高了我应对挫折和解决问题的能力,增强了我的团队合作意识和与他人的交流能力。
同时我也深深体会到对专业知识一定要熟练掌握,没有理论的实践,难于上青天,感谢老师把知识传授与我,同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
七、参考文献
[1] 秦曾煌,姜三勇.电子技术(第七版).高等教育出版社,2009.
[2] 聂典.Multisim10原理图仿真与PowerPCB5.0.1印制电路板设计.电子工业出版社,2008.
指导教师评语:
指导教师评分:
指导教师签字:
年月日
2。