当前位置:文档之家› 毕业设计简易加减乘除计算器

毕业设计简易加减乘除计算器

毕业设计

题目简易加减乘除计算器

系别

专业

班级

姓名

学号

指导教师

日期

设计任务书

设计题目:

简易加减乘除计算器

设计要求:

1.根据所学内容运用编程做一个简易加减乘除计算器,实现加、减、乘、除、等以及清零的功能。

2.设置一组数码管, 使其能够显示程序运行,按键动作的内容。

3.设置一组按键,使其键依次对应0——9、“+”、“-”、“*”、“/”、“=”和清除键。

4.可以进行小于255的数的加减乘除运算,并可连续运算。当键入值大于255时,将自动清零,可重新输入。

设计进度要求:

第一周:确定题目,寻找单片机和计算器设计的相关资料;

第二周:读懂资料,有初步的设计思路;

第三周:绘制硬件电路图;

第三周:设计软件框图;

第四周:相应软件设计(程序设计);

第五周:进行程序调试并且修改;

第六周:写毕业设计论文;

第七周:修改并提交毕业设计;

第八周:准备论文答辩;

指导教师(签名):

摘要

在很多领域的数据处理中要用到数学运算,作为计算机自动处理系统更显得重要。此项目设计以单片机为核心部件的计算器,采用4*4矩阵式键盘,16个键依次对应0——9、“+”、“-”、“*”、“/”、“=”和清除键。使用单片机最小应用系统1模块,简单方便。采用静态显示,显示器由5个共阴极数码管组成。输入只有两个信号,它们是串行数据线DIN和移位信号CLK。5个串/并行移位寄存器芯片74LS164首尾相连。每片的并行输出作为LED数码管的段码。

本计算器系统简单,实用性强,成本低,使用维护方便,软件功能强,运行稳定可靠等优点。

关键词:单片机,计算器,键盘,静态显示

前言

随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小、功能将更强。在单片机家族中,80C51系列是其中的佼佼者,加之Intel公司将其MCS –51系列中的80C51内核使用权以专利互换或出售形式转让给全世界许多著名IC制造厂商,如Philips、 NEC、Atmel、AMD、华邦等,这些公司都在保持与80C51单片机兼容的基础上改善了80C51的许多特性。这样,80C51就变成有众多制造厂商支持的、发展出上百品种的大家族,现统称为80C51系列。80C51单片机已成为单片机发展的主流。专家认为,虽然世界上的MCU品种繁多,功能各异,开发装置也互不兼容,但是客观发展表明,80C51可能最终形成事实上的标准MCU芯片。

本设计采用的是ATMEL公司的AT89C51芯片,此芯片根据了充分的静止CMOS 控制器与三级节目记忆锁,共有:

32 条I/O 线, 2 定时计数器, 6 个中断来源,

4 K 闪存, 128 个字节在芯片RAM。

由于本设计所做的是一个会加减乘除的计算器,所以要用到单片机的最小应用系统模块1,还需要用到矩阵式键盘和静态显示模块。

而我的硬件设计详见第二章,主要介绍了需要哪几部分硬件电路和硬件系统的概叙。在2.1节介绍了主要的框架;2.2节简单的介绍了单片机最小应用系统的性能和附属电路;2.3节详细介绍了键盘控制电路;2.4节介绍了静态显示电路。在第三章中我们详细的解说了软件系统的设计。3.1节介绍了我们做这个设计的程序设计思路;3.2节画出了总的程序设计框图;3.3节分别罗列出各个子程序的框图。第四章是我对此设计的调试过程和结果显示。第五章就是我对此设计的总体概括,体会和心得。

我所设计的这个计算器可适用于比较简单的加减乘除运算,比如小学生可以借助它进行较大数目的四则运算,并运用它来探索有关规律,有利于帮助学生形成初步的探索和解决问题的能力。

目录

摘要 ................................................................... I I 前言 .. (1)

目录 (2)

1 单片机的发展及应用 (3)

1.1 单片机的发展 (3)

1.2 单片机的应用 (4)

2 总体方案设计 (5)

2.1系统框图 (5)

2.2显示控制方案 (5)

2.3键盘控制方案 (5)

3 硬件设计 (7)

3.1 89S51单片机的简介 (7)

3.2 89S51单片机的引脚 (8)

3.3 89S51I/O接口组成及功能 (9)

3.4 74LS164的功能 (10)

3.5 键盘接口工作原理 (11)

3.6 七段LED显示工作原理 (13)

3.7 电路原理 (14)

4设计思路 (16)

4.1 主程序模块 (16)

4.2静态显示模块 (17)

4.3 按键程序模块 (17)

5 系统调试 (19)

5.1 在伟福中的调试 (19)

5.2 在KEIL中的调试并连接实验箱 (20)

6 结论 (25)

致谢 (26)

参考文献 (27)

附录A (28)

1 单片机的发展及应用

1.1 单片机的发展

单片微型计算机是微型计算机的一个重要分支,也是一种非常活跃和颇具有生命力的机种。单片微型计算机简称单片机,特别适用于工业控制领域,因此又称为微控器。

1971年微处理器研制成功不久,就出现了单片微型计算机即单片机,但最早的单片机是1位的,处理能力有限。

果将8位单片机的推出作为起点,那么单片机的发展历史大致可以分为以下几个阶段:

第一阶段(1976—1978):单片机的探索阶段。以Intel公司的MCS-48为代表。MCS-48的推出是在工控领域的探索,参与这一探索的公司还有Motorola、Zilog等。都取得了满意的效果。这就是SCM的诞生年代,“单片机”一词即由此而来。

第二阶段(1978—1982):单片机的完善阶段。Intel公司在MCS-48基础上推出了完善的、典型的单片机系列MCS-51。它在以下几个方面奠定了典型的通用总线型单片机体系结构。

(1).完善的外部总线。MCS-51设置了经典的8位单片机的总线结构,包括8位数据总线、16位地址总线、控制总线及具有多机通信功能的串行通信接口。

(2).CPU外围功能单元的集中管理模式。

(3).体现工控特性的地址空间及位操作方式。

(4).指令系统趋于丰富和完善,并且增加了许多突出控制功能的指令。

第三阶段(1982—1990):8位单片机的巩固发展及16位单片机的推出阶段,也是单片机向微控制器发展的阶段。Intel公司推出的MCS-96系列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽调制器等纳入片中,体现了单片机的微控制器特征。

第四阶段(1990—):微控制器的全面发展阶段。随着单片机在各个领域全面、深入地发展和应用,出现了高速、大寻址范围、强运算能力的8位/16位/32位通用型单片机,以及小型廉价的专用型单片机。

1.2 单片机的应用

单片机的应用很广,分别在以下领域中得到了广泛的应用。

工业自动化:在自动化技术中,无论是过程控制技术、数据采集技术还是测控技术,都离不开单片机。在工业自动化的领域中,机电一体化技术将发挥愈来愈重要的作用,在这种机械、微电子和计算机技术为一体的综合技术(例如机器人技术、数控技术)中,单片机将发挥非常重要的作用特别是近些年来,随着计算机技术的发展,工业自动化也发展到了一个新的高度,出现了无人工厂、机器人作业、网络化工厂等,不仅将人从繁重、重复和危险的工业现场解放出来,还大大提高了生产效率,降低了生产成本。

仪器仪表:目前对仪器仪表的自动化和智能化要求越来越高。在自动化测量仪器中,单片机应用十分普及。单片机的使用有助于提高仪器仪表的精度和准确度,简化结构,减小体积,易于携带和使用,加速仪器仪表向数字化、智能化和多功能化方向发展。

