基于单片机的DS18B20多点测温系统LCD1602显示完全免费.docx

上传人:b****5 文档编号:12578300 上传时间:2023-04-20 格式:DOCX 页数:54 大小:644.04KB
下载 相关 举报
基于单片机的DS18B20多点测温系统LCD1602显示完全免费.docx_第1页
第1页 / 共54页
基于单片机的DS18B20多点测温系统LCD1602显示完全免费.docx_第2页
第2页 / 共54页
基于单片机的DS18B20多点测温系统LCD1602显示完全免费.docx_第3页
第3页 / 共54页
基于单片机的DS18B20多点测温系统LCD1602显示完全免费.docx_第4页
第4页 / 共54页
基于单片机的DS18B20多点测温系统LCD1602显示完全免费.docx_第5页
第5页 / 共54页
点击查看更多>>
下载资源
资源描述

基于单片机的DS18B20多点测温系统LCD1602显示完全免费.docx

《基于单片机的DS18B20多点测温系统LCD1602显示完全免费.docx》由会员分享,可在线阅读,更多相关《基于单片机的DS18B20多点测温系统LCD1602显示完全免费.docx(54页珍藏版)》请在冰豆网上搜索。

基于单片机的DS18B20多点测温系统LCD1602显示完全免费.docx

基于单片机的DS18B20多点测温系统LCD1602显示完全免费

河南科技学院

HENANKEJIXUEYUAN

 

毕业论文(设计)

 

中文题目:

基于单片机的DS18B20温度传感器测温系统设计

英文题目:

ADesignoftheDS18B20TemperatureTestSystemBasedonMCU

 

姓名牛鸿昌刘东

学号************

专业班级应用电子技术

指导教师赵小静

提交日期2013年5月20日

 

教务处制

基于单片机的DS18B20温度传感器测温系统设计

姓名:

**班级:

***

指导老师:

***职称:

**

(惠州学院电子科学系,广东,惠州,516007)

摘要

随着社会的进步和工业技术的发展,人们越来越重视温度因素,许多产品对温度范围要求严格,而目前市场上普遍存在的温度检测仪器大都是单点测量,同时有温度传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时作出决定。

在这样的形式下,开发一种能够同时测量多点,并且实时性高、精度高,能够综合处理多点温度信息的测量系统就很有必要。

本课题以AT89C52单片机系统为核心,能对多点温度进行实时巡检。

DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松的组建起传感器网络,并可使多点温度测量电路变得简单、可靠。

本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。

关键词:

DS18B20多点测温单片机LCD1602

Abstract

Astheindustryandthesocietydeveloping,thetemperaturebecomesmoreandmoreimportantandalotofproductsaresensitivetotemperature.However,temperaturemeasuringapparatusinthemarketnowonlycancheckandmeasurethetemperatureofonepoint,atthesametime,thetemperatureinformationisnotrealtimeandtheprecisionislow.Ittakesagreatoftroublesfortheindustry-controllerstomakedecision.Inthissituation,designandimplementoneapplicablesystemwhichcanwatchmeasureandcontrolthetemperatureandthemeasuringresultsisrealtimeandtheprecisionisgreatismoreessential.Inordertomeetingthisapplication,thispapertalkaboutTheMultiple-Point’stemperatureMeasuringSystem.

Thissystembasedonsinglechipcomputer,caninspectandcontrolmultipletemperaturesinrealtime. Asakindofhigh-accuracydigitalnettemperaturesensor,DS18B20canbeusedbuildingasensorneteasily.Itcanalsomakethenetsimpleandreliablewithit'sspecial1-wireinterface.ThispaperintroducestheapplicationofDS18B20withsinglechipprocessor.

Keywords:

DS18B20Multi-pointtemperatureMCULCD1602

 

 

 

第一章 绪论

1.1课题背景

在人类的生活环境中,温度扮演着极其重要的角色。

无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。

自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。

在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。

温度对于工业如此重要,由此推进了温度传感器的发展。

传感器主要大体经过了三个发展阶段:

模拟集成温度传感器。

该传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单片集成温度传感器。

