基于单片机的科学计算器设计.doc
《基于单片机的科学计算器设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的科学计算器设计.doc(41页珍藏版)》请在咨信网上搜索。
1、攀枝花学院本科毕业设计(论文) 摘要基于单片机的科学计算器设计摘要在现代科技迅猛发展的当今,计算器依然是人们日常生活中不可或缺的电子产品之一。计算器始终在不断发展及完善之中,功能必将更加强大。基于这样的理念,本设计采用AT89C51单片机作为主控芯片,使用C语言为系统进行编程,采用4*4矩阵键盘作为输入模块,输出模块采用LCD1602液晶显示,从而实现基于单片机的基本功能。本设计重点说明以下几个方面内容:1. 基于单片机的计算器所具备哪些基本功能,对矩阵键盘输入原理及液晶显示原理进行简单的阐述。2. 介绍系统的整体设计理念,展示系统设计的流程框图,并对功能模块的划分,及所选用的元器件性能参数进
2、行详细说明。3. 对系统的每个功能模块的软硬件设计,进行详细说明。 关键词 单片机,AT89C52,LCD1602液晶,矩阵键盘,C语言IVABSTRACTIn the rapid development of modern science and technology today, the calculator is still one of the electronic products is an integral part of peoples daily life. The calculator always among the continuous development and
3、improvement, the function will certainly be more powerful. Based on this concept, the design uses AT89C51 microcontroller as the master chip, using the C programming language for the system, with 4 * 4 matrix keyboard as an input module, output module LCD1602 LCD display, in order to achieve the bas
4、ic functions of the MCU.This design highlights the following aspects:1.microcontroller-based calculator with basic functions, the principle of a simple exposition of principle and LCD matrix keyboard input.2.describes the systems overall design concept, showing the flow diagram of the system design,
5、 the and function module framing, and optional Component performance parameters described in detail.3.of each functional module of the system hardware and software design in detail.Key words microcontroller AT89C52,LCD1602 LCD,matrix keyboard,C language攀枝花学院本科毕业设计(论文) 目 录目 录摘要IABSTRACTII1 绪论11.1课题的研
6、究背景及意义11.2本课题研究的主要内容22 设计任务及方案32.1设计任务32.2设计方案33 系统硬件设计43.1单片机最小硬件系统43.1.1主控芯片AT89C52单片机简介43.1.2复位电路93.1.3时钟电路103.2键盘接口电路103.3液晶显示电路114 系统软件设计154.1键盘扫描部分程序设计154.2运算部分程序设计154.3显示部分程序设计164.4主函数程序设计175仿真和调试195.1 keil系统概述195.2 Keil使用步骤195.3proteus 7.1 介绍205.4 Proteus 对于本设计的仿真步骤205.5仿真结果216 结论22参考文献23附录A
7、: 源程序24附录B:系统总图34致 谢35攀枝花学院本科毕业设计(论文) 1 绪论1 绪论1.1课题的研究背景及意义计算器一般由运算器,存储器,控制器,键盘,显示器,电源和一些外围设备及电子配件组成。低档的计算器的运算器,控制器由数字逻辑电路实现简单的串行运算。其随机存储器只有一到二个单元,供累加存储用。高档计算器由只读存储器和微处理器一同实现各种复杂的运算程序。且有较多的随机存储单元用来存放输入程序和数据。键盘是计算器的输入部件,采用接触式或传感式。显示器是计算器的输出部件,有发光二极管显示器或液晶显示器等。除显示计算结果外,还常有溢出指示、错误指示等显示。计算器电源采用电池或者交流转换器
8、池。为节省电能,计算器都采用CMOS工艺制作的大规模集成电路(见互补金属-氧化物-半导体集成电路),并在内部装有定时不操作自动断电电路。计算器可选用的外围设备有盒式磁带机,微型打印机,磁卡机等等。计算器的基本类型:1. 算术型计算器:可进行加、减、乘、除等简单的四则运算,又称简单计算器。2. 科学型计算器:可进行乘方、开方、指数、对数、三角函数、统计等方面的运算,又称函数计算器。3. 程序计算器:可以编程序,把较复杂的运算步骤贮存起来,进行多次重复的运算。当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能
9、力是人脑所不能胜任的,而且比较容易出错。计算器作为一种快速通用的计算工具方便了用户的使用。计算器这一程序机器实际上是从计算机中割裂出来的衍生品,但因其方便快捷的操作模式,已经被广泛应用于商业等日常生活中,极大的方便了人们对于数字的整合运算。起源和发展最早的计算工具诞生在中国。筹策是中国古代最早采用的一种计算工具,又被称之为做算筹。这种算筹的制作材料多是竹子,木头,或兽骨一束约二百七十枚,使用时可以放在布袋里面随身携带。直到科技发达的今天,中国群众任然有很多在使用珠算盘,珠算盘是中国古代计算工具领域中的另一项发明,到明代时期。珠算盘的结构已经几乎与现代的珠算盘相同。在17世纪初期,计算工具在西方
10、国家的有了非常大的发展,英国数学家-纳皮尔发明了纳皮尔算筹,英国牧师-奥却德发明了圆柱型对数计算尺,这种计算尺能够实现多种计算功能,不仅能够实现基本的四则运算,也可以进行乘方和开方运算。更为强大的是,这种计算尺还可以计算三角函数,指数函数和对数函数。这些计算工具积极推动了计算器的发展,为现代计算器的发展奠定了非常良好的基础,慢慢演变,成为现代社会中广泛应用的计算工具。在1642年, 19岁的法国科学家-帕斯卡引用了算盘的原理,发明了世界上第一部机械式计算器,他的计算器装置中有一些齿轮互相联锁,当其中此轮转过十位之后,就会使与其相连接的另一个齿轮转过一位,使用者可以像使用电话号码拨盘那样,直接把
11、数字拨进去,此后计算结果就可以出现在另一个窗口中,但是只可以做加减计算,不能做乘除运算。在1694年,德国的莱布尼兹将机械式计算器进行了改进,使其可以进行乘除运算。自此此后,一直等到20世纪50年代末,电子计算器才开始出现。1.2本课题研究的主要内容本设计主要研究的是,基于单片机的简易计算器,采用AT89C52单片机作为主控器件,矩阵键盘输入,液晶显示器讲计算过程及结果显示输出,通过C语言编程,实现建议简易计算器的功能。382 设计任务及方案2.1设计任务1.对计算器硬件系统进行设计,利用AT89C52作为主控器件,组成一个能进行简单四则运算的计算器,能进行数据归零,按键提示。2.运用keil
12、进行计算器软件系统的设计。3.在protues仿真平台上,对软件进行调试及仿真。2.2设计方案按照系统设计的功能的要求,确定设计系统由主控模块、显示模块、键盘扫描接口电路、按键提示电路4个模块组成。系统构成框图如图2.1所示:图2.1系统构成框图攀枝花学院本科毕业设计(论文) 3 系统硬件设计3 系统硬件设计3.1单片机最小硬件系统单片机最小系统就是支持主芯片正常工作的最小电路部分,包括主控芯片、复位电路和时钟电路。3.1.1主控芯片AT89C52单片机简介AT89C52引脚图如图3.1所示:图3.1AT89C52引脚图AT89C52是ATMEL公司生产的51系列单片机,是一个低电压,高性能C
13、MOS 8位单片机,片内含8k bytes的可以反复擦写的Flash 只读程序存储器和256 bytes的随机存取数据存储器(RAM)。AT89C52的主要功能特性: 兼容MCS51指令系统 8k可反复擦写 Flash ROM32个双向 I/O口 及 256x8bit 内部RAM3个16位 可编程定时/计数器 中断 时钟频率0-24MHz2个 串行 中断 ,可编程 UART串行通道2个 外部 中断源 , 共6个 中断源2个 读写 中断口线 , 3级 加密位低功耗 空闲和掉电 模式 ,软件设置睡眠及唤醒功能AT89C52的主要管脚有:XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTA
14、L2:振荡器反相放大器的输出端。外接12MHz 晶振。VCC和VSS:为供电端口,分别接+5V电源的正负端。RST/Vpd:为复位输入端口,外接电阻电容组成的复位电路。P0 口:8 位漏极开路型双向I/O 口, 地址/数据总线复用口。作为输出口用时,每位可以用吸收电流的方式来驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可以作为高阻抗输入端使用。在访问外部数据存储器或者程序存储器的时候,分时转换地址低8 位,和数据总线复用。在访问期间激活内部的上拉电阻。P1 口:带有内部上拉电阻的8 位 双向I/O 口, P1的输出缓冲级 可以驱动(吸收电流或输出电流)的4 个TTL 逻辑门电路。对端口
15、写“1”时,通过内部的上拉电阻可以把端口拉到高电平,可作输入口使用。当作为作输入口使用时,因为内部存在有上拉电阻,因此某个引脚被外部信号拉低,会输出一个电流(IIL)。与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。参见表1: 表1:引脚功能特性P1.0T2 时钟输出P2.0T2EX (定时器/计数器2)P2 口:为带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可以驱动(吸收电流或输出电流)4 个TTL逻辑门电路。当对端口P2 写“1”时,通过内部的上拉电阻可以把端口拉到高电平去,此时可作
16、输入口使用,当作输入口使用时,因为其内部存在有上拉电阻,当某个引脚被外部信号拉低的时候会输出一个电流(IIL)。P3 口:为带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收电流或输出电流)4 个TTL逻辑门电路。当对P3 口写入“1”时,它们会被内部上拉电阻拉高并且可以作为输入端口。此时,当被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能P3 口还可以接收一些用于Flash 闪速存储器编程及程序校验的控制信号。ALE/PROG:当访问数据存储器或者外部程序存储器的时候,ALE(地址锁存)允许输出脉冲用在锁
17、存地址的低8 位字节。一般情况之下,ALE 仍然以时钟振荡频率的六分之一来 输出固定的脉冲信号。因此它可以用来为外部输出时钟或者用来作为定时目的。值得大家注意的是:每当来访问外部的数据存储器时,将会跳过一个ALE 脉冲。在对Flash 存储器编程的期间,该引脚还可以用于输入编程脉冲(PROG)。如果有必要,还可通过对特殊功能寄存器(SFR)区域中的8EH 单元的D0 位置位,可以禁止ALE 操作。在该位置位后,只有一条MOVX 和MOVC指令才可以将ALE 激活。此外,该引脚还会被微微拉高一些,当单片机执行外部程序时,应该设置ALE 禁止位无效。PSEN:程序存储允许外部程序读取内存频闪(PS
18、EN)的方式,当AT89C52取从外部程序存储器读取指令时(或数据),每个机器周期两次有效PSEN。作为外部数据存储器的访问,并在同一时间传递信号,跳过PSEN两次。EA/VPP:允许外部访问,意图使CPU只访问外部程序的存储器(地址范围为0000H-FFFFH),EA端必须保持低电平(接地)。注意:如果当加密位LB1被编程时,EA端状态会在复位时被内部锁存。如果EA管脚接为高电平(连接Vcc端)时,CPU执行内部程序存储器的指令。 当Flash存储器编程时,此引脚和+12 V的编程允许电源VPP,当然,这必须是该设备使用12V编程电压Vpp。特殊功能寄存器:在AT89C52的芯片内的存储器中
19、,一共有128个单元的的80H-FFH的特殊功能寄存器(SFE)。不是所有的地址都能被定义,总共有128个字节从80H-FFH只有一部分会被定义,以及有相当一部分还没有被定义。针对该单位对没有提供的定义的部分读写将是无效的,读出的数值将是不确定的,而写的数据也将会丢失。不应将数据“1”被写入没有被定义的单位,因为可能会在未来中的产品,在这些单元中的赋予了新的功能,这而在样的情况下,复位后,这些单位在数值始终为“0”数据存储器:AT89C52内部RAM有256字节。 80H-FFH,高128字节特殊功能寄存器(SFR)地址重叠,也就是说,高128字节的RAM,与特殊功能寄存器有相同的地址,它们是
20、分开的,在物理上来说。当一个指令访问的7FH内部地址单元以上的部分,指令寻址模式是不同的,该决定寻址访问高位128字节的RAM或访问特殊功能寄存器。如果指令是直接寻址访问,那么访问的是特殊功能寄存器。定时器2:定时器2是一个16位的定时器/计数器。它无论是作为一个计时器,还是作为外部事件计数器,都是可行的。它的工作原理所选择的特殊功能寄存器T2CONC/T2。定时器2的工作模式有三种:捕捉,自动重装模式(向上或向下计数)和波特率发生器,工作T2CON控制位选择。定时器2由两个8位寄存器TH2和TL2定时器工作,在定时器的工作方式中,每个机器周期TL2寄存器的值加1,一个机器周期由12个振荡器时
21、钟构成,因此,计数率是振荡频率的1/12。在计数器工作的时候,当T2引脚的外部输入信号时,1-0下降沿产生,寄存器的值加1,在这样的工作之下,在每个机器周期5SP2期间,外部输入进行采样。通过在第一个机器周期所采样到的值为1,下一个机器周期所采样到的值是0,随后的寄存器中,就在下一个周期的S3P1期间加1。确定1-0过渡占用两个机器周期(24个振荡周期),因此,最大计数率的振荡频率的1/24。是必需的,以确保正确的采样的输入电平的变化时刻之前保持至少一个完整的周期,以确保输入信号被至少一次采样。捕获方式:在捕获模式下,T2CON控制位EXEN2来选择两个不同的工作方式。当EXEN2=0,定时器
22、2就是是一个16位的定时器或者计数器。当计数溢出的时候,溢出标志TF2在 T2CON中设置,此时中断在同一时间激活。如果EXEN2=1,定时器2做同样的操作,T2EX引脚的外部输入信号1-0负跳变发生时,TH2和TL2中的值被捕获到RCAP2H和RCAP2L中。此外,T2EX引脚信号跳变使T2CON的EXF2置位,TF2的类似,EXF2激活中断。当定时器处于自动重装模式,可以通过编程来向上或向下计数,这个功能可以DCEN位特殊功能寄存器T2CON(允许自动重装(向上或向下计数器)倒计时)选择。复位的时候,DCEN位置“0”,默认设置定时器计数。当DCEN设置,定时器2可以向上计数,取决于T2E
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 科学 计算器 设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。