消费类电子产品:该应用主要反映在家电领域。目前家电产品的一个重要发展趋势是不断提高其智能化程度。例如,电子游戏、照相机、洗衣机、电冰箱、空调、电视机、微波炉、手机、IC卡、汽车电子设备等。在这些设备中使用了单片机后,其功能和性能大大提高,并实现了智能化、最优化控制

信方面:较高档的单片机都具有通信接口,因而为单片机在通信设备中的应用创造了很好的条件。例如,在微波通信、短波通信、载波通信、光纤通信、程控交换等通信设备和仪器中都能找到单片机的应用。

武器装备:在现代化的武器装备中,如飞机、军舰、坦克、导单、鱼雷制导、智能武器设备、航天飞机导航系统,都有单片机在其中发挥重要作用。

终端及外部设备控制:计算机网络终端设备,如银行终端,以及计算机外部设备如打印机、硬盘驱动器、绘图机、传真机、复印机等,在这些设备中都使用了单片机。

近年来随着科技的飞速发展,同时带动自动控制系统日新月异更新,单片机的应用正在不断地走向深入。

2 总体方案设计

2.1系统框图

计算器的总体设计框图如图2.1所示。

图2.1 系统框图

2.2显示控制方案

在单片机应用系统中,显示分为静态示和动态显示,本次设计采用静态显示。静态显示数码管中的各位相互独立,而且各位的显示字符一经确定相应的输出将维持不变,直到显示另一个字符为止。正因为如此,静态显示的亮度都比较高。各位分别由一个8位I/O接口控制段选码,故在同一时间里,每一位显示的字符可以各不相同。这种显示方式接口,较小的电流即可获得较高的亮度,且占用CPU时间少,编程简单,便于监测和控制,本设计所需显示位数不多,故采用静态显示模块,在实验箱上连接简单、方便。

2.3键盘控制方案

键盘分为独立式键盘和行列式键盘,独立式键盘接口电路配置灵活,硬件结构

简单,工作可靠但每个按键必须占用一跟I/O接口线,I/O接口线浪费较大,在单片机应用系统中,有时只需要几个简单的按键向系统输入信息,可将按键直接在一根I/O接口线上,故只在按键数量不多时采用。而行列式键盘每条行线与列线在交叉处不直接相通,而是通过一个按键加以连接,当按键较多时可采用行列式键盘以节省I/O接口。本次设计计算器所用按键较多,为节省I/O接口,方便设计,故采用矩阵式键盘。

3 硬件设计

3.1 89S51单片机的简介

AT89C51是美国ATMEL公司生产的低电压,高性能的CMOS8位单片机片内4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。AT89C51单片机可为你提供许多高性价的应用场合,可灵活的应用于各种控制领域。

主要性能参数:

·与MCS-51产品指令系统的全兼容

·4k字节可重擦写Flash闪速存储器

·1000次可擦写周期

·全静态操作:0Hz-24MHz

·三级加密程序存储器

·128×8字节内部RAM

·32个可编程I/O口线

·2个16位定时/计数器

·6个中断源

·可编程串行UART通道

·低功耗空闲和掉电模式

3.1.1 AT89C51功能特性描述:

AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量中断结构,一个全双工串行通信口,片内震荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件的可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,窜行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但震荡器停止工作并禁止所有部件工作直到下一个硬件复位。

AT89C51

图3.1.1 单片机A T89C51

3.1.2 AT89C51引脚功能说明:

3.2 89S51单片机的引脚

89S51单片机内部总线是单总线结构,即数据总线和地址总线是公用的. 89S51有40条引脚, 与其他51系列单片机引脚是兼容的. 这40条引脚可分为I/O接口线、电源线、控制线、外接晶体线4部分。 89S51单片机为双列直插式封装结构, 如图3.2所示。

图3.2 89S51引脚分配图

89S51单机的电源线有以下两种:

(1) VCC:+5V电源线。电源线

(2) GND:接地线。

89S51单片机的外接晶体引脚有以下两种:

(1)XTAL1:片内振荡器反相放大器的输入端和内部时钟工作的输入端。采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。

(2) XTAL2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。采用外部振荡器时,该引脚悬空。外接晶体引脚。

控制线 89S51单片机的控制线有以下几种:

(1) RST:复位输入端,高电平有效。

(2) ALE/PROG:地址锁存允许/编程线。

(3) PSEN:外部程序存储器的读选通线。

(4) EA/Vpp:片外ROM允许访问端/编程电源端。

3.3 89S51I/O接口组成及功能

8051共有4 I/O端口,为P0,P1,P2,P3;4个I/O口都是双向的,且每个口都

具有锁存器。每个端口有8条线,共计32条I/O线。

P0.0~P0.7;P1.0~P1.7;P2.0~P2.7;P3.0~P3.7

(1) P0 有三个功能

1)外部扩充存储器时,作数据总线(D0~D7)

2)外部扩充存储器时,作地址总线(A0~A7)

3)不扩充时,作一般I/O使用,内部无上拉电阻,作为输出/输入使用时应加上拉电阻.。

(2) P1只做I/O口使用,有内部上拉电阻。

(3)P2有两个功能

1) 扩充外部存储器时,作地址总线(A8~A15)使用。

2)作一般I/O口使用,有内部上拉电阻。

3)P3有两个功能

除作为I/O口(有内部上拉电阻)外,还有一些特殊功能。

3.4 74LS164的功能

74LS164是一个串入并出的8位移位寄存器,他常用于单片机系统中,用来驱动数码管。它内部有一个的8位移位寄存器,先一位一位地移入,等到8个移满了,再给出个信号将8位数据一起输出,就是所谓的串转并。其管脚图如下所示

图3.3 74Ls164管脚图

其中A、B(第1、2脚)为串行数据输入端,2个引脚按逻辑与运算规律输入信号,共一个输入信号时可并接。T(第8脚)为时钟输入端,可连接到串行口的TXD端。每一个时钟信号的上升沿加到T端时,移位寄存器移一位,8个时钟脉冲过后,8位二进制数全部移入74LS164中。R(第9脚)为复位端,当R=0时,移位寄存器各位复0,只有当R=1时,时钟脉冲才起作用。Q0…Q7(第3-6和10-13引脚)并行输出端分别接LED显示器的HG···A各段对应的引脚上。在给出了8个脉冲后,最先进入74LS164的第一个数据到达了最高位,然后再来一个脉冲,第一个脉冲就会从最高位移出。这就是它的工作原理。其功能表如图3.4所示

图3.474LS164功能图

3.5 键盘接口工作原理

在单片机应用系统中,常用键盘作为输入设备,通过它将数据、内存地址、命令及指令等输入到系统中,来实现简单的人机通信。

3.6.1 按键开关的去除抖动功能

目前, MCS—51单片机应用系统上的按键常采用机械触点式按键,它在断开、闭合时输入电压波形如图3.6所示.可以看出机械触点在闭合及断开瞬间均有抖动过程,时间长短与开关的机械特性有关,一般为5~10ms。由于抖动,会造成被查询的开关状态无法准确读出。例如,一次按键产生的正确开关状态,由于键的抖动,CPU 多次采集到底电平信号,会被误认为按键被多次按下,就会多次进行键输入操作,这是不允许的。为了保证CPU对键的一次闭合仅在按键稳定时作一次键输入处理,必须消除产生的前沿(后沿)抖动影响。

安键过程

后沿

前沿识别区

图3.6 按键过程

3.6.2 阵列式键盘的接口电路

阵列式键盘每条行线与列线在交叉处不直接相通,而是通过一个按键加以连接,在按键数较多的时候,为减少I/O接口线数,通常采用这种方式,设计计算器主要用到按键,选用阵列式键盘方便易行。

1.键盘工作原理

行列式键盘电路原理如图3.7所示。按键设置在行列式交点上,行列线分别连接到按键开关的两端。当行线通过上拉电阻接+5伏时,被钳位在高电平状态。

