4位数计算器的设计

合集下载

4位数加法计算器

4位数加法计算器

安庆师范大学2014级单片机原理与应用课程设计报告课题名称4位数加法计算器的设计姓名吴昊天、伍浩然、王鹏、万吉学号070814018 070814008 070814005 070814001 院、系、部计算机学院物联网工程专业物联网工程指导教师汪文明2016 年6月6日一、设计任务及要求:设计任务:1、通过4*4矩阵键盘输入数字及运算符;2、可以进行4位十进制数以内的加法预算。

如果计算结果超出四位数,则全部显示“ E ;3、可以进行加减乘除所有运算;4、添加其他功能。

要求:首先进行预设计,根据设计的任务要求,先确定设计的硬件电路方案,然后进行硬件电路的初步设计,在计算机上画出硬件电路图,在老师的指导下进行修正硬件电路图,并对所涉及的参数进行计算。

在确定硬件的基础上,要进行软件的总体设计,包括软件主流程的设计以及各子程序的设计,同时,要写出详细的操作说明,如时间的调整方法,显示窗口的时间切换等,以配合软件的设计。

然后进入硬件的调试及编程工作,设计组内的同学可根据任务分工,有调试硬件各功能模块的,如键盘子程序、显示子程序等,有进行整体程序的编制的,各模块的编制过程中要注意资源的衔接。

最后进入联机调试,联机调试的原则也要采用分步走的原则,各个功能模块要逐步套入,通过一个再增加一项功能,从而达到设计的总体要求,不要上来编制个最大的程序,最后无法查找错误。

最后写出设计报告。

指导教师签名:2016年6月6日、成绩指导教师签名:年月曰一、绪言 (1)二、系统设计 (1)2.1设计任务 (1)2.2方案比较与论证 (1)2.2.1系统整体流程图 (2)222单片机的选择方案论证 (2)2.2.3键盘选择方案论证 (2)2.2.4显示模块的选择方案论证 (2)2.2.5蜂鸣器的选择方案论证 (2)三、硬件电路设计 (2)3.1计算器的控制电路图 (2)3.2矩阵键盘的设计................................................ (3)3.3 LCD1602显示电路的设计 (3)3.4蜂鸣器驱动电路的设计 (4)3.5主要元器件选择 (4)四、程序流程图 (5)五、c语言程序设计 (5)六、计算器的仿真 (19)6.1Keil 调试 (19)6.2Proteus 调试 (19)七、结束语 (20)八、参考文献 (21)一、绪言近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。

单片机汇编4位有符号位加法

单片机汇编4位有符号位加法

单片机汇编4位有符号位加法首先,我们需要了解有符号位加法的基本原理。

在计算机中,有符号数通常使用补码表示。

补码是一种能够同时表示负数和正数的编码方式,其计算方式如下:- 对于正数,其补码和原码相同;- 对于负数,其补码是其绝对值的原码取反后加1。

在单片机中,我们可以利用这种补码表示的特性来实现有符号位加法。

下面将介绍一种基于补码的有符号位加法实现算法。

首先,我们需要准备两个有符号数,分别表示为A和B。

这两个有符号数以补码的形式存储在内存中。

我们首先需要将这两个有符号数加载到通用寄存器中,以便进行加法运算。

接下来,我们使用通用寄存器进行加法运算。

在单片机汇编中,通用寄存器可以直接执行加法指令,因此我们不需要额外的算法实现来进行加法运算。

在加法运算完成后,我们得到了两个有符号数的和,存储在通用寄存器中。

接着,我们需要检查加法结果是否溢出。

在有符号位加法中,溢出是一个很重要的问题。

当两个有符号数相加时,可能会产生溢出,导致结果不准确。

在单片机汇编中,我们可以通过检查进位和溢出标志位来判断是否发生了溢出。

如果发生溢出,我们需要进行相应的处理,例如输出错误信息或者进行溢出处理。

最后,我们将加法结果存储回内存中,以便后续程序使用。

在存储结果时,需要注意将补码转换回原码,以确保结果的正确性。

在实际开发中,有符号位加法的实现还可能涉及其他问题,如数据类型转换、数据对齐、运算精度等。

针对这些问题,我们需要设计合理的算法和代码实现来保证程序的正确性和效率。

综上所述,实现单片机汇编4位有符号位加法需要一定的算法设计和代码实现。

只有通过合理的结构设计和精确的算法实现,才能确保有符号位加法的准确性和可靠性。

在实际开发中,我们需要充分了解有符号数的特性和补码表示法,以确保实现的正确性和稳定性。

4位数加法计算器要点

4位数加法计算器要点

4位数加法计算器要点1.输入界面设计在设计4位数加法计算器的输入界面时,应该考虑到用户的使用习惯和操作体验。

界面应该简洁明了,避免过多的功能按钮和复杂的操作步骤。

主要包括两个输入框,用于输入两个4位数的数值,以及一个“计算”按钮用于开始计算。

2.数字输入检查在进行数字输入时,应该对输入的数据进行检查,确保输入的是正确的4位数。

可以对输入框设置限制,只允许输入0-9范围内的数字,并限制输入长度为4位数。

同时,还可以加入实时的输入验证功能,当输入不符合要求时,给予提示,并阻止继续输入。

3.数据计算在进行数据计算时,需要对两个4位数进行相应的运算。

可以采用逐位相加的方式进行计算,从最低位开始相加,逐位向前进位。

可以使用循环的方式进行计算,每次计算一位数的和,并记录进位值。

最后将各位数值和进位值相加,得到最终的结果。

4.精度处理在进行数值计算时,应该考虑到可能存在的相加溢出情况。

当两个4位数相加后超过了4位数的范围,会产生溢出。

在计算过程中,需要判断每一位数相加是否有进位,并将进位值累加到高位上。

最终的结果应该是一个5位数,其中第一位是进位值,后四位是相加的结果。

需要将最终结果进行处理,截取后四位数作为输出结果。

