基于单片机的多功能计算器的设计与实现--毕业论文.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于单片机的多功能计算器的设计与实现--毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的多功能计算器的设计与实现--毕业论文.docx(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、成都理工大学2016届学士学位论文(设计)基于单片机的多功能计算器的设计与实现作者姓名:袁礼 专业班级:电气5班 指导教师:罗耀耀摘 要单片机是计算机制造技术高速发展下所诞生的产物,它是嵌入式系统的控制核心,如今,它已被广泛的应用于国民经济建设、军工产品及家用电器之中,而计算器作为一种方便快捷的计算工具在生活中得到了普遍使用。本次设计的题目是基于单片机的多功能计算器的设计与实现,通过设计实现温度的测量、时钟的显示以及计算器的加、减、乘、除基本四则运算,并将数据发送到LCD上显示。系统设计采用SCT89C52单片机作为主要的控制元件,使用44矩阵键盘作为主要的输入设备,实现功能的选择以及数字和运
2、算符的输入。关键词:单片机;计算器;矩阵键盘;LCD39The Design and Implementation of a Multifunction Calculator Based on Single Chip MicrocomputerAbstract:MCU is the rapid development of computer manufacturing technology at the birth of the product, which is the core of embedded systems, and now, it has been widely used in
3、 the national economy, military products and household appliances, among which as a convenient calculator quick calculation tool has been widely used in life.This topic is designed MCU multi-function calculator Design and Implementation, to achieve through the design temperature measurement, display
4、 of the clock and calculator to add, subtract, multiply, divide four basic operations, and sends data to the LCD display. SCT89C52 system design using microcontroller as the main control element, using a 44 matrix keyboard as the main input device, and implementation choices and digital operator inp
5、ut function.Keyword: MCU,Calculator,Matrix keyboard,LCD目 录第1章 绪论11.1 背景介绍11.2 设计目的11.3 设计要求11.4 方案的论证和选择11.4.1 方案一 采用PLC控制11.4.2 方案二 采用STC89C52控制21.4.3 方案的比较和选择21.5 设计思路21.6 系统总体模块图31.7 设计方案3第2章 开发软件简介42.1 Keil C51编程软件42.2 Proteus仿真软件42.3 STC_ISP_V6.82E程序烧录软件5第3章 硬件系统设计63.1 主控芯片STC89C5263.2 矩阵键盘模块83
6、.3 蜂鸣器83.4 LCD显示模块93.5 DS18B20温度传感器103.6 DS12C887时钟芯片123.7 复位电路123.8 晶振电路13第4章 软件系统设计144.1 总体设计144.2 子程序设计144.2.1 1602液晶控制程序144.2.2 矩阵按键扫描程序144.2.3 DS18B20控制程序164.2.4 单片机中断系统164.2.5 DS12C887控制程序17第5章 Proteus仿真与设计185.1 系统仿真图185.2 开机界面和时钟仿真195.3 温度测量仿真205.4 计算功能仿真21第6章 系统功能测试246.1 系统实物图246.2 开机界面及时钟显示
7、246.3 温度检测显示256.4 运算功能显示26结论29致谢30参考文献31附录1 电路原理图32附录2 PCB电路图33附录3 LCD1602显示字符表34附录4 LCD1602引脚说明35附录5 程序节选35成都理工大学2016届学士学位论文(设计)第1章 绪论1.1 背景介绍当今社会,人们对生活品质的要求越来越高,因此各式各样的电子产品也就应运而生并逐渐走进了千家万户。电子产品的使用几乎渗透我们生活中的方方面面,而计算器算得上是我们生活中最为常用的电子产品之一,它作为一种方便快捷的计算工具方便了广大用户的使用。本次设计的重点在于计算器的硬件系统设计和控制程序编写,并从实用性出发在本设
8、计中加入时钟模块和温度测量装置。1.2 设计目的作为对大学所学课程的总结和检验,毕业设计是一个不可或缺的重要环节。本次设计的题目为基于单片机的多功能计算器的设计与实现,在设计的过程中用到了单片机微机原理、数字电路技术、模拟电路技术、C语言设计等所学的相关知识并查阅了其他的相关资料,期望通过本次设计能够把平日所学的知识得以实际应用,从而提高对知识的综合运用能力和课题的设计能力。1.3 设计要求在本次设计中,主要完成以下几方面的设计要求:(1) 了解单片机最小系统的构成以及如何搭建单片机外围扩展电路的方法;(2) 实现计算器的加、减、乘、除基本四则运算;(3) 实现对温度的测量;(4) 实现时钟的
9、显示和设定。1.4 方案的论证和选择1.4.1 方案一 采用PLC控制PLC是可编程逻辑控制器的简称,最早出现于60年代末期的美国,目的是用于取代继电器。可以执行计时、计数、算数运算和逻辑判断等操作指令,并通过模拟量和数字量的输入和输出,实现对各种类型机械和生产设备的控制。PLC以其可靠性高、抗干扰能力强、程序编写简单直观、适应性好、功能完善、接口易于扩展等优点被广泛应用于工业控制中。但是,PLC外围扩展模块的使用方法麻烦且体积相对较大,保密性不好,就本次设计的需求来说,使用PLC设计从经济性来说成本过高,从实用性来说不易于携带,因此不被采用。1.4.2 方案二 采用STC89C52控制单片机
10、是一种集成电路芯片,全称为单片微型计算机,它的制造采用的是超大规模集成电路工艺将中央处理器CPU、只读存储器ROM、随机存储器RAM、以及各种I/O接口电路集成到一块半导体芯片上。因此,单片机以重量轻、功耗小、价格低、体积小、可靠性高、易于扩展、计算速度快和控制功能强等优点在各个领域得到了广泛的应用。1.4.3 方案的比较和选择通过对上述两种方案的比较,结合设计的实用性、便携性和成本考虑,选择以STC89C52作为主控芯片,通过添加外围电路来实现多功能计算器的设计更加符合实际需求。1.5 设计思路结合实际需求,本次设计的主控芯片采用STC89C52单片机,它能够满足系统所需的各项控制要求,信息
11、显示、温度测量、时钟功能和按键功能通过则添加的外围电路来实现,具体的设计构思如下:(1) 为了保证良好的显示效果,本系统采用1602液晶作为时钟、温度以及运算式和结果的显示器件;(2) 多功能计算器的按键包括数字键(09),四则运算符(+、/),复位键和等号共计16个按键,因此采用44的矩阵键盘和键盘扫描程序可以达到设计要求,而且电路和程序设计也相对简单;(3) 系统上电后LCD显示“Please Input:”,等待用户按下所需的功能键,当按下“7”键进入时钟界面LCD第一行显示日期,第二行显示时间;按下“8”键进入实时温度的测量界面,LCD的第一行显示“Temperature:”,第二行显
12、示测量到的温度值;按下“9”键进入计算器功能,LCD第一行显示运算数字和运算符,第二行显示运算结果。1.6 系统总体模块图LCD液晶显示模块电源STC89C52主控芯片键盘模块DS18B20传感器DS12C887时钟模块图1-1 体统总体模块图1.7 设计方案经过反复考虑最终确定本次设计采用如下方案:(1) 采用STC89C52作为主控芯片;(2) 采用LCD1602液晶作为显示模块;(3) 采用DS12C887作为时钟模块;(4) 采用DS18B20作为温度测量模块;(5) 输入采用44的矩阵键盘;(6) 电源采用5v的稳压电源。 第2章 开发软件简介2.1 Keil C51编程软件美国Ke
13、il Software公司出品的Keil C51,是一款能够兼容51系列单片机的C语言软件开发系统,它使用的开发环境接近于C语言并且集编辑、编译、仿真等于一体,编程界面与VC+界相似,与汇编语言相比,C语言在其可读性、可维护性、可移植性上等方面都比汇编语言有着十分明显的优势,Keil C51凭借着其简单易学,而且能够缩短单片机项目的开发周期提高编程者的工作效率,还可以在程序编写的关键位置嵌入汇编程序,使得Keil C51编写的程序执行效率接近于汇编程序,因此得以推广1。图2-1 Keil C51编程界面2.2 Proteus仿真软件由英国Labcenter electronics公司出品的软件
14、Proteus,是一款实用性很好的EDA Proteus工具软件。它能对单片机及其外围电路构成的系统进行仿真,因此在单片机开发工作者和广大单片机爱好者中深受好评。Proteus集成了诸多功能与一身,如电气原理图的绘制、程序代码的编译和单片机及其外围电路的协同仿真,PCB电路图的一键切换,使其在真正意义上具备了从基本概念到实际产品的完整设计能力。Proteus在控制元件方面支持8051、8086、ARM、和AVR等处理器平台,并且在不断的添加新的处理器平台。在编译方面它支持MATLAB、Keil C51和IAR等多种编译。图2-2 Proteus工作界面2.3 STC_ISP_V6.82E程序烧
15、录软件STC_ISP_V6.82E由STC公司研发,是专门针对51系列单片机设计的一款用于程序烧录的软件,通过STC_ISP_V6.82E可以很容易的将编译好的HEX文件烧录进51单片机。通过选项窗口可以设置单片机型号、COM口、波特率、串口等参数,同时还可以作为串口调试工具,用于串口数据的收发调试。图2-3 STC_ISP_V6.82E调试界面第3章 硬件系统设计3.1 主控芯片STC89C52STC89C52的特点是具有CMOS8位微处理器、低功耗、高性能,拥有8K采用DIP封装的Flash存储器,52系列的单片机可以全部兼容51系列单片机的引脚和指令,而它的制造工艺采用的是高密度非易失性
16、存储器技术2。STC89C52具有的最大优点是可以实现在线编写程序,在进行程序调试的时候,可以直接对带电的单片机进行程序烧录,完成程序的烧录后单片机可自动复位运行,芯片的复写次数可以达到一万次以上,对于单片机爱好者和开发者来说它是一款具有较高性价比的开发芯片。图3-1 STC89C52P0口(39脚32脚):P0口为一个三态双向I/O口,可以作为通用的I/O口,也可作为数据和地址的分时复用口。P0口有8个相同的电路:P0口的特殊功能寄存器通过8个锁存器来实现,负载的驱动能力通过场效应管组成的组成驱动器来增加,作为输入引脚缓冲器的是三态门。P1口(1脚8脚):P1口是一个准双向I/O接口,它与P
17、0口在输出驱动部分的结构上有区别,它的输出驱动部分是由场效应管和内部的上拉电阻组成的。当P1口为高电平时,可以直接提供输出电流驱动负载,而不需要在外部接上拉电阻。P2口(21脚28脚):P2口是一个准双向I/O接口,它既可以作为普通的I/O口,也可以作为单片机外围扩展电路的高8位地址总线。P2口的输出驱动与P0口相比多了一个反相器和输出模拟选择开关。P3口(10脚17脚):P3口的输出驱动由场效应管和与非门组成,与P0、P1、P2口相比多了一个三态门。P3口除了可以作为普通的准双向I/O接口外,每个引脚都具有第2备选功能。P3口被作为普通I/O接口时,第二功能的输出线就应被设置为高电平,从而使
18、得锁存器Q端的状态可以决定非门的输出。此时,P3的作用是一个准双向口,其负载能力和工作方式与P1、P2口一样。P3口选用第2功能时,锁存器Q端必须设置为高电平。P3的第二功能,如表3-1所示:表3-1 P3口第2功能表引脚第二功能P3.0RXD:串行输入口P3.1TXD:串行输出口P3.2INT0:外部中断0P3.3INT1:外部中断1P3.4T0:记时器0外部输入P3.5T1:记时器1外部输入P3.6WR:写外设控制信号输出端P3.7RD:读外设控制信号输出端VCC(40脚):外接+5V电源。GND(20脚):接地。XTAL1(19脚):接外部晶振的一端。在51单片机的内部,它是作为一个反相
19、放大器的输入端,这个放大器构成了单片机的片内振荡器。当单片机采用外部晶振时,该引脚作为外部振荡信号的输入端口。XTAL2(18脚):接外部晶振的另一端。在51单片机的内部,它是作为一个反相放大器的输出端,当单片机采用外部晶振时,该引脚作为外部振荡信号的输入端口。RST/VPD(9脚):RST是单片机的复位信号输入端口,高电平时有效。VPD作为备用电源。当单片机处于运行状态时,在该引脚上通入大于2个机械周期的高电平,就可以实现单片机的复位操作,使单片机恢复到初始状态。ALE/PROG(30脚):地址锁存允许信号端。需要访问外部存储器时,ALE在每个周期输出两次信号用于锁存P0发送的低8位地址数据
20、。在不需要访问外部存储器时,ALE产生的同样频率的正脉冲信号,可以作为对外输出的时钟或是用于定时。PSEN(29脚):外部程序存储器读取信号端口,引脚低电平时有效。当单片机从外部读取程序存储器时,PSEN的信号在每个周期内两次有效,读取数据存储器时PSEN信号不会出现。EA/VPP(31脚):EA用于读取外部程序存储器的控制信号,低电平时有效。当EA为高电平时,单片机只会读取单片机内部的程序存储器,当程序超过该范围时,单片机会自动跳转去执行外部程序存储器的程序3。3.2 矩阵键盘模块时钟的校正和计算器数值、运算符的输入需要用到很多的按键,因此若是采用独立按键来编程,虽然程序的编写会变得相对简单
21、,但是单片机的I/O口会被过多的占用,因此在本次设计中系统的输入功能使用矩阵键盘来实现。矩阵键盘是由行线和列线交叉组成的,并在每一个交叉点上设置一个按键。本设计只是实现简单的四则运算,所以44的矩阵键盘就能够满足设计较要求。在实际电路的设计中为了有效地提高单片机I/O的利用率,往往都会采用这种行列式的矩阵键盘。图3-2 矩阵键盘3.3 蜂鸣器蜂鸣器是一种一体化结构的电子讯响器,分为电磁式蜂鸣器和电压式蜂鸣器两种类型,电路设计中用字母“H”或“HA”表示,它采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。图3-3 蜂鸣器3
22、.4 LCD显示模块1602点阵型液晶作为一种显示液晶模块,能够分两行显示32个字符(即162=32),因此通常被使用者简称为1602液晶。它可以用来显示一些简单的数字、字母、符号,但每个点阵都只能显示一个字符。1602液晶的每个点阵之间存在一定的间隔,因此它不能够用来显示图片4。图3-4 1602液晶在LCD1602液晶模块中,D0D7是液晶的8位双向数据输送口,R/W是液晶的读写功能选择端口,通过VL的调节可以改变1602液晶的显示对比度;E是液晶的使能端口;RS为液晶的功能寄存器选择端口,高电平时选择的是芯片内部的数据寄存器,低电平时选择的是芯片内部的指令寄存器。图3-5、图3-6是16
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 多功能 计算器 设计 实现 毕业论文
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内