键盘中有无按键按下是由列线送入全扫描字、行线读入行线状态来判断的。

键盘中哪一个键按下可由列线逐列置低电平后,检查行输入状态来判断。

图3.7 阵列式键盘原理电路

2.键盘工作方式

键盘的工作方式:

编程扫描方式、定时扫描方式、中断扫描方式三种。

在键盘扫描子程序中完成下述几个功能。

(1)判断键盘上有无键按下

(2)去键的机械抖动影响。

(3)求按下键的键号。

(4)键闭合一次仅进行一次键功能操作

3.键盘扫描方式

扫描法:在判定有键按下后逐列(或逐行)置低电平,同时读入行(或列)的状态,如果行(或列)的状态出现非全1状态,这时0状态的行、列交点的键就是所按下的键。特点是逐列(或逐行)扫描查询。这时相应行(或列)应有上拉电阻接高电平。

反转法:只要经过两个步骤就可获得键值。

3.6 七段LED显示工作原理

LED显示器是由发光二极管显示字段的MCS-51单片机输出设备。单片机应用系统常采用七段LED数码管作为显示器,这重显示器具有耗电低、配置灵活、线路简单、安装方便、耐转动、价格低廉且寿命长等优点。因此应用比较广泛。

LED数码管显示器可以分为共阴极和共阳极两种结构。

(1)共阴极结构:如果所有的发光二极管的阴极接在一起,称为共阴极结构,则数码显示段输入高电平有效,当某段输入高电平该段便发光,如图3.8A所示。

(2)共阳极结构:如果所有的发光二极管的阳极接在一起,称为共阳极结构,则数码显示段输入低平有效,当某段输入低电平该段便发光,如图3.8b所示。

A .共阴极 b .共阳极

图3.8 七段LED显示器

(3)LED静态显示方式:LED静态显示是指当数码管显示某一字符时,相应段的发光二极管处于恒定的导通或截止状态,直到需要显示另一个字符为止。

数码管工作在静态显示方式下,共阴极或共阳极连接在一起,若为共阴极则接地;为共阳极则接+5V电源。每位的段选线与一个8位的并行接口相连。只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。数码管中的各位相互独立,而且各位的显示字符一经确定,相应的输出将维持不变,直到显示另一个字符为止。也正因为如此,静态显示的亮度都比较高。

静态显示方式各位可独立显示。由于各位分别由一个8未I/O接口控制段选码,故在同一时间里,每一位显示的字符可以各不相同。这种显示方式接口,较小的电流即可获得较高的亮度,且占用CPU的时间少,编程简单,便于监测和控制,但其占用的接口线多,硬件电路复杂,成本高,只适合于显示位数较少的场合。

用MCS-51单片机构建七段数码管静态显示系统时,5位数码管均采用共阴极LED,利用74LS1S164串入并出的特性,构成静态显示电路,单片机的P3.6作数据串行输出,P3.7作移位脉冲输出,用导线连接P3.6、P3.7到串行静态显示模块的DIN、CLK端,这样就构成了计算器的显示部分。

3.7 电路原理

电路的核心是89S51单片机,其内部带有4KB的FLAsHROM,无须扩展程序存储器;电脑没有大量的运算和暂存数据,现有的128B片内RAM已能满足要求,也不必扩展片外RAM,系统配备5位LED显示和4*4键盘,采用P1口接阵列式键盘,5个串/并移位寄存器芯片74LS164首尾相连,每片的并行输出作为LED数码管的段码控制驱动信号,把P3.6、P3.7连接到串行静态显示模块的DIN、CLK端。整个系统采用查表的方法,将数码管的段码定义和按键的键码定义分别以代码的形式送到

LED 数码管和键盘中。这样就构成了计算器的电路连接部分。如图3.9所示

+5V

图3.9 电路原理图

4设计思路

关于这个设计,需要我们理解计算器的工作原理,熟练掌握编程指令的运用掌握算术运算指令及运算功能程序的编写方法。计算器简而言之,就是要实现加、减、乘、除的功能,其中键盘和显示很重要。

4.1 主程序模块

首先,初始化参数,调显示子程序,判断是否有键按下,判断键码,看是否是数字键、功能键还是清零键然后对每一种情况进行分别处理。如图4.1所示

图4.1 主程序流程图

4.2静态显示模块

如图4.2所示。

图4.2 中断程序流程图4.3 按键程序模块

如图4.3所示

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、通过小键盘做加减乘除运算。 2、数码管显示器作输入数据和结果数据的显示。 3、数字用小键盘0~9,“C、+、-、×、÷、= ”做功能键 4、运算顺序:a.首先输入一个原始数据(在0~9之间,否则无反应)显示器跟随显示 b.按“+、-、×、÷”显示器内容不变 c.再次输入一个数据(在0~9之间,否则无反应)显示器跟随显示 d.按“=”显示器显示结果数据 e.按C显示“00”数据清0,并重新开始运算 f.若输入一个数据后直接按“=”则数据不变 设计思路: 将整个程序划分为键盘扫描部分,显示部分,运算程序部分。首先利用程序不断扫描键盘是不是有输入,如果没有就一直扫描,如果有就停止扫描,完成输入,利用汇编的程序核对输入键的数值,通过调用子程序实现运算。运算完成后将运算的结果储存并显示到LED显示器上。 软件流程大致如下:开始,然后是系统的初始化,进行键盘扫描,对扫描的键值进行判断(分为数字键和功能键),若为数字键,则执行数字键处理程序,即显示数字并将数值存储;若为功能键,则先判断是否为清屏,如是清屏,则执行清屏子程序,如是加减乘除运算键则调用相应程序运算,如是等号键,则先判断上个符号位,调用相对应的运算子程序进行运算,如此就可以得到需要的结果了。

简易计算器实验报告

简易计算器实验报告 简易计算器实验报告 引言: 计算器是我们日常生活中常用的工具之一。它可以帮助我们进行简单的数学运算,提高计算的效率。在本次实验中,我们将设计并制作一台简易计算器,通过实践来掌握计算器的原理和工作原理。 实验目的: 1. 了解计算器的基本原理和工作原理; 2. 掌握计算器的设计和制作方法; 3. 提高动手能力和创造力。 实验材料: 1. 电路板; 2. 按键; 3. LED显示屏; 4. 电容; 5. 电阻; 6. 电源。 实验步骤: 1. 连接电路板和电源,确保电路板能够正常工作; 2. 将按键连接到电路板上,用于输入数字和运算符; 3. 连接LED显示屏,用于显示计算结果; 4. 添加电容和电阻,用于控制电路的稳定性和电流;

5. 调试电路,确保计算器能够正确运行。 实验结果: 经过一番调试,我们成功制作出了一台简易计算器。它可以进行基本的加减乘 除运算,并且在LED显示屏上显示结果。通过按键输入数字和运算符,我们可 以进行各种运算,从而得到我们想要的结果。这台计算器虽然简单,但是它的 实用性和便携性都非常高。 实验分析: 在本次实验中,我们主要学习了计算器的基本原理和工作原理。计算器是通过 按键输入数字和运算符,然后经过电路的计算和控制,最终在显示屏上显示结果。在电路中,电容和电阻的作用是为了保证电路的稳定性和电流的控制。通 过这个实验,我们更加深入地了解了计算器的内部结构和工作原理。 实验总结: 通过本次实验,我们成功制作了一台简易计算器,并且对计算器的原理和工作 原理有了更深入的了解。实验过程中,我们不仅提高了动手能力和创造力,还 培养了解决问题的能力。计算器作为一种常见的工具,它的设计和制作过程并 不复杂,但是它的实用性和便携性却非常高,为我们的生活带来了很大的便利。未来展望: 通过这次实验,我们对计算器的原理和工作原理有了初步的了解。在未来,我 们可以进一步深入研究计算器的更高级功能和更复杂的电路设计。同时,我们 也可以将这种简易计算器的设计思想应用到其他领域,如电子设备、机器人等,从而提高我们的创造力和创新能力。 结语:

