基于单片机的计算器设计学位论文.docx
《基于单片机的计算器设计学位论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的计算器设计学位论文.docx(22页珍藏版)》请在冰豆网上搜索。
基于单片机的计算器设计学位论文
学生毕业设计(论文)报告
设计(论文)题目:
基于单片机的计算器设计
毕业设计(论文)任务书
一、课题名称:
基于单片机的计算器设计
二、主要技术指标(或基本要求):
1.LCD:
Vcc+5V电源。
2.串口号:
1~16,波特率600~256000bit/s,大于115200bit/s时需要硬件支持。
3.AT89C51低耗的8位单片机,内含8kb。
三、主要工作内容:
1.内容:
设计一个简易计算器;
2.要求:
(1)能实时现清零及加减乘除所有功能,并将结果显示出来;
(2)查阅相关资料,提出设计要求及方案;(3)以单片机AT89C51为核心,设计硬件及软件程序;(4)流程图编写,计算器进行仿真调试;
四、主要参考文献[1]李朝青.单片机学习辅导测验及解答讲义.北京:
北京航空航天大学出
[2]龚茂发,等.单片机人机接口时列集.北京:
北京航空航天大学出版社出版,2003
[3]李众,张素琴,单片机技术与项目训练清华大学出版社
[4]周润景,张丽娜,丁丽.基于PROUTEUS的电路及单片机设计与仿真.北京航空天大学出版社
[5]陈宝江,张幽瞳.MCS单片机应用系统实用指南机械工业出版社
[6]张迎辉,赵润林,贡雪梅.单片机实训教程北京大学出版社
学生(签名)20年月日
指导教师(签名)20年月日
教研室主任(签名)20年月日
二级学院领导(签名)20年月日
毕业设计(论文)开题报告
设计(论文)题目
基于单片机的计算器设计
一、选题的背景和意义:
计算器在我们身边随处可见,在高速发展的今天,随着我们的物质生活的不断提高。
电子产品也不断的涌进了家家户户,无论是生活或者是学习还是娱乐我们都离不开电子产品。
现如今大型而复杂的计算已是人脑所不能胜任的了,而且比较容易出错。
所以我们离不开计算器,它可是我们最亲密的伙伴之一。
本设计着重在于分析计算器软件和开发过程中的环节和步骤,并从实践出发对计算器设计做一个详细分析和研究。
二、课题研究的主要内容:
(1)设计简单的计算器可以进行四则运算,为了能实现更好的功能,所以采用了LCD显示数据和结果。
(2)数字键盘包括(0~9),符号键(+,—,*,\),以及等号键,所以需要16个键,本次设计就采用了4*4键来实现的。
(3)执行程序:
开机显示为零,等待键输入值,当输入值输入数字,就可以通过LCD显示出来,当输入加减乘除运算符时,计算器在内部就执行数值转换和存储,然后输出结果。
三、主要研究(设计)方法论述:
(1)简述单片机技术在国内外的发展现状以及LCD的显示和矩阵键盘的基本原理。
(2)了解51系列某种产品最小电路。
(3)了解单片机之间数据转换功能和工作过程。
(4)完成功能模块的硬件设计和必要的参数设计。
(5)用PROTEL软件来完成原理电路图的绘制。
四、设计(论文)进度安排:
时间(迄止日期)
工作内容
五、指导教师意见:
指导教师签名:
年月日
六、二级学院意见:
签名:
年月日
基于AT89C51的简易计算器设计
目录
摘要
Abstract
第1章前言…………………………………………………………..………….1
第2章计算器的简单简介....................…………………..………………….....2
2.1设计目的.......................................................................................................2
2.2设计任务……………........…………………………….……………..…....2
2.3MCS-51系列单片机简介…….………………..…………………………4
2.4单片机的选择目的……………….…................…………….……………5
2.5矩阵按键…………………..………..…....................…….………………..6
2.6计算器设计总体思想………………………………………………..……8
第3章硬件设计…………..……....................………………………….…..…10
3.1硬件系统设计………………………………………………..….….…….10
3.2键盘接口电路........………………………………..……...……........……10
3.3LED显示模块...........………………………………...……..….…..........10
3.4运算模块……….........……………..……………...……………........…..11
第4章软件设计.............................................................................11
4.1程序语言的选择……....………………………....……………………….12
4.2主程序流程图…………………………….......……………..……..….….12
4.3算术运算程序流程图……………………….........………………….…….12
4.4键扫流程图.................................................................................................13
第5章仿真调试………………..…………….……………………………...…15
5.1C51单片机软件开发系统Keil….…….......………………………...…..15
5.2系统工作原理图…………………...……………………………………..17
第6章结束语………………………………………………………..…………19
参考文献
答谢辞
摘要
随着社会的不断发展,我们的物质生活和娱乐方式都越来越离不开电子产品。
最近几年随着科技的高速发展,单片机的应用正在悄无声息的走进了我们的生活,同时也带动了传统控制检测技术的不断更新和变化。
不仅在技术发生了改变,它也带动了我们经济的不断发展。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部位来使用。
现在,不管是计算机还是手机,里面都有一个微型的计算器,这样的设计有利于方便人们计算很复杂的计算过程。
本次设计主要采用了MSC-51单片机,LCD显示器,控制按键为元件来设计一个小小的计算器。
利用此设计熟悉单片机控制器及汇编语言的编程,对个芯片的了解和认识及51单片机各个I\O端口的功能和基本的用途有所了解。
常用的LCD显示器的使用方法及一般键盘的使用方法。
在进行仿真调试的时候所采用的软件是ProteusISIS来进行调试,而所编写的程序是用KEIL软件进行编写的。
关键词:
MSC—51单片机;数码显示LCD;ProteusISIS;KEIL软件
Abstract
Withthecontinuousdevelopmentofsociety,ourmateriallifeandentertainmentaremoreandmorecannotdowithouttheelectronicproducts.Inrecentyears,withtherapiddevelopmentofscienceandtechnosametimealsoledtothecontinuousupdateoftraditionlogy,theapplicationofSCMisquietlyintoourlife,atthealcontroldetectiontechnologyandchange.Notonlychangedintechnology.Italsoledtothecontinuousdevelopmentofoureconomy.IntheSCMreal-timedetectionandautomaticcontrolsystem,themicrocontrollerisoftenusedasacoretouse.Now,whetheritisacomputerormobilephone,whichhasaminicalculator,thisdesignisconducivetotheconvenienceofpeopleitisverycomplicatedtocalculateTheprocessofcalculation.ThisdesignmainlyusesMSC-51MCU,LEDdisplaycontrolbuttonsforthecomponentstodesignasmallcalculator.Usethisdesignwithsinglechipcontrollerandassemblylanguageprogramming,tounderstandtheknowledgeandunderstandingofachipand51MCUIOportfunctionsandbasicusagepurposes.UsingthemethodofLCDdisplaycommonandgeneralkeyboard.
Keywords:
MSC-51singlechipmicrocomputer;digitaldisplayLCD
第1章前言
随着电子信息产业的发展,计算器几乎在我们身边无处不在,它不仅方便我们计算而且能为我们解决大脑所不能解决的问题。
那么就让我们大家先来大致了解一下它的内部结构及简易的制作方法。
首先,让我们来了解一下计算器里面最核心的元器件51单片机,体积小,价格低,功能强大。
在一个单片机系统中,要使系统正常工作,那么就要满足单片机最小工作系统的信号完整。
单片机技术是一门应用性很强的专业课程,其理论知识与实际操作技能是从事电子信息类,机电类,电气自动化类等技术专业人员必不可少的。
当今社会,高科技术在不断的创新,电子产品越来越离不开人们了。
一个简简单单的计算器里面就包含了最主要的51单片机,为什么我们不选择52单片机而是选择51,因为价格低。
目前,51单片机在我国的各个行业得到了广泛的应用,各个大专院校都开设了单片机原理与应用方面的课程,这是一门技术性和实践性很强的学科,必须通过一系列的软件硬件实验。
目前我们所使用的计算器大部分都是用C语言来进行编程的。
然而,现在我就选择用汇编语来实现计算与接收外部的模拟信号进行完成本设计。
通过本次设计让我们多了解单片机内部硬件与系统的组成。
通过编程控制计算器简单的加减乘除功能,让我们了解汇编指令系统,掌握程序结构设计方法。
随着社会的发展,科学的进步,人们的生活水平在逐步的提高,尤其是微电子技术的发展,犹如雨后春笋般的变化。
电子产品的更新速度就不足惊奇了。
计算器在人们的日常中是比较常见的电子产品之一。
如何使用计算器技术就更加成熟了,充分利用已有的软件和硬件条件,设计出更出色的计算器,使其更好的为各个行业服务,成为如今电子领域重要的研究课题。
我们在以后的生活中应该不断地创新,创造更方便简洁的计算器让它更好的服务于人民群众。
以前我们使用的计算器基本上都用LED来显示,但是本设计选择了LCD它的使用功能基本上和LED一样,只是在应用方面比较先进。
这样就可以把以前老式的计算器取而代之,让人们逐渐使用LCD制作出来的计算器,今天,人们的日常生活中已经离不开计算器了,社会的各个角落都有它的身影,比如商店,学校,办公室等各个领域都离不开计算器。
所以,我们应该大力挖掘新科技,新技能,创造更多的财富,把我们的技术不断的扩充,让它带动我们的经济发展。
通过本设计的学习,是我掌握单片机程序设计和微机接口应用的基本方法,并能综合应用所学软件,硬件知识分析实际问题,提高解决毕业设计实际问题的能力,为单片机应用和开发打下良好基础。
周所周知
第2章计算器的简单简介
2.1设计目的
通过本次的设计,应用《单片机技术与项目训练》,《计算机应用基础》,《单片机应用基础》等相关知识和上网查阅资料,完成简易计算器的设计,让它能达到预期的效果,改善老式的计算器,以达到理论与实践相结合,进一步提高综合应用所学知识和设计的能力目的,更好的完成本次设计,我们做任何一次设计的时候都要取其精华,弃其糟粕,查阅更多的资料来完善我们的作品,虽然每次都会面临失败,可是失败是成功之母,为了更好的完成这个简易的计算器,我们需要准备更多的材料和设计思路,为什么我会选择制作这个简单的计算器,是因为它和我们生活息息相关,所以我想制作一个既简单又方便携带的小型计算器来代替大型的计算器。
2.2设计任务
1简单说明单片机技术发展,国内外现状及LCD动态显示和矩阵键盘基本原理。
2掌握AT89C51系列的最小电路和外部扩展电路的设计。
3了解单片机数据转换功能和工作过程。
4完成主要功能模块的硬件电路设计和必要的参数确定。
5用PROTEL软件来完成原理电路图的绘制。
4*4键
本系统相对比较简单,数据处理的量也不是很大,所以选用AT89C51作为控制系统的核心。
AT89C51是Atmel公司推出的一种低功耗、高性能的CMOS单片机,内带4KB可编程Flash存储器、128B背部RAM、2个16位定时/计数器、WDT,并具备ISP端口,便于程序的在系统修改和调试,可大大缩短系统的开发周期。
晶振电路
LCD数码管的显示
AT8C51
复位电路
图2.1硬件框图
2.4MCS-51系列单片机基本组成
单片机应用广泛,它的片内具有微型计算机的基本功能模块:
CPUROMRAMI\O接口。
单片机内部的基本结构电路如图2.3所示:
图2.3单片机内部的基本结构图
首先让我们先了解一下单片机内部各个功能的作用及特点:
1.内部程序存储器(ROM):
它主要是用来存放程序,一旦程序固化到程序存储器后是只读不写,MCS—51单片机有很多不同系列号,其中重要的区别之一就是片内程序存储器的性质和容量不同,所以在实际使用时应该按照所需要的功能来决策。
2.中央处理器(CPU):
程序被固定到单片机后,系统上电,如果提供给单片机的电源系统,复位信号,时钟信号,都满足要求了,那么CPU就开始工作。
运算器和控制器是计算机的核心部分,常把它们称为首脑地位。
3.内部数据存储器(内部RAM):
51单片机芯片中共有256个RAM单元,但其中后128个单元被专用寄存器占用,能作为寄存器供用户使用的只有前128单元,用于存放可读写的数据。
4.4个I\O接口P0.0-P0.7:
P0口8位双向接口线。
P1.0-P1.7:
P1口8位双线接口线。
AT89C51的外部引脚说明及结构示意图如图2.7所示:
MCS-51单片机是在一块芯片中集成了CPU,RAM,ROM、定时器/计数器和多种功能的I/O线等一台计算机所需要的基本功能部件。
MCS-51单片机内包含下列几个部件:
1一个8位CPU;
2一个片内振荡器及时钟电路;
34K字节ROM程序存储器;
4128字节RAM数据存储器;
5两个16位定时器/计数器;
6可寻址64KB外部数据存储器和64BK外部程序存储器空间的控制电路;
732条可编程的I/O线(四个8位并行I/O端口);
8一个可编程全双工串行口;
9具有五个中断源、两个优先级嵌套中断结构。
10 电源线:
VCC:
+5V电源。
VSS:
地线。
11 RST:
复位信号线。
当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作。
12 信号引脚介绍
P0.0~P0.7:
P0口8位双向口线。
P1.0~P1.7:
P1口8位双向口线。
P2.0~P2.7:
P2口8位双向口线。
P3.0~P3.7:
P3口8位双向口线。
13 XTAL1和XTAL2:
外接晶振引脚
14 控制线:
(1)ALE/PROG
(2)EA/VPP
(3)PSEN。
图2.7单片机的外部引脚
4.复位状态说明
单片机的复位基本上都是依靠外部电路来完成的,在时钟电路工作中复位后PC=0000H这样就可以使单片机从第一个ROM单元取指令,当RST从高电平变为低电平以后,MCS.51单片机从0000H地址开始执行程序。
在复位有效期间,ALE、引脚输出高电平。
如图2.4为89S51上电复位电路图。
89C51
图2.489C51上电复位电路图
2.5单片机的选择目的
为什么我会选择AT89C51单片机是因为它结构简单,体积小,功能大,低耗,使用方便。
我通过了51单片机和52单片机的相对比较下我还是选择了51,虽然52的储存容量比较大,但是根据实际出发,选择了51单片机。
因为一个小小的计算器不需要耗费太多的空间储存数据。
STC89C52和AT89S52的不同之处就是它们的下载方式不同,STC89C52芯片采用串口下载方式,用一根串口线就可以下载了。
AT89S52利用P1.5,P1.6,P1.7三个引脚进行下载,因此不管是并行,串行还是USB口都需要制作专门的下载线。
所以在制作计算器时,不仅要选择合适的材料外,也要考虑它们的下载方式和性能问题,只有各方面都选择好了才能在制作的过程中节省更多的时间及工作效率。
2.6矩阵按键
4*4矩阵键盘工作原理:
矩阵键盘又称为行列式键盘,它由行线,4条I\O线做列线组成,在行线和列线的每个交叉上设置一个按键。
这样键盘中的按键数为4*4矩阵键盘,这种行列式的键盘结构大大提高了I\O的利用率。
在这次设计中:
行线为高电平,接P1口的低四位P1.3-P1.0
列线为低电平,接P1口的高四位P1.7-P1.4
高四位为输入,低四位为输出
1.检测当前是否有键按下,采用逐步扫描法,检测方法为先将P1.7-P1.4依次0,检测P1.3-P1.0状态,若全为1则无键闭合,否则有键闭合。
2.取出键抖动,当检测到有键按下后,延时一段时间再做下一步判断若有键按下,应判断究竟是哪一键按下。
方法是对键盘的行线进行扫描。
P1.3
1
1
1
0
P1.2
1
1
0
1
P1.0
0
1
1
1
P1.1
1
0
1
1
图2.5状态图
图2.6键盘接口电路
2.7计算器设计总体思想
由于要设计一个简易的计算器,本次设计所采用的方法为四则运算,为了更好的显示它的结构和功能,所以这次就选择了新型材料LCD来显示数据和结果。
除此之外它所包扩零到九的数字,符号键有加减乘除和等号键。
所以只需要十六个按键就可以制成一个简单的计算器了,所以就采用了4*4矩阵按键。
在执行程序的时候,我们采用了开机显示为零,,等待键入数值,在我们输入的外部数据时,计算器就可以通过LCD显示我们所要的结果,在我们输入加减乘除的时候计算器在内部执行数字转换和存储,并等待再次输入的数字后计算,输出所需要的结果。
本次设计的计算器主要采用了51单片机来设计的,整个计算器的工作过程是单元初始化,显示初始值和键盘扫描,判断按键位置,单片机就对数据进行存储与相应处理转换,之后再通过LCD显示器显示出来。
第3章硬件设计
3.1硬件系统设计
本次设计的硬件系统,它是构成计算器的实体和装置,它一般由运算器,控制器,储存器,输入输出设备等组成。
其实单片机本质上就是一个硬件芯片,但是在实际的应用中它通常很难直接的与被控制对象进行电气连接,它必须在外部连接一些扩展接口电路,外部设备和被控制对象等硬件和软件设备。
才能构成一个简单的单片机应用系统。
本设计选用AT89C51单片机为主控单元。
显示部分采用了LCD静态显示,按键部分采用4*4键盘。
硬件电路原理图如图3.1所示:
如图3.1计算器的硬件原理图
3.2键盘接口电路
本设计计算器的硬件键盘布局如图3.1.1所示:
它一般有十六个键组成,在单片机中有一个P端口实现16个按键的功能,所以单片机它不仅体积小而且功能强大,它无时无刻不在我们身边。
3.2矩阵键盘内部电路图
如上图可得矩阵键盘采用四条I\O线作为行线,四条I\O线作为列线,在行线和列线的交叉点处设置一个按键。
这样在计算器的键盘上的数量就形成了4*4个。
这样的设计键盘结构能有效的提高单片机系统中I\O口的利用率。
3.3LCD显示模块
本设计采用了LCD作为计算器的输出模块。
为什么选择LCD而没有选择LED,是因为LCD有足够的优良特性:
1.+5V,对比可调度;2.内部含有复位电路;3.提供各种控制命令。
它所提供的功能LED有一些不能提供。
d0-d7引脚向LCD写指令或写一些指令字或者是写数据以使LCD实现不一样的功能或显示出相应的数据类型。
其接口电路如图3.1.2所示:
图3.1.2LCD接口电路
LCD的引脚说明如表3.1.2所示:
符号
引脚说明
符号
引脚说明
VCC
电源地
DB4
DataI/O
VDD
电源正极
DB5
DataI/O
V0
液晶显示偏压输入
DB6
DataI/O
RS
数据命令选择端
DB7
DataI/O
R\W
读写控制信号
CS1
片选IC1
E
使能信号
CS2
片选IC2
DB0
DataI/O
RST
复位端(H)正常工作
DB1
DataI/O
VEE
负电源输出
DB2
DataI/O
BLA
背光电源正极
DB3
DataI/O
BLK
背光电源正极
3.1.2LCD的引脚说明图
3.4运算模块
单片机是依靠程序来执行的,程序源可以不断地修改,让它来完成我们所需要的功能,通过不一样的程序实现不一样的功能,特别是一些特殊的功能,通过单片机的编写可以实现高智能,高效率和可靠性,因此采用单片机来作为计算器的主要功能,是可以很快的实现运算功能的,材料的合理选择,可以成就我们一般的成功率。
运算模块是由键盘和显示屏组成的。
而单片机是通过按键来实现输入数据和操作方式的控制,在运算过程中,我们首先要确定所选运算符号,若选择的是加减,那么就要考虑结果是否溢出,溢出显示错误提醒,没有溢出那么输出正确的结果。
如果是除,则要判断除数是否为零,如果为零那么显示错误提示,不为零输出结果。
第4章程序语言的选择
在单片机中程序语言的选择有两种,一种是汇编语言,一种是C语言。
在本次的设计中我选择了汇编语言。
因为它能够直接访问与硬件相关的存储器或