单片机课程设计—简易计算器.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
单片机课程设计—简易计算器 物理与电气工程学院课程设计报告 设计名称:简易计算器 院 部:物理与电气工程学院 专业班级:12级电信三班 学生姓名:孔维铮 080212092 刘慧 080212096 吴阳慧 080212101 指导老师:王陈宁 完成时间:2014年6月8日 评阅意见: 评阅教师 日期 评阅意见: 评阅教师 日期 单片机课程设计—简易计算器全文共21页,当前为第1页。 单片机课程设计—简易计算器全文共21页,当前为第1页。 摘 要 单片机课程设计是单片机原理课程的实践性环节。是在我们学习了《单片机原理》等课程的基础上进行的综合性训练,我们组这次训练的课题是基于单片机简易计算器,能够进行多位简单的加减运算,同时它能支持2位整数运算。它主要由STC89C52单片机、数码管,键盘等模块组成。本计算器是将键盘输入信息经处理通过缓存,送入数码管显示,键盘采用行列式,数码管采用动态扫描方式,计算功能通过软件实现,用汇编语言对单片机可编程芯片进行编程,实现对计算器的设计。 关键词:单片机;计算器;汇编语言;键盘;数码管 单片机课程设计—简易计算器全文共21页,当前为第2页。 单片机课程设计—简易计算器全文共21页,当前为第2页。 目录 一.课程设计的目的和要求 1 1.1课程设计的目的 1 1.2课程设计要求 1 二、方案的论证和比较: 1 2.1 按键电路设计 1 2.2 4*4键盘扫描电路(扫描式,反转式) 1 三.课程设计简述及整体方框图 2 3.1 方案 2 3.2、硬件电路设计 2 3.2.1主控电路设计 2 3.2.2键盘电路设计 3 3.2.3数码管显示电路 3 3.3软件设计简述 4 3.3.1键盘扫描子程序设计 4 3.3.2数码管显示电路 6 3.3.3运算子程序设计 6 3.4程序主框图 7 四.仿真软件图 8 五.系统功能测试与整体指标 9 5.1 软件调试步骤 9 5.2 程序调试步骤 9 5.3 测试结果 10 六、总结与思考及致谢 10 附录主程序: 10 单片机课程设计—简易计算器全文共21页,当前为第3页。 单片机课程设计—简易计算器全文共21页,当前为第3页。 一.课程设计的目的和要求 1.1课程设计的目的 单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。本次设计是设计一个简易计算器,能够进行多位简单的加减运算,同时它能支持2位整数运算。它主要由STC89C52单片机、数码管,键盘等模块组成。本计算器是将键盘输入信息经处理通过缓存,送入数码管显示,键盘采用行列式,数码管采用动态扫描方式,计算功能通过软件实现,用汇编语言对单片机可编 芯片进行编程,实现对计算器的设计。 1.2课程设计要求 4*4键盘输入,数码管显示。 完成两位整数的加减 由于键盘只有16个按键,安排如下: +---------------+ "0 " 1 " 2 " 3 " " 4" 5 " 6 " 7 " " 8" 9 "+ " - " "=" c" " " +---------------+ 二、方案的论证和比较: 2.1 按键电路设计 方案一:计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。 方案二:矩阵键盘采用四条I/O线作为行线,四条I/O线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。 单片机课程设计—简易计算器全文共21页,当前为第4页。2.2 4*4键盘扫描电路(扫描式,反转式) 单片机课程设计—简易计算器全文共21页,当前为第4页。 方案一扫描法:对键盘上的某一行送低电平,其他行为高电平,然后读取列值。若列值中有一位是低,则表明该行与低电平对应列的键被按下;否则,扫描下一行。 方案二:反转法:先将所有行扫描线输出低电平,读列值。若列值有一位是低,则表明有键按下,读列值;然后所有列扫描线输出低电平,再读行值。根据读到的值组合就可以查表得到的键码。此设计中我们用反转法。 三.课程设计简述及整体方框图 3.1 方案 按照设计要求,提出方案 。此方案首先通过键盘得到数据,并通过程序对数据进行处理,最后通过数码管显示出来。结构框图如图1 STC89C52数码管显示 键盘 STC89C52 数码管显示 键盘 图(1) 3.2、硬件电路设计 简易数字计算器系统硬件设计主要包括:键盘电路,显示电路以及其他辅助电路。下面分别进行设计。 3.2.1主控电路设计 单片机课程设计—简易计算器全文共 【简易计算器设计详解】 本文档记录了一次单片机课程设计——简易计算器的实现过程,由物理与电气工程学院12级电信三班的孔维铮、刘慧和吴阳慧同学共同完成,指导老师为王陈宁。设计的目标是构建一个基于STC89C52单片机的计算器,能进行多位加减运算并支持2位整数运算。设计的核心在于键盘输入的处理、数码管显示以及软件算法的实现。 1. **课程设计目的和要求**: - 目的:通过实践巩固单片机原理知识,提高综合应用能力,为嵌入式控制系统开发打基础。 - 要求:使用4*4矩阵键盘输入,数码管显示,实现两位整数的加减运算。 2. **方案论证与比较**: - 按键电路设计:考虑到I/O口资源的有限性,选择了矩阵键盘方案,减少接口需求。 - 扫描电路:采用反转法,即先将行线置低,读取列线状态,再将列线置低,读取行线状态,从而确定按键位置。 3. **硬件电路设计**: - **主控电路**:由STC89C52单片机负责整个系统的控制,接收键盘输入,处理数据,并驱动数码管显示。 - **键盘电路**:4*4矩阵键盘,行线和列线交叉点设置按键,通过扫描法检测按键状态。 - **数码管显示电路**:采用动态扫描方式,高效利用单片机的I/O口,实现数字的动态显示。 4. **软件设计**: - **键盘扫描子程序**:编写汇编语言程序,通过定时中断实现键盘的扫描,识别按键事件。 - **数码管显示**:设计数码管的段驱动程序,控制数码管显示输入或计算结果。 - **运算子程序**:实现加减法的逻辑,处理输入数据,进行计算并存储结果。 5. **系统测试**: - 软件调试步骤:包括程序的编译、仿真以及错误排查。 - 功能测试:验证计算器的加减运算功能,确保计算正确无误。 6. **总结与致谢**: 总结设计过程中的经验和教训,表达对指导老师的感谢。 整个设计过程中,学生们不仅掌握了单片机的硬件连接和软件编程,还学会了系统集成和功能测试。这种实践性的课程设计有助于加深理论知识的理解,提升实际操作技能,为未来从事相关领域的研究或工作奠定了坚实的基础。
剩余20页未读,继续阅读
- Yyf2954903852023-06-29这个资源值得下载,资源内容详细全面,与描述一致,受益匪浅。
- m0_725424432023-07-03感谢大佬分享的资源,对我启发很大,给了我新的灵感。
- 粉丝: 189
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助