单片机的简易计算器毕业设计

单片机的简易计算器毕业设计 简易计算器是一种基本、常见的电子设备,它能够对数字进行简单的加减乘除运算。单片机作为一种小型、低功耗的微型计算机,非常适合用于设计和实现计算器的功能。在本文中,我们将以单片机为基础,设计和实现一个简易计算器。 一、设计思路 1.硬件设计: -使用单片机作为主控制器。 -接入键盘矩阵和显示器。 -使用LED灯作为指示灯,用于显示运算符和结果。 2.软件设计: -通过键盘输入数字和运算符。 -将输入的数字和运算符转换成相应的控制信号。 -进行运算,并将结果显示在屏幕上。 3.功能实现: -实现加法、减法、乘法和除法运算。 -提供清零、退格和等号等功能。 -支持小数和负数的输入和运算。 -提供错误提示功能,例如除数不能为零等。

二、具体实现 1.硬件实现: -将键盘矩阵的行和列与单片机的IO口相连,通过扫描来检测按键的输入。 -将显示器与单片机的IO口相连,通过控制引脚来发送和接收数据。 -将LED灯与单片机的IO口相连,设置相应的引脚状态来显示不同的指示信号。 2.软件实现: -使用C语言编写程序,通过中断和轮询的方式,实现键盘输入的检测和数据的读取。 -将读取到的数据进行解析,并根据不同的按键进行相应的操作。 -根据输入的数字和运算符,进行相应的运算并输出结果。 3.功能实现: -加法、减法、乘法和除法运算可以通过相应的算法实现,例如加法可以通过循环和位运算来实现。 -清零功能可以将运算结果和输入的数字都清零,退格功能可以删除输入的最后一个数字或运算符。 -支持小数运算可以在运算过程中进行进位和进位操作,支持负数运算可以通过判断运算符来进行相应的处理。 -错误提示功能可以通过对输入的数据进行检查和判断来实现,例如判断除数是否为零。

基于51单片机的简易计算器设计

基于51单片机的简易计算器设计 基于51单片机的简易计算器设计 一、引言 随着微电子技术和嵌入式技术的发展,越来越多的智能化设备被应用于日常生活中。其中,基于51单片机的简易计算器设计具有广泛的应用价值。本文将介绍如何使用51单片机设计一个简易计算器,实现加减乘除的基本运算功能。 二、设计方案 1.硬件组成:本设计采用51单片机作为主控芯片,与键盘、显示器等外围设备相连。键盘用于输入数字和运算符,显示器则用于显示运算结果。 2.软件设计:软件部分包括主程序和子程序。主程序负责初始化硬件、读取键盘输入和显示运算结果。子程序包括加减乘除的运算子程序,可根据输入的运算符和操作数进行相应的运算。 3.算法实现:在加减乘除的运算子程序中,采用基本的数学运算方法实现。对于加法,直接将两个操作数相加;对于减法,将两个操作数相减;对于乘法,采用循环相乘的方法;对于除法,采用循环相除的方法。

三、实验结果 在实验中,我们成功地使用51单片机设计了一个简易计算器,实现了加减乘除的基本运算功能。在测试过程中,我们输入了不同的数字和运算符,得到了正确的运算结果。同时,我们也测试了计算器的稳定性,发现其在连续运算时表现良好,没有出现明显的误差或故障。 四、结论 基于51单片机的简易计算器设计具有简单易行、实用性强等优点。通过实验测试,我们验证了其可行性和稳定性。此外,该设计还可以根据需要进行扩展和优化,例如增加更多的运算功能、优化算法等。未来,我们可以进一步研究如何提高计算器的运算速度和精度,以及如何将其应用于更多的实际应用场景中。 五、改进意见与展望 1.增加更多的运算功能:例如实现括号、开方、指数等高级运算,满足更复杂的数学计算需求。 2.优化算法:针对现有的加减乘除运算算法进行优化,提高运算速度和精度。例如采用更高效的除法算法,减少运算时间。 3.增加存储功能:在计算器中加入存储单元,使得用户可以在多个步骤之间进行数据传递和保存。

简易计算器的设计

柳州铁道职业技术学院 毕业设计(论文) 论文题目简易计算器的设计 系别电子工程系 专业班级09级电子信息工程技术7班 学号9305007161 9305007141 9305007052 姓名何强云原梦苓伍宣亮指导教师许真珠 2011年12月19日

目录 第一章绪论 (1) 一、系统设计背景 (1) 二、系统设计目的和意义 (1) 三、国内外研究现状 (1) 第二章方案的选择与论证 (1) 一、单片机的选择方案与论证 (1) 二、显示器的选择方案和论证 (1) 三、按键部分的选择方案和论证 (2) 第三章元件介绍 (2) 一、AT89S52单片机特点及引脚图 (2) 二、LCD1602液晶显示器 (3) (一)LCD1602基本组成 (3) (二)LCD1602基本参数及引脚功能 (4) (三)LCD1602的指令说明及时序 (4) 第四章系统概述 (5) 一、系统设计结构图 (5) 二、简易计算器工作流程 (5) 第五章系统硬件设计 (6) 一、时钟电路 (6) 二、复位电路 (7) 三、键盘电路 (7) 四、显示电路 (8) 第六章系统软件设计 (8) 第七章 Proteus仿真与硬件调试 (10) 总结 (13) 参考文献 (14) 致谢 (15) 附录 (16) PCB图 (16) 元器件清单 (16) 源程序 (17)

简易计算器的设计 【摘要】随着经济的发展,不断推动着科技的发展,而科技的发展又带动了电子行业,各种各样的电子产品纷纷涌出。计算器作为日常生活中常使用的电子产品之一,它的功能化、小型化、轻便化已成为未来智能化计算器的发展方向。 本设计是基于AT89S52单片机进行的简易计算器系统设计,P1口作为输入端,外接4*4矩阵式键盘,通过在4*4矩阵式键盘输入,进行加、减、乘、除简单运算,实现-2147483647到+2147483647的结果运算,并且在P0口上的LCD1602液晶显示器显示相应的计算结果。 【关键词】AT89S52、4*4矩阵式键盘、LCD1602 、计算器

简易计算器的设计

课程设计 题目简易计算器的设计 学院自动化 专业电气工程及其自动化班级 姓名 指导教师 2014 年 1 月 9 日

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:自动化学院 题目: 简易计算器的设计 初始条件: 用8086CPU、8255A并行通信接口、七段LED数码管接口、小键盘控制电路接口、外围电路芯片及元器件实现一个简易计算器,完成相应的程序编写。 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)可进行2位十进制的加减乘除法运算。 (2)键盘输入数据,同时LED数码管显示,模拟计算器的工作。 (3)键盘上要求有0~9数字键,+、-、×、÷、=功能键,清除键C。 (4)撰写课程设计说明书。内容包括:摘要、目录、正文、参考文献、附录(程序清单)。正文部分包括:设计任务及要求、方案比较及论证、软件设计说明(软件思想,流程,源程序设计及说明等)、程序调试说明和结果分析、课程设计收获及心得体会。 时间安排: 12月26日----- 12月 28 日查阅资料及方案设计 12月29日----- 1 月 2 日编程 1 月 3日----- 1 月 7日调试程序 1 月 8日----- 1 月 9日撰写课程设计报告 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要 (1) 1设计的任务及要求 (2) 2方案的设计 (3) 2.1方案设计论证 (3) 2.2方案概述与原理硬件电路图 (3) 3系统模块与功能 (5) 3.18086CPU芯片 (5) 3.2 8255A 并行通信接口芯片 (5) 3.3 译码电路 (6) 3.4 小键盘电路 (6) 3.5 四位七段 LED 数码管显示电路 (7) 4软件设计框图与程序 (8) 4.1计算器系统程序总体流程图 (8) 4.2 模块程序流程图与程序 (8) 4.2.1流程图 (8) 4.2.2键盘扫描流程图 (9) 4.3输入运算 (10) 4.3.1输入运算的流程图 (10) 4.3.2输入运算程序 (10) 4.4显示部分 (11) 4.4.1显示部分流程图 (11) 4.4.2显示部分程序 (12) 5系统仿真 (14) 6小结与体会 (15) 参考文献 (16) 附录:设计源程序 (17) 本科生课程设计成绩评定表

