基于DS18B20的智能温度检测系统 精品.docx

上传人:b****3 文档编号:3944708 上传时间:2023-05-06 格式:DOCX 页数:31 大小:254.57KB
下载 相关 举报
基于DS18B20的智能温度检测系统 精品.docx_第1页
第1页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第2页
第2页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第3页
第3页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第4页
第4页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第5页
第5页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第6页
第6页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第7页
第7页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第8页
第8页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第9页
第9页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第10页
第10页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第11页
第11页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第12页
第12页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第13页
第13页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第14页
第14页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第15页
第15页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第16页
第16页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第17页
第17页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第18页
第18页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第19页
第19页 / 共31页
基于DS18B20的智能温度检测系统 精品.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于DS18B20的智能温度检测系统 精品.docx

《基于DS18B20的智能温度检测系统 精品.docx》由会员分享,可在线阅读,更多相关《基于DS18B20的智能温度检测系统 精品.docx(31页珍藏版)》请在冰点文库上搜索。

基于DS18B20的智能温度检测系统 精品.docx

基于DS18B20的智能温度检测系统精品

 

电子系统综合设计

 

题目基于DS18B20的智能温度检测系统

学号

姓名

所属系机械工程学院

专业电子信息工程

班级10级电信本一班

指导教师

摘要

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

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

在此次设计中,我们采用LED显示温度,实现并焊接制作一个具有多种I/O接口的综合性功能电路,温度的测量值要精确到小数点的后1位,并采用单片机编程的方式使其使用方便、精度高。

另外还通过protues软件对设计的数字钟进行了有效的仿真,使得设计的电子产品更具有实用性,该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域。

关键字:

温度测量;LED;数字温度传感器;单片机

Abstract

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

Thesystemisconstitutedbytwopartsthetemperaturemeasuredpartanddisplayedpart.ThetemperaturemeasuredparthasaRS232interface.ItusedAT89C51ofATMELcompanyandDS18B20ofDALLAScompany.ThedisplayedpartusesPC.Thissystemisappliedinsuchdomainsaswarehousedetectingtemperature;air-conditionercontrollingsysteminbuildingandsupervisoryproductiveprocessetc.

Keywords:

temperaturemeasure;LED;digitalthermometer;singlechipprocessor

 

目录

摘要·········································································2

Abstract····································································3

1绪论·······································································5

2整体方案设计···························································5

2.1STC89C51单片机基础·········································5

2.2DS18B20的基本性质··········································6

3智能温度检测系统的硬件设计·········································8

3.1LED电路·····························································8

3.2STC89C51单片机电路···············································9

3.3DS18B20电路·······················································12

4智能温度检测系统的软件设计·········································15

4.1系统软件设计流程图··················································15

4.2智能温度检测系统的源程序代码·····································17

4.3只能温度检测系统的原理图··········································24

5系统硬件仿真································································24

5.1硬件仿真的介绍······················································24

5.2仿真结果现象描述····················································25

6总结············································································26

参考文献·········································································27

 

1绪论

在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要地位。

消防电气的非破坏性温度检测,电力电讯设备之过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械…等设备温度过热检测。

温度检测系统应用十分广阔。

  温度检测系统有则共同的特点:

测量点多、环境复杂、布线分散、现场离监控室远等。

若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。

这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降。

所以多点温度检测系统的设计的关键在于两部分:

温度传感器的选择和主控单元的设计。

温度传感器应用范围广泛、使用数量少,方便测量。

DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。

主要根据应用场合的不同而改变其外观。

封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。

耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。

2整体方案设计

2.1STC89C51单片机基础

(1)增强型1T流水线/精简指令集结构8051CPU

(2)工作电压:

3.4V-5.5V(5V单片机)/2.0V-3.8V(3V单片机

(3)工作频率范围:

0-35MHz,相当于普通8051的0~420MHz.实际工作频率可达48MHz.

(4)用户应用程序空间12K/10K/8K/6K/4K/2K字节

(5)片上集成512字节RAM

(6)通用I/O口(27/23个),复位后为:

准双向口/弱上拉(普通8051传统I/O口)

可设置成四种模式:

准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏

每个I/O口驱动能力均可达到20mA,但整个芯片最大不得超过55mA

(7)ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器

可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片

(8)EEPROM功能

(9)看门狗

(10)内部集成MAX810专用复位电路(外部晶体20M以下时,可省外部复位电路)

(11)时钟源:

外部高精度晶体/时钟,内部R/C振荡器。

用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟。

常温下内部R/C振荡器频率为:

5.2MHz~6.8MHz。

精度要求不高时,可选择使用内部时钟,因为有温漂,请选4MHz~8MHz

(12)有2个16位定时器/计数器

(13)外部中断2路,下降沿中断或低电平触发中断,PowerDown模式可由外部中断低电平触发中断方式唤醒

(14)PWM(4路)/PCA(可编程计数器阵列),也可用来再实现4个定时器或4个外部中断(上升沿中断/下降沿中断均可支持)

(15)STC89Cc516AD具有ADC功能。

10位精度ADC,共8路

(16)通用异步串行口(UART)

(17)SPI同步通信口,主模式/从模式

(18)工作温度范围:

0-75℃/-40-+85℃

(19)封装:

PDIP-28,SOP-28,PDIP-20,SOP-20,PLCC-32,TSSOP-20(超小封状,定货)

2.2DS18B20的基本性质

1、DS18B20性能特点

①采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位)

