毕业设计(论文)-基于单片机的温度报警器设计.doc_第1页
毕业设计(论文)-基于单片机的温度报警器设计.doc_第2页
毕业设计(论文)-基于单片机的温度报警器设计.doc_第3页
毕业设计(论文)-基于单片机的温度报警器设计.doc_第4页
毕业设计(论文)-基于单片机的温度报警器设计.doc_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

安阳工学院毕业设计(论文)摘要温度是一个十分重要的物理量,随着现代工农业技术的发展及人们对生活环境要求的提高,对温度的测量与控制有着十分重要的意义。本系统以AT89S52单片机为核心,设计了一个温度测量报警系统,温度的采集报警功能。系统的硬件部分可以分为主控电路(单片机最小系统)、数据采集、人机交互界面和系统电源四大部分。最小系统部分主要包括AT89S52单片机和扩展的外部存储芯片24C02;数据采集部分由温度传感器18B20组成;人机交互界面为键盘输入和LCD液晶显示,主要使用44矩阵键盘和LCD1602液晶显示器,可以方便的输入数据和直观的显示。系统电源为+5V电源供电。软件部分应用单片机C语言进行编程,实现了该设计的全部控制功能。该温度测量报警系统的测量范围是55+125。当检测的温度高于最高温度设定值时,蜂鸣器报警,当检测的温度低于最低温度设定值时,蜂鸣器报警。起到温度测量报警的作用。关键词:单片机 温度传感器(DS18B20) 液晶显示器ABSTRACTTemperature is a very important physics, with the development of modern agriculture technology development and the people to the life environment, temperature measurement and control is very important,in this system AT89S52 SCM as the core, designed a temperature measurement alarm system, the collection of temperature alarm function. System hardware components can be divided into the main control circuit (SCM smallest system), data acquisition, man-machine interface and power system and the four most. Smallest system parts mainly includes AT89S52 SCM and the expansion of external memory chip 24C02; Data collection 18B20 part temperature sensor composed; The man-machine interface for keyboard input and LCD display, mainly use 4 x 4 matrix keyboard and LCD1602 LCD monitor, easy to input data and intuitive display. Power system is + 5V power supply. Software application of single-chip microcomputer C programming language, realize the design of all control function. The temperature measuring alarm system measurement range is - 55 + 125 . When testing temperature higher than the maximum temperature setting, the buzzer alarm, when testing temperature below the minimum temperature setting, buzzer alarm. Play the role of temperature measurement alarm.Key words:Monolithic integrated circuit AT89S51 temperature sensor (DS18B20) LCD Manifestation目 录1 绪论11.1 引言11.2 选题的背景和意义11.3 研究现状21.4 本文的工作22 数字摄温度测量报警系统方案的设计42.1 数字式温度测量报警系统的设计要求42.2 系统总体设计方案比较与论证42.3 温度测量报警系统的硬件选择62.4 具体实施方案83 系统硬件的设计103.1 基于AT89S52的主控电路103.1.1 芯片介绍103.1.2 主控电路143.2 数据采集部分153.3 键盘电路的设计173.4液晶显示电路193.5系统电源部分203.5.1芯片介绍203.5.2电源电路204 软件功能程序及分析224.1软件设计总流程224.2 子程序设计254.2.1 初始化LCD254.2.2 键盘扫描254.3 温度的设定子程序265 总结28致谢29参考文献30附录A 线路图31附录B PCB版图32附录C 程序33附录D 实物33安阳工学院毕业设计(论文)1 绪论 1.1 引言温度是一个十分重要的物理量,对它的测量与控制有着十分重要的意义。随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。在人类的生活环境中,温度扮演者极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。温度对于工业如此重要,由此推进了温度传感器的发展。信息科学和微电子技术的飞速发展给控制领域带来了巨大的飞跃;控制技术更加趋向自动化和智能化,为无数的使用者带来了方便。在控制领域里,温度是一个常见的名词,然而它所带来的技术问题和所起的作用却是非同一般的。在控制领域中,对温度的控制有着举足轻重的作用。例如陶瓷的烧烤,只有控制住温度的适度,才能制作出一个完美的艺术品,否则只是一件废品;还有如酿酒的过程,也需要对温度进行控制。可见,在生活的许许多多的方面都有着对温度进行感知和控制的需要。1.2 选题的背景和意义随着社会的发展特别是工业的发展,人民生活的改善,安全问题变得更加重要。目前,在许多情况下,都需要对环境的温度进行限定,其中包括人的生活工作环境、仪器设备的工作环境以及动植物的生长环境等。如果环境温度超过或者低于限制值,必定对所处环境的人或设备造成影响,甚至给个人和社会造成巨大的损失。因此,在某些特定环境内使用温度报警器来对温度进行实时监控并做到超温报警,而使用单片微型计算机实时控制温度报警系统则是其中的一种重要方式。我主要是了解了单片机微型计算机实时控制的温度测量报警系统的历史与现状,根据现实生活的需要以及已掌握的理论知识,制定出单片微型计算机实时控制的温度报警系统硬件、软件的设计方案,把温度传感器这个单独的器件,配以一些其他电路,让它实现探测温度、显示温度、并且超高温、低温报警,并进行调试验证方案的可行性,最终完成设计。1.3 研究现状温度测量报警系统的中心设备是温度传感器,温度传感器的发展大致经过了以下的3个阶段:(1)传统的分立式温度传感器(含敏感元件),主要是能够进行非电量和电量之间的转换。(2)模拟集成温度传感器/控制器。(3)智能温度传感器。目前,国际上新型温度传感器正从模拟式向数字式、集成化向智能化及网络化的方向发展。数字式温度传感器(亦称智能温度传感器)是在20世纪90年代中期问世。它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。目前,国际上已开发出多种智能温度传感器系列产品。智能温度创拿起内部包含温度传感器、A/D传感器型号处理器、信号处理器、存储器(或寄存器)和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随机存取储存器(RAM)和只读存储器(ROM)。数字式温度传感器能传输出温度数据及相关的温度控制量,适配各种微控制器(MCU),并且可通过软件来实现测试功能,即智能化取决于软件的开发水平。进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。1.4 本文的工作本文以数字式温度传感器的研发作为应用背景,对传感器、单片机及其接口等技术进行了分析。全文共分为五章,各章的主要内容如下:第一章扼要地介绍了数字式温度测量报警系统的概念、特点与相关研究背景;第二章论证了系统方案,包括对原理的阐述,各种优缺点的比较,属于理论分析部分;第三章通过对各种芯片的介绍以及对电路功能的分析,对系统硬件进行了描述,给出了单片机的控制方案;第四章中简单介绍了系统软件流程;第五章对整个设计做了总结,归纳了存在的问题和进一步研究的方向。2 数字摄温度测量报警系统方案的设计2.1 数字式温度测量报警系统的设计要求数字式温度测量报警系统的设计要满足以下情况:(1)能及时从温度传感器获取精度较高的温度数值,并将数值传送至单片微型计算机(以下简称单片机)进行数额显示处理。(2)将进行数字显示处理过的温度数据在液晶显示屏上即时显示。对温度报警系统而言,显示现在温度是最基本的功能。(3)能从键盘上输入需要设定的上下限温度。(4)程序自动对输入的上下限温度进行判断。当输入的下限温度高于上限温度时,给出错误提示。并要求系统复位,重新输入需要设定的上下限温度。(5)将从温度传感器上获得的温度处于用户设定的上下限温度范围内时,不触发报警器报警;当从温度传感器上获得的温度高于用户设定或者低于下限温度设定时,触发报警器。(6)在温度报警系统工作过程中,随时可以对需要设定的上下限温度进行修改。(7)当报警器被触发报警后,可进行用户手动停止报警。如果不手动停止报警,当温度回落至用户设定的上下限温度范围内时,能自动停止报警。2.2 系统总体设计方案比较与论证系统的工作原理:首先通过温度传感器采集到的信息并转换成数字信号并送入单片机中,经过单片机的运算处理后,将结果显示送到液晶显示器并显示出来。如果当前温度超过或者低于预设值的时候,则报警电路报警。在设计系统时,针对各个模块实现的功能来设计温度测量报警系统的方案有以下几种:方案一 数码管显示方案结构简图如下:数据采集单片机数码显示图2-1结构件图1此方案利用数码管显示此时温度,简单可行,可采用内部带有模数转换功能的单片机。由此设计的温度测量报警系统,硬件部分简单,大大减少了程序量,在电路路结构只有简单的输入输出关系。缺点是硬件部分过于简单,虽然可以实现显示温度,但是当温度超过了需要报警的温度时并没有报警提示。智能化极低,需要消耗大量的人力来时刻观察数码显示的数字是否达到报警值。没有输入设备无法根据实际情况灵活的改变参数,电路过于简单,系统硬件的扩展必受限制。所以这种设计过于简单达不到设计的标准。方案二 在前面的基础上进行扩展,增加一个键盘输入装置和一个报警电路。 数据采集单片机数码显示器键盘输入蜂鸣报警电路图2-2 结构简图2此方案相对于方案一最大的优点在于有键盘输入,能够设定限制温度。但是此方案的缺点在于数码显像管的限制,不能够显示汉字和其他复杂符号,操作起来还是比较麻烦。方案三 在显示方面更换成LCD显示器。这种方案不仅加强了人机交换能力,而且满足设计要求,可显示温度、报警温度等。单片机数据采集键盘输入LCD显示电路蜂鸣器报警电路图2-3结构简图3数字式温度测量报警系统的要求是对温度进行测量监控并报警提示的作用,所以在具体设计中,采用了第三个方案进行设计。2.3 温度测量报警系统的硬件选择1、单片机的选择:选择单片机型号的出发点有以下几个方面:市场货源系统设计者只能在市场上能够提供的单片机中选择,特别是作为产品大批量生产的应用系统,所选的单片机型号必须有稳定、充足的货源。单片机性能应根据系统的功能要求和各种单片机的性能,选择最容易实现系统技术指标的型号,而且能达到较高的性能价格比。单片机性能包括片内硬件资源、运行速度、可靠性、指令系统功能、体积和封装形式等方面。影响性能价格比的因素除单片机的性能价格外,还包括硬件和软件设计的容易程度、相应的工作量大小,以及开发工具的性能价格比。在工程应用中AT89S52有一显著的优势:不需要烧写器,只借助PC 机的并口输出和极为简单的下载电路,便可将程序通过串行方式写入单片机。并且下载电路可设计在系统中,可以随时修改单片机的软件而不对硬件做任何改动。 由此,通过对目前主流型号的比较,我们最终选择了AT89S52通用的普通单片机来实现系统设计。2、温度传感器的选择:温度作为一种最基本的环境条件参数,与工业,农业,养殖业的生产以及医学乃至人们的日常生活都是紧密相关的,因此,对于温度的测量方法以及测量装置的研究就凸现的非常重要。大多单片机接口输入的信号是数字信号,或带有A/D转换的高端单片机也可输入模拟信号。由单片机获取非电信号的温度信息,必须通过温度传感器。传统的温度测量多以热敏电阻作为温度传感器。但是,热敏电阻可靠性较差,测量温度精度低,而且还需A/D转换成数字信号才能由单片机进行处理。因此,使用数字温度传感器可简化硬件设计,方便单片机读取数据,节约成本。设计单片机数字温度计需要考虑一下3个方面:(1)温度传感器芯片的选择;(2)单片机和温度传感器的接口电路设计;(3)控制温度传感器实现温度信息采集以及数据传输的软件由单片机和温度传感器所构成的测温系统可广泛应用于很多领域。本设计通过对单总线数字集成温度传感器DS18B20的特点,工作原理和使用方法的讨论,结合对单片机AT89S52的编程实现温度的采集。3、键盘的选择:键盘是单片机应用系统中使用最广泛的一种数据输入设备。键盘是一组按键的组合。键通常是一种常开型按钮开关,常态下键的两个触点处于断开状态,按下键的时候他们才会闭合(短路)。通常,键盘有编码和非编码两种。编码键盘通过硬件电路产生被按按键的键码和一个选通脉冲。选通脉冲可作为CPU的中断请求信号。这种键盘使用方便,所需程序简单,但硬件电路复杂,长不被单片机采用。非编码键盘按组成结构又可分为独立式键盘和矩阵式键盘。而在本设计中使用的键盘为44矩阵式非编码键盘。4、显示器的选择:方案一:数码管显示采用数码管显示直观,且编程简单,但由于需要显示的信息不仅有重量信息,而且还有金额,单价等,需要接入大量数码管,这样就增加了电路的复杂程度。方案二:LCD液晶显示采用LCD液晶显示可以很好的显示重量、单价、金额等信息,而且可以显示英文字符,可视性好,功耗低,而且已被广泛应用到很多领域。所以,选择方案二。根据所需显示的信息量,决定选用LCD1602液晶显示器,每行16字符双行显示。5、电源的选择:单片机需要5V电源单电源供电,稳压电源的技术指标分为两种:一种是特性指标,包括允许的输入电压、输出电压、输出电流及输出电压调节范围等;另一种是质量指标,用来衡量输出直流电压的稳定程度,包括稳压系数、输出电阻、温度系数及纹波电压等。此处选择+5V电源的单电源供电(实物在演示方面为了方便,使用的为4节五号电池供电的电池盒+6V)。2.4 具体实施方案数字式温度测量报警系统的工作原理:系统由外接的温度传感器、显示器、键盘电路、报警电路、电源电路、单片机组成。整个系统以单片机AT89S52为核心,基于DS18B20的数字式温度测量报警系统,实现对温度的测量及显示以及高、低温报警,并且系统具有一定的抗干扰能力。整个系统的控制对象为温度检测对象,温度检测元件为温度传感器控制芯片DS18B20,通过对环境温度进行测量后,将转化后的信号数据传给主控芯片AT89S52进行处理判断并存储起来,同时将数据传给显示电路以显示,如果超温或者低温了,主控芯片再传送信号给报警电路警示。主要的功能如下:(1)温度的显示采集与处理;(2)温度与设定的上下限温度进行对比,不符合要求发出报警信号;(3)有的温度报警系统还需要加入控制模板实现对测量对象的控制功能;(4)添加上位机使单片机与计算机可以联机通信,通过计算机可以存储数据并控制工业测温报警流程;数字式温度报警系统分为以下几个部分:(1)数据的产生(2)数据的转换(3)数据的存储与显示(4)主控电路3 系统硬件的设计3.1 基于AT89S52的主控电路3.1.1 芯片介绍1、芯片AT89S52 AT89S52单片机是ATMEL公司新近推出的高档型AT89S系列单片机中的增强型产品。ATMEL公司是美国20世纪80年代中期成立并发展起来的半导体公司。该公司的技术优势在于推出Flash存储器技术和高质量、高可靠性的生产技术,它率先将独特的Flash存储技术注入于单片机产品中。其推出的AT89系列单片机,在世界电子技术行业中引起了极大的反响,在国内也受到广大用户欢迎。AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器。器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构。芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,3个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S52设计和配置了振荡频率可为0Hz,并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器、串行口、外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。主要功能特性见表3.1: 表3.1 AT89S52功能兼容MCS-51指令系统8k可反复擦写(1000次)ISP Flash ROM32个双向I/O口4.5-5.5V工作电压3个16位可编程定时/计数器时钟频率0-33MHz全双工UART串行中断口线2568bit内部RAM2个外部中断源低功耗空闲和省电模式中断唤醒省电模式3级加密位看门狗(WDT)电路软件设置空闲和省电功能灵活的ISP字节和分页编程双数据寄存器指针引脚封装如图3-1所示:图3-1 AT89S52的引脚图引脚及说明:VCC/GND:电源/接地引脚;Port 0:P0是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端;P0还可以用作总线方式下的地址数据复用管脚,用来操作外部存储器。在这种工作模式下,P0口具有内部上拉作用。对内部Flash程序存储器编程时,接收指令字节、校验程序、输出指令字节时,要求外接上拉电阻;Port 1:P1是一个带有内部上拉电阻的8位双向I/0端口,输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用; 另外,P1.0、P1.1可以分别被用作定时器/计数器2的外部计数输入(P1.0/T2)和触发输入(P1.1/T2EX);对内部Flash程序存储器编程时,接收低8位地址信息;Port 2:P2是一个带有内部上拉电阻的8位双向I/0端口;输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用; P2口在存取外部存储器时,可作为高位地址输出;内部Flash程序存储器编程时,接收高8位地址和控制信息; Port 3: P3是一个带有内部上拉电阻的8位双向I/0端口,输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。 P3引脚功能复用见表3.2:表3.2 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外部数据存储器写选通WRP3.7外部数据存储器写选通RDRST:在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此管脚时,将使单片机复位。只要这个管脚保持高电平,51芯片便循环复位。复位后P0P3口均置1,管脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序;XTAL1、XTAL2 :XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,晶振的频率可以在1MHz至24MHz内选择,电容取30PF左右。ALE/PROG:访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的低位字节,即使不访问外部存储器,ALE端仍以不变的频率输出脉冲信号(此频率是振荡器频率的1/6),在访问外部数据存储器时,出现一个ALE脉冲; PSEN:该引脚是外部程序存储器的选通信号输出端。当AT89S52由外部程序存储器取指令或常数时,每个机器周期输出2个脉冲,即两次有效。但访问外部数据存储器时,将不会有脉冲输出;EA/Vpp:外部访问允许端。当该引脚访问外部程序存储器时,应输入低电平。要使AT89S52只访问外部程序存储器(地址为0000H-FFFFH), 这时该引脚必须保持低电平; 2、芯片24C02特性:与400KHz I2C 总线兼容1.8 到6.0 伏工作电压范围低功耗CMOS 技术写保护功能当WP 为高电平时进入写保护状态页写缓冲器自定时擦写周期1,000,000 编程/擦除周期可保存数据100 年8 脚DIP SOIC 或TSSOP 封装温度范围:商业级工业级和汽车级I2C 总线接口进行操作有一个专门的写保护功能管脚配置:图3-2 24C0x芯片管脚描述:表3.3 芯片管脚的功能管教名称功能A0、A1、A2器件地址选择SDA串行数据/地址SCL串行时钟WP写保护Vcc+1.8V+6.0V工作电压Vss地3.1.2 主控电路主控电路由单片机最小系统组成,包括时钟电路、复位电路和主芯片AT89S52,另外,为了能储存温度上下限,还加入存储芯片24C02,存储容量为256字节。24C02是串行E2PROM,它是基于I2C-BUS 的存储器件,遵循二线制协议,由于其具有体积小、引脚少、功耗低、工作电压范围宽、数据掉电不丢失等特点,在仪器仪表及工业自动化控制中得到大量的应用。24C02与单片机的接口非常简单,占用I/O端口少,芯片扩展方便,读写简单。如图3-3所示,A0、A1、A2为器件地址线,将这些引脚都接地时,器件地址为0;WP为写保护引脚,将此引脚接地,允许对器件进行读/写操作;SCL、SDA为二线串行接口,符合I2C总线协议。 单片机的最小系统如下图3-3所示: 图3-3主控电路P0是显示器的数据总线。P1为44键盘矩阵接口。 P2.0P2.2是显示器的控制总线,P2.3P2.4作为外部储存器。P2.5是报警电路。 P2.6位温度传感器。3.2 数据采集部分温度作为一种最基本的环境条件参数,与工业、农业、养殖业的生产以及医学乃至人们的日常生活都是紧密相关的,因此,对于温度的测量方法以及测量装置的研究就凸现的非常重要,由单片机和温度传感器所构成的测温系统可广泛应用于很多领域。本设计通过对单总线数字集成温度传感器DS18B20的特点,工作原理和使用方法的讨论,结合对单片机AT89S52的编程实现温度的采集。大多单片机接口输入的信号是数字信号,或带有A/D转换的高端单片机也可输入模拟信号。由单片机获取非电信号的温度信息,必须通过温度传感器。传统的温度测量多以热敏电阻作为温度传感器。但是,热敏电阻可靠性较差,测量温度精度低,而且还需A/D转换成数字信号才能由单片机进行处理。因此,使用数字温度传感器可简化硬件设计,方便单片机读取数据,节约成本。设计单片机数字温度计需要考虑一下3个方面:温度传感器芯片的选择;单片机和温度传感器的接口电路设计;控制温度传感器实现温度信息采集以及数据传输的软件DS18B20是美国达拉斯(Dallas)公司的单数字温度传感器芯片,与传统的热敏电阻不同,DS18B20可直接将被测信号转换为串行数字信号,供单片机处理,通过对DS18B20编程可以实现912位的温度读数,并可分别在93.75ms和750ms内完成9位和12位的数字量。其测量范围-55+125,最大分辨率为0.0625,在-10+85范围内其测温准确度为0.5。DS18B20具有体积小,功耗低,抗干扰能力强的,易于微处理器连接等特点,而且他无需任何外围硬件即可方便的进行温度测量,与单片机交换信息只需一根I/O口线,其读写及温度转换的功率也可来源于数据总线,而无需额外电源。另外,每片DS18B20都设有唯一的产品序列号,存放在他的内部ROM中,单片机通过简单的协议就能识别这个序列号。因此,多个DS18B20可以挂接于同一条单线总线上,特别适合构成多点温度测控系统。DS18B20的主要特性 :1适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电 2独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯 3 DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温 4 DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内 5 温范围55125,在-10+85时精度为0.5 6 可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温 7 在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快 8 测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力 9 负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。 DS18B20的外形和内部结构:DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20引脚定义: (1)DQ为数字信号输入/输出端; (2)GND为电源地; (3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。图3-4 DS18B20封装图3.3 键盘电路的设计键盘在单片机应用系统中能实现向单片机输入数据、传送命令等功能,是人干预单片机的主要手段。下面介绍键盘的工作原理,键盘按键的识别过程及识别方法,键盘与单片机的接口技术。1键盘输入的特点键盘实质上是一组按键开关的集合。通常,键盘开关利用了机械触点的合、断作用。一个电压信号通过键盘开关机械触点的断开、闭合,其行线电压输出波形如图3-5所示, t1和t3分别为间的闭合和断开过程中的抖动期,抖动时间长短和开关的机械特性有关,一般为510ms,t2为稳定的闭合期,其时间由按键动作所确定,一般为十分之几秒,t0、t4为断开期。图3-5 键盘闭合时行线输出电压波形2按键的确认键盘的闭合与否,反映在行线输出电压上就是呈现高电平或低电平,如果高电平表示键断开,低电平则表示键闭合,通过对行线电平高低状态的检测,便可确认按键按下与否。为了确保CPU对一次按键动作只确认一次按键有效,必须消除抖动期t1和t3的影响。3如何消除按键的抖动常常采用软件来消除按键抖动,基本思想是:在第一次检测有键按下时,该键所对应的行线为低电平,执行一段延时10ms的子程序后,确认该行线电平是否仍为低电平,如果仍为低电平,则确认该行确实有键按下。当按键松开时,行线的低电平变为高电平,执行一段延时10ms的子程序后,检测该行线为高电平,说明按键确实已经松开,采取以上措施,躲开了两个抖动期t1和t3,从而消除了按键抖动的影响。本设计使用了44矩阵式(也称行列式)键盘,如图3-6)它由行线和列线组成,按键位于行、列的交叉点上。与独立键盘相比,矩阵式键盘要节省很多的I/O口线。按键设置在行、列线交点上,行、列线分别连接到按键的两端。行、列线通过上拉电阻接到+5V上。无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态由与此行线相连的列线的电平决定。这一点是识别矩阵式键盘按键是否按下的关键所在。所以,必须将行、列线信号配合起来做适当的处理,才能确定闭合键的位置。 3-6 44矩阵键盘接口电路3.4液晶显示电路在本系统中用到了点阵字符型LCD显示器。液晶显示模块必须有相应的LCD控制器、驱动器,来对LCD显示器进行扫描、驱动,以及一定空间的RAM和ROM来存储写入的命令和显示字符的点阵。现在人们已将LCD控制器、驱动器、RAM、ROM和LCD显示器用PCB连接到一起,成为液晶显示模块LCM(LCD Module)。使用时只要向LCM送入相应的指令和数据就可实现所需要的显示内容,这种模块与单片机接口简单,使用灵活方便。如图3-7所示,本系统采用的是LCD1602(16字符2行),它具有3个控制端,分别为: RS(数据/命令选择端)、R/W(读/写选择端)、 E(使能信号)分别对应图中P1的4、5、6引脚,分别连接单片机的P2.0P2.2,用来对LCD1602进行控制;第714引脚是LCD1602的8个数据端,连接单片机的P0口,用来向LCD1602写入数据;其中P1的第3引脚为液晶显示偏压信号,用来调节显示的对比度;第1、2引脚是显示器LCD1602的电源接口,第15、16引脚是显示器背光灯的电源接口。图3-7 LCD1602接口电路3.5系统电源部分3.5.1芯片介绍从外形上看,集成串联型稳压电路有三个引脚,分别为输入端、输出端和公共端(或调整端),因而称为三段稳压器。用LM78系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。LM7805三段稳压器的输出电压为+5V,最大输出电流为1.5A;在本系统中用到了由LM7805构成的+5V稳压电源。3.5.2电源电路这个部分由整流电路、滤波电路、稳压电路等组成。图3-8 +5V电源电路图4 软件功能程序及分析4.1软件设计总流程操作说明:本系统用16键键盘实现,分别为数字键10个:09;功能键6个:退格键、-号键、小数点键、高温设置键、低温设置键、确认键。主界面第一行显示当前温度,第二行显示报警的上下温度值。如下图4-1所示。图4-1 主界面操作方法:上限温度设置方法为按下高温设定键,输入格式为xxx.x,然后按下确认键确认。下线温度设置方法为按下低温设置键,输入格式为-xx.x,然后按下确认键。本系统软件设计主要包括主程序,显示子程序、键盘扫描子程序、设置温度子程序几部分组成。主程序流程图如下图4-2所示。下图中1号键为关闭报警按键同时也是数字1号键。15号键为高温设置键。16号键为低温设置键。主程序中,首先初始化LCD,然后检测18B20是否工作正常,随后进行键盘扫描。扫描后从24C02中读取之前设置温度的上下限,并从18B20中读取当前的温度进行计算,如果达到报警要求,报警电路进行报警。进行键盘输入,可选择是否停止报警。和是否更改上下限温度,设置后按复位键程序重新进行计算,并开始计算当前温度是否在设定值内。复位键为复位电路中的复位按键。图4-2主程序流程图程序从主函数开始先进行初始化,DS18B20是一个数字集成的温度转化芯片,对当前温度进行转化处理。同时DS18B20是以一线总线传输的形式传给AT89S52,再AT89S52译码转换到LCD液晶显示当前温度,人工按键设定温度值是以LCD液晶显示的形式直观的反应设定的报警温度,使用者可以根据要求设定报警的上下限温度(55+125可调),AT89S52根据人工按键设定值与当前温度值进行比较,若当前温度值高于或低于设定值则均报警电路反应,有效的实施监控根据上边所画的流程图可以用C语言编写出对应的程序如附录C所示。数据采集及算法转化框图如图4-3图4-3 DS18B20工作流程图DS18B20可直接将被测温度转换成串行数字信号,供单片机处理,通过对DS18B20编程可以实现912位的温度读数,并可分别在93.75ms和750ms内完成9位和12位的数字量。其测温范围-55+125,最大分辨率为0.0625,在-10+85范围内其测温准确度为0.5。DS18B20采用一线总线的传输的形式可以直接把数字量和51单片机(本设计使用AT89S52单片机)进行通信译码。程序开始初始化,再经DS18B20,ROM操作指令识别判断,再进行存储操作指令,转化处理,读取当前温度值。根据上边所画的流程图可以用C语言编写出对应的程序如附录C所示。4.2 子程序设计4.2.1 初始化LCD由于1602是一个慢速设备,所以在初始化时,首先执行一段延时15ms的程序,等待LCD1602,然后根据1602使用手册,初始化时,要对其进行3次写显示模式的设置,然后根据需要、开显示、开光标、清屏,即可完成对1602的初始化。如图4-4所示。图4-4 初始化LCD流程图4.2.2 键盘扫描对键盘扫描的编程采用线翻转法实现,分为两步:1、将列线作为输出线,行线作为输入线。置输出先全部为0,此时行线中呈低电平0的为按键所在行,如果全都不是0,则没有按键按下;2、将第一步反过来,即将行线作为输出线,列线作为输入线。置输出线全部为0,此时列线呈低电平0的为按键所在的列。这样就能得到按键的具体位置。写程序时,先对P1写0F0H,然后读出P1的值,如果有按键按下,则P1与0F0H进行与运算结果不等于0F0H,然后再给P1写0FH,再读出P1的值,将两次读出的值进行或运算,得到所按下键的键值编码。键盘扫描子程序流程图如图4-5所示。图4-5 键盘扫描子程序4.3 温度的设定子程序通过LCD液晶显示设定值,使用键盘进行高温报警与低温报警值的设定。必须按照规定的格式进行设置,否则出现乱码。源程序见附录C。图4-6 温度设定的子程序流程图总结大学四年就会在这最后的毕业设计总结上划上一个圆满的句号。我曾经以为时间是一个不快不慢的东西,但现在我感到时间过得是多么的飞快,四年了,感觉在一眨眼之间结束了我的大学生涯。毕业,最重要的一个过程,最能把理论知识运用到实践当中的过程就数毕业设计了。这也是我们从一个学生走向社会的一个转折,另一个生命历程的开始。毕业设计的一个月,我学到了很多,也成熟了很多。我觉得能够在这次毕业设计中学到很多的东西,以往不注意的细节,在这一次设计中是必须让自己去注意的。也是这四年来所学到知识的一个体现,我深深的知道,每一次的学习实践环节都是那么的来之不易,都是通过老师的深思熟虑后,才给我们定下目标。然后让我们在知识的海洋里翱翔,让我们随着年龄的增长不断的扩充自己的知识领域,也逐渐成熟,逐渐长大,老师同时也教导我们逐渐成为一个能够为身边的人,为家庭,为国家做出点贡献的人,教导我们学会感恩。所以,我在这次的毕业设计中,认真对待每一个过程,希望自己的认真,自己最后的毕业设计的成果能够回报老师这么多年来的教导,这么多年的奉献。致谢本系统的设计工作是在我的导师张蛟龙实验师的精心指导和悉心关怀下完成的,在我的设计工作中倾注着导师辛勤的汗水和心血。在我的设计过程中,张蛟龙老师给我很大的帮助,给我提出设计要求,在软件流程中给我提出了宝贵的意见,一步一步指导我,让我熟悉设计系统需要做的每一步工作和具体的步骤。在这里向他表示深深的感谢。导师的严谨治学态度、渊博的知识、无私的奉献精神使我深受的启迪。从尊敬的导师身上,我不仅学到了扎实、宽广的专业知识,也学到了做人的道理。在此我要向我的导师致以最衷心的感谢和深深的敬意。在多年的学习生活中,还得到了许多学院领导和老师的热情关心和帮助。最后,向所有关心和帮助过我的领导、老师、同学和朋友表示由衷的谢意!衷心地感谢在百忙之中评阅我的论文和参加答辩的各位老师!参考文献1宋文绪,杨帆.传感器与检测技术M.高等教育出版社,2004.2徐爱钧.智能化测量控制仪表原理与设计M.北京航空航天大学出版社,2004.3余发山,王福忠.单片机原理及应用技术M.中国矿业大学出版社,2008.4艾永乐,付子义.数字电子技术基础M.中国电力出版社,2008.5杨帮文.最新传感器实用手册M.人民邮电出版社,2004.6阮忠, 邹琦萍. 基于AT89S51单片机的单总线数字温度计设计J. 西轻工业 , 2008,(02) 7艾永乐,付子义.模拟电子技术基础M.中国电力出版社,2008.8谭浩强.C程序设计M.清华大学出版社,2010.9赖麒文.8051单片机C语言开发环境实务与设计M.北京:科学出版社,2002.10关德新,冯文全.单片机外围器件使用手册M.北京:北京航空航天大学出版社,1998,4.11赵负图.国内外传感器手册M.辽宁:辽宁科学技术出版社,1997,812李华.MCS-51系列单片机实用接口技术M.北京:北京航空航天大学出版社,1993.13李勤单片机实用教程M.北京:北京航空航天大学出版社,2006.14李朝青.单片机原理及接口技术M.北京:北京航空航天大学出版社,2005.15江力.单片机原理与应用技术M.北京:清华大学出版社,2006.附录A 线路图附录B PCB版图附录C 程序 /DS18B20温度检测及其液晶显示#include /包含单片机寄存器的头文件#include /包含_nop_()函数定义的头文件#define uchar unsigned char#define uint unsigned int#defineOP_READ0xa1/ 器件地址以及读取操作,0xa1即为1010 0001B#defineOP_WRITE 0xa0/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论