5.输入提示与结果显示在使用4位数加法计算器时,应该给予用户清晰的输入提示和结果显示。

当用户输入完毕后,可以在相应的位置显示用户输入的数值,以便核对和验证。

当用户点击“计算”按钮后,应该将计算结果显示在指定的位置上,并提醒用户计算完成。

同时,还可以增加重置按钮,用于清空输入和结果,方便用户进行下一次计算。

6.错误处理在输入和计算过程中,可能会出现一些错误情况,如输入非法字符、输入不完整等。

在设计4位数加法计算器时,应该考虑到这些错误情况,并进行相应的处理。

可以在出现错误时,给予用户明确的提示信息,并阻止继续计算,直到错误被修正。

综上所述,设计一个功能完善的4位数加法计算器需要注意以上要点。

通过合理的界面设计、输入检查、数据计算、精度处理、输入提示与结果显示以及错误处理,可以实现一个方便、准确、易用的4位数加法计算器。

PLC简易计算器设计

PLC简易计算器设计

PLC简易计算器设计设计任务书可编程控制器》课程设计设计题目:电子计算器设计XXX:学号:专业(方向)年级:11级电气工程及其自动化学生姓名:word文档可自由复制编辑可编程控制器课程设计任务书一)设计题目电子计算器设计二)情况简介在人们日常生活中,买东西、记账、研究等等,凡是与数有关的,我们都可以用到计算器,可见计算器真的很重要。

本文中基于PLC设计的电子计算器比传统计算器更可靠,更方便,性能更好,更容易适应当今高速发展的社会,方便了人们的生活。

这次设计中,将选用西门子S7-200系列PLC,通过梯形图和编程指令两种手段来实现简易计算器的加减乘除功能。

基于PLC设计的电子计算器能够完成简单的加减乘除功能,并能够用七段数码管显示相应的数字及结果,同时也能指示相应的运算类型。

该计算器将采用梯形图编写来实现4位数范围内的加减乘除基本的四则运算。

PLC是一个可进行数模、模数转换,可进行定位控制等一个功能强大的工业控制器,具有高可靠性,以它为基础制作的计算器将具有很高的可靠性。

(三)设计要求1.由按键输入的数值显示在7段数码管上,但只限4位数。

2.按加、减、乘、除键时,第一次输入的值被存放在缓冲区中,当做被加、减、乘、除数,且加、减、乘、除相对的运算指示灯会亮。

3.接着输入一个数,之后若是按下“=”键,则此加、减、乘、除数被存放于另一个缓冲区中,与刚才输入的数做运算,且相对应的运算指示灯熄灭。

4.将运算结果显示在7段数码管上。

四)设计步骤1.查找资料,了解和分析题目所要求具体工程项目控制的过程。

2.确定I/O点数,选择PLC的型号,并根据需要进行硬件系统配置。

3.绘制外部I/O接线图及相干的电气原理图。

4.编程。

word文档可自由复制编辑5.调试。

6.编写设想说明书。

五)设想说明书请求①.完整的设想义务书。

②.确定I/O点数,选择PLC的型号,完成系统组态或硬件配置。

③.正确合理地进行编程元件的地址分配。

毕业设计(论文)-基于AT89C51单片机的简易计算器设计

毕业设计(论文)-基于AT89C51单片机的简易计算器设计

计算器(Calculator)是微型电子计算机的一种特殊类型。

它与一般通用计算机的主要区别在于程序输入方式的不同。

计算器的程序一般都已经固定,只需按键输入数据和运算符号就会得出结果,很容易就能掌握。

而一般计算机的程序可以根据需要随时改动,或重新输入新的程序。

简易计算器主要用于加减乘除;科学计算器,又增添了初等函数运算(有的还带有数据总加、求平均值等统计运算)。

现代电子计算器首次问世是1963年。

那时的计算器是台式的,在美国波士顿的电子博览会上展出过。

与计算机相比,它小巧玲珑,计算迅捷,一般问题不必事先编写复杂的程序。

随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。

这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能机器人。

随着社会需求,计算器也从原有单一的数字加减计算演变为复杂的多种运算。

现在不在单一的在某一方面而是涉及到生活的方方面面.由于我对知识掌握的不够熟练,重点不够清楚,导致在重点与非重点处花费的时间不成比例,进度缓慢,这是设计没能全部完成的部分原因。

目前只做到按键与显示的结合(即在显示器上可以显示数字键还有命令键+-*/ =清零);加法子程序已经编写成功并严整无误,但在整体调试中未能圆满实现,本部分正在调试中。

等调试成功后,其它运算子程序的问题将迎刃而解。

引言 (1)目录 (2)1.简易计算器的设计方案 (3)1.1硬件部分设计方案 (3)1.2软件部分设计 (3)1.3 硬件设计原理图 (4)2. 简易计算器部分电路设计 (5)2.1 AT89C51常用指令 (5)2.2 显示及显示接口 (11)2.3 键盘、液晶显示的组合接口 (15)2.4 算术逻辑运算处理 (18)3.总设计电路及调试 (19)致谢 (21)参考文献 (22)1.简易计算器的设计方案1.1硬件部分设计方案1 单片机部分单片机以AT89C51来做为核心元器件。

4位数加法计算器

4位数加法计算器

安庆师范大学2014级单片机原理与应用课程设计报告课题名称4位数加法计算器的设计姓吴昊天、伍浩然、王鹏、万吉名学0、0、0、0号院、系、计算机学院物联网工程部专物联网工程业指导教汪文明师2016年 6月 6日目录一、绪言 (1)二、系统设计 (1)设计任务 (1)方案比较与论证 (1)系统整体流程图 (2)单片机的选择方案论证 (2)键盘选择方案论证 (2)显示模块的选择方案论证 (2)蜂鸣器的选择方案论证 (2)三、硬件电路设计 (2)计算器的控制电路图 (2)矩阵键盘的设计 (3)LCD1602显示电路的设计 (3)蜂鸣器驱动电路的设计 (4)主要元器件选择 (4)四、程序流程图 (5)五、c语言程序设计 (5)六、计算器的仿真 (19)Keil调试 (19)Proteus调试 (19)七、结束语 (20)八、参考文献 (21)一、绪言近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月异更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。