②测温范围为-55℃-+125℃,测量分辨率为0.0625℃

③内含64位经过激光修正的只读存储器ROM,

④适配各种单片机或系统机,

⑤用户可分别设定各路温度的上、下限,

⑥内含寄生电源。

2、DS18B20内部结构

DS18B20内部结构主要由四部分组成:

64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。

DS18B20的管脚排列如图1所示。

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

不同的器件地址序列号不同。

图1DS18B20引脚分布图8位产品系列号48位产品序号8位CRC编码DS18B20高速暂存器共9个存存单元0温度低字节以16位补码形式存放4、5保留字节1、21温度高字节6计数器余值2TH/用户字节1存放温度上限7计数器/℃3HL/用户字节2存放温度下限8CRC

以12位转化为例说明温度高低字节存放形式及计算:

12位转化后得到的12位数据,存储在18B20的两个高低两个8位的RAM中,二进制中的前面5位是符号位。

如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。

高8位SSSSS262524低8位232221202-12-22-32-4

3、DS18B20控制方法

在硬件上,DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。

无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。

DS18B20有六条控制命令,

44H启动DS18B20进行温度转换

读暂存器BEH读暂存器9个字节内容

写暂存器4EH将数据写入暂存器的TH、TL字节

复制暂存器48H把暂存器的TH、TL字节写到E2RAM中

重新调E2RAMB8H把E2RAM中的TH、TL字节写到暂存器

读电源供电方式B4H启动DS18B20发送电源供电方式的信号CPU

5、CPU对DS18B20的访问流程

先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。

DS18B20每一步操作都要遵循严格的工作时序和通信协议。

如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:

每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。

6、系统组成

由DS18B20构成的智能温度测量装置由三部分组成:

DS18B20温度传感器、89C2051、显示模块。

产品的主要技术指标:

①测量范围:

-55℃-+125℃,②测量精度:

0.5℃,③反应时间≤500ms。

3智能温度检测系统的硬件设计

3.1LED电路

在电子技术中,由LED数码管显示0~9的数是常用的显示技术。

数码管显示时,可用LCD(液晶),也可用LED数码管显示0~9的数。

这里利用PIC16F84A单片机控制的数码管LED显示电路,如下图所示。

下图是4位LED数码管显示电路,也可以扩展成更多的位或减少到一位数的显示。

数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。

①静态显示驱动:

静态驱动也称直流驱动。

静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。

静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:

),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。

②动态显示驱动:

数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。

通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

3.2STC89C51单片机电路

    一、ISP与IAP编程方式

    STC89C系列单片机芯片内置了ISP(在系统可编程)/IAP(在应用可编程)功能,无需专用编程器即可通过串口(P3.0/P3.1)用STC提供的STC-ISP.exe软件进行烧录。

  新出厂的STC89C51系列单片机芯片,已经设置为单片机彻底放电后再复位,即会先进行ISP监控。

当单片机检测到P3.0/RxD引脚有合法的下载命令流时,就会先将用户程序下载并烧录到用户程序区,再运行用户程序,否则软复位到用户程序区,运行用户程序。

在进行ISP烧录时,可以选择下次冷启动时是依旧先进行ISP监控,还是需要P1.0和P1.1引脚同时为0才进行ISP监控,否则跳过ISP监控直接运行用户程序(见图)。

   二.6时钟,机器周期模式

    标准的8051每个机器周期为12时钟。

增强型的STC89C系列单片机在进行ISP烧录程序时,可以设置为6时钟/机器周期(双倍速)或12时钟/机器周期工作模式.

  6时钟/机器周期(双倍速)工作模式下,定时器的计数速度会加倍,相应的12时钟/机器周期模式下的串口波特率也会加倍,因此单片机使用的最高的波特率可以提高一倍。

  三.降低簟片机对外部电磁辐射

    通过设置6时钟/机器周期.(双倍速),可以将外接晶振频率降低一半,能有效降低对外部电磁辐射(EMI)。

  更重要的是,STC89C系列单片机可以关闭ALE输出,最有效地降低EMI。

  通过将ALEoff位(AUXR.0)置1,可以使ALE引脚仅在读取外接存储器时才有变化电平输出,从而降低对外部电磁辐射。

               

 四、内部扩展RAM

  STC89C系列单片机中的51/52/53(RC系列)在原有8052共256字节RAM的基础上,又扩展了256字节RAM,共有512字节RAM(000H~1FFH)。

