单片机 简易加法计数器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《单片机原理及应用》课程课程设计
题目简易计算器的设计
院(系)信息工程学院
专业班级 11级计算机应用技术1班
学生姓名 XXXXX
学号 XXXXXXXX
设计地点计算机应用实验室
指导教师 XXXX
起止时间:2013年6月3日至2013 年6 月14 日
摘要
随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
本题目是实现两位数的加减运算的简易计算器,实现键盘输入,由七段LED 数码管输出;程序都是根据教材内和网络中的程序参考编写而成,在功能上还并不十分完善,限制也较多。本设计重在设计构思,使得我们用专业知识、专业技能分析和解决问题,通过设计使得我们对所学知识彻底巩固。
课程设计目的和意义:
通过这次课程设计,进一步掌握单片机理论知识,知道AT89S52单片机的原理、编程和各种功能的应用,了解简易计算器的工作原理,初步掌握计算器的硬软件设计、编写、调试和仿真,充分提高动手能力和排除故障的能力。同时通过毕业设计加深了我们对单片机的认识和兴趣,发挥了我们的创新能力。
在本次课程设计中,充分调动了组员的积极性,彼此之间通过相互合作,共同努力,一起出色地完成了任务!
设计任务:能够实现0~9这10个1位数的加减运算,用10个按键模拟0~9数字键,用两个按键实现加减运算,运算结果用5个数码管显示出来。如:5+3=8。关键词 : 单片机;数码管;矩阵键盘
目录
1.设计方案 (4)
1.1设计思路 (4)
1.2整体设计 (4)
2.电路设计原理 (6)
2.1键盘接口电路 (6)
2.2数码管显示原理及译码电路 (7)
2.3运算模块(单片机控制) (7)
3.功能程序仿真调试 (10)
3.1编程调试环境 (10)
3.2测试结果截图 (11)
4.程序设计 (12)
4.1软件程序设计 (12)
4.2源程序 (14)
5.总结 (18)
6.参考文献 (19)
1.设计方案
1.1设计思路
根据计算器的功能要求,选择AT89S52为主控机,通过扩展必要的外围接口电路,实现对计算器的设计。外部主要由4*4矩阵键盘和一个液晶显示屏构成,内部由一块AT89C52单片机构成。计算器电路包括四个部分:选用数码管作为显示部分,矩阵键盘作为输入部分,运算模块,单片机控制部分。
图1.1 模块图
1.2整体设计
根据简易计算器的功能和指标要求,本设计系统选用MCS-51系列单片机AT89C52为主控机。通过扩展必要的外围接口电路,实现对简易计算器的设计。计算器电路包括三个部分:显示电路、4*4键扫描电路、单片机微控制电路。具体设计如下:
(1)由于要设计的是简单的计算器,可以进行加减运算,为了得到较好的显示效果,采用七段数码管显示数据和结果。
(2)另外键盘包括数字键(0~9)、符号键(+、-、=)、复位键,故需要14个按键即可。
(3)执行过程:开机显示零,等待键入数值,当键入数字,通过数码管显示出来,当键入+、-运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值
后将显示键入的数值,按等号就会在数码管上输出运算结果。
图1.2 线路原理框图
图1.3系统总流程图
2.电路设计原理
2.1键盘接口电路
计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。
矩阵键盘的工作原理:
电路中采用4*4键盘作为输入电路模块的话,电路连线会比较简单,而且这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。但是在硬件电路设计的过程中,实验室没有提供矩阵键盘,所以我们将4*4的矩阵键盘换成了16个独立按键。采用独立按键的方式的话,会占用大量的I/O 口资源,但是在这种情况下,编程会很简单。
矩阵键盘内部电路图如图所示:
图2.1 矩阵键盘内部电路图
停止At89s52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工
业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作,直到下一个中断或硬件复位为止。8 位微控制器 8K 字节在系统可编程 Flash AT89S52
2.2数码管显示原理及译码电路
本系统输出结果选用8个数码管显示。数码管有共阴共阳之分,本系统采用8段共阳型LED,其原理图如下图所示:
符号和引脚共阳极
图2.2LED数码管结构
共阳数码管就是把每个LED灯的阳极接在共同接点com,而每个LED灯的阴极分别为a,b,c,d,e,f,g,dp;通过控制LED灯的亮灭来显示数字。数码管跟据接收到的字形码显示数字。
2.3运算模块(单片机控制)
单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O等一台计算