电子时钟是现代社会中的主要计时工具之一,广泛应用于手机,电脑,汽车等社会生活需要的各个方面,及对时间有要求的场合。

本设计采用AT89C52单片机作为主要核心部件,附以上电复位电路,时钟电路及按键调时电路组成。

数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。

由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。

二、系统设计设计任务1、通过4*4矩阵键盘输入数字及运算符;2、可以进行4位十进制数以内的加法预算。

如果计算结果超出四位数,则全部显示“E”;3、可以进行加减乘除所有运算;4、添加其他功能。

51单片机计算器设计报告

51单片机计算器设计报告

目录一设计概述------------------------------------------3 二硬件电路图---------------------------------------3 三软件流程图---------------------------------------4 四结论------------------------------------------------11 五参考文献-------------------------------------------13一、1.1设计概述计算器通过编译,能实现简单的四位数加减及两位数的乘除,输入的数通过键盘给出,要求显示要操作的数,并显示结果,编译十进制跟十六进制之间转换的程序,实现十进制转十六进制,显示结果。

1.2功能说明简单的运算功能:当通过输入键盘数字时,能够在显示器上显示输出的数值,并且通过想实现的简单运算功能,实现计算器的加、减、乘、除,并将结果显示出来。

进制转换的功能:通过输入的十进制数,经过计算器的功能将其转换为十六进制数,并将结果显示出来。

二、硬件电路图主要程序流程说明:主程序首先进行初始化,设定一些变量及其意义,扫描键盘,当输入有0~9数字时,通过键盘的扫描程序,将数值赋给second并在显示器上来,当输入的是加减符号的时候,通过键盘的扫面程序,赋予OP相应值,并跳到运算部分,通过判断preop的值,执行相应的运算部分,将OP的值赋给preop并把second的值赋给first。

再一次通过输入0~9的数字,再一次经过键盘的扫描程序,输出second的值,最后通过输入键盘上的等号,右键盘扫描得出相应的OP,跳到运算部分,根据程序的流程,将第一个数的跟第二个数进行简单的加、减、乘、除运算,并将结果通过显示器输出。

同理,当需要进行进制之间的转换时,输入相应的数字,通过键盘的扫描不显示在显示器上,再通过控制,进制转换开关,如果进制转换开关置0 按下,就实现了进制之间的相互转换。

4位快速加法器设计原理

4位快速加法器设计原理

4位快速加法器设计原理快速加法器是一种计算器件,可以快速地对两个二进制数进行加法运算。

相对于一般的加法器,它具有更高的速度和效率。

本文主要介绍4位快速加法器的设计原理。

1.基本概念在二进制加法中,加法器通过对两个二进制数分别进行逐位相加的方法,得到它们的和。

二进制加法的基本规则如下:0+0=0;1+0=1;0+1=1;1+1=0(进位1)。

在四位二进制数的加法中,每位相加可以得到一个位和进位两位。

4位快速加法器在计算时需要考虑到位和进位两个方面。

2.快速加法器的组成4位快速加法器可以由4个1位全加器和1个2位全加器组成。

1位全加器的输出等于输入A、B和进位C的和。

输出S等于(A xor B) xor C,进位C 等于AB+C(A xor B)。

2位全加器是由两个1位全加器和一个2选1选择器组成。

输入A和B分别与这两个全加器相连,进位C输入到这两个全加器的进位端。

选择器的选择信号是两个输入和上一个全加器的进位,选择器的输出连接到2位全加器的进位输出。

3.原理图4位快速加法器的原理图如下所示:每个1位全加器都由具有相同运算功能的逻辑门电路组成。

在1位全加器中,输入A、B和进位C分别与XOR、AND和OR门相连,这些门的输出再次进行逻辑运算得到输出S和新的进位C。

2位全加器由两个1位全加器和一个2选1选择器组成。

选择器的选择信号是上一个1位全加器的进位和两个输入的和。

这两个1位全加器的进位输出也分别与这个选择器相连。

4.流程图4位快速加法器的计算流程图如下所示:将输入的两个4位二进制数的第0位分别输入到1位全加器1和2中。

这两个全加器的进位C0均为0,得到第0位的位和(S0)和进位(C1)。

然后,将输入的两个4位二进制数的第1位分别输入到1位全加器3和4中。

全加器3的进位C1为1,因为它是在第0位加法器的进位C1的基础上进行的。

全加器4的进位C2为全加器3的进位C2与两个输入的和的2选1选择器输出的结果。

小学数学四年级《计算器》教案

小学数学四年级《计算器》教案

小学数学四年级《计算器》教案•相关推荐小学数学四年级《计算器》教案(通用10篇)作为一名专为他人授业解惑的人民教师,通常会被要求编写教案,编写教案助于积累教学经验,不断提高教学质量。

那么什么样的教案才是好的呢?下面是小编为大家收集的小学数学四年级《计算器》教案,希望对大家有所帮助。

小学数学四年级《计算器》教案篇1教学目标:1.会正确运用计算器进行四则运算,解决简单的实际问题;会借助计算器探索简单的数与运算的规律。

2.在利用计算工具探究规律的过程中,培养学生观察推理的能力,体验转化思想方法。

3.在探索知识过程中,激发探索数学奥妙的情趣,培养学生乐于思考,实事求是,勇于质疑的良好品质。

教学重点:正确运用计算器进行四则运算。

教学难点:借助计算器探索简单的数与运算的规律。

教学准备:课件、计算器教学过程:一、复习引入(一)复习1.课件出示:2.师:这是计算器,还记得这些是什么键吗?说一说。

