基于单片机简易计算器的设计本科生毕业论文设计 推荐.docx
《基于单片机简易计算器的设计本科生毕业论文设计 推荐.docx》由会员分享,可在线阅读,更多相关《基于单片机简易计算器的设计本科生毕业论文设计 推荐.docx(34页珍藏版)》请在冰点文库上搜索。
基于单片机简易计算器的设计本科生毕业论文设计推荐
本科生毕业论文(设计)
基于单片机简易计算器的设计
学院 电气信息工程学院
专业电气工程及其自动化
班级 09级电气四班
学号 0612090533
学生姓名
联系方式
指导教师罗书克职称:
讲师
2013年5月
独创性声明
本人郑重声明:
所呈交的毕业论文(设计)是本人在指导老师指导下取得的研究成果。
除了文中特别加以注释和致谢的地方外,论文(设计)中不包含其他人已经发表的研究成果。
与本研究成果相关的所有人所做出的任何贡献均已在论文(设计)中作了明确的说明并表示了谢意。
签名:
__________________
________年______月_____日
授权声明
本人完全了解有关保留、使用本科生毕业论文(设计)的规定,即:
有权保留并向国家有关部门或机构送交毕业论文(设计)的复印件和磁盘,允许毕业论文(设计)被查阅和借阅。
本人授权可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编论文(设计)。
本人论文(设计)中有原创性数据需要保密的部分为(如没有,请填写“无”):
学生签名:
年 月 日
指导教师签名:
年 月 日
基于单片机的简易计算器的设计
摘要
近几年单片机技术的发展很快,其中,电子产品的更新速度迅猛。
计算器是日常生活中比较常见的电子产品之一。
如何才能使计算器技术更加的成熟,充分利用已有的硬件和软件条件,设计出更出色的计算器。
本设计是以STC89C52单片机为核心的计算器模拟系统设计,输入采用4*4矩阵键盘,可以进行加、减、乘、除带符号数字运算(六位整数、两位小数),并在液晶显示屏LCD1602上静态显示操作过程及结果。
本设计的操作过程是利用SCTT89C51的来控制LXD1602显示器,SCT89C51有共四个端口,作为数据的输入端和输出端,其中两个端口作为输出端,两个端口作为输出端,两个特殊的端口XTAL2和XTAL1,则作为外部振荡器的输入端和输出端。
四个端口的作用是:
一个输入端接4*4矩阵键盘,另一个数据输入端接显示屏LCD1602的三个特殊端口,而另外两个端口作为输出端口,一个端口接显示屏LCD1602的数据端口,另一个端口作为振荡电路的输入端和输出端,连接好电路,接通电源,则可在液晶显示屏LCD1602显示加、减、乘、除的运算过程及结果,这是计算机的设计总过程。
关键词:
单片机;C语言;计算器
Simplecalculatordesignbasedonsinglechip
ABSTRACT
Single-chipcomputertechnologydevelopingrapidlyinrecentyears,amongthem,electronicproductupdatespeedisfast.Thecalculatorisoneoftheelectronicproductsarecommonineverydaylife.Howcanyoumakethecalculatortechnologymoremature,makefulluseofexistinghardwareandsoftwareconditions,designabettercalculator.
ThisdesignisbasedonSTC89C52single-chipmicrocomputerasthecoreofcalculatorsimulationsystemdesign,inputuse4*4matrixkeyboard,couldadd,subtract,multiplyanddividesignednumber-crunchingsix(integer,twodecimalplaces),andstaticontheLCDdisplayLCD1602displayoperationprocessandresults.ThisdesignprocessiscontrolledbyusingSCTT89C51LXD1602display,SCT89C51hasatotaloffourports,asthedatainputterminalandoutputterminal,twooftheportastheoutputside,thetwoportsastheoutputside,andtwospecialportXTAL1andXTAL2,asexternaloscillatorinputendandoutputend.Fourportis:
a4*4matrixkeyboardinput,anotherdatainputterminationdisplayLCD1602threespecificports,andtheothertwoportsasoutputport,aportdisplayLCD1602dataport,anotherportasoscillationcircuitinputendandoutputend,goodconnectionelectriccircuit,switchonthepower,canbeintheLCDdisplayLCD1602displayofadd,subtract,multiplyanddivideoperationprocessandresult,thisisthecomputer'sdesignprocess.
Keywords:
Singlechipmicrocomputer;TheClanguage;Calculatingmachine
基于单片机的简易计算器的设计
序言
随着社会的发展,科学的进步,人们的生活水平在逐步地提高,尤其是微电子技术的发展犹如雨后春笋般的变化。
电子产品的更新速度快就不足惊奇了。
计算器在人们的日常中是比较常见的电子产品之一,如何使计算器技术更加的成熟,充分利用已有的软件和硬件条件,设计出更出色的计算器,使其更好地为各个行业服务,成了如今电子领域重要的研究课题。
现如今,人们的日常生活中已经离不开计算器了,社会的各个角落都有它的身影,比如商店、办公室、学校等,因此设计一款简单实用的计算器会有很大的实际意义。
本设计旨在进一步掌握单片机理论知识,理解嵌入式单片机系统的硬软件设计,加强对实际应用系统设计的能力。
通过本设计的学习,使我掌握单片机程序设计和微机接口应用的基本方法,并能综合运用本科阶段所学软、硬件知识分析实际问题,提高解决毕业设计实际问题的能力,为单片机应用和开发打下良好的基础。
1.对字符液晶显示模块的工作原理,如初始化、清屏、显示、调用及外特性有较清楚的认识,并会使用LCD(液晶显示模块)实现计算结果的显示;掌握液晶显示模块的驱动和编程,设计LCD和单片机的接口电路,以及利用单片机对液晶显示模块的驱动和操作;
2.在充分分析内部逻辑的概念,进行软件和调试,学会使用,并能够以其为平台设计出具有四则运算能力简易计算器的硬件电路和软件程序。
1.方案论证
1.1芯片
1.1.1方案一
本设计中的芯片采用STC89C52,配备相应的外设。
单片机是单片微型机的简称,故又称为微控制器MCU(MicroControlUnit)。
通常由单块集成电路芯片组成,内部包含有计算机的基本功能部件:
中央处理器CPU,存储器和I/O接口电路等。
因此,单片机只要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
单片机广泛应用于智能产品,智能仪表,测控技术,智能接口等,具有操作简单、实用方便、价格便宜等优点,而其中STC89C52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM-FlashProgramableandErasableReadOnlyMemory)的低电压,高性能COMOS8的微处理器。
该器件与工业标准的MCS-51指令集和输出管脚相兼容;且是单片机中最典型的代表,应用于各种控制领域。
1.1.2方案优点
采用芯片STC89C52,能使方案实用性和方便性更强,成本更低,STC89C52单片机作为中央处理单元进行计算器这样设计,它能够实现对六位整数、两位小数的加、减、乘、除的四则运算。
1.2输入模块
1.2.1方案一
采用矩阵式键盘作为输入模块,矩阵式按键输入模块,其特点是:
电路和软件稍复杂,但相比之下,当键数越多时,越节约I/O口,比较节省资源。
其原理图如图1-1所示。
图1-1矩阵键盘输入
1.2.2方案的优点
本设计中的输入模块使用的是矩阵键盘输入。
键盘输入预置用于计算,按键较多。
采用矩阵式按键,可以方便地输入一个数值,使操作界面更具有更方便、简洁和人性化,且节约了宝贵的I/O口资源,故采用方案二作为系统输入模块。
1.3显示模块
1.3.1方案一
采用LCD1602液晶显示,其特点是:
可以调节其背光亮度,这种显示方式接口,编程虽然有些麻烦,但管理较方便,占用的I/O口资源线也不多。
1.3.2方案的应用
本设计中的显示模块使用的是LCD1602液晶显示。
在计算器运算中,需显示的数字、符号较多,按很据个方面的特点,而后可以发现LCD液晶显示,虽然在价格上的确是稍贵于LED数码管;但数码管在硬件设计电路中,会因线太多、线路复杂而过于繁琐,则舍弃LED数码管,故选择LCD1062。
2.计算器硬件设计
2.1系统组成及硬件框图
图2-1系统组成及硬件框图
2.2元器件简介
2.2.1STC89C52特点
图2-2单片机STC89C52
1、主要性能:
(1)与MCS-51单片机产品兼容;8K字节在系统可编程Flash存储
(2)1000次擦写周期;
(3)全静态操作:
0Hz-33Hz;
(4)三级加密程序存储器;
(5)32个可编程I/O口线、三个16位定时器/计数器、8个中断源;
(6)全双工UART串行通信;
(7)低功耗空闲和掉电模式,掉电后中断可唤醒;
(8)双数据指针;
(9)掉电标识符。
2、STC89C52的功能特性概述
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在线系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C52具有以下标准功能:
8K字节Flash,256字节RAM,32位I/O口线,看门口定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
8位微控制器,8K字节在系统可编程Flash。
同时,该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
3、STC89C52的引脚功能
单片机STC89C52为40引脚芯片,见图2-3所示。
图2-3STC89C52引脚图
(1)口线:
P0、P1、P2、P3共四个八位口。
P0口:
P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0不具有内部上拉电阻。
在Flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
P1口:
P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。
对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用;作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在Flash编程和校验时,P1口接收低8位地址字节。
此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。
P2口:
P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用;作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX@DPTR)时,P2口送出高八位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(例如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在Flash编程和校验时,P2口也接收高八位地址字节和一些控制信号。
表2-1STC89C52的P3口第二功能
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INT0(外部中断0)
P3.3
INT1(外部中断1)
P3.4
T0(定时/计数器0)
P3.5
T1(定时/计数器1)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P3输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用;作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
P3口亦作为STC89C52特殊功能(第二功能)使用,如表2-1所示。
在Flash编程和校验时,P3口也接收一些控制信号。
(2)其他引脚说明:
看RST:
复位输入。
晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。
门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRT0位可以使此功能无效。
DISRT0默认状态下,复位高电平有效。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于所存地址的低八位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只要一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被拉高,单片机执行外部程序时,应设置ALE禁止位无效。
PSEN:
程序存储允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲;在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:
外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H~FFFFH),EA端必须保持低电平(接地)。
需注意是:
如果加密LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
图2-4晶振外接结构引脚图
XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。
内部方式时,时钟发生器对振荡脉冲二分频,如晶振为1MHz,时钟频率就为6MHz。
晶振的频率可以在1MHz~24MHz内选择,在本设计电路中选用了12MHz。
电容取20PF左右。
机器周期=12*时间周期,如12MHz的机器周期为1微秒。
(1)控制或复位引脚
RESET此脚为高电平时(约2个机器周期)可将单片机复位。
RST/VPD:
当出现两个机器周期高电平时,单片机复位。
复位后,P0~P3输出高电平;SP寄存器为07H;其它寄存器全部清零;不影响RAM状态,如图2-5所示。
图2-5复位电路
4、单片机的现状及发展方向
单片机是为了工业控制需要满足而诞生的,是自动控制系统的核心部件,因而也主要用于工业控制、智能化仪器仪表、家用电器中。
它具有体积小、功能多、价格低、使用方便、系统设计灵活等优点。
应用领域不断扩大,除了工业控制、智能化仪表、通讯、家用电器外,在智能化高档电子玩具产品中也大量采用单片机芯片作为核心控制部件。
由于单片机主要面向工业控制,工作环境比较恶劣,入高温,强电磁干扰,甚至含有腐蚀性气体;在太空中工作的单片机控制系统,还必须具有抗辐射能力,这决定了单片机CPU于通用微机CPU具有不同的技术特征和发展方向:
可靠性高;控制功能往往很强;指令系统比通用微处理器慢得多;X系列芯片取代;抗干扰性强,工作温度范围宽。
2.2.2LCD1602液晶显示屏
1、液晶显示原理
液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。
液晶显示器有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式计算机、数字摄像机、PDA移动通信工具等众多领域。
2、LCD1602的应用简介
LCD1602液晶显示器采用HD44780及其兼容芯片作为点阵式LCD的控制器驱动器,还采用HD44100进行LCD的时分割驱动。
HD44780的内部结构主要包括显示数据RAM(DDRAM)、字符发生器ROM(CGROM)、字符发生器RAM(CGRAM)、指令寄存器IR、数据寄存器DR、地址计数器AC(AddressCounter)和忙标志BF(BusyFlag)等逻辑电路。
1602液晶模块内部的控制器共有11条控制指令,丰富的指令可以完成液晶的时序控制、工作方式设置和数据显示等。
采用的LCD1602液晶模块是标准16针插座,接口电路如图2-6所示,及各引脚说明如表2-6所示。
图2-6LCD1602的引脚接口电路图
表2-2LCD1602的引脚说明
第1脚
Vss为地电源
第2脚
VDD接5V正电源
第3脚
Vo为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚
Rs为寄存器选择,高电平选择数据寄存器、低电平选择指令寄存器。
第5脚
Rw为读写信号线,高电平时进行读操作,低电平时选择指令寄存器。
第6脚
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7-14脚
D0-D7为8位双向数据线。
第15-16脚
背光阳极和背光阴极。
3、其他方面简介
DDRAM用来暂存显示字符的代码,共80个字节,DDRAM的各个单元对应着显示屏上的各个字符位,如图2-2-6所示。
因此,DDRAM的地址也就意味着显示字符的地址,显示字符时首先要向LCD送显示字符地址。
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
OE
OF
10
……
27
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
……
67
图2-2-6DDRAM单元地址与显示屏字符位的对应关系
4、LCD1602的主要技术参数:
(1)显示容量为16*2个字符;
(2)芯片工作电压为4.5V-5.5V;
(3)工作电流为2.0mA(5.0V);
(4)模块最佳工作电压为5.0V;
(5)字符尺寸为2.95*4.35(W*H)mm。
5、LCD的特点:
(1)低压微功耗;
(2)平板型结构;
(3)被动显示型(无眩光,不刺激人眼,不会引起眼睛疲劳);
(4)显示信息量大(因为像素可以做得很小);
(5)易于彩色化(在色谱上可以非常准确的复现);
(6)无电磁辐射(对人体安全,利于信息保密);
(7)长寿命(这种器件几乎没有什么劣化问题,因此寿命极长,但是液晶背光寿命有限,不过背光部分可以更换)。
3.计算器设计原理分析
3.1设计方案一
本设计需要使用LCD液晶显示屏和编码键盘。
故选择静态显示和用4*4的按键键盘,使用LCD1602液晶显示屏来显示运算过程和运算结果。
主程序进行初始化,其他的程序选择模块式的方式。
首先对每个模块进行调试,当模块调试成功后,逐一地加入主程序中,最后完成整个软件部分的设计。
3.2计算器硬件方案及硬件资源分配
3.2.1硬件资源分配
主要用到的硬件:
单片机STC89C52、液晶显示屏LCD1602、4*4按键键盘硬件分配:
1、P3口:
作为输入口,与键盘连接,实现数据的输入;
2、P0、P2口:
作为输出口(P2口为高位,P0口为低位),控制LCD液晶显示屏显示数据的结果;
3、液晶显示屏LCD1602显示输出。
3.2.2系统的硬件设计
为了更好地实现系统的功能,硬件电路的设计应该遵循以下原则:
1、优化硬件电路
采用软件设计与硬件设计相结合的方法。
尽管采用软件来实现硬件系统的功能时,也许响应的时间会比单纯使用硬件时长,而且还要占用微处理器(MCU)的时间;但是,用软件实现硬件的功能可以简化硬件结构,提高电路的可靠性。
所以,在设计本系统的时候,在满足可靠性和实时性的前提下,尽可能地通过软件来实现硬件功能。
2、可靠性及抗干扰设计
根据可靠性设计理论,系统所用芯片数量越少,系统的平均无故障时间越长。
而且,所用芯片数量越少,地址和数据总线在电路板上受干扰的可能性也就越小。
因此,系统的设计思想是在满足功能的情况下争取较少数量的芯片。
功能扩展是否灵活是衡量一个系统优劣的重要指标。
一次设计往往不能完全考虑到系统的各个方面,系统需要不断完善以及进行功能升级。
进行功能扩展时,应该在原有设计的基础上,通过修改软件程序和少量硬件完成。
对于本系统而言,就是要求在系统硬件不变的情况下,能够通过修改软件程序,完成功能的升级和扩展。
根据提出的系统设计方案,结合以上三条原则,确定了系统硬件的设计。
计算器主要由以下一些功能模块组成:
非编码键盘模块、运算模块(单片机内部)、LCD液晶显示模块等。
该系统的硬件设计采用了模块化的设计方法。
STC89C