此种传感器具有功能单一(仅测量温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。

它是目前在国内外应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135等;模拟集成温度控制器。

模拟集成温度控制器主要包括温控开关、可编程温度控制器,典型产品有LM56、AD22105和MAX6509。

某些增强型集成温度控制器(例如TC652/653)中还包含了A/D转换器以及固化好的程序,这与智能温度传感器有某些相似之处。

但它自成系统,工作时并不受微处理器的控制,这是二者的主要区别;智能温度传感器。

能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的。

它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。

智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。

有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。

智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。

温度传感器的发展趋势。

进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。

传感器在温度测控系统中的应用。

目前市场主要存在单点和多点两种温度测量仪表。

对于单点温测仪表,主要采用传统的模拟集成温度传感器,其中又以热电阻、热电偶等传感器的测量精度高,测量范围大,而得到了普遍的应用。

此种产品测温范围大都在-200℃~800℃之间,分辨率12位,最小分辨温度在0.001~0.01之间。

自带LED显示模块,显示4位到16位不等。

有的仪表还具有存储功能,可存储几百到几千组数据。

该类仪表可很好的满足单个用户单点测量的需要。

多点温度测量仪表,相对与单点的测量精度有一定的差距,虽然实现了多路温度的测控,但价格昂贵。

针对目前市场的现状,本课题提出了一种可满足要求、可扩展的并且性价比高的单片机多路测温系统。

1.2本课题研究意义

随着科学技术的不断进步与发展,温度控制在工业控制、电子测温计、医疗仪器、家用电器等各种温度控制系统中广泛应用,且由过去的单点测量向多测量发展。

目前温度传感器有模拟和数字两类传感器,为了克服模拟传感器与微处理器接口时需要信号调理电路和A/D转换器的弊端,大多数多点测温控制系统采用数字传感器,并大大方便了系统的设计。

比较有代表性的数字温度传感器有DS18B20、MAX6575、DS1722、MAX6635、SMT160-30等。

在传统的温度测量系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如引线误差补偿、多点测量中的切换误差和信号调理电路的误差等问题;而其中某一环节处理不当,就可能造成整个系统性能的下降。

随着现代科学技术的飞速发展,特别是大规模集成电路设计技术的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向。

美国Dallas半导体公司推出的数字温度传感器DS18B20,具有独特的单总线接口,仅需要占用一个通用I/0端口即可完成与微处理器的通信;在-10~+85℃温度范围内具有

0.5℃精度;用户可编程设定9~12位的分辨率。

以上特性使得DS18B20非常适用于构建高精度、多点温度测量系统。

1.3本课题的任务

本课题主要是实现对温度进行多点同时测量并准确显示。

整个系统由单片机控制,要能够接收DS18B20温度传感器的数据并显示出来,可以从键盘输入命令,系统根据命令,选择对应的传感器,并由LCD1602进行温度实时显示。

设计一种合理、可行的单片机监控软件,完成多点测量和显示的任务,并编写硬件底层驱动程序。

1.4系统整体目标

利用STC89C52单片机设计一个能够对不同环境多点温度同时进行测量的系统。

该系统能够同时对多个点的温度进行测量采集,通过LCD1602进行实时显示。

第二章方案论证比较与选择

2.1引言

温度测量的方案有很多种,可以采用传统的分立式传感器、模拟集成传感器以及新兴的智能型传感器。

对于控制系统可以采用计算机、单片机等。

2.2方案设计

2.2.1方案一

方案一DS18B20一对一连接方案,就是一个I/O口连接一个DS18B20,这种方案虽然占用单片机的三个I/O口,但采用这种方案大大的简化了编程难度,缩短了设计周期,同时也能保证系统的稳定,方案一的框图如图2.1所示。

 

图2-1DS18B20多I/O口连接方案

2.2.2设计方案二

方案二DS18B20单线连接方案,就是三个DS18B20连接到单片机的一个I/0口上,这种方案只用到单片机的一个I/O口,大大的节约了单片机I/O口资源。

缺点是在时序上比较复杂,DS18B20的编程增加了读ROM程序,搜索ROM和匹配ROM程序。

方案二的框图如图2.2所示。

图2.2DS18B20单线连接方案

2.3方案的比较与选择

方案一是把DS18B20的三个DQ端分别接到单片机的三个不同的I/O口,这种接法虽然占用的I/O口比较多,但是它的时序比较简单,不需要读取ROM序列号程序,搜索ROM序列号程序,匹配ROM序列号程序,软件上简化了很多。

方案二是四DS18B20D的四个DQ端接到单片机的一个I/O口。

这种接法在硬件上节省了三个I/O口,在硬件上简化了不少。

但是在软件上时序就增加了难度,需要添加读ROM序列号程序,搜索ROM序列号程序,匹配ROM序列号程序。

本设计由于功能比较简单I/O口资源丰富,同时时间比较紧张,所以通过两个方案的比较,决定选用方案一。

第三章硬件设计

3.1STC89C52单片机简介

STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-FlashProgramableandErasableReadOnlyMemory)的低电压,高性能COMOS8的微处理器,俗称单片机。