(二)引入师:你会用计算器吗?这节课我们就来学习。

【设计意图:复习唤醒学生已有的知识和生活经验,为学习新知做准备。

】二、用计算器进行四则计算,体会计算器的作用(一)用计算器进行四则计算1.用计算器的方法(1)课件出示:386+179=825-138=26×39=312÷8=(2)师:这道题你会用计算器计算吗?自己试一试。

(3)师:说说你是怎么用计算器计算这道题的。

(学生边说边到前面演示)(4)课件出示:师:依次按数字键3、8、6,然后按“+”,再依次按数字键1、7、9,最后按“=”,屏幕上就显示出结果了。

2.试一试(1)课件出示:825-138=26×39=312÷8=师:自己用计算器算出这几道题的结果。

(2)订正答案。

(3)学生质疑①师:在使用计算器计算时有问题吗?(如:按错了怎么办?)②师:对呀,万一按错一键怎么办?(学生可能会想出两种解决方法)方法一:按退格键“←”,清除输错的数字,然后输入正确的。

苏教版四数下册用计算器计算教案

苏教版四数下册用计算器计算教案

【 - 小学作文】【篇一】苏教版四数下册用计算器计算教案2015新苏教版四年级数学下册第四单元集体备课教学设计用计算器计算教案 12第四单元用计算器计算内容分析:本单元在学生较好地掌握了整数四则计算的口算、笔算和估算的基础上,紧接着认识多位数而编排,是极好的时机。

教学内容包括认识计算器、进行较大数的计算,并且探索计算中的一些规律。

认识计算器是使用计算器的前提,用计算器计算是基本技能,探索规律为计算教学增添思维含量。

全单元编排三道例题,具体内容的安排如下表:例1 用计算器进行加、减、乘或除法的一步计算例2 用计算器进行四则混合运算(以两步计算为主)例3探索计算里的规律(一)在“玩”中初步认识计算器上的一些常用功能键计算器在人们的家庭里已经相当普及,大多数学生都见过计算器。

所以,教材开门见山,直接指出“在进行比较复杂的计算时,人们通常使用计算器”。

这句话也在告诉学生,遇到大数目的四则计算,不必列竖式笔算,可以用计算器计算。

这就引出了新的教学内容,也激发了学习计算器计算的兴趣。

使用计算器的方法主要是按键,认识计算器应该知道它的常用功能键。

教材图示了计算器的开关键、数字键、运算符号键、等号键和消除键,要求学生在自己的计算器上找到这些功能键。

学生一旦了解这些键的功能,能正确找到这些键,就可以使用计算器计算了。

指导学生认识计算器的常用功能键,可以让他们尝试着开机和关机,了解计算器的开关键;让他们在开机状态下按动数字键、运算符号键以及显示得数的等号键,了解这些键的功能与使用;让学生尝试使用消除键,了解这个键能修改输入的错误。

计算器上还有其他功能键,不要求学生都认识和使用。

这些功能键安排在“你知道吗”里作简单介绍,不是基本的教学内容与要求。

(二)由易到难,使用计算器计算例1用计算器进行加、减、乘、除一步计算,编排的38+27和38×18都是较小数的计算。

这里选择较小数的运算主要有两个原因:一是较小的数能很快输入计算器,不容易输错数字,不会因输入错误而影响例题的正常教学。

4位数加法器设计报告

4位数加法器设计报告

4位数加法器设计报告一、设计任务和要求1.1、任务描述:1、系统通过4×4的矩阵键盘输入数字及运算符;2、可以进行4位十进制数以内的加法运算,如果计算结果超过4位十进制数,则屏幕显示E;3、可以进行加法以外的计算(乘、除、减);4、创新功能。

1.2、任务要求:1、理解任务书要求,明确分工,查找相关资料,制定系统方案;2、论证系统设计方案,运用Proteus等软件绘制电路原理图;3、根据硬件电路,确定算法,设计程序框图,编写程序代码;4、误差分析与改进,完成设计报告。

二、方案论证2.1、适用矩阵键盘控制作为输入电路,电路和软件稍微复杂,但是相比用独立按键,可节省I/O口,其原理图如2.1所示:图2.1 矩阵键盘控制电路2.2、采用LED数码管显示,数码管图如图2.2.1所示:下图则是加法器电路的原理图:3.1、主控模块该设计的核心控制电路是 AT89C52单片机。

AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

其引脚AT89C51芯片模型3.1.1、主要功能特性(1) 4K字节可编程闪烁存储器。

(2) 32个双向I/O口;128×8位内部RAM 。

(3) 2个16位可编程定时/计数器中断,时钟频率0-24MHz。

4位计数器逻辑电路

4位计数器逻辑电路

4位计数器逻辑电路以下是四位计数器逻辑电路的一个常见设计:四位计数器是一个用于计数和显示0到15之间的数值的电路。

它由四个单独的计数器组成,每个计数器负责计数一个十六进制位。

设计的逻辑电路包括以下组件:1.时钟源:提供稳定的时钟信号,用于驱动计数器计数。

可以使用一个时钟发生器或外部时钟源。

2.4个D触发器:每个触发器都负责存储一个十六进制位的计数值。

D触发器接收时钟信号和使能信号,根据时钟信号的上升沿更新和存储计数值。

3.4-1多路复用器(MUX):用于选择并显示当前计数值的四个十六进制位。

多路复用器的输入连接到每个D触发器的输出,根据计数器的使能信号选择一个输出作为显示。

4.七段数码管(或其他显示设备):用于显示选中的计数值。

根据控制信号,对应的段会被点亮,显示相应的十六进制数。

工作原理如下:1.初始状态为0。

所有D触发器的输入和使能信号接收到适当的值。

2.当时钟信号的上升沿到达时,D触发器根据当前输入状态更新其输出状态。

3.计数器使能信号决定了计数器是否开始计数。

如果使能信号为高电平,则触发器开始计数;如果为低电平,则保持当前计数值不变。

