简易计算器. 下载本文

内容发布更新时间 : 2024/6/10 6:03:35星期一 下面是文章的全部内容请认真阅读。

湖南人文科技学院

课程设计报告

课程名称: 单片机原理及应用课程设计

设计题目: 简易计算器 系 别: 通信与控制工程系 专 业: 自动化 班 级: 一班 学生姓名: 陈彬 王冬林 学 号: 10421120 10421104 起止日期: 2012年12月24日~ 2013年01月06日 指导教师: 谭周文 教研室主任: 岳周

指导教师评语: 指导教师签名: 年 月 日 成绩评定 项 目 1、设计过程中出勤、学习态度等方面 2、课程设计质量与答辩 3、设计报告书写及图纸规范程度 总 成 绩 权重 0.2 0.5 0.3 成绩 教研室审核意见: 教研室主任签字: 年 月 日 教学系审核意见: 主任签字: 年 月 日

摘 要

该简易计算器以STC89C52单片机为核心,显示模块数码管,利用C语言编写相应程序进行四位自然数的有效四则运算。该计算器计算精度不高,只能实现简单的加减乘除,且有效数字位数有限。该装置由STC89C52模块,4x4键盘(包括1~9,+,-,*,/等十六个字符),数码管组成。STC89C52为主模块,其控制键盘及显示模块。键盘可以实现数字及运算符号的输入,数码管可以进行人机交互,显示按下键盘所对应的字符以及显示运算结果。此计算器采用浮点运算采用3字节二进制补码表示,有效数字6位。对于输入输出,采用3字节BCD码浮点数格式,有效数字只有4位,因此最终有效数字只有4位。可进行连续输入,例如:1.23+4.56*8.23/234.8 ,但是运算结果为从左到右,这也是8位简易计算器的方式。其可进行错误判断,溢出、除零等错误将显示一个字符 E 。

关键词:STC89C52、C语言、数码管显示

1. 设计要求 ....................................................................................................................... 1 2. 方案论证与对比 ........................................................................................................... 1

2.1 方案一 .................................................................................................................. 1 2.2 方案二 .................................................................................................................. 2 2.3 方案对比与选择 .................................................................................................. 3 3. 单元电路设计与计算 ................................................................................................... 3

3.2 液晶显示模块 ...................................................................................................... 5 3.3 键盘检测模块 .................................................................................................... 8

3.3.1 键盘设置 .................................................................................................... 8 3.3.2 键盘原理 .................................................................................................... 8

4. 系统工作流程 ............................................................................................................... 9 5. 详细仪器清单 ............................................................................................................... 9 6. 总结与思考 ................................................................................................................. 10 7. 致谢 ............................................................................................................................. 10 参考文献 .......................................................................................................................... 11 附录一:简易计算器原理图 .......................................................................................... 12 附录二:简易计算器PCB图 ......................................................................................... 13 附录三:总程序流程图 .................................................................................................. 14 附录四:总程序 .............................................................................................................. 15

简易计算器

1 设计要求

设计一个简易计算器,要求能够进行简单的加减乘除运算,具体要求如下:

1. 4X4键盘输入,LED显示。

2. 浮点运算采用3字节二进制补码表示,有效数字6位。对于输入输出,采用3 字节BCD码浮点数格式,有效数字只有4位,因此最终有效数字只有4位。

3. 可进行连续输入,例如:1.23+4.56*8.23/234.8 ,但是运算结果为从左到右,这也是8位简易计算器的方式。

4. 可进行错误判断,溢出、除零等错误将显示一个字符 E 。 5. 由于键盘只有16个按键,安排如下: +---------------+ | 7 | 8 | 9 | + | | 4 | 5 | 6 | - | | 1 | 2 | 3 | * | | 0 | . | = | / | +---------------+

图1 设计要求

2 方案论证与对比

2.1 方案一

主控芯片采用STC89C52单片机,8255A为辅助扩展芯片(控制键盘信号采集以及数码管显示),采用普通数码管显示。由于此方案采用了扩展芯片,程序设计较为复杂。而且采用普通数码管显示,并不能显示“+”、“-”、“*”、“/”等运算符号。系统原理框图如图2所示:

1