该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

1.时钟电路

STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。

时钟可以由内部方式产生或外部方式产生。

内部方式的时钟电路如图3.1(a)所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。

定时元件通常采用石英晶体和电容组成的并联谐振回路。

晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。

外部方式的时钟电路如图3.1(b)所示,RXD接地,TXD接外部振荡器。

对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。

片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。

(a)内部方式时钟电路(b)外部方式时钟电路

图3.1时钟电路

2.复位及复位电路

(1)复位操作

复位是单片机的初始化操作。

其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。

除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。

除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表一所示。

表一寄存器的复位状态

寄存器

复位状态

寄存器

复位状态

PC

0000H

TCON

00H

ACC

00H

TL0

00H

PSW

00H

TH0

00H

SP

07H

TL1

00H

DPTR

0000H

TH1

00H

P0-P3

FFH

SCON

00H

(2)复位信号及其产生

RST引脚是复位信号的输入端。

复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。

若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。

产生复位信号的电路逻辑如图3.2所示:

图3.2复位信号的电路逻辑图

整个复位电路包括芯片内、外两部分。

外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。

复位操作有上电自动复位相按键手动复位两种方式。

上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图3.4(a)所示。

这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。

按键手动复位有电平方式和脉冲方式两种。

其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图3.4(b)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,

其电路如图3.3(c)所示:

(a)上电复位(b)按键电平复位(c)按键脉冲复位

图3.3复位电路

上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。

本系统的复位电路采用图3.3(c)按键脉冲复位方式。

STC89C52具体介绍如下:

①主电源引脚(2根)

VCC(Pin40):

电源输入,接+5V电源

GND(Pin20):

接地线

②外接晶振引脚(2根)

XTAL1(Pin19):

片内振荡电路的输入端

XTAL2(Pin20):

片内振荡电路的输出端

③控制引脚(4根)

RST/VPP(Pin9):

复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。

ALE/PROG(Pin30):

地址锁存允许信号

PSEN(Pin29):

外部存储器读选通信号

EA/VPP(Pin31):

程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。

④可编程输入/输出引脚(32根)

STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。

P0口(Pin39~Pin32):

8位双向I/O口线,名称为P0.0~P0.7

P1口(Pin1~Pin8):

8位准双向I/O口线,名称为P1.0~P1.7

P2口(Pin21~Pin28):

8位准双向I/O口线,名称为P2.0~P2.7

P3口(Pin10~Pin17):

8位准双向I/O口线,名称为P3.0~P3.7

STC89C52主要功能如表二所示。

表二STC89C52主要功能

主要功能特性

兼容MCS51指令系统

8K可反复擦写FlashROM

32个双向I/O口

256x8bit内部RAM

3个16位可编程定时/计数器中断

时钟频率0-24MHz

2个串行中断

可编程UART串行通道

2个外部中断源

共6个中断源

2个读写中断口线

3级加密位

低功耗空闲和掉电模式

软件设置睡眠和唤醒功能

3.2DS18B20介绍

3.2.1 温度传感器DS18B20

DS18B20是美国DSLLAS半导体公司推出的第一篇支持“一线总线”接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串型数字信号供处理器处理。

1.DS18B20温度传感器特性

1)适应电压范围宽,电压范围在3.0~5.5V,在寄生电源方式下可有数据线供电。

2)独特的单线接口方式,它与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通信。

3)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。

4)在使用中不需要任何外围元件,全部传感器元件及转换电路集成在形如一只三极管的集成电路内。

5)测温范围-55℃~+125℃,在-10℃~+85℃时精度为±0.5℃。

6)可编程分辨率为9~12位,对应的可分辨率温度分别为0.5℃,0.25℃,0.125℃和0.0625℃,可实现高精度测温。

7)在9位分辨率时,最多在93.78ms内把温度转换为数字;12位分辨率时,最多在750ms内把温度转换为数字,显示速度快。

8)测量结果直接输出数字温度信号,以“一线总线”串行送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。

9)负压特性。

电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

2.应用范围

1)冷冻库、粮仓、储罐、电信机房、电力机房、电缆线槽等测温和控制领域。

2)轴瓦、缸体、纺织、空调等狭小空间工业设备测温和控制。

3)汽车空调、冰箱、冷柜以及中低纬度干燥箱等。