4.当计数器达到15(或其他最大计数值)时,触发器的输出将被重置为0,并从头开始重新计数。

5.通过多路复用器的选择信号,将当前计数器的输出连接到对应的数码管,显示当前计数值。

这是一个简单的四位计数器的逻辑电路,可以根据特定需求进行扩展和定制。

实际设计中可能会有其他的功能和控制信号,但以上是一个基本的工作原理示例。

基于PLC实现的电子计算器毕业设计

基于PLC实现的电子计算器毕业设计

本科生毕业论文(设计)基于PLC实现的电子计算器设计*名:***指导教师:**院系:信息工程学院专业:自动化学号:***********提交日期:2012年4月23日目录中文摘要 (4)英文摘要 (5)1引言 (6)1.1 课题来源 (6)1.2 电子计算器的发展 (6)1.2.1 电子计算器的起源 (6)1.2.2 电子计算器的构成 (7)1.2.3 电子计算器的分类 (8)1.3 PLC简述... (9)1.4 OMRON系列PLC (9)1.4.1 数据传送指令 (10)1.4.2 四则运算指令 (10)1.4.3 七段译码指令 (12)2 控制要求及设计要求 (12)2.1 控制要求 (12)2.2 设计要求 (13)2.3 方案对比 (13)3 硬件结构图和模块设计 (14)3.1 数字键盘连接 (14)3.2 程序流程图 (14)3.3 模块设计 (16)3.3.1 按键模块设计 (16)3.3.2 显示模块设计 (16)3.3.3 运算程序和清屏显示设计 (18)4 程序编写 (18)4.1 PLC选定 (18)4.2 I/O点分配 (18)4.3 外部接线图 (18)4.2 梯形图编写 (19)4.2 指令编写 (24)5 性能分析 (25)5.1 程序测试 (25)5.2 结果分析 (26)6 课题总结及展望 (26)6.1课题总结 (26)6.2 课题展望 (27)参考文献 (28)致谢 (29)基于PLC实现的电子计算器设计指导老师:鲍婕(黄山学院信息工程学院,黄山,安徽245041)摘要:在人们日常生活中,买东西、记账、学习等等,凡是与数有关的,我们都可以用到计算器,可见计算器真的很重要。

本文中基于PLC设计的电子计算器比传统计算器更可靠,更方便,性能更好,更容易适应当今高速发展的社会,大大方便了人们的生活。

这次设计中,将选用OMRON系列PLC,通过梯形图和编程指令两种手段来实现简易计算器的加减乘除功能。

4位数计算器的设计

4位数计算器的设计

4位数计算器的设计标题:4位数计算器的设计与功能摘要:本文介绍了一个基于4位数的计算器的设计与功能,包括硬件构成和软件编程两个方面。

设计的计算器可进行四则运算、求平方、取倒数等操作,并具备用户友好型的界面设计和操作方式。

通过详细的设计与功能介绍,读者能够了解到如何构建一个高效、实用的4位数计算器。

1.引言计算器是一种非常常见和实用的工具,几乎在我们日常生活中都会用到。

其中,4位数的计算器被广泛使用于财务、科学等领域。

本文将介绍一个基于4位数的计算器的设计与功能,旨在提供一个高效、实用的计算工具。

2.硬件构成2.1中央处理器(CPU)计算器的核心是中央处理器,它负责执行各种计算操作。

我们选用一个高性能、低功耗的微处理器作为CPU,确保计算速度和能耗之间的平衡。

此外,CPU还需要支持浮点数运算和定点数运算,以适应各种复杂的运算需求。

2.2显示屏计算器的显示屏将用于显示输入和输出的数字。

我们选用了液晶显示屏,它具有清晰度高、能耗低等优点。

显示屏的尺寸适中,以便用户能够方便地读取数字。

2.3键盘为了用户能够方便输入数字和操作符,我们设计了一个简洁、易于操作的键盘。

键盘上包含0-9的数字键和加、减、乘、除等运算符键,用户只需通过按键即可实现输入和操作。

2.4存储器存储器包括数据存储器和程序存储器。

数据存储器用于存储用户输入的数字和计算结果,而程序存储器用于存放计算器的程序指令。

我们选用了高速、大容量的存储器,以确保计算的速度和存储量。

3.软件编程3.1系统设计计算器的软件编程采用了模块化设计,方便扩展和维护。

整个系统包括输入模块、计算模块、显示模块和存储模块。

其中,输入模块负责获取用户的输入,计算模块进行各种运算操作,显示模块将计算结果显示在屏幕上,存储模块用于存储计算结果。

3.2功能设计计算器的功能包括四则运算、求平方、取倒数等。

用户可以通过按键输入相应的操作符和数字,然后计算器将根据用户的输入进行相应的计算并输出结果。

4位数加法计算器的设计—电子线路实现训练

4位数加法计算器的设计—电子线路实现训练

4位数加法计算器的设计—电⼦线路实现训练四川师范⼤学成都学院4位数加法计算器的设计—电⼦线路实现训练学⽣姓名学号所在系通信系专业名称通信⼯程班级2009级通信⼯程2班指导教师四川师范⼤学成都学院⼆○⼀⼀年六⽉⽬录⼀、设计任务 (3)⼆、⽅案与论证 (3)(⼀)控制器的选择 (3)(⼆)显⽰器的选择 (4)三、系统硬件设计 (5)(⼀)系统总框图 (5)(⼆)原理图设计 (5)四、系统软件设计 (7)五、总结与展望 (7)六、参考⽂献 (8)附录⼀:系统总电路 (9)附录⼆:系统功能测试 (10)四则运算如图: (10)时钟显⽰如图:(创新部分) (10)附录三:系统PCB图 (11)附录四:源代码 (12)电⼦线路实现训练4位数加法计算器的设计—电⼦线路实现训练⼀、设计任务系统通过4×4的矩阵键盘输⼊数字及运算符。