课程设计 简易计算器设计与实现

课程设计简易计算器设计与实现

长江职业学院工学院毕业实践报告 课题名称:简易计算器设计与实现 专业班级:计算机控制技术081班 学生姓名:黄杨 学号: 20082940 班级序号 6 实践性质:校内毕业实践 实践成绩: 指导老师:杜力 2011年2月25日

目录 一、绪论 1.1 计算器的历史 (5) 1.2 电子计算器的特殊键 (6) 1.3单片机概述 (6) 1.4设计要求 (6) 1.5我做简易模拟计算器的过程说明 (7) 1.6系统的基本功能 (7) 二、课题设计的分析与思路的确定 (7) 三、芯片简介 (8) 3.1MSC-51芯片简介 (8) 3.2 MCS-51的引脚说明 (10) 四、计算器程序设计 (12) 4.1存储单元分配 (12) 4.2主程序设计 (12) 4.3 数码管显示数据转换子程序CONV (13) 4.4 数码管动态显示子程序 (13) 五、连接知识 (13)

5.1键盘的连接 (13) 5.2、显示器的连接 (14) 六、仿真过程 (15) 八、参考文献 (18)

一、绪论 本课题拟定以MCS-51系列单片机为控制中心,采用模块化的设计方案,运用液晶显示器或LED显示数据/键盘输入数据,以实现能够完成加、减、乘、除、数据存储等运算的简易计算器。 系统的功能是:(1)模拟的计算器能显示10位数字,开机运行时,只显示最低位为“0”,其余不显示;(2)4×4键盘分别表示:0到9,+,-,×,/,=,CL;(3)第一次按下,显示“D1”,第二次按下,显示“D1D2”,第三次按下,显示“D1D2D3”…8个全显示完毕,再次按下按键时,给出“嘀”的提示音;(4)可以对计算结果小于256的两个无符号数进行加、减、乘、除运算。 单片机程序用汇编语言编写,经过Wave软件调试,生成HEX文件,再用Proteus软件进行计算机仿真。 程序中键盘部分使用行列式扫描原理,若无键按下则调用动态显示程序,并继续检测键盘;若有键按下则得其键值,并通过查表转换为数字0—9和功能键与清零键的代号。 动态显示程序,是先建立待显示缓冲区地址指针和共阴极数码管的段代码表;缓冲区内容通过查表得相应的段代码,再用位选信号动态扫描显示。 主程序在初始化后调用键盘程序,再判断返回的值。若为数字0—9,则根据按键的次数进行保存和显示的处理,当按键次数超过八时,喇叭位置一;若为功能键,则先判断上次的功能键,根据代号执行不同功能,并将按键次数清零,然后进入BCD码程序,将计算结果拆分成个、十、百位,再返回主程序继续检测键盘并显示;若为清零键,则返回主程序的最开始。 1.1 计算器的历史 说起计算器,值得我们骄傲的是,最早的计算工具诞生在中国。中国古代 最早采用的一种计算工具叫筹策,又被叫做算筹。这种算筹多用竹子制成,也 有用木头,兽骨充当材料的。约二百七十枚一束,放在布袋里可随身携带。直 到今天仍在使用的珠算盘,是中国古代计算工具领域中的另一项发明,明代时 的珠算盘已经与现代的珠算盘几乎相同。17世纪初,西方国家的计算工具有了 较大的发展,英国数学家纳皮尔发明的"纳皮尔算筹",英国牧师奥却德发明了 圆柱型对数计算尺,这种计算尺不仅能做加减乘除、乘方、开方运算,甚至可 以计算三角函数,指数函数和对数函数,这些计算工具不仅带动了计算器的发

(完整)基于51单片机的简易计算器设计

(完整)基于51单片机的简易计算器设计 基于51单片机的简易计算器设计 计算器作为一种常见的电子设备,既能满足日常生活的计算需求, 又能帮助人们提高工作效率。本文将介绍基于51单片机的简易计算器 的设计。该计算器具备加减乘除的基本计算功能,并支持用户输入和 结果显示。下面将从材料准备、电路连接和程序设计三个方面详细介 绍该计算器的设计。 一、材料准备 在设计计算器之前,我们需要准备以下材料: 1. 51单片机开发板:用于控制计算器的整个运行过程; 2. 液晶显示屏:用于显示用户输入的数字和计算结果; 3. 数字按键:用于用户输入数字和运算符; 4. 连接线:用于连接51单片机开发板、液晶显示屏和数字按键。 二、电路连接 1. 连接液晶显示屏和51单片机开发板:将液晶显示屏的VCC、GND、SCL和SDA引脚分别与开发板上对应的引脚连接。 2. 连接数字按键和51单片机开发板:将数字按键的引脚依次与开 发板上的IO口引脚连接,其中有一根引脚需要连接到开发板的中断口。 三、程序设计

1. 初始化设置:在程序开始时,进行液晶显示屏和数字按键的引脚初始化设置,以及相应的中断设置。 2. 输入处理:通过数字按键输入,获取用户输入的数字和运算符,并将其保存到相应的变量中。 3. 运算处理:根据用户输入的运算符,对相应的数字进行加、减、乘、除的运算,并将结果保存到一个变量中。 4. 结果显示:将运算结果显示在液晶显示屏上,以便用户查看计算结果。 5. 重置处理:在每次运算结束后,对相关变量进行重置,以便下一次计算。 通过以上程序设计,我们可以完成基于51单片机的简易计算器的设计。在实际使用过程中,用户只需要通过数字按键输入相应的数字和运算符,计算器就可以自动进行运算,并将结果显示在液晶显示屏上,方便用户进行查看。 总结 本文介绍了基于51单片机的简易计算器的设计。通过合理的材料准备、电路连接和程序设计,我们可以实现一个具备加减乘除功能的计算器。该计算器不仅能满足人们日常的计算需求,还能帮助提高工作效率。随着技术的不断进步,计算器的功能也逐渐丰富,让我们期待未来计算器的更多创新和发展。

基于51单片机的简易计算器论文设计

基于51单片机的简易计算器论文设计 摘要:本文介绍了一种基于51单片机的简易计算器的设计。该计算 器具有基本的加减乘除运算功能,可以进行整数和小数的计算,并在LCD 显示屏上显示计算结果。设计采用了51单片机作为计算控制核心,外接 了键盘输入电路、LCD显示电路和运算电路。在设计过程中,使用了汇编 语言进行51单片机的编程。实验结果表明,该简易计算器设计具有稳定、可靠、易于操作和性能良好等特点。 关键词:51单片机;简易计算器;LCD显示屏;汇编语言 1.引言 计算器作为一种普遍存在于日常生活中的电子设备,已经成为人们生 活中必不可少的工具之一、为了满足人们对计算器的基本需求,本文设计 了一种基于51单片机的简易计算器。该计算器具有基本的加减乘除运算 功能,可以进行整数和小数的计算,并在LCD显示屏上显示计算结果。本 文将详细介绍该计算器的设计与实现过程。 2.总体设计 2.1系统硬件设计 本文设计的简易计算器主要由以下部分组成:51单片机、键盘输入 电路、LCD显示电路和运算电路。其中,51单片机作为计算控制核心,接 收键盘输入信号,进行运算,并将结果通过LCD显示出来。键盘输入电路 负责将按键信号转化为数字输入信号,通过矩阵键盘的方式实现输入功能。LCD显示电路负责将计算结果转化为可视化的输出信号并在LCD显示屏上 显示出来。运算电路则是根据输入的运算符和两个运算数进行相应的加减 乘除运算,并将结果传送给LCD显示电路。

