数电课程设计简易计算器
最新简易计算器的设计微机原理课设武汉理工终稿

摘要21世纪是一个信息化日益加快的时代,它对人才的需求也呈现出新的变化趋势。
对计算机的掌握已成为了当今时代对人才考验的一项重要指标;大学计算机公共课程也面临着新的机遇和挑战。
基于此事实,微机原理课程在计算机教学上强调了对当今学生在“难度—深度—强度”三维同步教学上的侧重,并极力注重学生的实践能力的培养,本次课程设计,老师通过给学生布置一定的设计任务,而学生分组实践完成,从而达到对学生计算机原理知识的教学和汇编语言程序的锻炼。
汇编语言是联系C等高级语言到机器语言的重要编程语言,其指令是机器指令的一种符号表示,具有很强的机器相关性;也正基于此,可以实现起执行效率的很大提高本次课设是基于汇编语言的计算器设计,通过编写相应的程序代码实现一个16进制的简单计算器设计。
其能够实现实现16进制整数的加减乘除计算,通过键盘输入两个数据及选择运算符,回车输出16进制的结果。
关键词:汇编语言计算器 16进制简易计算机课程设计一、设计目的本次课程设计的实验目的是通过该实验掌握较复杂程序的设计。
能够独立完成用程序对8255控制键盘和LED显示的控制,完成计算器加减法的应用。
独立编写程序,明白和掌握程序的原理和实现方式。
为以后的设计提供经验。
学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。
通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
微机原理课程设计的意义是为了使学生加深对所学的微机原理知识的理解,培养学生的专业素质,提高其利用微机原理知识处理问题的能力,为今后专业课程的学习、毕业设计和工作打下良好的基础。
使学生能比较扎实地掌握微机原理的基础知识和基本理论,掌握控制系统及有关设备的分析、开发等基本技能,受到必要工程训练、初步的科学研究方法训练和实践锻练,增强分析问题和解决问题的能力,了解微机原理和接口技术的新发展。
简易计算器的设计

辽宁工业大学单片机原理及接口技术课程设计(论文)题目:简易计算器的设计院(系):电气工程学院专业班级: 自动化132班学号: 130302044学生姓名:陆强指导教师:(签字)起止时间: 2016.6。
6-2016。
6。
17课程设计(论文)任务及评语院(系):电气工程学院 教研室:自动化 注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算学 号 130302044 学生姓名 陆强 专业班级 自动化132班课程设计(论文)题目简易计算器的设计课程设计(论文)任务课题完成的功能、设计任务及要求、技术参数实现功能简易计算器采用4*4键盘输入要计算的数字及要进行的计算操作,并显示上次输入的数据及结果,能够进行加、减、乘、除的运算,并存储上次计算的值。
硬件设计包括CPU 选型、最小系统电路、按键电路、显示电路等。
设计任务及要求1、确定设计方案,画出方案框图.2、进行硬件电路的设计,包括元器件选择,绘制原理图。
3、进行实物的制作4、绘出程序流程图,并编写完整程序。
5、要求认真独立完成所规定的全部内容;所设计的内容要求正确、合理。
6、按学校规定的格式,撰写、打印设计说明书一份;设计说明书应在4000字以上。
技术参数密码长度可修改,密码可修改,密码输入正确,在显示屏上出现Right ,并控制开锁;密码错误出现Error ,连续输入错误三次,隔30S 才能再次输入.进度计划1、布置任务,查阅资料,确定系统设计方案(2天)2、系统硬件设计及实物制作(3天)3、系统软件设计及编写功能程序及调试(3天)4、撰写、打印设计说明书(1天)5、验收及答辩.(1天)指导教师评语及成绩平时: 论文质量: 答辩:总成绩: 指导教师签字: 年 月 日摘要计算器是日常生活中比较的常见的电子产品之一。
在各种智能化产品中也常常会用到计算器,而且在现代化系统中人们对计算器技术要求更加的严格和精确,因此计算器已成为生产中必不可少的设备。
multisim电工电子课程设计—计算器

