简易计算器设计毕业设计说明书.docx
《简易计算器设计毕业设计说明书.docx》由会员分享,可在线阅读,更多相关《简易计算器设计毕业设计说明书.docx(53页珍藏版)》请在冰豆网上搜索。
![简易计算器设计毕业设计说明书.docx](https://file1.bdocx.com/fileroot1/2022-12/14/fc42ea09-218c-4a8f-abaf-5a1fdcfe424d/fc42ea09-218c-4a8f-abaf-5a1fdcfe424d1.gif)
简易计算器设计毕业设计说明书
毕业设计说明书
简易计算器设计
摘要
单片机由于其微小的体积和极低的成本,广泛的应用于家用电器、工业控制等领域中。
在工业生产中。
单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
近年来,单片机以其体积小、价格廉、面向控制等独特优点,在各种工业控制、仪器仪表、设备、产品的自动化、智能化方面获得了广泛的应用。
与此同时,单片机应用系统的可靠性成为人们越来越关注的重要课题。
影响可靠性的因素是多方面的,如构成系统的元器件本身的可靠性、系统本身各部分之间的相互耦合因素等。
其中系统的抗干扰性能是系统可靠性的重要指标。
计算器在人们的日常中是比较的常见的电子产品之一。
在本次的毕业设计课题中,我以《MCS-51系列单片微型计算机及其应用》课程中所学知识为基础,设计了简易计算器。
本系统以MCS-51系列中的8051单片机为核心,能够实现两位数的四则运算。
该系统通过检测矩阵键盘扫描,判断是否按键,经数据转换把数值送入数码管动态显示。
关键词:
计算器,51单片机,液晶显示屏,独立键盘
ABSTRACT
Becauseofitssmallvolumeofsinglechipmicrocomputerandverylowcost,widelyusedinhomeappliances,industrycontrol,etc.Inindustrialproduction.Singlechipmicrocomputersaremicrocomputerasanimportantbranch,isalsoavitalityofthemodel.Singlechipmicrocomputerhereinafterreferredtoasthesinglechipmicrocomputer,isparticularlyapplicabletocontrolfield,soitisalsocalledthemicrocontroller.Inrecentyears,microcontrollerwithitssmallsize,inexpensiveprice,forthecontrolandotheruniqueadvantagesinavarietyofindustrialcontrol,instrumentation,equipment,automationproducts,theintelligentaspectsofawiderangeofapplications.Atthesametime,thereliabilityofthesystemofmicrocomputerapplicationtobecomeanimportantissueofgrowingconcern.Affectthereliabilityofmanyfactors,suchastoconstitutethecomponentsofthesystem'sreliability,thesystemitselfisallpartofthecouplingbetweenfactors.Anti-interferenceperformanceofthesystemwhichisanimportantindicatorofsystemreliability.Oneofthecalculatorinpeople'sdailyincommonelectronicproducts.Calculatorstudentsarefamiliarwitheachandeveryoneofus,fromjuniorhightohighschoolandthentotheUniversity.Inthegraduationdesigntopic,Iwith"MCS-51seriessinglechipcomputeranditsapplication"courseknowledgeasthefoundation,thedesignthesimplecalculator.ThissystemtoMCS-51ofthe8051seriessinglechipmicrocomputerasthecore,canachievedouble-digitarithmetic.Thesystemthroughthetestmatrixkeyboardscan,judgewhetherkey,thedatatransferthenumericalintodigitaltubedynamicdisplay.
KeywordsCalculator;51microcontroller;LCDdisplay;separatekeyboard
1方案论证与设计
1.1设计目的与要求
此次设计的要求是通过利用我们在大学三年内所学到的电子信息方面的专业知识,来设计一个简易计算器,通过此简易计算器,我们所能达到的功能有:
(1)此简易计算器能实现加减乘除的最基本运算任务,且精确程度需达到小数点后一位小数。
(2)在普通的计算器基础上,要求本计算器能通过按键切换数进制使其能在十进制与十六进制之间方便的切换。
(3)简易计算器可以计算整数的平方与开根号功能。
(4)简易计算器能实现三角函数的计算。
1.2方案论证与设计
根据功能和指标要求,本系统选用MCS52单片机为主控机。
通过扩展必要的外围接口电路,实现对计算器的设计。
具体设计考虑如下:
(1)由于要设计的是简单的计算器,可以进行四则运算,对数字的大小范围要求不高故我们采用可以进行四位数字的运算。
(2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、归零键和等号键,10进制转换,16进制转换。
(3)因为16个键不够用,所以采用一键多用,用shift/ctrl+shift的键来控制。
图1系统模块图
根据需要我们可以采用自上而下的程序设计方法,此方法先从主程序开始设计,然后再编制各从属程序和子程序,层层细化逐步求精,最终完成一个复杂程序的设计。
这种方法比较符合人们的日常思维,缺点是一级的程序错误会对整个程序产生影响。
程序流程图如图2所示:
2
硬件模块介绍
2.1单片机(AT89S52)
单片机的发展趋势:
低功耗CMOS化;微型单片化;主流与多品种共存;单片机从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。
纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:
1)低功耗CMOS化
MCS-51系列的8051推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。
象80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。
CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于在要求低功耗象电池供电的应用场合。
所以这种工艺将是今后一段时期单片机发展的主要途径。
2)微型单片化
现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。
甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。
此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。
现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。
3)主流与多品种共存
现在虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的Winbond系列单片机。
所以C8051为核心的单片机占据了半壁江山。
而Microchip公司的PIC精简指令集(RISC)也有着强劲的发展势头,中国台湾的HOLTEK公司近年的单片机产量与日俱增,与其低价质优的优势,占据一定的市场分额。
此外还有MOTOROLA公司的产品,日本几大公司的专用单片机。
在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。
计算器一般由运算器、控制器、存储器、键盘、显示器、电源和一些可选外围设备及电子配件通过人工或机器设备组成。
低档计算器的运算器、控制器由数字逻辑电路实现简单的串行运算,其随机存储器只有一、二个单元,供累加存储用。
高档计算器由微处理器和只读存储器实现各种复杂的运算程序,有较多的随机存储单元以存放输入程序和数据。
键盘是计算器的输入部件,一般采用接触式或传感式。
为减小计算器的尺寸,一键常常有多种功能。
显示器是计算器的输出部件,有发光二极管显示器或液晶显示器等。
除显示计算结果外,还常有溢出指示、错误指示等。
计算器电源采用交流转换器或电池,电池可用交流转换器或太阳能转换器再充电。
为节省电能,计算器都采用CMOS工艺制作的大规模集成电路(见互补金属-氧化物-半导体集成电路),并在内部装有定时不操作自动断电电路。
计算器可选用的外围设备有微型打印机、盒式磁带机和磁卡机等。
单片机是我们电子产品实现自动化、智能化必不可少的电子元器件,它的外观如图3所示:
图3单片机外观图
2.1.1单片机(AT89S52)的引脚功能
与51单片机兼容,AT89S52内部有8位CPU,在系统可编程Flash,8KB内部ROM,256字节内部RAM,32个可编程I/O线,最高工作频率12MHz,8个中断源,3个16位定时计数器,三级加密程序存储器,全双工串行通道,如图4所示:
图4单片机引脚图
2.1.2单片机(AT89S52)的引脚介绍
(1)电源引脚Vcc 40脚 正电源脚,工作电压为5V,另有AT89LV51工作电压则是2.7-6V,引脚功能一样。
GND 20脚 接地端。
(2)外接晶体引脚外接晶体引脚如图5所示:
图5外接晶体管引脚
Pin19:
时钟XTAL1脚,Pin18:
时钟XTAL2脚,XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。
内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。
晶振的频率可以在1MHz-24MHz内选择。
电容取30PF左右。
(3)复位
在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。
复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。
当复位脚由高电平变为低电平时,芯片为ROM的0000H处开始运行程序。
常用的复位电路如下图6所示。
图6复位电路图
复位操作不会对内部RAM有所影响。
当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。
什么叫复位?
复位是单片机重新执行程序代码的意思。
8051的复位方式可以是自动复位,也可以是手动复位,如图7所示。
此外,RESET/Vpd还是一复用脚,Vcc掉电期间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。
图7复位方式图
(4)晶振电路的设计:
晶振电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。
单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地工作。
通常在引脚Xl和X2跨接石英晶体和两个补偿电容构成自激振荡器,如图2.5中Y1、C1、C2。
可以根据情况选择6MHz、12MHz或24MHz等频率的石英晶体,,补偿电容通常选择33pF左右的瓷片电容。
图8晶振电路
(5)输入输出(I/O)引脚:
P39-P32为P0.0-P0.7输入输出脚,称为P0口,是一个8位漏极开路型双向I/O口。
内部不带上拉电阻,当外接上拉电阻时,P0口能以吸收电流的方式驱动八个LSTTL负载电路。
通常在使用时外接上拉电阻,用来驱动多个数码管。
在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,不需要外接上拉电阻。
P1-P8为P1.0-P1.7输入输出脚,称为P1口,是一个带内部上拉电阻的8位双向I/0口。
P1口能驱动4个LSTTL负载。
通常在使用时外不需要外接上拉电阻,就可以直接驱动发光二极管。
端口置1时,内部上拉电阻将端口拉到高电平,作输入用。
P21-P28为P2.0-P2.7输入输出脚,称为P2口,是一个带内部上拉电阻的8位双向I/O口,P2口能驱动4个LSTTL负载。
端口置1时,内部上拉电阻将端口拉到高电平,作输入用。
对内部Flash程序存储器编程时,接收高8位地址和控制信息。
在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。
而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。
P10-P17为P3.0-P3.7输入输出脚,称为P3口,是一个带内部上拉电阻的8位双向I/O口,P2口能驱动4个LSTTL负载,这8个引脚还用于专门的第二功能。
端口置1时,内部上拉电阻将端口拉到高电平,作输入用。
P1-P3端口在做输入使用时,因内部有上接电阻,被外部拉低的引脚会输出一定的电流。
除此之外P3端口还用于一些专门功能,具体请看表1:
表1P3口功能表
P3引脚
兼用功能
P3.0
串行通讯输入(RXD)
P3.1
串行通讯输出(TXD)
P3.2
外部中断0(INT0)
P3.3
外部中断1(INT1)
P3.4
定时器0输入(T0)
P3.5
定时器1输入(T1)
P3.6
外部数据存储器写选通WR
P3.7
外部数据存储器写选通RD
(6)其它的控制或复用引脚
(1)ALE/PROG30访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节。
即使不访问外部存储器,ALE端仍以不变的频率输出脉冲信号(此频率是振荡器频率的1/6)。
在访问外部数据存储器时,出现一个ALE脉冲。
对Flash存储器编程时,这个引脚用于输入编程脉冲PROG
(2)PSEN29该引是外部程序存储器的选通信号输出端。
当AT89C51由外部程序存储器取指令或常数时,每个机器周期输出2个脉冲即两次有效。
但访问外部数据存储器时,将不会有脉冲输出。
(3)EA/Vpp31外部访问允许端。
当该引脚访问外部程序存储器时,应输入低电平。
要使AT89S51只访问外部程序存储器(地址为0000H-FFFFH),这时该引脚必须保持低电平。
对Flash存储器编程时,用于施加Vpp编程电压。
MCS-51单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O等一台计算机所需要的基本功能部件。
如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。
单片机是靠程序运行的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性!
因此我们采用单片机作为计算器的主要功能部件,可以进行很快地实现运算功能,如图9所示:
图9单片机芯片图
2.1.3单片机(AT89S52)的内部结构
特殊功能寄存器:
特殊功能寄存器的片内空间分存如下图2所示。
这些地址并没有全部占用,没有占用的地址不可使用,读这些地址将得到一个随意的数值。
而写这些地址单元将不能得到预期的结果。
中断寄存器:
各中断允许控制位于IE寄存器,5个中断源的中断优先级控制位于IP寄存器,AUXR辅助寄存器如图10所示。
图10AUXR辅助寄存器
双时钟指针寄存器:
为方便地访问内部和外部数据存储器,提供了两个16位数据指针寄存储器:
PD0位于SFR区块中的地址82H、83H和DP1位于地址84H、85H,当SFR中的位DPS=0时选择DP0,而DPS=1时选择DP1,在使用前初始化DPS,双时钟指针寄存器如图11所示。
图11双时钟指针寄存器
电源空闲标志:
电源空闲标志(POF)在特殊功能寄存储器SFR中PCON的第4位(PCON.4),电源打开时POF置“1”,它可由软件设置睡眠状态并不为复位所影响。
存储器结构:
MCS-51单片机内核采用程序存储器和数据存储器空间分开的结构,均具有64KB外部程序和数据的寻址空间。
程序存储器:
如果EA引脚接地(GND),全部程序均执行外部存储器。
在AT89S52,假如接至Vcc(电源+),程序首先执行从地址0000H-0FFFH(4KB)内部程序存储器,再执行地址为1000H-FFFFH(60KB)的外部程序存储器。
数据存储器:
在AT89S52的具有128字节的内部RAM,这128字节可利用直接或间接寻址方式访问,堆栈操作可利用间接寻址方式进行,128字节均可设置为堆栈区空间。
看门狗定时器(WDT):
WDT是为了解决CPU程序运行时可能进入混乱或死循环而设置,它由一个14bit计数器和看狗复位SFR(WDTRST)构成。
外部复位时,WDT默认为关闭状态,要打开WDT,必按顺序将01H和0E1H写到WDTRST寄存器,当启动了WDT,它会随晶体振荡器在每个机器周期计数,除硬件复位或WDT溢出复位外没有其它方法关闭WDT,当WDT溢出,将使RST引脚输出高电平的复位脉冲。
2.2输入模块
计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O口资源,因此在很多情况下都不采用这种方式。
为此,我们引入了矩阵键盘的应用,采用四条I/O线作为行线,四条I/O线作为列线组成键盘。
在行线和列线的每个交叉点上设置一个按键。
这样键盘上按键的个数就为4×4个。
这种行列式键盘结构能提高
每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。
矩阵的行线和列线分别通过两并行接口和CPU通信。
键盘的一端(列线)通过电阻接VCC,而接地是通过程序输出数字“0”实现的。
键盘处理程序的任务是:
确啊定有无键按下,判断哪一个键按下,键的功能是什么?
还要消除按键在闭合或断开时的抖动。
两个并行口中,一个输出扫描码,使按键逐行动态接地;另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能。
当无按键闭合时,P10~P13与P14~P17之间开路;当有键闭合时,与闭合键相连的两条I/O口线之间短路。
判断有无按键按下的方法是:
第一步,置列线P14~P17为输入状态,从行线P10~P13输出低电平,读入列线数据,若某一列线为低电平,则该列线上有键闭合。
第二步,行线轮流输出低电平,从列线P14~P17读入数据,若有某一列为低电平,则对应行线上有键按下。
综合一二两步的结果,可确定按键编号。
但是键闭合一次只能进行一次键功能操作,因此须等到按键释放后,再进行键功能操作,否则按一次键,有可能会连续多次进行同样的键操作。
图12键盘电路图
2.3输出模块
FYD12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字。
也可完成图形显示低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
图1312864液晶显示屏实物
2.3.1液晶介绍
液晶是一种高分子材料,因为其特殊的物理、化学、光学特性,20世纪中叶开始被广泛应用在轻薄型的显示技术上。
人们熟悉的物质状态为气、液、固,较为生疏的是电浆和液晶。
液晶要具体的特殊形状分子组合才会长生,它们可以流动,又拥有结晶的光学性质,液晶的定义,现在已放宽而囊括了在某一温度范围可以使液晶,在低温下为正常的结晶物质,而液晶的组成物质是一种有机化合物,也就是以碳为中心所构成的化合物。
2.3.2液晶显示功能介绍
液晶显示(LCD)具有功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点,近几年来被广泛用于单片机控制的智能仪器,仪表和低功耗电子产品中。
LCD可分为段位式LCD、字符式LCD和点阵式LCD。
其中,段位式LCD和字符式LCD只能用于字符和数字的简单显示,不能满足图形线和汉字显示的要求,而点阵式LCD不仅显示字符、数字。
还可以显示各种图形、曲线及汉字,并可以实现屏幕上下左右滚动,动画功能,分区开窗口,反转,闪烁等功能,用途十分广泛。
图1412864功能模块图
2.3.3液晶显示的原理
液晶显示材料最常见的用途是电子表和计算器的显示板,为什么显示数字呢?
原来这种液态光电显示材料,利用液晶的电光效应吧电信号转换成字符、图像等可见信号。
液晶下正常情况下,气分子排列很有秩序,显得清澈透明,一旦加上电流电场后,分子的排列被打乱,一部分液晶变得不透明,颜色加深,因而能显示数字和图像。
液晶显示电路如图15所示:
图15液晶显示电路图
2.3.412864液晶显示功能具体参数
(1)、低电源电压(VDD:
+3.0--+5.5V)
(2)、显示分辨率:
128×64点
(3)、内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)
(4)、内置128个16×8点阵字符
(5)、2MHZ时钟频率
(6)、显示方式:
STN、半透、正显
(7)、驱动方式:
1/32DUTY,1/5BIAS
(8)、视角方向:
6点
(9)、背光方式:
侧部高亮白色LED,功耗仅为普通LED的1/5—1/10
(10)、通讯方式:
串行、并口可选
(11)、内置DC-DC转换电路,无需外加负压
(12)、无需片选信号,简化软件设计
(13)、工作温度:
0℃