1、摘要电热水器作为人们生活中不可或缺的家用电器之一,对我们的生活水平有着重要的影响,常用的热水器主要分为以下三种:燃气式热水器,太阳能热水器以及电热水器。太阳能热水器虽然有没有污染的优点,但是其使用受到天气与位置的较大限制,加之其不能对温度进行有效控制;燃气热水器虽然不用受到上面的限制,但是人们通常会对其使用过程中的一些危险,如一氧化碳中毒和燃气泄漏的担心,加之其安装过程非常繁琐,也渐渐淡出人们的视线;而电热水器在具有其上优点的同时,其安装十分方便,同时在当今时代,电热水器的各方面的研发已经十分的成熟,安全性也能很好的得到保证。而随着科技的发展,传统的机械式控制系统一难以满足人们对高生活水平的要
2、求,而在微处理器技术、传感器技术的进一步成熟的现今社会,电热水器开始摒弃传统的机械式的控制方式,转而采用全新的控制方式,以微处理器为核心,通过传感器测温,然后再通过显示屏显示,辅以友好的人机界面,从而实现热水器的智能使控制方法。本论文完成的控制系统是利用AT89S52单片机作为控制核心的,然后利用其现有接口外接各种硬件模块,主要有:温度测量电路,实时时钟电路,键盘,看门狗电路,加热开关,LED显示电路。软件部分主要是为实现系统功能而进行的C语言编程。本系统为一款智能式电热水器,使用独立键盘输入各种指令,使用DS18B20测量温度,测量温度精度可达到0.01,采用一块LCD显示屏显示所需要显示的
3、各种数据,便于用户的操作,通过用户的各种事先指令,对单片机进行操作,达到控制热水器的加热系统的工作状态,基本达到了对热水器的控制的目的。关键词:单片机;温度测量;DS18B20;LCD显示;抗干扰ABSTRACTElectric water heater as an integral part of peoples lives in one household, for our standard of living has an important effect, commonly used water heaters can be divided into the following thr
4、ee types: gas-fired water heaters, solar water heaters and electric water heaters.Although there is no pollution solar water heaters advantages, but its use is more restricted weather and location, together with its temperature can not be effectively controlled; gas water heater, though not subject
5、to the above restrictions, but people often use some of their hazards such as carbon monoxide poisoning and gas leakage concerns, coupled with its installation process is very tedious, and gradually fade out of sight; while on the water heater has its advantages at the same time, its very easy to in
6、stall, but in the modern era, the electric water heater aspects of the development has been very mature, safety can be well guaranteed.With the development of technology, the traditional mechanical control system is difficult to meet people on a high living standard, while in microprocessor technolo
7、gy, sensor technology to mature in todays society, electric water heater began to abandon the traditional mechanical control way in favor of a new control method, a microprocessor core, through the sensor temperature, and then through display, complemented by a friendly interface, enabling the water
8、 heater intelligent control method.Completion of this thesis is the use of a control system AT89S52 microcontroller as the control, and then use its existing interface a variety of external hardware modules are: temperature measurement circuit, real time clock circuit, keyboard, watchdog circuit, he
9、ating switch, LED display circuits.Software system for the realization of some of the major functions of the C language for programming.This system is a smart electric water heaters, using a separate keyboard input various commands, use DS18B20 temperature measurement, temperature measurement accura
10、cy can reach 0.01 , using an LCD display shows the need to display a variety of data, user-friendly operation, advance through various user commands to operate the microcontroller, to control water heater heating system working state, reaches for the water heater control purposes.目录第一章 绪论11.1引言11.2选
11、题背景与意义11.3研究现状21.4研究内容21.5本文结构4第二章 电热水器控制系统设计方案42.1系统功能说明42.2系统主要实现功能42.3系统整体设计方案42.4方案论证5第三章 主要元件介绍83.1单片机系统模块介绍8 3.1.1 AT89S52单片机的主要性能8 3.1.2 AT89S52管脚功能说明8 3.1.3单片机的最小系统113.2温度检测模块13 3.2.1 DS18B20的主要功能及特点13 3.2.2DS18B20的内部结构14 3.2.3 DS18B20的工作时序16第四章 硬件模块的设计194.1 温度采集模块194.2实时时钟电路模块20 4.2.1 DS130
12、2的介绍20 4.2.2实时时钟模块原理图214.3键盘输入模块224.4继电器加热模块234.5 LCD显示模块设计25 4.5.1 LCD模块概述25 4.5.2 LCD模块硬件说明25 4.5.3 内部控制指令26 4.5.4显示硬件设计原理图264.6其余硬件模块设计28第五章系统软件设计295.1主程序模块295.2 DS18B20测温模块325.3实时时钟模块345.4 LCD显示模块385.5键址返回程序405.6测试及性能分析42第六章 结论46致 谢47参考文献:48附录A:硬件设计原理图与PCB图49附录B:软件程序清单51附录C:实物图61附件:毕业论文光盘资料IV第一章
13、 绪 论1.1引言我国作为热水器生产的大国,近年来热水器的发展十分迅速,而热水器主要有三个研究方向:太阳能,燃气式与电热式。近年来因为单片机技术的发展,传感器技术的渐渐成熟,电热水器的数字化与精确控制已经变成可能。作为一种需要在浴室,洗手间与厨房中使用的电器,这种电热水器采用水电分离的控制方式,即采用小电流低电压的控制电路来控制高电压大电流的加热电路,一般情况下,使用十分安全。并且在安全可靠的基础上,这种热水器还提供清楚的温度显示与方便的温度调节装置,所以在目前的市场上十分受到欢迎。1.2选题背景与意义本文对电热水器的控制系统进行可研究,具体研究的意义如下:1) 随着传感器测量技术的渐渐成熟,
14、这种技术被广泛的运用在了在传统测温方式不便于温度测量的场合,而且传感器作为测量元件其相较于传统测温系统,测量精度与可靠性得到了进一步的提升,这一技术在当时与以后的时间里得到了发展与完善,迅速的显示出来其对于传统的物理式的温度测量系统的优越性。12) 在这一系统中(温度采集与控制),我们要求对温度进行实时控制,单片机具有极强的处理能力,将其运用在温度控制系统中就具备了传统的控制电路所不具有的实时控制能力,随着单片机技术的发展成熟以及周边元件的开发,其控制方式变得越来越简单,并且其相较于传统控制电路,可以大幅度的提高温度控制的精度,从而达到更高的技术要求。3)单片机由于体积小重量轻、价格便宜、功耗
15、低,控制能力强及运算速度快等特点,因而采用其作为主控芯片,使整个系统设计简单易行,成本低廉,使用方便。4)就目前来看,随着天然气价格上涨以及高层住房的普及,燃气式热水器与太阳能式热水器因为其自身的缺陷而失去市场占有率,而电热水器由于其自身不会受到这种限制,并且电热水器由于其小巧的外形、快速的加热速度、节能的设计、可靠地安全性等特点所以在今后的热水器市场上必将作为一种主流热水器出现。所以选取电热水器的控制系统作为此次的研究课题是具有十分重要的意义的。1.3研究现状 电热水器在中国的历史已经有10多年了,期间也经历了数次起落的过程,在上个世纪的最后几年,随着国外品牌的进入和国内一些大家电厂的目光转
16、向电热水器,储水式电热水器能适应任何天气变化,普通家庭可直接安装使用,长时间通电可以大流量供热水。使用时不产生废气,既安全又卫生。目前市场上销售的电热水器多数还带有防触电装置。干净卫生,不必分室安装,调温方便。随着技术的成熟,今后将朝着保温层整体发泡技术、温控器置入内胆、加热管下潜式设计、节能免更换几个方面发展。热水器是一种可供浴室,洗手间及厨房使用的家用电器。据国务院发展研究中心市场经济研究所统计数据表明:近年来我国热水器的销量每年以 25%的速度上升,在未来五年内,销售额每年可达近500亿以上。众所周知,燃气热水器因其安全隐患及越来越高的使用成本正渐渐淡出热水器市场,而太阳能热水器也因其严
17、格受天气气候及安装条件影响而很难占据更大的市场份额,所以电热水器迅速崛起而不断壮大。为了满足人们对现代电器的智能化的要求,利用目前电子技术的最新成果改善电热水器的性能已经完全可能和必要。本课题将以单片机为控制核心,实现对热水器的自动控制,设计出一款具有自动化、智能化、易于操作、控制精度高、性价比高的电热水器控制系统。1.4本文研究内容1)本文所研究的电热水器控制系统由7个部分组成:单片机以及外部电路、电源电路、按键输入电路、LED数码管及指示灯电路、报警电路、加热控制电路和温度采集电路。2)作为最重要的主控芯片,我们选用51系列单片机作为核心来进行此次的设计。单片机作为微型计算机的一种,是嵌入
18、式微机系统,是作为其他系统的组成部分使用的,在物理结构上嵌于其它系统之中,英文为Embedded Systems。嵌入式系统将计算机硬件和软件结合起来,构成一个专门的计算装置,实现特定的功能。它是一个大系统或大的电子设备中的一部分,工作在一个与外界发生交互并受时间约束的环境中,在没有人工干预的情况下进行实时控制。自从20世纪70年代以来,单片机经历了初级、发展、高速发展三个阶段。单片机性能不断地完善,性能价格比显著提高,种类和型号快速增加。从性能和用途上看,单片机正朝着面向多层次用户的多品种多规格方向发展,哪一个应用领域前景广阔,就有这个领域的特殊单片机出现。近几年来,单片机以其集成度和性价比
19、高、体积小等优点,在工业自动化、过程控制、数字仪器仪表、通信系统以及家用电器产品中有着不可替代的作用。3)220V交流电加热装置的通断由继电器控制,其中继电器中的保险丝会在温度过高的情况下会熔断,防止加热管干烧,并且在单片机上还加上发光二极管显示加热电路的工作情况。1.5本文结构本文以对单片机的研究作为基础,对DS18B20及单片机控制显示,输入输出等方面进行了研究,全文分为6章,各章内容如下:第一章主要介绍了电热水器控制系统的基本概念、特点研究现状,阐述了电热水器的研究背景以及研究意义,概括的阐述了本次设计的主要内容。第二章表明了本次设计的技术指标要求,主要介绍了采用的几个设计方案与各自的优
20、缺点,并在最后表明了本次设计最终所采用的方案。第三章阐述所选择的几个重要元件的特点与性能第四章主要介绍了电热水器控制系统的硬件电路的设计,主要介绍了各模块的设计方案。第四章对系统的硬件模块的设计进行阐述,对各硬件的原理及主要参数进行了描述。第五章对系统的软件设计进行阐述,以流程图为线索对各个模块的软件程序的设计方案进行了介绍。第六章总结了全文的研究工作,给出了存在的问题与进一步的研究方向。第二章 电热水器控制系统设计方案2.1系统功能说明本设计采用AT89S52单片机作为主控芯片,利用数字式温度传感器DS18B20作为温度采集装置采集温度,将温度信号传送给单片机后通过一片液晶显示屏显示出来。系
21、统工作的温度可以通过电路板上的按键自主进行设定。系统采用了一个继电器,用单片机为主的控制系统控制继电器触电的吸合,来控制交流电加热电路,达到以弱电控制强电的目的。系统必须设置温度报警系统,即达到设定温度的上限时扬声器报警,系统自动断电,当温度恢复时,系统重新恢复工作。2.2系统主要实现功能系统主要功能如下:1)测量热水器内的温度,并通过显示屏实时显示温度值,显示范围为070。2)正常状态下显示系统时钟。3)可手动设定时钟时间即对时钟进行校准。4)可以人工设定热水器内的烧水温度,范围在2070之间,也可以无需设定,打开后自动烧水,温度上限为70。5)具备定时功能,限定烧水时间。6)可以立即开机或
22、在24小时内任意设定开机时间。7)当热水器内没有水时,有报警提示,并开关自动关闭,即有防止干烧功能。8)要求热水器有一定的抗干扰的功能。2.3系统整体设计方案电热水器控制系统的整体设计方案包括硬件设计与软件设计方案,硬件方案主要是指以单片机为核心,包括外接的温度采集电路,实时时钟电路,键盘,热水器加热开关,液晶显示电路,报警电路以及复位电路。具体硬件框图如图2.1所示微 控制 器模 块温度采集模块实时时钟键盘复位电路加热开关液晶显示电路功能指示电路报警电路晶振电源图2.1 系统硬件框图2.4方案论证按照前面的课题要求,我们首先确定运用单片机AT89S52作为本次设计的核心部件。在温度采集方面有
23、多种选择,常见的温度传感器分为以下几种:热敏电阻式温度传感器、热电阻式温度传感器、热电偶式温度传感器、模拟集成温度传感器、智能温度传感器。本次设计原本选择的是pt1000铂电阻温度传感器,其作为高精度的温度敏感元件,具有测温范围大,测温精度高,稳定性好,示值复现性高与耐氧化等特点,常被用作0926温度区间内的标准温度计,其特性曲线为:-200C0C时,Rt=R01+At+Bt2+c(t-100)t3;0C650C时,Rt=R01+At+Bt2。(Rt为温度为tC时热电阻的阻值,R0为0C时的阻值,A、B、C为实验测定的常数,A=3.9080210-2,B=5.80210-7,C=-4.2210
24、-7)本系统使用的R0为1000。而要将pt1000作为本次设计的元件,还需要语气配套的传感器测量电路与放大电路两部分,具体电路如图2.2所示。12但是在实际购买时发现pt1000电阻由于价格过高,所以在最终设计中并没有采用pt1000作为测温元件来使用,同时,在同组同学推荐下采用了另一种集成式温度传感器DS18B20作为测温元件,DS18B20虽然测温范围比pt1000小,但是在满足本设计要求的基础上,其价格不到pt1000的一半,并且其硬件电路由于舍去了普通传感器所需附带的A/D电路的设计,所以其硬件电路的设计更加简单,所以采用了DS18B20作为最终设计中的测温元件。11图2.2 传感器
25、放大电路本次设计的要求是选择51单片机作为核心的处理器,但是市场上做51单片机的厂商有很多家,其中比较著名的有STC公司、MICROCHIP公司、德州仪器公司、Intel公司、ATMEL公司、Philips公司、Siemens公司。9其中STC公司的STC单片机主要是基于8051内核,是新一代增强型单片机,指令代码完全兼容传统8051,速度快812倍,带ADC,4路PWM,双串口,有全球唯一ID号,加密性好,抗干扰强。还有MICROCHIP公司的PIC单片机,其突出的特点是体积小,功耗低,精简指令集,抗干扰性好,可靠性高,有较强的模拟接口,代码保密性好,大部分芯片有其兼容的FLASH程序存储器
26、的芯片.PHILIPS公司的PHLIPIS51LPC系列单片机是基于80C51内核的单片机,嵌入了掉电检测、模拟以及片内RC振荡器等功能,这使51LPC在高集成度、低成本、低功耗的应用设计中可以满足多方面的性能要求。ATMEl公司的8位单片机有AT89、AT90两个系列,AT89系列是8位Flash单片机,与8051系列单片机相兼容,静态时钟模式;AT90系列单片机是增强RISC结构、全静态工作方式、内载在线可编程Flash的单片机,也叫AVR单片机。而作为第一次使用单片机做独立设计,我选用的是ATMEL公司的AT89S52单片机,AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8
27、K 在系统可编程Flash储存器。使用Atmel 公司高密度非易失性储存器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序编程器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。众所周知,单片机的程序写入过程不是一帆风顺的,其常常需要多次的写入与调试的过程,这里采用AT89S52的优点就是AT89S52额外添加了8k在系统可编程(即ISP)Flash存储器,特意设计为方便在线编程,使得其下载线电路简单,且可实现并行和或者串行模式的在线编程,使得每一次的程序下载与调试不
28、必将单片机从PCB板上拔下,这样不仅使程序调试变得更加方便,其次还会大大延长单片机与PCB板的寿命。由于本次设计需要有定时开关机的功能,而单片机其内部时钟只能作为其内部程序运行的基准而不能满足设计的要求,所以外接了一个时钟芯片来满足本次设计的要求。10市面上的主流的时钟芯片有DS1302、 DS1307、PCF8485、SB2068等等。这些芯片结构简单,价格低廉,而实时时钟电路DS1302是DALLAS公司的一种具有涓细电流充电能力的电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768kHz晶振。在显示方面采用一个液晶显示屏来显示
29、主要的参数,液晶显示屏相对于LED数码管虽然编程方面更加繁琐,但是相对的其还具有更多的优点,其除了可以顺利的显示数字之外,还可以对显示的数字进行简单的注释,使得人机操作界面变得更加友好,其次在有关网站上也可以顺利的查找到有关DS1302的信号显示程序,本次显示界面除了有温度的显示还需要有时间的显示,定时操作信号的显示,采用LCD显示屏使操作显得更加方便。6在键盘的选择上,有两种选择:一是采用独立式按键键盘,第二种是采用矩阵式键盘。矩阵式一般键盘采用4*4式键盘,而本次设计中并不需要如此多的功能按键,所以本次设计,选择了独立式按键,本次总共使用了6个按键。其中按键1的功能是系统的复位,按键2的功
30、能是实现实时时钟的时间校准功能,按键3实现的功能是实现烧水温度的设置功能,按键4实现的功能是烧水定时功能的设置,按键5与按键6分别是“+”“”功能键。然后本次设计中还加入了一个发光二极管与蜂鸣器。发光二极管用来显示继电器的闭合状况,使得加热电路的通断能够被更直接的观察。而加入蜂鸣器的作用是在进行某项操作时进行指示作用,还有在达到烧水温度或者定时时间到的时候起到报警作用。第三章 主要元件介绍3.1单片机系统模块介绍AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K在线可编程Flash 存储器,使用Atmel公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容
31、。片上Flash允许程序存储器在线可编程,亦适于常规编程器。在一个芯片上,拥有灵巧的8 位CPU 和在线可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。1 AT89S52具有以下标准功能:8K字节的Flash,256字节的RAM,32 位I/O 口,看门狗定时器,2个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件,可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作;掉电保护方式下,RAM内容被保存,振荡
32、器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。3.1.1 AT89S52单片机的主要性能l 与MCS-51单片机产品兼容l 8K字节在系统可编程Flash存储器l 1000次擦写周期l 全静态操作:0Hz33Hzl 三级加密程序存储器l 32个可编程I/O口线l 三个16位定时器/计数器l 八个中断源l 全双工UART串行通道l 低功耗空闲和掉电模式l 掉电后中断可唤醒l 看门狗定时器l 双数据指针l 掉电标识符3.1.2 AT89S52管脚功能说明AT89S52引脚如图3.1所示。图3.1 AT89S52引脚结构图VCC :电源GND : 接地P0口: P0口是一个8位漏极开路
33、的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用,在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节,在程序校验时,输出指令字节。程序校验时,P0口需要外部上拉电阻。表3.1 P1口第二功能P1口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,P1 输出缓冲器能驱动4个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.
34、0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如表3.1所示。在flash编程和校验时,P1口接收低8位地址字节。P2口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4个TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在
35、使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3 口是一个有内部上拉电阻的8 位双向I/O 口,P3 输出缓冲器能驱动4个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如表3.2所示。在flash编程和校验时,P3口也接收一些控制信号。表3.2 P3口第二功能RST:复位输入。晶振工作时,RST脚持续2个机器周期高
36、电平将使单片机复位。看门狗计时完成后,RST 脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置 “1”,ALE 仅在执行MO
37、VX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND.为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12V的VPP电压。XTAL1:振荡器反相放大器和内部时钟发生
38、电路的输入端。XTAL2:振荡器反相放大器的输出端。73.1.3单片机的最小系统单片机的最小系统是指运用最少的元件使单片机运行的系统,一般包括一下的几个部分:晶振电路、复位电路、电源电路和串口电路。晶振是电路中常用用的时钟元件,全称是叫晶体震荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。2晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。而晶振由
39、于会与单片机的XTAL1与XTAL2脚构成的振荡电路中会产生谐波,从而降低电路时钟振荡器的稳定性,所以一般会匹配两个30pf的电容来消减谐波对于电路稳定性的影响。晶振电路如图3.2所示:,XTAL1 和XTAL2 分别是放大器的输入、输出端图3.2 晶振电路系统复位有两种方式:上电复位与手动复位。3上电复位:上电瞬间,电容充电电流最大,电容相当于短路,RST端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相当于开路,RST端为低电平,程序正常运行。手动复位:首先经过上电复位,当按下按键时,RST直接与VCC相连,为图3.3复位电路高电平形成复位,同时电解电容被短路放电
40、;按键松开时,VCC对电容充电,充电电流在电阻上,RST依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,正常工作。5一般采用手动复位,其对于上电复位方式更加方便,不需要切断电源便可对系统进行复位,复位电路如图3.3所示3.2温度检测模块3.2.1 DS18B20的主要功能及特点DS18B20温度传感器是美国达拉斯(DALLAS)半导体公司推出的应用单总线技术的数字温度传感器。该器件将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上。它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理。8DS18B20
41、具有以下特性:独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线。每个设备都有一个唯一的64位序列码,存储在ROM中。 简单的多点分布式测温应用。在使用中不需要任何外围元件。可以从数据线供电。电源范围为3.0V 5.5V。测温范围 55125。在1085间,测温分辨率为0.5。温度计分辨率可由用户选择,9至12位之间。在750毫秒内将温度转换为12位字。用户可自定义非易失性报警的设置。报警搜索命令定义和存储的设备,其温度不收程序限制(温度报警状态)。采用8引脚SOP和3引脚TO- 92封装。软件与DS1822兼容。其引脚如图3.4所示:图3.4 DS18B20引脚图引脚说明:G
42、ND - 接地 DQ - 输入/输出数据 VDD - 电源电压 NC - 无连接DS18B20的极限使用条件各引脚对地电压: -0.5V+0.6V工作温度: -55125储存温度: -55+125焊接温度参见J-STD-020A的规格*以上指出的器件在进行正常焊接操作时所需要的环境条件,可能还有部分为能说明但是在操作规格中已经暗示器件可正常运行的环境。长期工作在极限条件下可能会影响器件的可靠性。3.2.2DS18B20的内部结构DS18B20的内部存储资源分为8个字节的ROM,9个字节的高速暂存器RAM,3个字节的EEPROM。如图3.5所示。图3.5 DS18B20内部结构图每只DS18B2
43、0都有一个唯一存储在ROM中的64位编码。最前面8位是单线系列编码,接着的49位是唯一的序列号,最后8位是以上56位的CRC编码。当一条总线上皆有多个DS18B20时,就通过序列号对其加以区分。主机操作ROM的指令有5种:33H读ROM。读DS18B20温度传感器ROM中的编码。55H匹配ROM。发出此命令后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20并使之做出响应,为下一步对该DS18B20的读写做准备。F0H搜索ROM。用于确定挂接在同一总线上DS18B20的个数,识别64位ROM地址,位操作各期间做好准备。CCH跳过ROM。忽略64位ROM地址,直接向18B20
44、发温度变换命令。ECH告警搜索命令。执行后只有温度超过设定值上限或下限的芯片才做出响应。高速暂存器RAM由9个字节组成。其组成如图3.8所示。包括两个温度显示位,两个复制的TH和TL,一个配置寄存器和三个保留位,一个CRC校验值。可电擦E2PROM又包括温度触发器TH和TL,以及一个配置寄存器。表3.3 高速暂存器RAM组成寄存器内容字节地址温度值地位(LSB)0温度值高位(MSB)1高温限值(TH)2低温限值(TL)3配置寄存器4保留5保留6保留7CRC校验值8操作RAM的指令主要有:44H温度转换。启动DS18B20进行温度转换,结果存入RAM。BEH读暂存器。读内部RAM中的温度数据。4
45、EH写暂存器。发出像内部RAM写上、下限温度数据指令,紧跟该命令之后传送2字节的数据。48H复制暂存器。将RAM中的TH、TL复制到E2PROM中。B8H重调E2PROM。将E2PROM中内容恢复到中。B4H读供电方式。寄生供电时,DS18B20发送0,外界电源供电时,DS18B20发送1。3.2.3 DS18B20的工作时序DS18B20需要严格的单总线协议以确保数据的完整性,主要包括初始化系列,读序列,写序列,所有时序都是讲主机作为主设备,单总线设备作为从设备。每一次命令和数据的传输都是从主机启动写时序开始,如果要求单总线器件会送数据,在进行写命令后,主机需启动读时序写完数据将接受。数据和
46、命令的传输都是地位在先。初始化时序:1)先将数据线置高电平1。2)延时(该时间要求不是很严格,但是要尽可能短一点)。3)数据线拉到低电平0。4)延时750us(该时间范围可以在480960us)。5)数据线拉到高电平。6)延时等待。如果初始化成功,则在1560ms内产生一个由DS18B20返回的低电平0,据该状态可以确定它的存在。7)若CPU读到数据线上的低电平0后,还要进行延时,其延时的时间从发出高电平算起至少要480us.8)将数据线再次拉到高电平1后结束。如图3.6所示。图3.6 初始化时序图写时序:1)数据线先置低电平0。2)延时确定的时间为15us。3)按从低位到高位的顺序发送数据。4)延时时间为45us。5)将数据线拉到高电平1。6)重复1)5)步骤,直到发送完整个字节。7)最后将数据线拉高到1。如图3.7所示。图3.7 写数据时序图读时序:1)将数据线拉高到1。2)延时2us。3)将数据线拉低到0。4)延时6 us。5)将数据线拉高到1。6)延时4 us。7)读数据线的状态得到一个状态位,并进行数据处理。8)延时30us。9)重复17步骤,直到读取完一个字节。如图3.8所示。