2.2系统软件设计 本文的软件设计主要包括51单片机的编程设计。在编程设计中,使 用汇编语言进行编程,实现对键盘输入信号的检测和解码,对输入的数值 进行运算,将计算结果转化为数据信号并传送给LCD显示电路。同时,还 需要编写相应的算法,实现加、减、乘、除等基本运算功能的设计。 3.系统实现 在系统实现中,首先将键盘输入电路连接到51单片机的I/O引脚上,通过矩阵键盘的方式实现输入功能。然后将LCD显示电路连接到51单片 机的I/O引脚上,将计算结果转化为可视化的输出信号并在LCD显示屏上 显示出来。最后,将运算电路连接到51单片机的I/O引脚上,根据输入 的运算符和两个运算数进行相应的加减乘除运算,并将结果传送给LCD显 示电路。 4.系统测试与分析 通过对系统的测试和分析,可以得出以下结论: -该基于51单片机的简易计算器设计具有稳定、可靠的特点,可以进 行基本的加减乘除运算; -通过LCD显示屏,可以直观地显示计算结果,方便用户进行观察和 验证; -通过使用汇编语言进行编程,可以实现系统的高效运行。 5.总结 本文设计了一种基于51单片机的简易计算器。通过对计算器的硬件 设计和软件设计进行详细的描述,实现了计算器的基本功能。该计算器具

毕业设计简易加减乘除计算器

毕业设计 题目简易加减乘除计算器 系别 专业 班级 姓名 学号 指导教师 日期

设计任务书 设计题目: 简易加减乘除计算器 设计要求: 1.根据所学内容运用编程做一个简易加减乘除计算器,实现加、减、乘、除、等以及清零的功能。 2.设置一组数码管, 使其能够显示程序运行,按键动作的内容。 3.设置一组按键,使其键依次对应0——9、“+”、“-”、“*”、“/”、“=”和清除键。 4.可以进行小于255的数的加减乘除运算,并可连续运算。当键入值大于255时,将自动清零,可重新输入。 设计进度要求: 第一周:确定题目,寻找单片机和计算器设计的相关资料; 第二周:读懂资料,有初步的设计思路; 第三周:绘制硬件电路图; 第三周:设计软件框图; 第四周:相应软件设计(程序设计); 第五周:进行程序调试并且修改; 第六周:写毕业设计论文; 第七周:修改并提交毕业设计; 第八周:准备论文答辩; 指导教师(签名):

摘要 在很多领域的数据处理中要用到数学运算,作为计算机自动处理系统更显得重要。此项目设计以单片机为核心部件的计算器,采用4*4矩阵式键盘,16个键依次对应0——9、“+”、“-”、“*”、“/”、“=”和清除键。使用单片机最小应用系统1模块,简单方便。采用静态显示,显示器由5个共阴极数码管组成。输入只有两个信号,它们是串行数据线DIN和移位信号CLK。5个串/并行移位寄存器芯片74LS164首尾相连。每片的并行输出作为LED数码管的段码。 本计算器系统简单,实用性强,成本低,使用维护方便,软件功能强,运行稳定可靠等优点。 关键词:单片机,计算器,键盘,静态显示

基于单片机的简易计算器的设计

基于单片机的简易计算器的设计 摘要: 本文介绍了一种基于单片机的简易计算器的设计方法。该计算器采用 了AVR单片机作为核心,通过与键盘和显示屏的连接,实现了基本的四则 运算功能。文章首先分析了该计算器的需求和功能,然后详细介绍了硬件 设计和软件设计的过程。最后对设计结果进行了测试和总结。 1.引言 计算器是人们生活中常见的工具之一,其功能越来越复杂,形式也越 来越多样化。尤其是对于学生和工程师来说,一款方便携带、功能强大的 计算器是必不可少的。 2.设计需求和功能 本文设计的计算器主要满足以下需求和功能: (1)四则运算功能:加、减、乘、除; (2)显示功能:能够显示输入的数字和运算结果; (3)按键功能:能够通过键盘输入数字和运算符,并进行相应的计算; (4)界面友好:界面简洁明了,操作方便。 3.硬件设计 (1)单片机选择:本设计采用了AVR单片机,其具有成本低、性能稳定、易于编程等优点;

(2)键盘设计:采用4x4矩阵键盘,共有16个按键,分别为数字0-9和运算符+、-、*、/; (3)显示屏设计:采用四位七段数码管,能够显示输入的数字和运算结果。 4.软件设计 (1)系统初始化:包括引脚初始化、中断初始化、变量初始化等; (2)键盘扫描:通过按键扫描算法,实时检测按键状态,将按下的键值存储到缓冲区中; (3)输入解析:根据输入的键值,判断是数字还是运算符,并进行相应的处理; (4)运算处理:根据输入的数字和运算符,进行相应的四则运算,并将结果保存在缓冲区中; (5)结果显示:将运算结果从缓冲区中取出,并显示在数码管上; (6)清零处理:在进行下一次运算之前,重置缓冲区和状态。 5.实验结果和测试 本设计经过实验测试,在满足设计需求的前提下,实现了基本的四则运算功能。在实际使用过程中,计算器性能稳定,界面友好,操作方便。 6.总结和展望 本设计主要介绍了一种基于单片机的简易计算器的设计方法。该计算器通过与键盘和显示屏的连接,实现了基本的四则运算功能。该设计不仅满足了日常计算的需求,也为单片机的应用提供了一种新的思路。在今后

毕业设计(论文)-基于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)

基于51单片机简易计算器课程设计报告

基于51单片机简易计算器课程设计报告 引言: 计算器是现代社会中常见的电子设备之一,它能够帮助人们进行各种数学运算,提高计算效率。本文将介绍基于51单片机的简易计算器的设计过程及实现方法。 一、设计目标 本次设计的目标是实现一个简易计算器,能够进行基本的加减乘除运算,并能够显示计算结果。通过该设计,旨在加深学生对51单片机的理解,培养其实际操作能力。 二、硬件设计 1. 电源模块:采用稳压电源模块,提供稳定的电压给单片机及其他电路模块。 2. 单片机模块:采用51单片机,作为计算器的核心控制模块,负责接收按键输入、进行运算和显示结果。 3. 按键模块:设计合适的按键电路,用于输入数字和操作符。 4. 显示模块:采用数码管或液晶显示屏,显示计算结果。 5. 连接线:将各个模块连接起来,确保信号的传输畅通。 三、软件设计 1. 初始化:设置单片机的工作模式、端口方向和初始状态。 2. 按键扫描:通过轮询的方式检测按键是否被按下,若有按键按下