可以进⾏4位⼗进制数以内的加法运算,如果计算结果超过4位⼗进制数,则屏幕显⽰E可以进⾏加法以外的计算(乘、除、减)。

其他功能(时钟显⽰)画出完整的电路原理图(包含电源部分)和PCB板图。

⼆、⽅案与论证(⼀)控制器的选择控制器主要⽤于各模块控制对显⽰、计算等。

控制器的选择有以下三种⽅案。

⽅案1:8位AT89S51AT89S51是ATMEL公司⽣产,该单⽚机算术运算功能强,软件编程灵活、⾃由度⼤,可以⽤软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积⼩、技术成熟和成本低等优点,使其在各个领域应⽤⼴泛。

⽅案2:采⽤FPGA(现场可编程门列阵)作为系统的控制器。

FPGA采⽤并⾏的输⼊输出⽅式,提⾼了系统的处理速度,适合作为⼤规模实时系统的控制核⼼。

但由于本设计对数据处理的速度要求不⾼,FPGA的⾼速处理的优势得不到充分体现,并且由于其集成度⾼,使其成本偏⾼,同时由于芯⽚的引脚较多,实物硬件电路板布线复杂,加重了电路设计和实际焊接的⼯作。

⽅案3: 32位LM3S615LM3S615采⽤为⼩型嵌⼊式应⽤⽅案⽽优化的32位ARM?CortexTM-M3 v7M结构,可兼容Thumb?的Thumb-2专⽤指令集处理器内核,可提⾼代码密度,50-MHz操作。

4位加法计算器工作原理

4位加法计算器工作原理

4位加法计算器工作原理加法计算器是一种常见的计算工具,它能够方便地完成数字的相加运算。

本文将介绍4位加法计算器的工作原理。

1. 组件介绍在了解4位加法计算器的工作原理之前,先来了解一下它的组成部分。

4位加法计算器主要由数字显示屏、按键、控制电路和存储器四部分组成。

其中,数字显示屏用于显示运算结果,按键用于输入加法运算的数字,控制电路则负责控制整个计算过程,而存储器则存储中间结果并参与运算。

2. 工作原理当我们需要进行4位数字相加的运算时,首先会通过按键输入待相加的数字。

在输入完毕后,控制电路会接收到输入的数值,并将其存储在存储器中。

然后,控制电路通过运算逻辑电路,将存储器中的数值进行相加运算。

在相加运算的过程中,控制电路会根据所设定的规则,将进位(如果有)从低位传递至高位,以确保每位数字的相加结果准确无误。

同时,控制电路还会根据需要在数字显示屏上显示中间运算结果,方便操作者进行计算。

当所有位数的相加运算完成后,控制电路将最终结果从存储器中读取,并将结果显示在数字显示屏上,供操作者查看。

3. 工作过程为了更好地理解4位加法计算器的工作原理,我们来简要描述一下它的工作过程。

首先,操作者利用按键输入待相加的4个数字。

这些数字将被存储在存储器中。

接下来,控制电路将按照设定的运算规则,将4个数字进行相加运算。

在运算过程中,如有进位,则控制电路会将进位从低位向高位传递,确保结果的准确性。

同时,控制电路会根据需要在数字显示屏上显示每一步的中间结果,方便操作者跟踪计算。

最终,当所有位数的相加运算完成后,控制电路将最终结果从存储器中读取,并将其显示在数字显示屏上。

4位加法计算器通过数字显示屏、按键、控制电路和存储器等部件的协同工作,实现了数字相加的功能。

在使用过程中,操作者只需简单地输入待相加的数字,计算器会自动完成运算,并将结果显示出来。

通过本文的介绍,我们对4位加法计算器的工作原理有了更清晰的了解。

希望能帮助读者更好地理解和使用这一常见的计算工具。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要 01 总体任务 (1)1.1设计目的 (1)1.2设计内容和要求 (1)1.3 设计思路 (1)2 设计原理分析 (2)2.1 计算器的工作原理 (2)2.1.1 计算器的工作流程 (2)2.1.2 编程实现控制 (2)2.1.3 功能拓展 (2)2.2 单片机计算器的基本构成及原理 (2)3硬件电路的设计 (4)3.1系统硬件总电路构成及原理 (4)3.2硬件电路的部分组成元器件的简介 (4)3.2.1AT89C51单片机 (4)3.2.2 八段LED数码管 (4)3.2.3 矩阵键盘 (6)3.3 元器件清单 (7)3.4 电路原理图 (7)4 系统程序的简单设计 (8)4.1 程序方框图 (8)4.2 计算器程序 (8)5 系统的仿真调试 (15)6 课程设计总结 (16)参考文献 (17)本文论述了单片机4位数加法计算器的设计,从对设计任务的分析到画电原理图到编程和最后的仿真调试,都进行了一个简单的描述。

在设计过程中,采用Keil软件编写源程序,用Protues 7 professional的ISIS 7 professional软件画电原理图并且仿真,通过对编程时的编译和对仿真结果现象的观察,不断地对源程序以及电原理图的修改,最后成功设计出了一个能够进行4位数加法运算的计算器。

该计算器通过4×4的矩阵键盘输入数字及运算符,若运算结果超过4位十进制数,则显示为E;另外,也能进行减法、乘法以及除法的运算,在进行减法运算时,若运算结果小于零,则显示其绝对值;进行除法运算时,若除数等于零,则显示E。

关键词:计算器;单片机;数码管;矩阵键盘1 总体任务1.1设计目的1.通过单片机课程设计,熟练掌握c语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。

2.通过4位数加法计算器的设计,掌握c语言编程的基本语法,和简单程序的编写,最终提高我们的逻辑抽象能力。

1.2设计内容和要求内容:设计一个4位数加法计算器要求:该计算器通过4×4的矩阵键盘输入数字和运算符,能进行4位十进制以内的正数的加、减、乘、除的运算,如果运算结果超过4位十进制数,4位数码管全部显示为E。

