毕业设计论文基于单片机的科学计算器设计.docx
《毕业设计论文基于单片机的科学计算器设计.docx》由会员分享,可在线阅读,更多相关《毕业设计论文基于单片机的科学计算器设计.docx(42页珍藏版)》请在冰豆网上搜索。
毕业设计论文基于单片机的科学计算器设计
基于单片机的科学计算器设计
摘要
在现代科技迅猛发展的当今,计算器依然是人们日常生活中不可或缺的电子产品之一。
计算器始终在不断发展及完善之中,功能必将更加强大。
基于这样的理念,本设计采用AT89C51单片机作为主控芯片,使用C语言为系统进行编程,采用4*4矩阵键盘作为输入模块,输出模块采用LCD1602液晶显示,从而实现基于单片机的基本功能。
矚慫润厲钐瘗睞枥庑赖。
本设计重点说明以下几个方面内容:
1.基于单片机的计算器所具备哪些基本功能,对矩阵键盘输入原理及液晶显示原理进行简单的阐述。
2.介绍系统的整体设计理念,展示系统设计的流程框图,并对功能模块的划分,及所选用的元器件性能参数进行详细说明。
聞創沟燴鐺險爱氇谴净。
3.对系统的每个功能模块的软硬件设计,进行详细说明。
关键词单片机,AT89C52,LCD1602液晶,矩阵键盘,C语言
ABSTRACT
Intherapiddevelopmentofmodernscienceandtechnologytoday,thecalculatorisstilloneoftheelectronicproductsisanintegralpartofpeople'sdailylife.Thecalculatoralwaysamongthecontinuousdevelopmentandimprovement,thefunctionwillcertainlybemorepowerful.Basedonthisconcept,thedesignusesAT89C51microcontrollerasthemasterchip,usingtheCprogramminglanguageforthesystem,with4*4matrixkeyboardasaninputmodule,outputmoduleLCD1602LCDdisplay,inordertoachievethebasicfunctionsoftheMCU.
Thisdesignhighlightsthefollowingaspects:
1.microcontroller-basedcalculatorwithbasicfunctions,theprincipleofasimpleexpositionofprincipleandLCDmatrixkeyboardinput.
2.describesthesystem'soveralldesignconcept,showingtheflowdiagramofthesystemdesign,theandfunctionmoduleframing,andoptionalComponentperformanceparametersdescribedindetail.
3.ofeachfunctionalmoduleofthesystemhardwareandsoftwaredesignindetail.
KeywordsmicrocontrollerAT89C52,LCD1602LCD,matrixkeyboard,Clanguage残骛楼諍锩瀨濟溆塹籟。
1绪论
1.1课题的研究背景及意义
计算器一般由运算器,存储器,控制器,键盘,显示器,电源和一些外围设备及电子配件组成。
低档的计算器的运算器,控制器由数字逻辑电路实现简单的串行运算。
其随机存储器只有一到二个单元,供累加存储用。
高档计算器由只读存储器和微处理器一同实现各种复杂的运算程序。
且有较多的随机存储单元用来存放输入程序和数据。
键盘是计算器的输入部件,采用接触式或传感式。
显示器是计算器的输出部件,有发光二极管显示器或液晶显示器等。
除显示计算结果外,还常有溢出指示、错误指示等显示。
计算器电源采用电池或者交流转换器池。
为节省电能,计算器都采用CMOS工艺制作的大规模集成电路(见互补金属-氧化物-半导体集成电路),并在内部装有定时不操作自动断电电路。
计算器可选用的外围设备有盒式磁带机,微型打印机,磁卡机等等。
谚辞調担鈧谄动禪泻類。
计算器的基本类型:
1.算术型计算器:
可进行加、减、乘、除等简单的四则运算,又称简单计算器。
2.科学型计算器:
可进行乘方、开方、指数、对数、三角函数、统计等方面的运算,又称函数计算器。
3.程序计算器:
可以编程序,把较复杂的运算步骤贮存起来,进行多次重复的运算。
当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且比较容易出错。
计算器作为一种快速通用的计算工具方便了用户的使用。
嘰觐詿缧铴嗫偽純铪锩。
计算器这一程序机器实际上是从计算机中割裂出来的衍生品,但因其方便快捷的操作模式,已经被广泛应用于商业等日常生活中,极大的方便了人们对于数字的整合运算。
起源和发展最早的计算工具诞生在中国。
筹策是中国古代最早采用的一种计算工具,又被称之为做算筹。
这种算筹的制作材料多是竹子,木头,或兽骨.一束约二百七十枚,使用时可以放在布袋里面随身携带。
直到科技发达的今天,中国群众任然有很多在使用珠算盘,珠算盘是中国古代计算工具领域中的另一项发明,到明代时期。
珠算盘的结构已经几乎与现代的珠算盘相同。
熒绐譏钲鏌觶鷹緇機库。
在17世纪初期,计算工具在西方国家的有了非常大的发展,英国数学家-纳皮尔发明了纳皮尔算筹,英国牧师-奥却德发明了圆柱型对数计算尺,这种计算尺能够实现多种计算功能,不仅能够实现基本的四则运算,也可以进行乘方和开方运算。
更为强大的是,这种计算尺还可以计算三角函数,指数函数和对数函数。
这些计算工具积极推动了计算器的发展,为现代计算器的发展奠定了非常良好的基础,慢慢演变,成为现代社会中广泛应用的计算工具。
鶼渍螻偉阅劍鲰腎邏蘞。
在1642年,19岁的法国科学家-帕斯卡引用了算盘的原理,发明了世界上第一部机械式计算器,他的计算器装置中有一些齿轮互相联锁,当其中此轮转过十位之后,就会使与其相连接的另一个齿轮转过一位,使用者可以像使用电话号码拨盘那样,直接把数字拨进去,此后计算结果就可以出现在另一个窗口中,但是只可以做加减计算,不能做乘除运算。
纣忧蔣氳頑莶驅藥悯骛。
在1694年,德国的莱布尼兹将机械式计算器进行了改进,使其可以进行乘除运算。
自此此后,一直等到20世纪50年代末,电子计算器才开始出现。
颖刍莖蛺饽亿顿裊赔泷。
1.2本课题研究的主要内容
本设计主要研究的是,基于单片机的简易计算器,采用AT89C52单片机作为主控器件,矩阵键盘输入,液晶显示器讲计算过程及结果显示输出,通过C语言编程,实现建议简易计算器的功能。
濫驂膽閉驟羥闈詔寢賻。
2设计任务及方案
2.1设计任务
1.对计算器硬件系统进行设计,利用AT89C52作为主控器件,组成一个能进行简单四则运算的计算器,能进行数据归零,按键提示。
銚銻縵哜鳗鸿锓謎諏涼。
2.运用keil进行计算器软件系统的设计。
3.在protues仿真平台上,对软件进行调试及仿真。
2.2设计方案
按照系统设计的功能的要求,确定设计系统由主控模块、显示模块、键盘扫描接口电路、按键提示电路4个模块组成。
挤貼綬电麥结鈺贖哓类。
系统构成框图如图2.1所示:
图2.1—系统构成框图
3系统硬件设计
3.1单片机最小硬件系统
单片机最小系统就是支持主芯片正常工作的最小电路部分,包括主控芯片、复位电路和时钟电路。
3.1.1主控芯片AT89C52单片机简介
AT89C52引脚图如图3.1所示:
图3.1—AT89C52引脚图
AT89C52是ATMEL公司生产的51系列单片机,是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可以反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM)。
赔荊紳谘侖驟辽輩袜錈。
AT89C52的主要功能特性:
兼容MCS51指令系统
8k可反复擦写FlashROM塤礙籟馐决穩賽釙冊庫。
32个双向I/O口及256x8bit内部RAM
3个16位可编程定时/计数器中断时钟频率0-24MHz裊樣祕廬廂颤谚鍘羋蔺。
2个串行中断,可编程UART串行通道 仓嫗盤紲嘱珑詁鍬齊驁。
2个外部中断源,共6个中断源
2个读写中断口线,3级加密位
低功耗空闲和掉电模式,软件设置睡眠及唤醒功能
AT89C52的主要管脚有:
XTAL1:
振荡器反相放大器的及内部时钟发生器的输入端。
绽萬璉轆娛閬蛏鬮绾瀧。
XTAL2:
振荡器反相放大器的输出端。
外接12MHz晶振。
VCC和VSS:
为供电端口,分别接+5V电源的正负端。
骁顾燁鶚巯瀆蕪領鲡赙。
RST/Vpd:
为复位输入端口,外接电阻电容组成的复位电路。
瑣钋濺暧惲锟缟馭篩凉。
P0口:
8位漏极开路型双向I/O口,地址/数据总线复用口。
作为输出口用时,每位可以用吸收电流的方式来驱动8个TTL逻辑门电路,对端口P0写“1”时,可以作为高阻抗输入端使用。
在访问外部数据存储器或者程序存储器的时候,分时转换地址低8位,和数据总线复用。
在访问期间激活内部的上拉电阻。
鎦诗涇艳损楼紲鯗餳類。
P1口:
带有内部上拉电阻的8位双向I/O口,P1的输出缓冲级可以驱动(吸收电流或输出电流)的4个TTL逻辑门电路。
对端口写“1”时,通过内部的上拉电阻可以把端口拉到高电平,可作输入口使用。
当作为作输入口使用时,因为内部存在有上拉电阻,因此某个引脚被外部信号拉低,会输出一个电流(IIL)。
与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。
参见表1:
栉缏歐锄棗鈕种鵑瑶锬。
表1:
引脚
功能特性
P1.0
T2时钟输出
P2.0
T2EX(定时器/计数器2)
P2口:
为带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可以驱动(吸收电流或输出电流)4个TTL逻辑门电路。
当对端口P2写“1”时,通过内部的上拉电阻可以把端口拉到高电平去,此时可作输入口使用,当作输入口使用时,因为其内部存在有上拉电阻,当某个引脚被外部信号拉低的时候会输出一个电流(IIL)。
辔烨棟剛殓攬瑤丽阄应。
P3口:
为带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收电流或输出电流)4个TTL逻辑门电路。
当对P3口写入“1”时,它们会被内部上拉电阻拉高并且可以作为输入端口。
此时,当被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能P3口还可以接收一些用于Flash闪速存储器编程及程序校验的控制信号。
峴扬斕滾澗辐滠兴渙藺。
ALE/PROG:
当访问数据存储器或者外部程序存储器的时候,ALE(地址锁存)允许输出脉冲用在锁存地址的低8位字节。
一般情况之下,ALE仍然以时钟振荡频率的六分之一来输出固定的脉冲信号。
因此它可以用来为外部输出时钟或者用来作为定时目的。
值得大家注意的是:
每当来访问外部的数据存储器时,将会跳过一个ALE脉冲。
在对Flash存储器编程的期间,该引脚还可以用于输入编程脉冲(PROG)。
如果有必要,还可通过对特殊功能寄存器(SFR)区域中的8