4)供热、制冷管道热量计量、中央空调分户热能计量等。

1.引脚介绍

DS18B20实物如图3.5所示。

 

图3.5实物图

DS18B20有两种封装:

三角TO-92直插式(用的最多、最普遍的封装)和八角SOIC贴片式,封装引脚见图3.6。

表3.2.1列出了DS18B20的引脚定义。

(a)DS18B20To-92(b)DS18B20八角SOIC

图3.6DS18B20引脚封装图

引脚

定义

GND

电源负极

DQ

信号输入输出

VDD

电源正极

NC

表3.2.1DS18B20引脚定义

 

2.硬件连接

①DS18B20寄生电源供电方式

如下面图3.7(a)所示,在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:

在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。

独特的寄生电源方式有三个好处:

1)进行远距离测温时,无需本地电源

2)可以在没有常规电源的条件下读取ROM

3)电路更加简洁,仅用一根I/O口实现测温

要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。

因此,该电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。

并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。

②DS18B20寄生电源强上拉供电方式

   改进的寄生电源供电方式如下面图3.7(b)所示,为了使DS18B20在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到E2存储器操作时,用MOSFET把I/O线直接拉到VCC就可提供足够的电流,在发出任何涉及到拷贝到E2存储器或启动温度转换的指令后,必须在最多10μS内把I/O线转换到强上拉状态。

在强上拉方式下可以解决电流供应不足的问题,因此也适合于多点测温应用,缺点就是要多占用一根I/O口线进行强上拉切换。

③DS18B20的外部电源供电方式

   如下面图3.7(c)所示,在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,其VDD端用3~5.5V电源供电,此时I/O线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个DS18B20传感器,组成多点测温系统。

注意:

在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是85℃。

 

(a)外部电源供电方式(c)寄生电源供电方式

(b)寄生电源强上拉供电方式

图3.7

3.工作原理

硬件电路连接好以后,单片机需要怎么样工作才能将DS18B20中的温度数据读取出来呢?

下面将给出详细分析。

首先我们来看控制DS18B20的指令:

1)33H—读ROM。

读DS18B20温度传感器ROM的编码(即64位地址)。

2)55H—匹配ROM。

发出此命令之后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20并使之作出响应,为下一步对该DS18B20的读/写做准备。

3)F0H—搜索ROM。

用于确定挂接在同一总线上DS18B20的个数,识别64位ROM地址,为操作个器件做好准备。

4)CCH—跳过ROM。

忽略64为ROM地址,直接向18B20发温度转换命令,适用于一个从机工作。

5)ECH—告警搜索命令。

执行后只有温度超过设定值上限或下限的芯片才做出响应。

以上这些指令设计的存储器是64位光刻ROM,表3.2.2列出了它的含义。

表3.2.264位光刻ROM各位定义

64位光刻ROM中的序列号是出厂前被光刻好的,它可以看做该DS18B20的地址序列码。

其各位排列顺序是:

开始8位为产品类型标号,接下来48位是该DS18B20自身的序列号,最后8位是前面56位的CRC循环冗余校验码(CR=X8+X5+X4+1)。

光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一条总线上挂接多个DS18B20的目的。

下面介绍以上几条指令的用法。

当主机需要对众多在线DS18B20中的某一个进行操作时,首先应将主机逐个与DS18B20挂接,读出其序列号;然后再将所有的DS18B20挂接到总线上,单片机发出匹配ROM命令(55H),紧接着主机提供的64位序列(包括DS18B20的48位序列号)之后的操作就是针对该DS18B20的。

如果主机只对一个DS18B20进行操作,就不需要读取ROM编码以及匹配ROM编码了,只要用跳过ROM(CCH)命令,就可以进行如下温度转换和读取操作。

1)44H—温度转换。

启动DS18B20进行温度转换,12位转换时最长为750ms(9位为93.75ms)。

结果存入内部9字节的RAM中。

2)BEH—读暂存器。

读内部RAM中9字节的温度数据。

3)4EH—写暂存器。

发出向内部RAM的2、3字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。

4)48H—复制暂存器。

将RAM中第2,3字节的内容复制到E2ROM中。

5)B8H—重调E2ROM中内容回复到RAM中的第3,4字节。

6)B4H—读供电方式。

读DS18B20的供电模式。

寄生供电时,DS18B20发送0;外接电源供电时,DS18B20发送1。

以上这些指令涉及的存储器为高速暂存器RAM和可电擦出E2ROM,见表3.2.3。

表3.2.3高速暂存器RAM

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 哲学历史

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1