1.3 设计思路1.先熟悉实验原理,了解计算器的工作过程及其显示,了解计算器电原理图的组成元器件。

2.了解各元器件的工作原理。

3.在keil软件里编写程序,用Protues 7 professional的ISIS 7 professional软件绘制电原理图,并进行仿真,通过对仿真现象的观察,修改原理图或程序,直到满足设计要求为止。

2 设计原理分析2.1 计算器的工作原理2.1.1计算器的工作流程计算器是对键盘输入的数字及运算符等信号进行分析和处理,最后通过数码管显示出结果的计算工具。

当然,在输入数字的同时,数码管也是会显示出输入的数字的,其整个工作流程图如图2.1所示。

外界输入数字或运算符微处理器处理并运算显示器显示结果图2.1 计算器的工作流程图2.1.2编程实现控制通过编写程序,实现对输入信号的识别、输入数字的显示以及运算结果的显示。

2.1.3 功能拓展在进行减法运算时,若运算结果小于0,数码管显示其绝对值;在进行除法运算时,若除数等于0,数码管显示EEEE。

2.2 单片机计算器的基本构成及原理AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。

它能进行简单的运算,通过编写程序,可以让它完成对输入信号的识别、处理以及显示等功能。

它完全能满足4位加法计算器的要求,能够完成对键盘输入信号的识别、处理等功能。

据此,本设计系统以单片机位核心,连接成最小系统,由键盘输入模块和4位数码管输出模块等组成,系统放入总体方框图如图2.2所示。

键盘输入最小系统外围接口电路单片机数码管显示图2.2系统的总体方框图键盘作为整个系统的输入端口,单片机是整个系统的核心,兼有识别信号和处理等功能,而数码管是整个系统的输出部分,用于显示输入的数字和运算后的结果。

3硬件电路的设计3.1系统硬件总电路构成及原理实现本设计要求的具体功能,可以选用AT89C51单片机及外围器件构成最小控制系统,4×4的矩阵键盘和4位共阳极的数码管组成。

其中4×4的矩阵键盘是用来输入信号的,而4位共阳极的数码管是用来显示输入的数字及运算结果的。

3.2硬件电路的部分组成元器件的简介3.2.1AT89C51单片机AT89C51单片机是80C51类型中的一种,其基本型包含CPU系统、存储器系统和I/O 口及其他功能单元。

单片机的最小控制系统如图3.1所示。

图3.1 单片机及其最小控制系统3.2.2 八段LED数码管LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。

LED数码管的结构简单,分为七段和八段两种形式,也有共阳极和共阴极之分。

以八段共阳管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示sP,即点),每个发光二极管的阳极连在一起。

这样,一个LED数码管就有I根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。

为方便起见,本文主要讨论共阳极八段LED数码显示管,其他类形的显示管与其类似。

图3.2即为八段数码管,下面的引脚从左至右一次为a,b,c,d,e,f,g,dp和位选引脚。

图3.2 LED数码管数码管的显示原理:通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如a,b,c,d,e,f,g全亮是显示为8,其中共阳极连接的数码管的驱动代码如表3.1所示。

表3.1 共阳极数码管驱动代码显示数值dp g f e d c b a 驱动代码(16进制)0 1 1 0 0 0 0 0 0 C01 1 1 1 1 1 0 0 1 F92 1 0 1 0 0 0 1 0 A43 1 0 1 0 0 0 0 B04 1 0 0 1 1 0 0 1 995 1 0 0 1 0 0 1 0 926 1 0 0 0 0 0 1 0 827 1 1 1 1 1 0 0 0 F88 1 0 0 0 0 0 0 0 809 1 0 0 1 0 0 0 0 904位八段数码显示管是由4个数码管组成,如图3.3所示,其左侧的a,b,c,d,e,f,g,dp为数码管的驱动引脚,右侧的1,2,3,4为数码管的位选引脚。

图3.3 4位数码显示管4位数码管显示计算数据的过程:如输入数字4136,当从键盘上输入4时,4位数码管第4位显示4,其他三位不亮;再次输入1时,数码管第3位显示4,同时第4位显示1,其他两位不亮;再次输入3时,数码管第2位显示4,同时第3位显示1,第2位显示3,第一位不亮;再次输入6时,数码管第1位显示4,同时第2位显示1,第3位显示3,第4位显示6。

3.2.3 矩阵键盘矩阵键盘是由16个按钮组成的, 16个按钮按4行4列的顺序排列构成4×4的矩阵键盘,如图3.4所示,图3.4所示的键盘是Protues 7 professional的ISIS 7 professional 软件中的一个元器件,其原理就是16个按钮按4行4列排列构成的。

图3.4 矩阵键盘在4位计算器的设计中,单片机识别矩阵键盘是通过按列扫描的方式进行的。

其具体过程如下:对所有的列加以高电平,对第一行(A行)加以低电平,扫描列的电平变化,如列有高电平变为低电平,则能确定按下的键是哪一个;如第一列没有电平变化,依次对第二行(B行)、第三行(C行)和第四行(D行)加以低电平,分别对列进行扫描,看列的电平变化,来确定按下的键。

