单片机课程设计报告计算器4.doc

上传人:仙人指路1688 文档编号:2385832 上传时间:2023-02-17 格式:DOC 页数:4 大小:37KB
返回 下载 相关 举报
单片机课程设计报告计算器4.doc_第1页
第1页 / 共4页
单片机课程设计报告计算器4.doc_第2页
第2页 / 共4页
单片机课程设计报告计算器4.doc_第3页
第3页 / 共4页
单片机课程设计报告计算器4.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《单片机课程设计报告计算器4.doc》由会员分享,可在线阅读,更多相关《单片机课程设计报告计算器4.doc(4页珍藏版)》请在三一办公上搜索。

1、单片机课程设计报告计算器学 院 信息工程学院 专 业 信息工程 (电子信息工程方向) 年级班别 2007级1班 学 号 3107002948 学生姓名 指导教师 答辩记录开始时间结束时间考题:答辩结果:主要特点或功能1实现加减乘除四则运算功能2LCD显示运算式和运算结果3退格功能2010年 7 月1 设计要求:实现普通十进制计算器的功能,按键采用实验箱上的44键盘,显示采用实验箱上162点阵式字符LCD,键盘符号定义如下:1234567890+-*/=-右下角的“-”表示退格,按一次删除LCD的最后一个数字或已经输入的符号。LCD的第一行显示运算式,第二行显示运算结果。比如要计算12+34,在

2、键盘上按下相应键后,LCD的第一行显示“12+34”,按下“=”号后,LCD的第二行显示“=46”。其他功能同普通计算器相同(只实现加减乘除四则运算功能)。2 设计思路所设计的计算器总共由4部分组成1) 从键盘读取键值;2) 按键对应在LCD上的显示功能;3) 退格键的操作;4) 对算式的运算功能。3 设计步骤1) 用CodeWarrior IDE软件,新建一个基于MC9S12XE100的工程;2) 添加头文件keyboard.h,ili9320.h,ili9320_font.h和myhead.h,其中keyboard.h在此前的实验中已经编写好并成功使用,myhead.h对相关变量和类型进行

3、了声明。3) 编写main函数,实现计算器功能;4) 编译,调试,完成课程设计。4 程序流程(含流程图及详细步骤解释)参数初始化有没有按键?键入等号?YN显示算式开始数据存储键值识别运算并显示结果YN5 操作方法功能定义:按键名19ABCDEF对应功能19+-*/=-1) 仿真开始,系统初始化,可在键盘输入想要计算的式子,形式为a+b;2) 键入“=”号即可显示运算结果。3) 再按下任意键清零,开始新的计算。6 设计过程遇到的问题以及解决思路及方法l 首先是用函数ili9320_PutChar(x,y,key,0x0000,0xFFFF);显示不出想要的字符解:原来用函数ili9320_Put

4、Char(x,y,key,0x0000,0xFFFF);显示的是key的ASCII码,要显示key值的符号就要加上0,所以要用函数ili9320_PutChar(x,y,key+0,0x0000,0xFFFF)实现。l 关于LCD显示问题:开始时我们输进去的数都只显示最后的一个数解:我们每执行一次ili9320_PutChar(x,y,key+0,0x0000,0xFFFF)后,将LCD横坐标往后移一个字符的位置(约8像素),即添加x=x+8语句。这样便可解决问题。l 计算1+1的时候结果“=00002”,前面多了一堆没用的“0”解:通过设置一个符号标志位(如sign)跟一个指针*str来实现,一开始置sign=1,当检测到*str!=0&sign=1时开始打印显示字符,并置sign=0跳出循环检测;此时第一位即为有效位。l 当输入第一个数小于第二个数也就是结果小于0时,负号无法显示;解:用指针*str从高位开始检测,当检测到第一位有效位为“-”号时,输出“-”并通过一个变量j自加,开始检测后面的字符;l 第二次运算之后等于号显示有多个解:通过清零函数(如setzero)来实现,运算结束都把num1跟num2清0,并在每次输入检测前判断num1和num2是否都为零,是则进行数据清零,把之前一次的运算结果用背景色覆盖,也就是实现了清屏功能。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号