admin 管理员组

文章数量: 1086019


2024年4月26日发(作者:易分享资源网)

简易 计算器 (带小数点)

一.主要实现功能

1. 能完成五位数以内的加减乘除运算(其中整数部分最多为3位,小数部分最

多为2位,多余的输入无效)。

2. 运算结果数码管显示。

3. 在进行减法运算时,如果差是负数,数码管能够显示负数。

4. 能及时显示输入的值和运算的结果

二.操作方法(类似普通的计算器)

显示板上的1--9数字键作为运算是数字的输入,上档键作为加法键,下档键

作为减法键,左键作为乘法键,右键作为除法键,Esc键是取消键,用来取消上

一次的操作或是返回上一状态。Enter键在数字输入时作为小数点的键入键,当

完成第二个的数输入后,Enter键则作为计算器中的“=”键,得出运算的结果,

并且在数码管上显示,其余的操作步骤与方法与普通的计算器类似。

三.程序流程图

1.思想

计算器的操作步骤来看,可以把计算器的输入过程分解由四个状态来实现,如

下图所示

加减乘除键的输入

第一个数的输入

Enter键 得结果

第二个数的输入

与整数计算器不同的是,带小数的计算器要完成小数点的键入,须记录小数点后

面的位数,所以我们又可以把数字的输入分为两个状态,一个是整数部分的键入,

另一个是小数部分的键入。如下所示:

数字的输入

小数的输入

整数的输入

程序流程图

由程序流程图可以画出程序流程图

开始

初始化

Num =?

0 1 2 3

等号

加减

键的

乘除

输入

的输

显示

结束

以上只是从整体把握计算器程序,也就是程序是通过几个模块实现的。各个模块

之间互不影响的。各个模块实现的算法可以不同,加减乘除和等号的输入比较简

单在这就不描述了,下面对数字的输入和显示做简要的描述,如下图所示:

数字的输

Num1=?

0 1

整数小数

的输的输

数字的显示

F=?

0 1 2

入 入

显示

第一

显示

第二

显示

结果

四.算法

数字的输入与显示

1>.如何从键盘上读出键入的值并且如实的表示出来?例如按顺序输入12.12,

则在数码管上显示12.12,我们可设一变量th,从键盘上所读出来的值key ,

th=th*10+key,如果按顺序输入1 2 .1 2 ,则th的值为1212。这时我们需对

th做一些处理,在输入小数时可设一变量cnt来记录小数部分的个数。如果cnt

为2则th不作处理,cnt为1则shu=th*10,cnt为0则shu=th*100,第二位输

入数也做同样的处理,这样就把数全部化为了整数,单片机就可以对它进行快速

的处理和预算。第一位输入数和第二位数的显示,我们在利用分解原理得

bai=th/100 shi =th/10%10 ge=th%10.,在数码管的第三位上点亮dp也就是

数码管上显示2位小数,小数点后面第二位相当于整数的个位。这样数码管上观

察到的是12.12,其实shu的值是1212。但对于运算的结果的处理则与第一位输

入数cnt和第二位输入数cnt都有关系,详见程序中的处理。

程序的结构

1> 条件语句 if ....if... 结构 在程序中要不停的检测从显示板上读出的

值判断是键入的是哪个值 并且执行相应的操作

2>开关语句 ase 结构 使整个程序的框架,其它的处理都是在这

个大框架上完成的。

简易计算器(带小数点)程序


本文标签: 输入 显示 程序 作为 运算