【毕业学位论文】(Word原稿)简单计算器的设计与制作-计算机科学与技术_第1页
【毕业学位论文】(Word原稿)简单计算器的设计与制作-计算机科学与技术_第2页
【毕业学位论文】(Word原稿)简单计算器的设计与制作-计算机科学与技术_第3页
【毕业学位论文】(Word原稿)简单计算器的设计与制作-计算机科学与技术_第4页
【毕业学位论文】(Word原稿)简单计算器的设计与制作-计算机科学与技术_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西安培华学院本科毕业论文(设计) 简单计算器的设计与制作 I 摘 要 计算器在人们的日常生活中是比较常见的电子产品之一。可是它还在发展之中,以后必将出现功能更加强大的计算器,基于这样的理念,本次设计是用单片机来设计的计算器。该设计系统是采用 片机,以 接 4键盘,通过键盘扫描来对输入的数字和运算符进行控制,计算结果将在七段共阴极数码管上显示,并设有清零键可随时实现计算器清零复位,外接驱动电路,并通过单片机 I/O 设置一定频率的音频 ,通过蜂鸣器输出,模拟真实计算器按键声音,软件程序采用 于移植与升级。报告详细介绍了 整个系统的硬件组成结构、工作原理和系统的软件程序设计。计算器将完成的功能有整数的加,减,乘,除等功能。 关键词 : 计算器;单片机;加减乘除 s is of it on is to ED as X4 to of in is , in of 安培华学院本科毕业论文(设计) 简单计算器的设计与制作 录 第 1章 绪 论 . 1 究目的及意义 . 1 内外发展情况 . 1 第 2章 方案的论证与设计 . 1 计的方案 . 1 计思路 . 2 第 3章 硬件设计 . 2 盘输入模块 . 2 . 4 算模块 . 6 第 4章 软件设计 . 11 程序设计 . 11 程序设计 . 11 第 5章 仿真与调试 . 15 件调试 . 15 件调试 . 16 结 论 . 17 致 谢 . 18 参考文献 . 19 附 录 A . 20 附 录 B . 21 附 录 C . 22 西安培华学院本科毕业论文(设计) 简单计算器的设计与制作 1 第 1 章 绪 论 究目的及意义 随着社会的发展,科学的进步,人们的物质生活水平在逐步的提高,电子产品已经走进了家家户户,尤其是微电子技术的发展,犹如雨后春笋般的变化,无论是生活或学习,还是 娱乐和消遣几乎样样都离不开电子产品,电子产品的更新速度快也就不足为奇了。 内外发展情况 单片机的应用已经越来越贴近生活,用单片机来实现一些电子设计也变得容易起来。近年来,单片机以其体积小、价格廉、面向控制等独特优点,在各种工业控制、仪器仪表、设备、产品的自动化、智能化方面获得了广泛的应用。大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。计算器作为一种快速通用的计算工具方便了用户的使用,可谓是我们最亲密的电子伙伴之一。 第 2 章 方案的论证与设计 计的方案 该系统通过单片机控制,实现 对 4*4键盘扫描进行实时的按键检测,并把检测数据存储下来。整个计算器系统的工作过程为:首先存储单元初始化,显示初始值和键盘扫描,判断按键位置,查表得出按键值,单片机则对数据进行储存与相应处理转换,之后送入个系统可分为三个主要功能模块:功能模块一,实时键盘扫描;功能模块二,数据转换成显示器显示;功能模块三,显示器动态显示。方案的系统框图如图 图 算器设计系统框图 西安培华学院本科毕业论文(设计) 简单计算器的设计与制作 2 计思路 1、本设计采用 片机,实现了利用单片机进行了一个简单计算器设计。允许对输入数据进行加减乘除四则运算,为了得到较好的显示效果,采用 们采用可以进行两位数字的运算,选用 4 个 码管显示数据和结果。 2、另外选用 4*4键盘扫描进行实时的按键检测,并把检测数据存储下来,键盘包括数字键( 0 9)、符号键( +、 -、)、功能键(清除键和等号键),故只需要 16 个按键即可。 3、执行程序:系统工作电源选为 +5V 示刷新时间 9999时, ;在除法指令中,被除数取自 A,除数取自B,商数存放于 A,余数存放于 数 =0时, ;做加、减法操作时,加法指令的两个操作数分别取自 A 和 B,其结果存放在 A+B 中;减法指令中,被减数取自 A,减数取自 B,结果存放在 B A 中,若产生由低四位向高四位数进位或借位时, ,否则被清除。 算术运算程序的过程为:开始,初始化参数, 判断有没有键输入,读取键码,再判断输入的键是数字键、清零键,还是功能键,若是数字键则下一步输入数值,若是清零键则状态清零,然后数值送显示缓冲;若是功能键,则根据上次功能键和输入的数据计算结果,再 判断本次的功能键是等于还是其他加减乘除键,若是等于则直接显示结果,若是其他功能键则保存之前输入的结果和这次按下的功能键,并判断输入的运算符是 +、 -、 *、 / 中的哪一个,若是 +或 -,则要判断运算结果是否溢出,溢出则显示错误信息,没溢出就显示运算结果,若是 /,则要先判断除数是否为零,为零就显示错误信息,不为零则显示运算结果,若是 -,则直接显示运算结果,然后送显示缓冲,等待下次数值的输入,再进行 此不断循环。算术运算流程图,如图 示 : 图 术运算流程 图 根据上次功能键和输入 的数据计算结果 本次功能键? 其他键 保存结果和功能键 开始 初始化参数 示 读取键码 数字键 清零键 输入数值 状态清零 功能键键 键码是? 有键输入 是“ =” 计算最后结果 结果送显示缓冲 等待数值输入 数值送显示缓冲 西安培华学院本科毕业论文(设计) 简单计算器的设计与制作 14 加减乘除工作流程图,如图 A B C D 图 减乘除工作流程图 示程序设计 显示程序的过程为:开始,初始化显示参数,关所有位显示,取显示数据,输出段码数据 ,然后输出位选通信号,延时,位选通信号移位,指向下一个显示数据,再判断位是否完成,是的话则返回,否的话则继续重复关所有位显示。 开 始 输入一个字符 输入“ +” 输入“ =” 存入内存 输入一个字符 进行加法运算 得出结果 存入内存 开 始 输入一个字符 输入“ -” 输入“ =” 存入内存 输入一个字符 进行减法运算 得出结果 存入内存 开 始 输入一个字符 输入“ *” 输入“ =” 存入内存 输入一个字符 进行乘法运算 得出结果 存入内存 开 始 输入一个字符 输入“ /” 输入“ =” 存入内存 输入一个字符 进行除法运算 得出结果 存入内存 西安培华学院本科毕业论文(设计) 简单计算器的设计与制作 15 显示程序流程图,如图 图 示程序流程图 第 5 章 仿真与调试 件调试 常见故障: 1、逻辑错误:它是由设计错误或加工过程中的工艺性错误所造成的。这类错误包括错线、开路、短路等。 2、元器件失效:有两方面的原因:一是器件本身已损坏或性能不符合要求;二是组装错误造成元件失效,如电解电容、集成电路安装方向错误等。 3、可靠性差:因其可 靠性差的原因很多,如金属化孔、接插件接触不良会造成系统时好时坏,经不起振动;走线和布局不合理也会引起系统可靠性差。 4、电源故障:若样机由电源故障,则加电后很容易造成器件损坏。电源故障包括电压值不符合设计要求,电源引线和插座不对,功率不足,负载能力差等。 调试方法:包括多级调试和联机调试。在调试过程中要针对可能出现的故障认真分析,直至检查出原因并排除。本次硬件调试过程中,对所出现的问题进行了认真的分析和改正,最后能够很好的达到设计要求的效果。 开始 初始化显示参数 关所有位显示 取显示数据 输出段码数据 输出位选通信号 延时 位选通信号移位 指向下一个显示数据 位完成 返回 否 是 西安培华学院本科毕业论文(设计) 简单计算器的设计与制作 16 件调试 软件调试一般分为以下四个阶段: 1、编写程序并 查错; 2、在 3、对程序进行编译连接,并及时发现程序中存在的错误; 4、改正错误。 在本次调试中出现的问题有: 1、在程序中有的函数名未定义,没有注意函数名的调用; 2、在抄录程序时,有一些函数名录入时缺少字母字符或顺序颠倒,如:“;”、“ ”、“ -”等符号,而出现错误; 3、芯片引脚定义出错而导致没有实验现象。 在软件调试过程中,对出现的错误进行了认真的分析和修改,多次调试成功后,能够很好的达到既定的设计效果。 西安培华学院本科毕业论文(设计) 简单计算器的设计与制作 17 结 论 我的题目是简易计算器的设计,经过近两个月的努力,终于 顺利完成了毕业设计。对于我们这些实践中的新手来说,这是一次考验。刚开始,我们头绪不是很清楚,不知道从哪里入手,但通过老师的耐心指导并和同学认真研究设计课题,跑图书馆查资料、确定基本设计方案、对所用芯片功能进行查找、调试、上机仿真等,经历了一次次的困难,却积累了很多宝贵的经验。就目前来说,我的动手能力虽然差一点,但我想,通过我的不懈努力,在这方面,我总会得到提高。这一点,我坚信,因为别人能做到的,我也一定能做到。 这次课程设计不仅巩固了以前所学过的知识,而且学到了很多在书本上没有学到过的知识,增加了我的知识运 用能力,增强我的实际操作能力。使我懂得了理论联系实践的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。 在整个设计的过程中遇到的问题主要有以下四点, 第一:基础知识掌握的不牢固,主要表现在一些常用的电路的形式和功能不清楚,对书本上的内容理解不够透彻。 第二:对一些常用的应用软件缺少应用,体现在画电路图和系统的仿真的时候,对这些软件的操作不熟练,浪费了很多时间。 第三:相关知识掌握的不够全面,缺少 系统设计的经验。 第四:对 西安培华学院本科毕业论文(设计) 简单计算器的设计与制作 18 致 谢 本次毕业设计我要特别感谢我的导师伍老师,在教学繁忙、事务缠身的情况下,伍老师多次抽出时间,对我的论文进行悉心的指导,从论文的选题到论文的总体框架,再到论文撰写过程中的语言组织,他都进行了细致的批阅,使得我的论文越来越规整,更加符合标准。 同时也感谢西安培华学院电气信息工程学院的王京老师在我遇到不懂的问题时能够耐心回答,使我能够顺利的完成毕业设计工作。 最后真诚地感谢我的老师、同学、朋友给我的关心、帮助与鼓励。谢谢你们! 西安培华学院本科毕业论文(设计) 简单计算器的设计与制作 19 参考文献 1 孙育才 M 清华大学出版社, 2005. 2 龚运新 语言开发技术 M3 赵克林 . M. 北京 :人民邮电出版社, 2007. 4 老虎工作室 级应用 M人民邮电出版社,2001. 5 张筑生 . 微分半动力系统的不变集 D. 北京 : 北京大学数学系数学研究所,1983. 6 王威 M 7 陈传虞 . 动芯片工作原理与电路设计 M2011. 8 姜承昊 . 最新 动电路设计、应用与制造新技术新工艺实用手册 M中国科学技术文献出版社, 2008. 9 s 10 冯西桥 . 核反应堆压力管道与压力容器的 析 M核能技术设计研究院, 1997. 11 李萍 M大连交通 大学, 西安培华学院本科毕业论文(设计) 简单计算器的设计与制作 20 附 录 A 电路图器件的说明 : 西安培华学院本科毕业论文(设计) 简单计算器的设计与制作 21 附 录 B 实物图和操作说明 : 使用说明书: 1、按键说明:如图右下角是键盘, 第一行从左至右分别为 清除键、等号键 、 除号键 、 乘号键, 第二 行从左至右分别为 减号键、加号键 、 9、 8,第 三 行分别为 7、 6、 5、 4, 第 四 行从左至右分别为 3、 2、1、 0。左下角按钮是复位按钮,任何时间按下都可清零复位。 2、关于显示屏幕:“ E”错误指示符 ,“ ”负数指示符,“ .”小数点。 3、电源: 3节 5号( 池。 4、如何更换电池:当发现屏幕显示模糊时,表示电 池没电了,这时就要取出旧电池,将新电池按正确方向装入。 5、操作示例:按键顺序是算式的从左到右,等号右边是屏幕显示 1+2=3 5 52 负数显示 99*98=9702 999*15=E 计算结果超出范围,提示溢出,显示字符“ E” 8/3=数显示 8/0=E 被除数为零,报错显示字符“ E” 西安培华学院本科毕业论文(设计) 简单计算器的设计与制作 22 附 录 C /* 程序名称: 简单 计算器 的 设计 功能: 完成 09999 整数的一次加减乘除运算, 减法运算结果可以实现计算结果的负数显示, 除法运算结果为 0999并保留两位小数, 按键有 ” 嘀 ” 音, 设有清零键, 首位零不显示, 其它的显示 E */ #=0 00 =000=0=08=0,0,0,0,0,0,0,0; =0,0; k,m,n; /* 存运算符 (+、 -、 *、 /) 用第几个数组 ,(出现非运算符前为 0,出现运算符后为 1) 输入多于 4 个时错误标 志位 (0 对、 1 错 ) 输入 09 数字的个数 减数大于被凑数时为 1 输入运算符的个数 西安培华学院本科毕业论文(设计) 简单计算器的设计与制作 23 存一位小数的值 运算除法时置为 1 */ ,* 程序名称 :显示程序 入口参数 :无 功能 :实现将 的值进行动态数码显示 局部变量 :i,j,q 全局变量 :, 所用端口功能 :送显示码 公共端扫描 返回值:无 */ i,j,p,q; /*错误时的显示 */ 1) i=0;i0; /动态显示延时程序 / q=248;q0; 1) =; =; =0; =0%10; =00%10; =000%10; p=5;p2; p=0) p=16; 西安培华学院本科毕业论文(设计) 简单计算器的设计与制作 24 i=0;i0; /动态显示延时程序 / q=248;q0; =0; =0%10; =00%10; =000%10; /*首位为零不显示 */ p=3;p0; /首位为零不显示 / p=0) p=16; /*为负数时的显示 */ 1) /为负数第五位数码管显示 -/ =17; /第五位数码管不显示 / =16; i=0;i0; /动态显示延时程序 / q=248;q0; /* 程序名称 :处理程序 入口参数 :能 :实现加减乘除运算 全局变量 :、 、 回值:无 */ i,j; /*声音 “嘀 ”*/ ; i=200;i0; /延时 100 j=248;j0; ; /*/ if(15) /按键为清除键 / ; =0; =0; ; ; ; ; =0; =0; ; 0)&(0)&() ; ; ; 2: *; 3: ; *100/; =0; =0%10; 100; 99) ; 西安培华学院本科毕业论文(设计) 简单计算器的设计与制作 27 5)|()|(999) /输入数字键大于 5 时将 1/ ; /* 程序名称 :键盘扫描 入口参数 :无 功能 :进行键盘扫描 全局变量 :k 局部变量 :i,j 调用函数: 返回值:无 */ i,j; ; /扫描 条线上的四个按键 / k=k=k&0if(k!=0 /看 条线上是否真的有按键按下 / i=20;i0; /延时一段时间 / j=248;j0; k=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论