计算器设计。
学院信息工程学院
专业信息工程专业
年级班别。学号 3210002864 3110002843 3110002846
学生姓名张三(40%) 李四(40%)王五(20%)
指导教师申柏华。
申请成绩良好。
2024年 12 月。
lcd的第一行显示运算式,第二行显示运算结果。比如要计算机12+34,在键盘上按下相应键后,lcd的第一行显示“12+34”,按下“=”号后,lcd的第二行显示“=46”。其他功能参考普通计算器。
扩展功能:负数、小数运算、复合运算。连续运算、2进制、8进制运算。
亦可直接在lcd上显示一个计算器,用触摸屏操作。
在lcd上显示一个24按键的多功能计算器,可实现触摸屏操作。
1、在lcd显示屏上触摸某一个符号时,将相应字符存入数组中并显示在lcd的第一行上。
2 触摸“=”处理运算并在第二行显示计算结果。
3、触摸“c”就进行退格操作。
4,按下“^”为幂运算,“x^2”为二次方的快捷键,按下“!”为阶乘运算,按下“1/x”为求倒数运算。
5、触摸“t”就对输入的数或计算所得结果进行数制的转换(包括小数),第一次按“t”,则转化为二进制,第二次按下“t”则转化八进制,第三次按下“t”则转换为十六进制。
6、触摸“f”则为清屏操作。
7、触摸“del”为全部清除。
8、按下“=”后显示结果,并且能连续运算和复合运算,其中,将操作数和操作码全部显示在第一行,第二行显示当前计算结果。
9、当出现连续按两个操作符、按等号前一个字符为操作符、最开始按下的不是操作数,除数为0等非法输入时,自动在lcd屏幕上报错并实现清屏重启计算器。
张三:40%,主演负责:程序的基本架构以及确定计算器的基本功能,以及程序的完善和后期的纠正。
李四:40%,主演负责编写加、减、乘、除和平方等基本功能,编写进制转换、复合运算、连续运算等扩展功能。
王五:20%,主演负责在lcd上显示模拟计算器、触摸屏操作。在触摸屏上显示数字键和功能键。
1、 添加基本计算器的+、-四则运算、退格功能、清除功能;
2、 添加幂运算,阶乘运算,求到运算,小数运算,二次方的快捷运算。
3、 在以上的基础上实现复合运算和连续操作;
4、 在lcd上通过调用函数在下方画出计算器的按键图画并实现触摸功能;
5、综合调试并进行优化。
详细步骤解释。
程序运行时即进行初始化,在lcd显示屏上显示计算器界面。接着判断是否有触屏,没有就继续扫描判断,有则将按下的键所对应的字符存入按键数组中。每触摸一个按键,就判断键入的字符是否是退格键,如果是则将上一个字符清除掉。
当检测到退格键时,就把前一个字符删除掉。当检测到字符“=”时,将按键数组中所存储的字符分离,其中,数值存在操作数数组k,操作符存在操作符数组oper中,然后进行运算。运算开始时,先扫描oper数组,当检测到操作符则将k数组中对应操作符前后的两个操作数进行运算(先幂运算后乘除再加减),结果放在两个操作数的前一个的位置,将k和oper数组向前移动一个位置以覆盖已经运算过的操作数和操作符。
当继续进行连续运算时,将字符继续存到按键数组后面,否则清除k的值,将字符存到按键数组第一个开始的位置。
程序中考虑了各种非法输入的情况:当连续输入两个操作符时或者除数为0时,当按“=”时检测到前一个字符是操作符时、当程序第一个字符不是操作数时,都报错,自动清屏并重启计算器。
**完程序后:
1、 普通整数和小数的加减乘除运算计算:
例如计算12+45,直接在显示屏上连续触发“12+45”,然后触“=”就可以在第二行显示=57;
例如计算2/4,直接在显示屏上连续触发“2/4”,然后触“=”就可以在第二行显示=0.5;
例如计算0.5*2,直接在显示屏上连续触发“0.5*2”,然后触“=”就可以在第二行显示=1;
2,幂运算和阶乘,求倒数:
例如计算3^3,直接在显示屏上连续触发“3^3”,然后触“=”就可以在第二行显示=27;
例如计算3!,直接在显示屏上连续触发“!”然后触“=”就可以在第二行显示=6;
例如计算1/3,直接在显示屏上连续触发“31/x”,然后触“=”就可以在第二行显示=0.3333;
3、 连续运算。例如先计算12+24,结果为36,此时再按下“+”1” 先在第一行显示and+1,在第二行就会显示=37,再按下“-”9” ,第一行显示and-9,在第二行就会显示=28,依次类推。
4、 复合运算。例如2-5*3+2^3,结果为-5.
5、 数制转化。当输入18或者输出结果为18,第一次按下“t”,显示10010(二进制),再按下“t”,结果为22(八进制),再按下“t”,显示12(十六进制)。当输入0.
5或者输出结果为0.5,第一次按下“t”,显示为0.1(二进制),第二次按下“t”,显示为0.
4(八进制),第三次按下“t”,显示为0.8(十六进制),以此类推。
6、 当输入的字符是非法输入时,在lcd第三行显示 error,然后自动清屏重启计算器。
单片机课程设计报告
单片机系统课程设计报告。专业 电气技术。学生姓名 朱海李威张杰。学号。指导教师 陈高燕。完成日期 2014 年 7 月 5 日。目录。1 设计任务和性能指标 1 1.1设计任务 1 2 设计方案 1 2.1方案论证 2 2.2总体设计框图 2 3 系统硬件设计 4 3.1红外线解码电路设计 4 3....
单片机课程设计报告
韶关学院。课程设计说明书 设计题目 基于单片机控制的智能交通灯设计。课程名称 微机原理与应用实训。学生姓名 学号。院系 物理与机电工程学院汽车系。专业班级 12机械制造及其自动化 5班。指导教师姓名及职称 谢杰讲师。陈锦儒助理实验师。起止时间 2015 年 3 月 2015 年 5 月。课程设计评分...
单片机课程设计报告
南京工程学院。课程设计说明书 题目实时钟芯片pcf8563的应用 课程名称单片机原理及应用a 院 系 部 中心 通信工程学院。专业电子信息工程 传感网 班级。学生姓名。学号。设计地点信息楼 c 210 指导教师。设计起止时间 2013年12月23日至 2013年12月27日。一 摘要1 二 课程设计...