则进行相应的处理。 3. 输入处理:根据按键的顺序和操作符的位置进行输入的处理,将输入的数字和操作符分别存储在相应的变量中。 4. 运算处理:根据输入的操作符进行相应的运算,得出计算结果。 5. 结果显示:将计算结果通过数码管或液晶显示屏进行显示。 6. 清零处理:在计算结果显示完毕后,对相关的变量进行清零处理,以便进行下一次的计算。 四、功能实现 1. 加法运算:通过按下"+"按键,输入第一个数字,再按下"="按键,输入第二个数字,最后按下"="按键,计算并显示结果。 2. 减法运算:通过按下"-"按键,输入第一个数字,再按下"="按键,输入第二个数字,最后按下"="按键,计算并显示结果。 3. 乘法运算:通过按下"*"按键,输入第一个数字,再按下"="按键,输入第二个数字,最后按下"="按键,计算并显示结果。 4. 除法运算:通过按下"/"按键,输入第一个数字,再按下"="按键,输入第二个数字,最后按下"="按键,计算并显示结果。 五、实验结果与分析 经过实验,基于51单片机的简易计算器能够准确地进行加减乘除运算,并能够在数码管或液晶显示屏上显示计算结果。在按键输入和运算过程中,计算器的响应速度较快,用户操作起来比较流畅,具有一定的实用性。

毕业论文设计-简易计算器的制作

存档编号XX水利水电大学毕业设计 题目简易计算器的制作 学院信息工程学院 专业通信工程 姓名XX 学号2XXXX 指导教师XX 完成时间2014.5.14 教务处制

独立完成与诚信声明 本人郑重声明:所提交的毕业设计(论文)是本人在指导教师的指导下,独立工作所取得的成果并撰写完成的,郑重确认没有剽窃、抄袭等违反学术道德、学术规范的侵权行为。文中除已经标注引用的内容外,不包含其他人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确的说明并表示了谢意。本人完全意识到本声明的法律后果由本人承担。 毕业设计(论文)作者签名:指导导师签名: 签字日期:签字日期:

毕业设计(论文)版权使用授权书 本人完全了解华北水利水电大学有关保管、使用毕业设计(论文)的规定。特授权华北水利水电大学可以将毕业设计(论文)的全部或部分内容公开和编入有关数据库提供检索,并采用影印、缩印或扫描等复制手段复制、保存、汇编以供查阅和借阅。同意学校向国家有关部门或机构送交毕业设计(论文)原件或复印件和电子文档(涉密的成果在解密后应遵守此规定)。 毕业设计(论文)作者签名:导师签名: 签字日期:签字日期: 目录

摘要 0 Abstract (1) 第一章绪论 (2) 1.1 开发背景 (2) 1.2 设计目的 (3) 第二章方案论证与设计 (4) 设计指标 (4) 方案论证与设计 (4) 第三章硬件模块介绍 (7) 主控及运算模块 (7) 显示模块 (12) 输入模块 (15) 第四章软件设计 (17) 主程序的设计 (17) 键盘扫描的程序设计 (18) 显示模块程序设计 (20) 运算模块程序设计 (22) 第五章仿真及调试 (23) 结束语 (24) 致谢 (25) 参考文献 (26) 附录一:硬件实物图 (27) 附录二:系统程序 (28) 附录三:任务书 (39) 附录四:开题报告 (41) 附录五:外文原文与外文译文 (46)

简易加减计算器设计

简易加减计算器设计 一、引言 计算器是一种用于进行数学计算的设备,它可以帮助我们进行各种加 减乘除等运算。本篇文章将介绍如何设计一个简易的加减计算器,该计算 器基于数字电路的原理,通过逻辑门电路实现加法和减法运算。 二、设计思路 1.确定输入和输出 2.设计加法电路 加法可以通过逻辑门电路实现,其中最基本的逻辑门是异或门。我们 可以使用多个异或门来实现加法,具体的实现方法如下: -使用8个异或门分别对两个二进制数的对应位进行异或运算,得到 8个中间结果; -使用7个与门分别对中间结果和进位信号进行与运算,得到7个进 位信号; -使用7个或门分别对进位信号进行或运算,得到进位输出; -使用一个或门对中间结果和进位输出进行或运算,得到最终的结果。 3.设计减法电路 减法可以通过将减数取反然后与被减数进行加法运算来实现。具体的 实现方法如下: -对减数取反,可以使用8个反相器实现;

-将取反后的减数和被减数输入到加法电路中进行加法运算,得到结果。 三、电路实现 根据上述设计思路,我们可以使用数字集成电路来实现加减计算器。以下是一个基于数字集成电路74LS83A的简易加减计算器电路图:``` ______________ , ---,A+B,----,S _______,,______ _______ ,______ ---,M,--- _______,,______ ___________ -----------,B'+1=B __________ ``` 在上述电路图中,A和B分别表示两个8位二进制数的输入,S表示计算结果的输出,M表示减号操作符的输入,B'+1表示减数的取反。

基于QT简易计算器的设计

基于QT简易计算器的设计 设计一个基于QT的简易计算器,实现基本的四则运算功能。本文将 从需求分析、界面设计、功能实现等方面进行详细介绍。 一、需求分析 根据题目要求,设计一个简易计算器,需具备以下功能: 1.实现基本的四则运算功能,包括加减乘除; 2.支持连续多次运算,即连续按下等号键后可以继续进行后续的运算; 3.支持小数点的输入,并可以进行小数运算; 4.支持括号的输入,并按照正确的优先级进行计算; 5.提供清空按钮,可以清空当前输入的算式; 6.提供删除按钮,可以删除当前输入的最后一个字符。 二、界面设计 基于QT的图形界面设计,可以使用QGridLayout布局管理器来布局 计算器的主要组件。具体界面设计如下: 1. 显示屏:使用一个QLineEdit控件用于显示计算结果,并设置只 读属性; 2. 数字键:使用QPushButton控件实现数字键,并根据需要设置对 应的信号槽; 3. 功能键:使用QPushButton控件实现功能键,如加减乘除等,并 根据需要设置对应的信号槽;

4. 清空和删除键:使用QPushButton控件实现清空和删除键,并根据需要设置对应的信号槽; 5.等号键:使用QPushButton控件实现等号键,并根据需要设置对应的信号槽。 三、功能实现 2. 信号槽的连接:根据界面设计,将按钮的clicked信号连接到槽函数,实现按钮的点击响应; 3.数字键的实现:将数字键的文本值追加到显示屏的文本末尾; 4.加减乘除键的实现:将加减乘除键的文本值追加到显示屏的文本末尾; 5.小数点键的实现:判断显示屏的文本中是否已经存在小数点,如果不存在,则将小数点追加到文本末尾; 6.清空键的实现:清空显示屏的文本内容; 7.删除键的实现:删除显示屏文本的最后一个字符; 8.等号键的实现:获取显示屏的文本内容,并使用计算表达式的eval函数进行求值,将结果显示在显示屏上。 四、例子演示 下面以一个例子进行简单演示: 1.界面设计:

51单片机简易计算器论文

51单片机简易计算器论文 摘要: 本篇论文基于51单片机设计并实现了一款简易计算器。该计算器具 有基本的加、减、乘、除四则运算功能,并支持小数点运算和括号运算。 通过设计合理的菜单界面和使用者友好的操作方式,使得计算器更加易用。本文介绍了计算器的硬件设计和软件设计,并对其进行了功能测试和性能 评估。实验结果表明,该计算器具有较好的计算精度和运算速度,能够满 足一般计算需求。 关键词:51单片机,简易计算器,四则运算,菜单界面 1.引言 随着计算机技术的发展和普及,计算器作为一种便携式计算工具得到 了广泛应用。无论是学生、工程师还是商务人士,都离不开计算器的帮助。本文旨在设计一款基于51单片机的简易计算器,以满足用户日常计算需求。 2.硬件设计 本文采用51单片机作为计算器的主控芯片,搭配LCD显示屏、按键 和外部存储器等外围电路。通过合理的电路连接和引脚设置,实现计算器 的功能。 3.软件设计 3.1主程序设计