3.3 元器件清单4位加法计算器的硬件电路图主要由表3.2所示的元器件组成表3.2元器件列表器件说明AT89C51单片机核心器件晶体51单片机工作的振荡源电阻对电流大小进行限制电容51单片机复位和振荡源工作的辅助器件矩阵键盘用于输入数字和运算符4位8段数码管用于显示输入的数字及运算结果3.4 电路原理图图3.5 系统电路原理图4 系统程序的简单设计4.1 程序方框图图4.1 计算器程序流程图4.2 计算器程序#include <reg51.h>sbit P3_0=P3^0;sbit P3_1=P3^1;sbit P3_2=P3^2;sbit P3_3=P3^3;unsigned char sz[12],xs1[4],xs2[4],xs3[4],xs4[4],sj;int i,cs,bb,t1,t2,fh,s1,s2,k;void chushihua() /*初始化程序*/ {bb=1;xs1[0]=10;xs1[1]=10;xs1[2]=10;xs1[3]=10;xs2[0]=10;xs2[1]=10;xs2[2]=10;xs2[3]=10;xs3[0]=11;xs3[1]=11;xs3[2]=11;xs3[3]=11;xs4[0]=0;xs4[1]=10;xs4[2]=10;xs4[3]=10;t1=0;t2=0;s1=s2=0;fh=0;cs=1;}void xianshi(unsigned char xs[4]) /*显示程序*/ {int i,j;unsigned char zy;zy=0xf1;for (i=0;i<4;i++){P2=(0xff-zy);P1=sz[xs[i]];zy=(zy>>1);for (j=0;j<100;j++) ;}return;}unsigned char saomiao() /*键盘扫描程序*/{int i;unsigned char pp;for(i=0;i<1000;i++);P0=0xfe;P3=0x0f;pp=P3;if (P3_0==0) {P3=0x0f;pp=P3;while (P3_0==0);for (i=0;i<1000;i++);return 7;}if (P3_1==0) {P3=0x0f;pp=P3;while (P3_1==0);for (i=0;i<1000;i++);return 8;}if (P3_2==0) {P3=0x0f;pp=P3;while (P3_2==0);for (i=0;i<1000;i++);return 9;}if (P3_3==0) {P3=0x0f;pp=P3;while (P3_3==0);for (i=0;i<1000;i++);return 11;}P0=0xfd;P3=0x0f;pp=P3;if (P3_0==0) {P3=0x0f;pp=P3;while (P3_0==0);for (i=0;i<1000;i++);return 4;}if (P3_1==0) {P3=0x0f;pp=P3;while (P3_1==0);for (i=0;i<1000;i++);return 5;}if (P3_2==0) {P3=0x0f;pp=P3;while (P3_2==0);for (i=0;i<1000;i++);return 6;}if (P3_3==0) {P3=0x0f;pp=P3;while (P3_3==0);for (i=0;i<1000;i++);return 12;}P0=0xfb;P3=0x0f;pp=P3;if (P3_0==0) {P3=0x0f;pp=P3;while (P3_0==0);for (i=0;i<1000;i++);return 1;}if (P3_1==0) {P3=0x0f;pp=P3;while (P3_1==0);for (i=0;i<1000;i++);return 2;}if (P3_2==0) {P3=0x0f;pp=P3;while (P3_2==0);for (i=0;i<1000;i++);return 3;}if (P3_3==0) {P3=0x0f;pp=P3;while (P3_3==0);for (i=0;i<1000;i++);return 13;}P0=0xf7;P3=0x0f;pp=P3;if (P3_0==0) {P3=0x0f;pp=P3;while (P3_0==0);for (i=0;i<1000;i++);return 16;} if (P3_1==0) {P3=0x0f;pp=P3;while (P3_1==0);for (i=0;i<1000;i++);return 0;}if (P3_2==0) {P3=0x0f;pp=P3;while (P3_2==0);for (i=0;i<1000;i++);return 15;} if (P3_3==0) {P3=0x0f;pp=P3;while (P3_3==0);for (i=0;i<1000;i++);return 14;}return 10;}void chuli(unsigned char x) /*运算程序*/{int i;if (x==16){cs=0;k=2;return ;}if (x>=0 && x<10){k=0;if (bb==1){if (s1==4) {cs=0;return ;}else{for (i=3;i>0;i--)xs1[i]=xs1[i-1];xs1[0]=x;s1++;t1=t1*10+x;}}if (bb==2){if (s2==4) {cs=0;return ;}else{for (i=3;i>0;i--)xs2[i]=xs2[i-1];xs2[0]=x;s2++;t2=t2*10+x;}}}if (x>10){if (bb==1) {fh=x;bb=2;return;} if (bb==2){if(fh==11&&t2==0)t1=10000;if (fh==11) t1=t1/t2;if (fh==12) t1=t1*t2;if (fh==13) t1=t1-t2;if (fh==14) t1=t1+t2;if(t1<0) t1=-t1;if (t1>=10000) {cs=0;k=1;return;}else{if (t1>=0 && t1<10) {xs1[0]=t1;xs1[1]=10;xs1[2]=10;xs1[3]=10;}if (t1>=10 && t1<100){xs1[0]=t1%10;xs1[1]=t1/10;xs1[2]=10;xs1[3]=10;}if (t1>=100 && t1<1000){xs1[0]=t1%10;xs1[1]=(t1-(t1/100)*100)/10;xs1[2]=t1/100;xs1[3]=10;}if (t1>=1000 && t1<10000){xs1[0]=t1%10;xs1[1]=t1%100/10;xs1[2]=(t1-(t1/1000)*1000)/100;xs1[3]=t1/1000;} bb=2;s2=0;t2=0;xs2[0]=10;xs2[1]=10;xs2[2]=10;xs2[3]=10;fh=x;}}}}void main() /*主程序*/{sz[0]=0xc0;sz[1]=0xf9;sz[2]=0xa4;sz[3]=0xb0;sz[4]=0x99;sz[5]=0x92;sz[6]=0x82;sz[7]=0xf8;sz[8]=0x80;sz[9]=0x90;sz[10]=0xff;sz[11]=0x86;cs=0;k=2;for (;;){if (cs==0) chushihua();if (cs==1) sj=saomiao();if (cs==1 && sj!=10) chuli(sj);if (cs==1 &&(bb==1 || bb==2 && s2==0)) xianshi(xs1);if (cs==1 &&(bb==2 && s2!=0)) xianshi(xs2);if(k==1)xianshi(xs3);if(cs==1&&k==2)xianshi(xs4);}}5 系统的仿真调试进行110+600+9500的加法运算时,在进行前一部分的加法,即110+600是的结果显示如图5.1所示。

相关文档
最新文档