



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机课程设计报告计算器学 院 信息工程学院 专 业 信息工程 (电子信息工程方向) 年级班别 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年中国洪山菜薹市场调查研究报告
- 2021-2026年中国避震山地车市场供需现状及投资战略研究报告
- 2025年中国木皮接胶机市场调查研究报告
- 2025年中国提子果味橡皮糖市场调查研究报告
- 2025年中国拱针线市场调查研究报告
- 2025年中国技工钳市场调查研究报告
- 2025年中国智能浇水控制器行业市场全景分析及投资前景展望报告
- 2025年中国彩盒实心活动手美少女数据监测研究报告
- 2025年中国工厂制服市场调查研究报告
- 2025年中国氮化镓晶体管行业发展趋势及投资前景预测报告
- 山西省太原市万柏林区多校2023-2024学年二年级下学期期末语文试卷
- DLT 1053-2017 电能质量技术监督规程
- 四川省内江市2023-2024学年七年级下学期7月期末英语试题
- 新教科版三年级下册科学期末测试卷及完整答案(网校专用)
- 《天然气压缩机》
- 市政道路工程技术标正文样本
- 大脑后动脉动脉瘤破裂伴蛛网膜下腔出血个案护理
- 东方市生活垃圾焚烧炉渣综合利用项目 环评报告
- 不规格符石镶嵌工艺
- 长期货物物流运输合同书
- 基于人工智能的智慧农业应用案例
评论
0/150
提交评论