简易计算器.docx
- 文档编号:2461495
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:13
- 大小:102.92KB
简易计算器.docx
《简易计算器.docx》由会员分享,可在线阅读,更多相关《简易计算器.docx(13页珍藏版)》请在冰豆网上搜索。
简易计算器
电子信息与电气工程学院
课程设计报告
设计类型:
综合设计
设计题目:
基于单片机的简易计算器设计
系别:
电子信息与电气工程学院
年级专业:
07电子信息工程
(2)班
学号:
学生姓名:
指导教师:
同组成员:
2010年6月23日
《通信技术创新课程设计》
课程设计任务书
设计
题目
基于单片机的简易计算器设计
设计类型
应用型
导师姓名
主要内容及目标
要求:
①可以通过键盘输入,并能显示输入相应的数字,并能进行加减乘除运算。
②能够进行3位或3位的以上的乘除运算。
具有的设计条件
通过仿真软件仿真的。
计划学生数及任务
计划需要3人
计划设计进程
1、从接题开始收集资料、准备设计
2、第1周画出设计框图,制定设计方案
3、第2周画出电路原理图,进行实验,电路调试和完善,同时编写设计报告
参考文献
《单片机实用技术问答》谢宜仁人民邮电北京.2003.6
《Flash单片机原理及应用》余永权电子工业北京.2001.6
《单片机应用系统设计技术基于C语言编程》余永权电子工业北京.2004.8
目录
1摘要:
4
2方案论证与选择4
2.1输入模块4
2.2显示模块4
2.4报警电路5
3MSC-51芯片简介和工作原理5
3.1中央处理器:
5
3.2中断系统:
6
3.3时钟电路:
6
4硬件工作原理电路8
4.1电路工作框图8
4.2硬件电路图9
4.3软件流程图10
4.4硬件引脚锁定10
5、实验数据10
6、小结11
参考文献11
附:
程序代码11
附:
程序清单13
基于单片机的简易计算器设计
1摘要:
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
本任务是个简易的显示数字的加减乘除运算,程序都是根据我们自己在这两周自学而成,在功能上还并不完善,限制也较多。
本任务重在设计构思与团队合作,使得我们用专业知识、专业技能分析和解决问题全面系统的锻炼。
关键词:
单片机计算器范围加减乘除
2方案论证与选择
2.1输入模块
方案一:
采用独立式按键作为输入模块,其特点:
直接用I/O口构成单个按键电路,接口电路配置灵活、软件结构简单,但是当键数较多时,占用I/O口较多;
方案二:
采用矩阵式键盘作为输入电路,其特点:
电路和软件稍复杂,但相比之下,当键数越多时越节约I/O口。
本设计使用键盘输入0到9的数值,若采用独立按键,对数值进行递增递减需频繁按键,为软件设计增加负担,且操作界面不友好。
若采用矩阵式按键,可以方便地输入一个温度值,使操作界面更具人性化,节约了宝贵的I/O口资源。
通过对比,故采用方案二作为系统输入模块。
2.2显示模块
方案一:
用LCD显示,要用LCD显示,需要学习其专用的驱动控制芯片,比如HD61203,软件实现较为复杂,且LCD的价格昂贵。
方案二:
采用LED数码管并行动态显示,电路简单,同样的功率驱动下,显示亮度不及静态显示,且占用I/O口较多。
方案三:
采用LED数码管串行静态显示,仅占用控制器串口的两个I/O口,软件实现简单,显示亮度高,成本低。
表1用LED显示器显示十六位进制数的字形代码在下图表示:
字型
共阳极代码
共阴极代码
字型
共阳极代码
共阴极代码
0
COH
3FH
9
90H
6FH
1
F9H
06H
A
88H
77H
2
A4H
5BH
B
83H
7CH
3
B0H
4FH
C
C6H
39H
4
99H
66H
D
A1H
5EH
5
92H
6DH
E
86H
79H
6
82H
7DH
F
8EH
71H
7
F8H
07H
灭
FFH
00H
8
80H
7FH
综上所述,采用方案三串行静态显示是本设计最佳显示方案。
LED数码管显示器由7个发光二极管组成,因此也称之为7段LED显示器,其排列形状如上。
2.4报警电路
充分利用最小系统板上资源,用蜂鸣器作报警提示音,为了使其更加可视化,再加个发光二极管,声光结合充分突出了紧急提示信号的特点。
3MSC-51芯片简介和工作原理
MCS-51单片机内部结构
8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。
8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:
3.1中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
·数据存储器(RAM)
8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
图1
·程序存储器(ROM):
8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
·定时/计数器(ROM):
8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
·并行输入输出(I/O)口:
8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
·全双工串行口:
8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
3.2中断系统:
8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
3.3时钟电路:
8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。
单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。
INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。
下图是MCS-51系列单片机的内部结构示意图2。
图2
MCS-51的引脚说明:
MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
现在我们对这些引脚的功能加以说明:
MCS-51的引脚说明:
MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
现在我们对这些引脚的功能加以说明:
如图3
图3
Pin9:
RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。
初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。
RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。
然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。
8051的复位方式可以是自动复位,也可以是手动复位,见下图4。
此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。
图4
·Pin30:
ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。
而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。
更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。
如果单片机是EPROM,在编程其间,将用于输入编程脉冲。
·Pin29:
当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。
·Pin31:
EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。
如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。
显然,对内部无程序存储器的8031,EA端必须接地。
在编程时,EA/Vpp脚还需加上21V的编程电压。
4硬件工作原理电路
4.1电路工作框图
数码管显示电路
键盘控制
电路
单片机控
制电路
4.2硬件电路图
图硬件电路图
4.3软件流程图
4.4硬件引脚锁定
8051单片机的P1口作键盘口,其中P1.4-P1.7为键盘扫描输出线,P1.0-P1.3为键盘扫描输入线。
键盘由4*4共16个按键组成,10个数字键(由0-9组成)5个运算符号(加减乘除等于)组成,1个清除键(作用相当于整体复位)。
4个数码管用于显示当前数值的千,百,十,个,采用动态显示方式,P0口接4个数码管的七段,P2口分别接4个数码管的控制端。
5、实验数据
序号
待测数字
显示数字
1
6-1=5
5
2
30-20=10
10
3
15+5=20
20
4
35+5=40
40
5
100*5=500
500
6
20*4=80
80
7
190/2=95
95
8
60/30=2
2
6、小结
本系统就是充分利用了8051芯片的I/O引脚。
系统统采用MSC-51系列单片机Intel8051为中心器件来设计计算器控制器,实现了能根据实际输入值显示并计算。
通过这次设计,使我们得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。
使我们在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是c语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。
本次设计过程中,和两位同学的合作加强了我的团队合作能力。
课程设计指导老师高老师给了我循序渐进地指导,在此特别感谢高老师精心地栽培!
参考文献
1.周兴华.手把手教你学单片机[M],北京:
北京航空航天出版社,2005.4
2.余锡存,曹国华.单片机原理及接口技术[M],西安:
西安电子科技出版社,1999.11
3.单片机应用技术(c语言),中国劳动社会保障出版社,2006.6
附:
程序代码
#include
#include
#defin
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 计算器