1 / 21
文档名称:

单片机实验报告-计算器.doc

格式:doc   大小:1,849KB   页数:21页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机实验报告-计算器.doc

上传人:幸福人生 2022/6/5 文件大小:1.81 MB

下载得到文件列表

单片机实验报告-计算器.doc

相关文档

文档介绍

文档介绍:单片机实验报告-计算器

封面
单片机原理及其应用实验报告
基于51单片机的简易计算器的设计
班级:12电子1班
姓名: 金 腾 达
学号:12004
、串口服务函数:串口服务主要负责实现单片机向计算机上位机端的数据结果输出以及灵活的字符串显示。
目录
正文

程序流程图
、系统总框图
、计算器状态机流程转换图
目录
正文

三、仿真方案与仿真结果

1、硬件仿真

2、软件仿真
使用Keil4For51 Debug工具进行软件编写和仿真
3、硬件软件联调
,方便查错和仿真展现
测试结果及分析
(仿真截图)
1、加、减、乘、除基本运算展示:
目录
正文

2、连续运算展示:
3、溢出和除0判断展示:
4、串口通信展示:
目录
正文

5、开机效果显示:

根据上述测试数据,
综上所述,本设计总体来说可以达到大部分设计要求。
四、总结与心得
经过本次的实验设计学****又一次深刻感受到了51单片机虽然已经过去几十年,现在也不断地收到16位、32位低价单片机的冲击,但仍然是一款性能优越的单片机,在处理生活中常用的简单任务时,51单片机依然能够焕发出青春般的光彩。同时,51单片机也是学****和理解其他高级单片机的最好的入门平台,本次的实验也将增强了我对学****好其他高级单片机的决心和信心。
目录
正文

五、思考题
。(如几位数以内的运算;连加;复合运算等等)
本实例实现了加减乘除基本运算、连续运算、最大长度14位的数据输入、超过14位数据后程序为避免不良显示自动显示溢出

使用时原本打算使用double型变量,但在实际测试中并没有发现精度很高,通过联合调试发现KEILC51编译器将double型自动转换为float型;

使用E2PROM或者外部的SD卡等存储设备,通过一定的时序操作控制这些外部设备实现存储数据的接口,在每一步计算操作后都将过程和结果存储到存储设备中,在下次上电后直接读取实现掉电保护;

光敏单元可看作为一个电流源,通过电阻进行简单的I/V转换,然后用ADC转换为数字量,通过单片机处理后调节液晶偏压或占空比来调节显示对比度以实现不同光强下的正常显示;

本实例中已经简单实现了基于串口的单片机与计算机上位机之间的通信,不过是单向的,为了实现真正的通信,可定义相关协议,通过串口收发管理这些数据和操作来实现。
目录
附录1:整体电路原理图
正文

目录
附录2:部分源程序
/*头文件引用部分*/
#include ""
#include ""
#include ""
#include ""
/*端口定义部分*/
#define PORT_KEY P1
/*全局变量*/
float CalNum1=0; //待计算数1
float CalNum2=0; //待计算数2
float ResNum =0; //计算结果
unsigned char AppendNum=0; //判断是否为连续模式
unsigned char NumsBegin=0; //判断是否真的开始有数字输入 这里是为了避免重复输入前面的0
unsigned char FirstZero=0; //第一个是否为0
unsigned char NumPen=0; //书写坐标,会随着数字的输入而向后移动
unsi