multisim电⼯电⼦课程设计—计算器⼀、设计要求(1)0~999范围内直接能进⾏加法,减法运算(2)全是10进制显⽰(3)必须⽤译码器加7段数码管显⽰数据⼆、设计原理图1 ⼀位⼗进制加减运算原理框图如图1所⽰,第⼀步置⼊两个四位⼆进制数(要求置⼊的数⼩于1010),如(1001)2和(0111)2同时在两个七段译码显⽰器上显⽰出对应的⼗进制数9和7;第⼆步通过开关选择运算⽅式加或者减;第三步,若选择加运算⽅式,所置数送⼊加法运算电路进⾏运算,同理若选择减运算⽅式,则所置数送⼊减法运算电路运算;第四步,前⾯所得结果通过另外两个七段译码器显⽰。
即: 若选择加法运算⽅式,则(1001)2+(0111)2=(10000)2⼗进制9+7=16 并在七段译码显⽰器上显⽰16. 若选择减法运算⽅式,则(1001)2-(0111)2=(00010)2⼗进制9-7=2 并在七段译码显⽰器上显⽰02.⾄于三位⼗进制加减法运算,只需将三个⼀位⼗进制加减法电路进⾏连接,便可以实现加法运算,如369+256=625或减法运算1990-990=000.三、设计所采⽤清单超前进位加法器74LS283 6个⼗进制计数器74LS192 6个显⽰译码器74LS48 10个共阴极七段数码管10个500欧电阻70个2输⼊与门74LS08 6个3输⼊或⾮门74LS27 3个2输⼊异或门74LS86 27个反相器74LS04 3个2输⼊或门74LS32 2个单⼑双掷开关9个电源,导线若⼲四、电路原理图及其分析(1)置数电路利⽤⼗进制计数器进⾏置数,输⼊数为⼗进制,只需要⼀个开关控制,⽽如果⽤四个开关直接输数,导致开关数量过多,⽽且⽆法避免⼗六进制数。
(2)加六进位电路⽤两⽚4位全加器74LS283和门电路设计⼀位8421BCD码加法器由于⼀位8421BCD数A加⼀位数B有0到18这⼗九种结果。
当A+B<=9时,就直接将第⼀个芯⽚的和输送到第⼆个芯⽚加零,即为最后输出结果。
简易计算器设计范文