计算器的主程序采用C语言编写。主程序主要包括菜单界面设计、按 键响应和运算处理等功能。通过LCD显示屏输出菜单选项,并通过按键输 入执行相应的功能。 3.2加法运算 加法运算是计算器最基本的功能之一、在软件设计中,通过读取按键 输入的数值,并使用加法运算符将数值累加,最后显示结果。 3.3减法运算 减法运算与加法运算类似,通过读取按键输入的数值,并使用减法运 算符将数值相减,最后显示结果。 3.4乘法运算 乘法运算是计算器的扩展功能之一、在软件设计中,定义乘法运算函数,通过读取按键输入的数值,并使用乘法运算符将数值相乘,最后显示 结果。 3.5除法运算 除法运算也是计算器的扩展功能之一、在软件设计中,定义除法运算 函数,通过读取按键输入的数值,并使用除法运算符将数值相除,最后显 示结果。 3.6小数点运算和括号运算 为了提高计算器的实用性,本文还添加了小数点运算和括号运算功能。在软件设计中,通过读取按键输入的数值,并进行相应的运算处理和显示 结果。

关于计算器的C语言程序分析设计报告(简单的加减乘除)

关于计算器的程序分析设计报告 吕艺玮学号: 914000720205 1.问题描述: 用C语言写出一个可以运行“+”、“-”、“*”、“/”、“%”、“^”的简易计算器,并且输入错误时能够报错。 2.问题分析: 首先定义变量,利用if选择结构来确定是否报错,用switch语句来执行运算,应注意除法除数不能为零,取余时变量应为整数,且除数不能为零。 3.算法设计:

4.实验结果及分析: 分析:1).注意switch的用法; 2).注意取余时应是整数取余; 3).注意除数不能为零。 5.结论:

得到两个数的加、减、乘、除、乘方以及整数的取余,但不能涉及到第三个数,是一个简易的计算器,有很多值得改进的地方。 6.附源码: #include #include int main () { float a,b; char k,s; int c,d; scanf ("%f%c%f%c",&a,&k,&b,&s); if (s=='=') switch (k) { case '+' :printf("%g\n",a+b);break; case '-' :printf("%g\n",a-b);break; case '*' :printf("%g\n",a*b);break; case '/' :if (b=='0') printf ("Error!\n"); else printf("%g\n",a/b);break; case '%' : if (b==0) printf ("Error!\n"); else c=(int)a;d=(int)b; printf("%d\n",c%d);break; case '^' :printf("%g\n",pow(a,b));break; default:printf("Error!\n"); } else printf ("Error!\n"); return 0; }

简易计算器设计实验报告

简易计算器设计实验报告 Did you work harder today, April 6th, 2023

简易计算器设计实验报告 一.设计任务及要求 1.1实验任务: 根据计算器的原理设计一个具有加减乘除功能的简易计算器..如: 5+34/8=4.. 1.2 实验基本要求: 1实现最大输入两位十进制数字的四则运算加减乘除.. 2能够实现多次连算无优先级;从左到右计算结果.. 如:12+3456-78/90+9=36 3最大长度以数码管最大个数为限;溢出报警.. 二.实验设计方案 1用QuartusII的原理图输入来完成系统的顶层设计.. 2用VHDL编写以及直接拖模块来各功能模块.. 3通过2个脉冲分别实现个位数和十位数的输入.. 4通过选择每次的输出数值;将输出值反馈到运算输入端 4通过除法运算实现十六进制到十进制的转换输出.. 其具体实现流程图如下:

三系统硬件设计 FPGA: EP2C5T144C8目标板及相应外围硬件电路..从略 四系统软件设计 1.数据输入模块 原理:用VHDL创建模块;通过两个脉冲分别对两个数码管进行输入控制;再通过相应运算模块将两个独立数据转化成两位十进制数字.. 2.运算模块

原理:用VHDL创建模块;四种运算同步运行;通过按键加、减、乘、除选择输出对应的计算结果;当按键等号来时;将所得结果反馈给运算模块输入端..具体实现代码见附录二.. 3.输出模块 原理:用VHDL创建模块;通过按键等号来控制显示运算对象还是运算结果;当等号按下时;输出计算结果;否则显示当前输入的数据;并且通过除法模块将十六进制转化为十进制..当输出结果溢出是LED0亮;同时数码管显示都为零..部分实现见附录二.. 五实验调试 输入数据12;再按加法键;输入第二个数字25;按等号键;数码管显示37;按灭加法、等号键;输入第二个数据2;依次按等号键;减法键;数码管显示35;同上;按灭减法键、等号键;输入第三个数据7;依次按等号键;除法键;数码管显示5;按灭除法键、等号键;输入第四个数据99;依次按等号键;乘法键;数码管显示495;按灭乘法键、等号键;当前显示为99;依次按等号键、乘法键;数码管显示49005;同上进行若干次之后;结果溢出;LED0亮;同时数码管显示都为零..当输出为负数时;LED0灯变亮;同时数码管显示都为零.. 六实验结论 本实验基本实现了计算器的加减乘法运算功能;但是存在一个突出的缺陷;就是当输出结果时;必须先按等号键导通数据反馈;再按运算键选择输出结果..这与实际应用的计算器存在很大的差距..但是;本设计可以通过等号键实现运算对象和运算结果之间的切换..

汇编语言课程设计报告——实现加减乘除四则运算的计算器

汇编语言课程设计报告 ( 2011 -- 2012 年度第 2 学期) 实现加减乘除四则运算的计算器 专业 计算机科学与技术 学生姓名 班级 学号 指导教师 完成日期

目录 目录错误!未定义书签。 1 概述错误!未定义书签。 设计目的错误!未定义书签。 设计内容错误!未定义书签。 2 系统需求分析错误!未定义书签。 系统目标错误!未定义书签。 主体功能错误!未定义书签。 开发环境错误!未定义书签。 3 系统概要设计错误!未定义书签。 系统的功能模块划分错误!未定义书签。系统流程图错误!未定义书签。 4系统详细设计错误!未定义书签。 5 测试错误!未定义书签。 测试方案错误!未定义书签。 测试结果错误!未定义书签。 6 小结错误!未定义书签。 参考文献错误!未定义书签。 附录错误!未定义书签。 附录源程序清单错误!未定义书签。

实现加减乘除四则运算的计算器 1 概述 设计目的 本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程序设计方法,提高分析问题、解决问题的综合应用能力。 设计内容 能实现加、减、乘、除的计算;该程序接受的是16进制数;执行时,需要在文件名后直接跟上计算表达式,如在命令提示符下执行结果如下: c:\tasm>js 3+2 5 2 系统需求分析 系统目标 本次汇编语言课程设计的最终目的是要实现一个简单加减乘除四则运算的计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。比如,十进制数的加减乘除四则运算。我们曾经学习过两个具体数字进行加减法运算,但是对于简单计算器用汇编语言实现难点在于这两个要做运算的数是未知的,是由自己调用中断输入到屏幕上并要用程序存储起来的数,然后才能对这两个数进行运算,而且做的是加法运算、减法运算乘法运算还是除法运算也未可知,为此我们还要判断用户所输入的运算是四则运算中的哪一个运算。此外,运算过程中的进位或是借位,选择用什么样的方式进行输出,如何实现清屏等也是要解决的问题。 主体功能 系统分析主要包括设计的功能分析和系统的流程,功能分析放在首位,每一个软件都要能满足一定的功能才有使用价值。根据功能需求来创建应用程序。 本设计的功能如下: 1、输入2个数,先判断是加减运算还是乘除运算,再进行计算 2、判断符号是否为运算符 3、回车为换行符 4、用十进制或十六进制输出运算结果 开发环境 集成环境 3 系统概要设计 系统的功能模块划分 本题目实现的模块图如图3-1所示

相关主题
文本预览
相关文档 最新文档