



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机课程设计报告计算器学 院 信息工程学院 专 业 信息工程 (电子信息工程方向) 年级班别 2007级(1)班 学 号 3107002975 学生姓名 指导教师 答辩记录开始时间结束时间考题:答辩结果:主要特点或功能1) 实现加减乘除四则运算功能2) lcd显示运算式和运算结果3) 退格功能2010年 6 月1 设计要求:实现普通十进制计算器的功能,按键采用实验箱上的44键盘,显示采用实验箱上162点阵式字符lcd,键盘符号定义如下:1234567890+-*/=-右下角的“-”表示退格,即删除键,按一次删除lcd的最后一个数字或已经输入的符号。lcd的第一行显示运算式,第二行显示运算结果。比如要计算机12+34,在键盘上按下相应键后,lcd的第一行显示“12+34”,按下“=”号后,lcd的第二行显示“=46”。其他功能同普通计算器相同(只实现加减乘除四则运算功能)。2 设计思路我们设计的计算器总共由4部分组成1)从键盘读取键值;2)把输入的键值在lcd上显示;3)退格键的操作;4)当输入“=”号时对于不同符号(+ - * / )的内部运算和lcd显示3 设计步骤首先用readkey(&key)函数判断有没有键盘操作,假如有就分三种情况: 1) 第一种是输入“09”的数字首先我们判断有没有输入“+ - * /”的符号标志位flag1,若flag1=0就把输入的数赋给num1,并记录下num1的长度numlen1;假如flag1=1,则赋给num2,并记录下num2的长度numlen2;并且每输入一次就执行一次保存数字savedata(&num1,&key);和显示数字ili9320_putchar(x,y,key+0,0x0000,0xffff);的函数。 2) 第二种是输入“+ - * /”四种符号假如输入的键盘上显示的“+ - * /”符号键,则让lcd显示“+ - * / ”的字符,执行显示函数,并且记录下符号的key值。 3) 第三种是输入“”首先判断有没有输入第二个数,假如输入了第二个数,就把最后一个数的最后一位去掉并且把显示lcd清除,分别用deletedata(&num2); ili9320_putchar(x,y,key+0,0xffff,0xffff);函数实现。假如没有输入第二个数,但是却输入了符号“+ - * /”,就把符号的显示删掉,并且把symbol=0。 4) 第三种是输入“=”号; 按照记录下来的symbol值分别实现“+ - * /”功能并且显示出来。4 程序流程(含流程图及详细步骤解释)5 操作方法 1) 用codewarrior ide软件,新建一个基于mc9s12xe100的工程;2) 添加头文件keyboard.h,ili9320.h和源程序keyboard.cili9320.c;3) 按照设计步骤一步步编写main函数;4) 编译,调试;6 设计过程遇到的问题以及解决思路及方法1) 首先是用函数ili9320_putchar(x,y,key,0x0000,0xffff);显示不出想要的字符解:原来用函数ili9320_putchar(x,y,key,0x0000,0xffff);显示的是key的ascii码,要显示key值的符号就要加上0,所要要用函数ili9320_putchar(x,y,key+0,0x0000,0xffff)实现。2) 关于lcd显示问题:开始时我们输进去的数都只显示最后的一个数解:我们每执行一次ili9320_putchar(x,y,key+0,0x0000,0xffff);函数都要让lcd的下一个显示退一个字符的位置,即x=x+8;3) 计算1+1的时候结果“=00002”,前面多了一堆没用的“0”解:通过设置一个符号标志位sign跟一个指针*str来实现,一开始置sign=1,当检测到*str!=0&sign=1时开始打印显示字符,并置sign=0跳出循环检测; 4) 当输入第一个数小于第二个数也就是结果小于0时,负号无法显示; 解:用指针*str从高位开始检测,当检测到第一位*str=-号时,打印-并通过一个变量j自加,开始检测后面的字符;5) 第二次运算之后等于号显示有多个! 解:通过清屏函数clear_result来实现,每次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025北京市朝阳区教育委员会所属事业单位招聘毕业生394人模拟试卷附答案详解(完整版)
- 2025海南三亚中心医院(海南省第三人民医院)校园招聘38人考前自测高频考点模拟试题含答案详解
- 保洁行业云平台构建-洞察与解读
- 2025湖南邵阳市洞口县教育局所属事业单位招聘39人模拟试卷及答案详解(新)
- 2025年淮南联合大学招聘硕士研究生及以上人才14人模拟试卷及答案详解(网校专用)
- 2025江苏连云港灌云县卫生健康委员会所属事业单位招聘25人考前自测高频考点模拟试题完整参考答案详解
- 班组岗前安全培训制度课件
- 班组岗位安全责任培训课件
- MR虚拟复制技术-洞察与解读
- 2025广东佛山市高明区招聘中小学教师61人(第四场编制)考前自测高频考点模拟试题及答案详解(名师系列)
- 胚胎移植术后的健康教育
- 《怎样当好班主任》课件
- 大学美育(第二版) 课件 第六单元:乐舞的交融:舞蹈艺术
- 德化县高内坑生活垃圾填埋场陈腐垃圾开挖处置项目环评报告书
- 高考语文图文转换练习题答案+专项练习含答案
- PBT老托福语法全解析【TOEFL语法大全】
- 初中历史-《美国内战》教学课件设计
- 评论碎片化阅读(编辑综合)
- GB/T 24983-2010船用环保阻燃地毯
- GB/T 18029.14-2012轮椅车第14部分:电动轮椅车和电动代步车动力和控制系统要求和测试方法
- 认识国旗(课堂PPT)
评论
0/150
提交评论