简易计算器设计范文首先,我们需要决定计算器的基本功能。
一个简易计算器通常应该具备加法、减法、乘法和除法的功能。
此外,我们还可以添加开方、求平方以及取模等功能。
在设计计算器之前,我们需要确定用户界面。
对于一个简易计算器来说,我们可以使用命令行界面或者图形用户界面。
在本文中,我们将使用命令行界面。
接下来我们需要设计计算器的算法。
为了实现加、减、乘、除这些基本运算,我们可以编写四个函数来完成。
比如,加法函数可以接收两个数并返回它们的和,减法函数可以接收两个数并返回它们的差,乘法函数可以接收两个数并返回它们的乘积,除法函数可以接收两个数并返回它们的商。
同时,我们还需要添加一些辅助函数来处理开方、求平方以及取模等功能。
比如,开方函数可以接收一个数并返回它的平方根,求平方函数可以接收一个数并返回它的平方,取模函数可以接收两个数并返回它们的余数。
在设计计算器时,我们还要考虑到用户输入的错误处理。
如果用户输入无效的操作或者除数为零,我们需要给出错误的提示信息。
接下来,我们来设计主要的程序流程。
首先,我们需要显示一个欢迎信息,告诉用户如何使用计算器。
然后,在一个循环中,我们会要求用户输入要执行的操作,然后读取用户输入的操作和操作数。
根据用户的选择,我们会调用相应的函数来执行计算,并输出结果。
接着,我们会继续询问用户是否要继续进行计算。
如果用户选择退出,我们会结束循环并显示一个退出信息。
最后,我们需要编写测试用例来确保计算器的功能正常。
我们可以输入一些固定的操作和操作数,然后验证计算器返回的结果是否正确。
如果测试用例中出现错误,我们需要进行修复。
在编写代码之前,我们还需要选择一个编程语言。
对于一个简易计算器来说,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("谢谢使用,再见!")```通过以上设计,我们可以在命令行中使用这个简易计算器来执行加、减、乘、除、开方、求平方和取模等操作。
简易计算器设计

摘要:计算器(calculator ;counter)一般是指“电子计算器”,该名词由日文传入中国。
计算器能进行数学运算。
计算器一般由运算器、控制器、存储器、键盘、显示器、电源和一些可选外围设备组成。
低档计算器的运算器、控制器由数字逻辑电路实现简单的串行运算,其随机存储器只有一、二个单元,供累加存储用。
使用简单计算器可进行加(+)、减(-)、乘(*)、除(/)、开方(sqrt)、百分数(%)、倒数(1/x)等简单算术计算。
本次设计只完成加(+)、减(-)、乘(*)、除(/)运算。
关键字:加减乘除、优先级、进制转换、数据选择、有效数字、正负1 设计内容与设计要求1、1基本内容:设计一个简易计算器1、2基本要求:①实现最大输入两位十进制数字的四则运算(加减乘除)②能够实现多次连算(无优先级,从左到右计算结果)如12+34×56-78÷90+9=36.75③最大长度以数码管最大个数为限,溢出报警④有正负数区分;⑤除法不能除尽时小数保留2位有效数字1、3扩展要求:能够区分运算优先级(先乘除,后加减)如12+34×56-78÷90+9=1924.132 方案选择能够进行区分优先级的计算,先乘除,后加减。
乘除运算同步进行,从左往右;乘除结束后的数据进行加减运算。
3 系统具体设计3、1总体框架(总电路图附录1)3、2各个模块设计①乘法模块(VHDL附录2)当乘法符号的上升沿的时候读入反馈的结果(包括数据及正负号)并输出到data1、data1_pn;当乘法符号的下降沿的时候读入数据(包括数据及正负号)并输出到data2、data2_pn。
并进行计算,结果的数据由乘法器计算得到;结果的正负号即为两个相乘数据的正负号取异或。
数据为保留两位小数,输出的当成被乘数的数乘上100。
元件例化:②除法模块(VHDL 附录3)当除法符号的上升沿的时候读入反馈的结果(包括数据及正负号)并输出到data1、data1_pn;当除法符号的下降沿的时候读入数据(包括数据及正负号)并输出到data2、data2_pn 。
基于51单片机简易计算器课程设计报告

基于51单片机简易计算器课程设计报告
基于51单片机简易计算器课程设计报告
1. 研究背景
•计算器是人们日常生活和工作中常用的工具之一。
•通过设计简易计算器,可以加深学生对51单片机的理解和应用。
2. 目标和需求
•设计一个基于51单片机的简易计算器,能够进行基本的四则运算和开方运算。
•要求计算器能够显示输入和计算结果。
•要求计算器具备简单的界面和操作。
3. 设计方案
•使用51单片机作为计算器的控制核心。
•通过键盘输入数字和运算符,并显示在液晶屏上。
•根据输入的运算符,进行相应的计算,并将结果显示在液晶屏上。
4. 硬件设计
•使用51单片机作为主控芯片。
•连接液晶屏模块,用于显示输入和计算结果。
•连接键盘模块,用于输入数字和运算符。
5. 软件设计
•使用C语言进行编程。
•设计主程序,包括初始化、输入处理和计算输出等功能。
•设计函数,实现基本的四则运算和开方运算。
6. 实验结果
•成功设计并实现了基于51单片机的简易计算器。
•可以正常进行基本的四则运算和开方运算。
•输入和计算结果能够准确显示在液晶屏上。
7. 总结与展望
•通过设计这个简易计算器,学生对51单片机的理解和应用能力有了提高。
•下一步可以考虑增加更多的功能,如科学计算和数据存储等。
以上是本次基于51单片机简易计算器课程设计的报告。
通过这个实验,学生对51单片机的应用能力得到了提升,进一步增强了对计算器的理解。
在未来的课程设计中,可以进一步拓展功能,提升计算器的实用性和功能性。
8086简易计算器的设计-计算机硬件-微机原理-课程设计

计算机硬件技术实践报告题目简易计算器的设计姓名专业自动化(电站方向)班级学号上海电力学院自动化工程学院一、设计题目及目的本次课程设计的实验目的是:通过该实验掌握较复杂程序的设计;能独立完成用程序对8086、8255A控制键盘和LED显示的控制,完成计算器加减法的应用;独立编写程序,明白和掌握程序的原理和实现方式;学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用;进一步加强理论知识与应用相结合的实践和锻炼,为以后的设计提供经验。
这次设计实践,加深了我对专业知识和理论知识学习的认识和理解,使我的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
我们的具体任务是用8086设计一个能实现0~9整数加减乘除法的运算器,并用2位LED数码显示,键盘包括0-9,+ ,-,×,÷,=,NO/C共16个按键。
二、小组成员分工及成果在实验课程要求下,我们选择基于8086CPU的模拟计算器设计。
要完成设计首先需要构建简单的微型计算机应用系统,其次是确定组成各部件的芯片,然后画原理图,根据相应的原理以及实现过程,编写出相应的汇编代码。
再根据原理图连接硬件电路,电路连接完成后进行调试。
设计过程中我们用到了8086CPU、可编程并行输入/输出芯片8255A、74HC138、74HC373、矩阵式键盘、LED数码管。
我们的模拟计算器能实现2位十进制数以内的加减乘除法运算。
首先,本组的三个成员一起讨论研究简易计算器设计的主要方案。
粗略设计程序流程图以确定简易计算器设计的大概框架。
明确目的后各自查询资料了解设计原理、逐步清晰设计思路。
以下为大体分工:主要负责:1、设计主要程序,编写;2、查找资料验证修改;主要负责:1、选择需要用的各个芯片;2、设计硬件原理图;主要负责:1、各个芯片功能的资料查找;2、设计程序流程图三、设计方案思路用8086设计一个能实现0~9整数加减乘除法的运算器,并用2位LED数码显示,键盘包括0-9,+ ,-,×,÷,=,NO/C共16个按键。
微机原理课设--简易计数器设计

1.总体设计思想及主要功能1.1总体设计思想程序主要分为主程序,输入子程序,输出子程序,加法子程序,减法子程序,乘法子程序,除法子程序。
根椐输入的符号选用不同的运算子程序,最后调用输出子程序。
各个程序的具体做法,详见后面的流程图和分析。
本程序的关键是在输入、输出程序,值得特别注意的地方是call 和ret的调用,而且还要清楚跳转的返回地址;由于计算器比数学用表等计算工具要先进得多,应该积极倡导学生加速用计算器取代数学用表的进程。
从键盘输入数据与运算符;可以进行加、减、乘、除四则运算,输入和输出的数均必须为十进制的。
输入的数据最大为双字的,。
如果输入的除数为0;输出错误信息。
输入的表达式有误,输出错误信息。
输入的两个数,不能除尽时,输出除数输入错误信息。
如果输入了空格,同样输出错误信息。
输出的数据最大可输出4字,为的是输出乘除法的结果。
除法最后所得结果可为小数点后四位值。
1.2实现的主要功能(1)输入和输出的数均为十进制的。
(2)输入的数据最大为双字的且必须是数字,当输入字母或其他非数字符号时,输出错误信息。
(3)如果输入的除数为0;输出错误信息。
(4)输入的表达式有误,输出错误信息。
(5)输入的两个数,有一个大于双字,输出错误信息。
(6)如果输入了空格,输出错误信息。
(7)输出的数据最大可输出4字,为的是输出乘法的结果。
(8)除法有不能整除的情况时,输出小数结果保留小数点后四位并显示除数输入错误信息。
2.简单计算器的流程图2.1 主程序的流程图主程序设计思路说明:输入的数据如果超过双字,就会溢出,因为我定义的存储器为双字的。
输入什么样的数都会有一个范围,一定得有这个信息。
根据输入的符号调用相应的函数。
除法和别的不一样,还要输出余数,并且,除数不能是0。
所以我就在里面调用了输出函数,要输出两次,而外面只能输出一次,为了更好输出结果,我就只好这样了。
输入y可以继续进行运算,要注意的是,要把原来的数给清0,不然得不到答案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数电课程设计简易计算器辽宁工业大学数字电子技术基础课程设计(论文)题目:简易计算器课程设计(论文)任务及评语摘要这次的课程设计的任务是设计一个具备加减乘运算功能的电路,能够通过开关控制进行加减法计算和乘法计算,并利用LED灯显示计算结果。
本次设计通过开关的闭合和开通来代表电平的高地位继而代表0和1来输入所要计算的十进制数字.加减运算电路主要由74LS283的级联电路组成。
通过异或门将原码全部转换为补码,然后采用个位和个位相加,十位和十位的相加的原则,将两个的个位的代码送入到一个加法器中,将进位依次传递.但是加法器只可以做加法运算,不满足我们的设计要求,于是我们将减法也变成加法进行运算,运算都为补码,最后再将结果在转换为原码,通过LED灯显示出来。
乘法运算电路主要由移位寄存器74LS194和加法器74LS283组成。
显示电路主要由7段显示译码器构成,将加减和乘法运算电路计算所得的运算结果每4为输入到一块7448芯片中,按高低位排列就得到了我们所需要的十进制的运算结果了。
关键词:运算;反码;LED显示;移位寄存器目录第1章绪论 (1)1。
1简易计算器概况 (1)1。
2本文设计要求 (1)1.3方案论证 (2)1。
4总体设计方案 (2)第2章简易计算器各单元电路设计 (3)2。
1简易计算加法电路设计 (3)2.2简易计算器减法电路设计 (4)2。
3乘法运算电路设计 (5)2.4译码显示电路设计 (6)第3章简易计算器整体电路设计 (8)3。
1系统原理图 (8)3.2部分电路仿真 (9)3.2.1 加法电路仿真 (9)3。
2。
2 减法电路仿真 (10)第4章设计总结 (11)参考文献 (12)附录 (13)第1章绪论1.1简易计算器概况提起计算器,值得我们骄傲的是最早的计算工具诞生在中国.中国古代最早采用的一种计算工具叫筹策,又叫做算筹,这种算筹多用竹子制成,也有用木头、兽骨充当材料的,约270,枚一束,放在布袋里克随身携带.17世纪初,西方国家的计算工具有了较大的发展,英国数学家纳皮尔发明的“纳皮尔算筹”,英国牧师奥却德法发明了圆柱形对数计算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可以计算三角函数、指数函数和对数函数,这些计算工具不仅带动了计算机的发展,也为现代计算器的发展奠定了良好的基础,计算器已经成为现代社会应用广泛的计算工具。
计算器一般由运算器、控制器、存储器、键盘、显示器、电源和一些可选外围设备及电子配件通过人工或机器设备组成。
低档计算器的运算器、控制器由数字逻辑电路实现简单的串行运算,其随机存储器只有一、二个单元,供累加存储用.高档计算器由微处理器和只读存储器实现各种复杂的运算程序,有较多的随机存储单元以存放输入程序和数据。
键盘是计算器的输入部件,一般采用接触式或传感式。
为减小计算器的尺寸,一键常常有多种功能。
显示器是计算器的输出部件,有发光二极管显示器或液晶显示器等。
除显示计算结果外,还常有溢出指示、错误指示等。
计算器电源采用交流转换器或电池,电池可用交流转换器或太阳能转换器再充电。
为节省电能,计算器都采用CMOS工艺制作的大规模集成电路,并在内部装有定时不操作自动断电电路。
随着社会需求,计算器也从原有单一的数字加减计算演变为复杂的多功能运算.现在不在单一的在某一方面而是涉及到生活的方方面面。
1.2本文设计要求本次设计的是一个具有加减和乘法运算的简单计算器,并且运用开关输入运算数据,用LED显示运算结果.设计要求:1。
分析设计要求,明确性能指标。
必须仔细分析课题要求、性能、指标及应用环境等,广开思路,构思出各种总体方案,绘制结构框图。
2.确定合理的总体方案。
对各种方案进行比较,以电路的先进性、结构的繁简、成本的高低及制作的难易等方面作综合比较,并考虑器件的来源,敲定可行方案。
3。
设计各单元电路。
总体方案化整为零,分解成若干子系统或单元电路,逐个设计。
4.组成系统。
在一定幅面的图纸上合理布局。
1.3方案论证方案一:用开关输入二进制数字,通过开关的关断和接通来选择运算方式,选择到加减法的运算方式进行加减法运算,运用加法器芯片74LS283实现运算功能,最终将运算结果通过LED显示表示出来.方案二:通过开关输入二进制数字,再将其转换为十进制数字进行加减和乘法运算,最终将计算结果转化为十进制数字输出到LED显示出来。
综上所述,方案一实现起来比较方便,并且不容易出现错误,所以本设计采用方案一进行试验.1.4总体设计方案数电课程设计简易计算器方案有三大块组成:开关输入运算数据、运算电路和显示电路。
开关输入运算数据:我们通过开关的闭合和开通来代表电平的高地位继而代表0和1来输入所要计算的十进制数字,每位十进制数用4位二进制代码表示。
并通过LED 灯转化为可显示的十进制数来体现输入的易操作性. 加减运算电路:加减运算电路主要由74LS283和进位信号门电路组成。
因为正数的补码和原码相同,负数的补码是在反码基础上加1,所以通过异或门将输进来的十进制数全部转换为补码形式,然后送入全加器,个位与个位相加十位与十位相加,结果按高低位一次将进位通过级联全加器传递.得到的结果仍是正确结果的补码,(正数的补码和原码相同)同时还考虑到在负数求补码是可能会产生进位,于是在通过门电路转换补码后仍要将结果通过级联全加器,转换为原码。
最后得到正确结果。
显示电路:显示电路主要由7段显示译码器构成,将加减运算电路计算所得的运算结果每4为输入到一块7448芯片中,按高低位排列就得到了我们所需要的十进制的运算结果了。
第2章 简易计算器各单元电路设计2.1 简易计算加法电路设计置数开关选择运算方式加减法运算电路乘法运算电路译码显示计算结果一位十进制数图1.1 整体设计框图1。
通过开关B1~B4、A1~A4接不同的高低电平来控制输入端所置的两个一位十进制数,译码显示器U12和U15分别显示所置入的两个数。
数A直接置入四位超前进位加法器74LS283的A4—A1端,74LS283的B4—B1端接四个2输入异或门.四个2输入异或门的一输入端同时接到开关J9上,另一输入端分别接开关J5—J8,通过开关J5—J8控制数B的输入。
2.当开关J9接低电平时,B与0异或的结果为B,通过加法器74LS283完成两个数A和B的相加.3。
由于译码显示器只能显示0—9,所以当A+B〉9时不能显示,我们在此用另一片芯片74LS283完成二进制码与8421BCD码的转换,即S〉9(1001)时加上6(0110),产生的进位信号送入译码器U10来显示结果的十位,U11显示结果的个位。
2.2简易计算器减法电路设计该电路功能为计算A-B。
若n位二进制原码为N原,则与它相对应的补码为N补=2n—N原,补码与反码的关系式为N补=N反+1,A-B=A+B补—2n=A+B反+1—2n因为B错误!1= B’;B错误!0=B,所以通过异或门74LS86对输入的数B求其反码,并将进位输入端接逻辑1以实现加1,由此求得B的补码。
加法器相加的结果为:A+B反+1,由于2n=24=(10000)2,相加结果与相2n减只能由加法器进位输出信号完成。
当进位输出信号为1时,它与2n的差为0;当进位输出信号为0时,它与2n差值为1,同时还要发出借位信号.因为设计要求被减数大于或等于减数,所以所得的差值就是A-B差的原码,借位信号为0。
2.3乘法运算电路设计2.4译码显示电路设计图2.4 译码显示电路图译码电路的实现是采用74HC4511BCD码驱动器,驱动共阴极LED数码管.74HC4511内接有上拉电阻,故只需在输出端与数码管之间串入限流电阻既可工作。
译码器还有拒绝伪码的功能,当输入超过1001时,输出全为0。
图7中:A0、A1、A2、A3为BCD码输入端;a、b、c、d、e、f、g为译码输出端,输出1有效,用来驱动共阴极LED数码管;LT’为测试输入端,LT’=0时,译码输出全为1;BI’为消隐输入端,BI’=0时,译码输出全为0,数码管熄灭;LE’为锁定端,LE=1时译码器处于锁定(保持)状态,译码输出保持在LE=0时的数值,LE=0为正常译码.在数字实验板上已完成了译码器和数码管之间的连接,四位数码管可接受四组BCD码输入。
第3章简易计算器整体电路设计3.1系统原理图图3.1 简易计算器整体电路图当开关接通左侧的时,该计算器进行加减法运算;当开关接通到右侧时,计算器进行乘法运算。
3.2部分电路仿真3.2.1加法电路仿真图3.2 加法运算电路仿真通过Multisim软件进行加法部分电路的仿真得到结果与预期结果相同,说明加法运算电路部分设计正确合理。
3.2.2减法电路仿真图3.3 减法运算电路仿真通过Multisim软件进行加法部分电路的仿真得到结果与预期结果相同,说明减法运算电路部分设计正确合理。
第4章设计总结本设计的电路能完成二位以下的任意数字的加减和乘法运算,并能在数码显示管上显示出输入的数和计算的结果,但是在减运算时,本电路运用了反码和补码,这样结果才能输出原码.如果输入的被减数小于减数,则电路输出的结果将是结果的补码。
在电路图设计的时候在网上我查到了一个方案,但是在看了那个方案后我觉得他虽然能实现加法和减法的运算,但是当是小数减大数的时候结果将出现补码,而并不是原码.而且不能表示最高位和符号位。
于是我开始自己设计这个电路,使加法和减法电路能很好地融合在一起。
网上的设计方案解决了加减法输入的切换。
我设计的重点就在加减法输出的整合上.使电路即能解决减法计算时出现的补码问题,又能在加法时显示进位,减法时显示符号位,并且共用输出端.利用真值表我顺利的完成了设计的目标,理论知识第一次有了成功的运用。
参考文献[1] 阎石编著《数字电子技术基础》高等教育出版社2006.5[2] 江捷,马志诚《数字电子技术基础》,北京,北京工业大学出版社,2009,10,01。
[3]王义军,《数字电子技术/电气工程及其自动化》,中国电力出版社,2006,01.[4] 唐志宏.《数字电路与系统》.大连理工大学城市学院电子技术研究室1996.7[5] 刘维恒。
《实用电子电路基础》。
北京:电子工业出版社,1998.4[6]张健华.《数字电子技术》.北京:机械工业出版社,1999.3附录。