54/58/516(RD+系列)则扩展了1024字节RAM,共有1280字节RAM(000H~3FFH)。

  通过设置EXTRAM位(见表1),在使用MOVX@DPTR,A/MOVXA,@DPTR指令时,如访问在内部RAM范围内将会访问到内部RAM,超出此范围才会访问外部RAM。

访问内部RAM时,不影响P0口/P2口/P3.6/P3.

 五.双DPTR数据指针

    标准的8051只有一个16位的DPTR数据指针,这样在进行数据块复制等动作时,必须对源地址指针和目标地址指针进行暂存,编程会非常麻烦。

STC89C系列单片机内有两个DPTR数据指针DPTR0/DPTR1,可以通过设置DPS位(AUXR1.0)方便地选择,DPS置0则选中DPTRO,置1则选中DPTR1。

通过执行INCAUXR1指令,能对DPS快速切换,并不影响AUXR1的高位。

此用法与PHILIPS单片机完全一致。

  六.扩晨P4口

    从引脚图上可以看出,PLCC-44、PQFP-44两种封装方式比PDIP-40多出的4个引脚在STC89C51RC/RD+系列单片机上被做成了P4口(SFR地址为0E8H),由P4.0~P4.3四条口线组成,使用方式上与原有I/0完全一致,可以位操作。

  七、内置看门狗电路

      RC/RD+型号的STC89C系列单片机均内置了看门狗电路。

内置看门狗由看门狗定时器控制寄存器WDT_CONTR(见表2)控制。

  EN_WDT位(WDT_CONTR.5)为看门狗允许位,置1时即启动看门狗。

CLR_WDT位(WDT_CONTR.4)为看门狗清零位,置1则看门狗将重新计数,此位由硬件自动清零。

IDLE_WDT位(WDTl_CONTR.3)为看门狗空闲模式位,当置为1时,看门狗在“空闲模式”时继续计数,当清零时,看门狗在“空闲模式”时不计数。

PS2~PS0位(WDT_CONTR.2~0)用于设定看门狗溢出时间,看门狗溢出时间=(N×Pre-scale×32768)/晶振频率。

其中N为每个机器周期的时钟数,标准模式为12,双倍速时为6。

Pre-scale为PS2~PS0位所设定的预分频值。

  八.软复位功能

    STC89C系列单片机新增加的ISP_CONTR特殊功能寄存器(SFR地址为0E7H),实现了单片机系统软复位(热启动之一)功能。

用户只需简单地控制ISP_CONTR特殊功能寄存器的其中商位SWBS/SWRST就可以系统复位了。

SWBS位(ISP_CONTR.6)选择从用户应用程序区启动(0),还是从ISP程序区启动

(1)。

要与SWRST位配合才可以实现,SWRST位(ISP_CONTR.5)置0则无操作,置1则实现系统复位,硬件自动清零。

软复位与硬件复位一样,所有的特殊功能寄存器都会复位到初始值,I/O口也会初始化。

  九.带A/D功能的89LE系列

    STC89LE51/52/54/58/516AD型号均内带一个8位精度的高速A/D转换器,扩展RAM均为256字节(共512字节,仅能用MOVXA,@Ri/MOVXA,@Ri指令访问),不能设置6时钟/机器周期(双倍速)模式,其余均与前几部分相同。

另有一款STC89LE516X2,比STC89LE516AD增加6时钟/机器周期(双倍速)模式。

A/D转换器为电压输入型,可做按键扫描、电池电压检测、频谱检测等。

  STC89LE516AD/X2系列允许将P1.0~P1.7作为A/D口使用,P1_ADC_EN特殊功能寄存器(SFR地址为097H)作为A/D转换输入通道允许控制,相应位为“1”时,对应的P1.x口被允许作为A/D转换使用,内部上拉电阻自动断开。

3.3DS18B20电路

    DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。

DS18B20测温原理如图3所示。

图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。

高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。

计数器1和温度寄存器被预置在-55℃所对应的一个基数值。

计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。

图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。

图3:

DS18B20测温原理框图

DS18B20有4个主要的数据部件:

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

64位光刻ROM的排列是:

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

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

(2) 

(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:

用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。

这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。

 (3)DS18B20温度传感器的存储器

 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。

    (4)配置寄存器

    低五位一直都是"1",TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。

在DS18B20出厂时该位被设置为0,用户不要去改动。

R1和R0用来设置分辨率,如下表所示:

(DS18B20出厂时被设置为12位)

四、高速暂存存储器

    高速暂存存储器由9个字节组成,其分配如表5所示。

当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。

单片机可通过单线接口读到该数据,读取时低位在前,高位在后

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2