毕业论文-基于at89c51单片机的电子计算器设计内容摘要:
开始 初始化 有按键按下。 键盘扫描 返回值为09。 计算第一次输入的数值大小 键盘扫描 LCD 显示 计算第二次输入的数值大小 运算计算结果 返回值为09。 继续有按键被按下。 有按键按下。 按键值为09。 四川师范大学成都学院专科毕业设计 14 否 图 35 总程序流程图 其程序位于后面附录 第 4 章 系统仿真及原理图 Proteus 仿真 系统仿真图见下图: 图 41系统仿真图 四川师范大学成都学院专科毕业设计 15 图 42加法运算 图 43减法运算 四川师范大学成都学院专科毕业设计 16 图 44乘法运算 图 45除法运算 四川师范大学成都学院专科毕业设计 17 图 46开根号运算 图 47幂运算 四川师范大学成都学院专科毕业设计 18 图 48错误提示 1 图 49错误提示 2 四川师范大学成都学院专科毕业设计 19 Protel 原理图 系统原理图见下图: 图 410系统原理图 第 5 章 系统调试 问题与分析 硬件常见故障 逻辑错误:它是由设计错误或加工过程中的工艺性错误所造成的。 这类错误包括错线、开路、短路等。 元器件失效:有两方面的原因:一是器件本身已损坏或性能不符合要求;二是组装错误造成元件失效,如电解电容、集成电路安装 方向错误等。 可靠性差:因其可靠性差的原因很多,如金属化孔、接插件接触不良会造成系统时好时坏,经不起振动;走线和布局不合理也会引起系统可靠性差。 电源故障:若样机由电源故障,则加电后很容易造成器件损坏。 电源故障包括电压值不符合设计要求,电源引线和插座不对,功率不足,负载能力差等。 软件调试 软件调试一般分为以下四个阶段: 编写程序并查错; 在 C 语言的编译系统中编译源程序 四川师范大学成都学院专科毕业设计 20 对程序进行编译连接,并及时发现程序中存在的错误; 改正错误。 在本次调试中出现的问题有: 在程序 中有的函数名未定义; 在抄录程序时,少录入一些字符,如: ”“{”“ ”“ ;、 、等符号,而出现错误; 有一些函数名录入时少写一个字母或顺序颠倒; 没有注意函数名的调用及定义; 芯片引脚定义出错而导致没有实验现象。 系统演示 整体图的照片: 图 51未工作时系统 各项功能测试: 表 51功能测试 加法测试 减法测试 四川师范大学成都学院专科毕业设计 21 表 52功能测试 乘法测试 除法测试 表 53功能测试 开方测试 多次方运算测试 表 54功能测试 错误提示测试 1 错误提示测试 2 由以上测试结果可知,计算器的各项功能正常,基本能达到设计要求。 下面将进行多次测试,以检验计算器的性能指标。 本次对计算器的功能进行多次测量,其测试结果如下表: 表 55功能多次测量 次数 第一运算数 运算符号 第二运算数 运算结果 实际结果 1 524 + 2 55914 3 562 * 2 1124 1124 4 67 / 5 8 (无输入) 6 9 ^ 2 81 81 7 (无输入) + 19 100 100 8 (无输入) (无输入) 10 10 9 42 / 0 math error 错误 四川师范大学成都学院专科毕业设计 22 10 64 (无输入) math error 错误 结果分析:对比运算结果和实际结果可知,进行一般的整形运算计算器能准确无误计算出来,但是当进行浮点运算时候,会产生精度丢失或者是有尾数产生,这是因为单片机对的浮点运算功 能差,而且在 keil 开发环境中, float 型和 double 型浮点数的精度都是一样的,其小数点的有效数字位数都是 6~7 位,这就决定了本设计的计算器的浮点数精度有限,只能通过小数点补偿来减少浮点数运算误差。 另外,由连续运算、新一轮运算测试、错误提示测试的结果以及运算过程中的 AC 清零、声音开关设置可见,本设计的计算器的功能基本能实现。 但是,由实际操作可发现本设计存在以下不足: ( 1)某些按键不够灵敏,导致需要按很多次才能输入; ( 2)当运算式子超过屏幕范围时,不能通过移动屏幕来完全显示式子; ( 3)当连续出现错误操作时,如连续输入减号,程序不能自动复位,会产生连续错误; ( 4)没有删除输入功能,当输入出错时,只能通过清零后重新输入; ( 5)没有数据溢出提示功能。 第 6 章 总结与展望 总结 经过多次测量与调试,本计算器基本能实现设计要求中的功能。 在设计的过程中,也遇到了不少的困难,例如在 LCD 上显示任意位整数,显示任意位小数,在输入小数的时候小数点的处理问题,连续运算的结果保存与清空问题等等。 最后通过不断的查阅资料,请教别人,修改程序,下载调试等过程,终于把遇到的问题逐一解 决了。 虽然某些问题解决得不够完美,但是都是经过自己的思考和努力解决的,在此过程自己也学到了很多东西,例如学会了矩阵键盘的扫描技术、 LCD 接口技术、LCD 的显示技术、中断技术等等,这些技术对熟练单片机的使用以及单片机项目开发是非常有帮助的。 在设计的过程中的思考解决问题的思路和方法对以后的工作和生活都是非常有帮助的。 四川师范大学成都学院专科毕业设计 23 展望 单片机程序运行可靠,并且可以修改,通过不同的程序实现不同的功能,尤其是一些独特的功能。 通过使用单片机编写的程序实现高智能、高效率和更高的可靠性。 本设计是由单片机实现的模拟计算器,它不 仅能实现数据的加减乘除运算,而且还能使数据及其计算结果在数码管上显示出来,能够实现 0256 的数字四则运算。 本设计是用单片机 AT89C51 来控制,采用 LCD1602 液晶显示读取数据,软件部分是由 C 语言来编写的。 利用键盘和 LCD1602 设计一个简单的数学计算器,可以完成简单的如加,减,乘,除的四则运算,并将运算结果在 LCD1602 上显示出来。 四川师范大学成都学院专科毕业设计 24 参考文献 [1]马忠梅等编著 .单片机的 C 语言应用程序设计 ,北京 :北京航空航天大学出版社 ,2020 [2]李云刚等编著 .单片机原理与应用系统设计 ,北京 :中国水利 水电出社 ,2020 [3]张军编著 .AVR 单片机应用系统开发典型实例 ,西安 :中国电力出版社 ,2020 [4]李建忠编著 .单片机原理及应用 ,西安:西安电子科技大学出版社 ,2020 [5] 吴宁 .80X86/Pentium 微型计算机原理及应用 [M], 北京 :电子社 ,2020 [6] 蔡美琴 .MCS51 系列单片机系统及其应用 [M],北京 :高等教社 ,2020 [7] 肖金球 .单片机原理与接口技术 [M],北京 : 清华大学出版社 2020 [8] 郭天祥 .新概念 51 单片机 C 语言教程 :入门、提高、开发、拓展全攻 略 ,北京 :电子工业出版社 ,2020 [9] 谭浩强 .从语言程序设计 ,第三版 ,北京 :清华大学出版社 ,2020 [10]徐爱钧 .智能化测量控制仪表原理与设计 ,第二版 ,北京:北京航天航空大学出版社 , [11]孙育才等 .MCS51 系列单片微型计算机及其应用 ,第四版 :东南大学出版社 , [12]李萍等 .智能仪器实验指导书,大连:大连交通大学 , [13]单片机应用技术( C 语言):中国劳动社会保障出版社, [14]朱定 华著 .单片机原理与接口技术:电子工业出版社 , [15]王宜怀 .刘晓升等著 ,嵌入式应用技术基础教程 ,北京 :清华大学出版社 , [16]王威著 .HCS12 微控制器原理及应用 ,北京 :北京航空航天大学出版社 , [17]周立功 .单片机实验与实践 ,北京 :北京航空航天大学出版社 , [18]孙育才等 .MCS51 系列单片微型计算机及其应用 ,第四版 :东南大学出版社 . [19] Behzad Razavi,Design of Analog CMOS Integrated Circuits[M],2020 [20]V. Yu. Teplov,A. V. System Using a SingleChipMicroputer and Thermoelectric Modules Based on the Peltier 四川师范大学成都学院专科毕业设计 25 Effect[J] ,2020 [21] Yeager to troubleshoot your electronic scale[J]. Powder and Bulk Engineering,1995 [22]Meehan Joanne,Muir in Merseyside SMEs:Benefits and barriers[J],TQM Journal. 2020 [23] Lee Circuit Designs for Transmittersin Broadband Data Links: IEEE Journal of SolidState Circuits[J]. 2020 四川师范大学成都学院专科毕业设计 26 附录 电子计算器 .C include include include uint temp,num。 //键盘扫描数值 uchar keynum1=0,keynum2=0,sign=0,i=0,j=0。 //按键计数,符号标示 uchar num1[8]={0},num2[8]={0}。 //按键存储数组 float ans1=0,ans2=0,ans=0,point=0。 //运算数据 bit conflag=0。 //继续运算标志位 bit newcalc=0。 //新运算标志 bit ac=0。 //清零标志 ,1为清零 bit beepflag=0。 //蜂鸣器标志位 bit sqrtflag1=0。 //开方 1标志位 bit sqrtflag2=0。 //开方 2标志位 bit powflag=0。 sbit keybeep=P3^3。 //蜂鸣器开关按键 sbit beep=P3^7。 //蜂鸣器控制口 sbit keysqrt=P3^4。 //开方按键 sbit keypow=P3^5。 //任意次方按键 uchar keyscan()。 void maininit(void)。 /****主程序 ***/ void main(void) { maininit()。 //初始化 while(1) //整个系统大循环,让计算器一直处于工作状态 { while(1) //第一运算数扫描 四川师范大学成都学院专科毕业设计 27 { if(ac==1) break。 //若清零,则退出输入 if((keyscan()!=39。 N39。 )amp。 amp。 ((num=0amp。毕业论文-基于at89c51单片机的电子计算器设计
相关推荐
++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性 4)分布式 Java 建立在扩展 TCP/IP 网络平台上。 5)健壮性 Java 致力于检查程序在编译和运行时的错误。 6)解释型 Java 是把程序编译成称为自字节码的一种 “中间代码 ”。 字节码是很接近机器码的文件,可以在提供了 java 虚拟机( Java Virtual Machine
种选择鲜食玉米要求糯性好、果皮薄、口感细腻、商品性状好、果穗中等,适合蒸煮和速冻加工。 目前市场上销售的鲜食玉米有糯玉米、甜玉米、黑玉米、彩色玉米及普通玉米等,商品性状不一,造成鲜食玉米价格参差不齐,生产效益差别大。 而增加鲜食玉米的收益,选用对路的优良品种是关键。 糯玉米是鲜食玉米的首选品种,糯玉米品种以中白色的糯性品质最好,一般情况下黑、紫、红等彩色品种的品质相对要差些。 适期播种露地栽培
24) 其等价方程: }:{ AxBxBBA ( 25) 上式表明,开运算可以通过计算所有可以填入图像内部的结构元素平移的并求的。 实际上,开运算是先作腐蚀运算,再作膨胀运算的结果,如图 24 所示。 图 24 开运 算 开运算常常使用圆形结构元素,因为圆形结构元素具有旋转不变性。
看抽雄期:绝大部分玉米都在抽雄 3 天以后花丝授粉。 确定最佳采收期的标准是,春播糯玉米在抽雄后 25 天前后,秋播糯玉米在抽雄 28 天前后;春播甜玉米在抽雄 22 天前后,秋播甜玉米在抽雄后 24 天前后。 二看雄穗(天花)颜色:采摘适期的玉米,雄穗顶端开始变枯,但枯萎部分不超过雄穗的 50%。 如果雄穗尚未变色,说明还未到采收适期。 三看玉米须颜色:未授粉的玉米须呈鲜红色
ation Manager:管理地图和 GPS 等相关功能。 8).Package Manager:管理所有安装在 Android 系统中的应用程序。 基于 Android 平台的移动警务通系统 8 Android 开发环境搭建 Android 开发环境主要是 eclipse+ADT+Android SDK。 1).下载 eclipse,解压就可以使用,并安装 ADT 插件。 ADT 是专门为