0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于DS18B20的智能温度测量装置设计方案

h1654155282.3538 来源:Chip37 作者:Chip37 2021-02-13 17:50 次阅读

温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:①传统的分立式温度传感器,②模拟集成温度传感器,③智能集成温度传感器。目前,国际上新型温度传感器正从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展。因此本文介绍了智能集成温度传感器DS18B20的结构特征及控制方法,并对以此传感器,以89C2051单片机控制器构成的温度测量装置的工作原理及程序设计作了详细的介绍。

1.DS18B20介绍

1.1性能特点

由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。其性能特点如下:

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

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

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

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

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

⑥内含寄生电源

1.2内部结构

DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。DS18B20的管脚排列如图1所示。

o4YBAGAP5fmAIXEiAABHN29xCaM087.png

图1 DS18B20引脚分布图

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

o4YBAGAP5f-AbpZZAAAgxkuGpBY359.png

DS18B20高速暂存器共9个存储单元,如表所示:

o4YBAGAP5gWABCuzAACjqpwGVTI200.png

以12位转化为例说明温度高低字节存放形式及计算:12位转化后得到的12位数据,存储在18B20的两个高低两个8位的RAM中,二进制中的前面5位是符号位。如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。

1.3DS18B20控制方法

硬件上,DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻

DS18B20有六条控制命令,如表所示:

pIYBAGAP5gyANRQ7AADtkaR6MIE683.png

CPU对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。

2.温度测量装置设计

2.1系统组成

由DS18B20构成的智能温度测量装置由三部分组成:DS18B20温度传感器、89C2051、显示模块。产品的主要技术指标:①测量范围:-55℃-+125℃,②测量精度:0.5℃,③反应时间≤500ms。

2.2工作原理

基于DS18B20的温度测量装置电图如图2所示:温度传感器DS18B20将被测环境温度转化成带符号的数字信号(以十六位补码形式,占两个字节),传感器可置于离装置150米以内的任何地方,输出脚I/O直接与单片机的P1.1相连,R1为上拉电阻,传感器采用外部电源供电。89C2051是整个装置的控制核心,89C2051内带1K字节的FlashROM,用户程序存放在这里。显示器模块由四位一体的共阳数码管和4个9012组成。系统程序分传感器控制程序和显示器程序两部分,传感器控制程序是按照DS18B20的通信协议编制。系统的工作是在程序控制下,完成对传感器的读写和对温度的显示。

o4YBAGAP5hWAZFaiAAC2ABTdFQY045.png

图2 基于DS18B20的温度测量装置电路图

2.3程序设计

根据DS18B20的通信协议,按图2的硬件结构。下面是系统的主要程序。

系统主程序********************

ORG 0100H

I/O BIT P3.4

START:LCALL RST18B20 ;调DS18B20初始化子程序

MOV A,#OCCH ;写CCH到DS18B20,以便跳过ROM匹配

LCALL WIDS18B20 ;WIDS18B20是写18B20子程序

JNB F1, START ;若DS18B20不存在则从新开始

MOV A,#44H ;发温度转换命令

LCALL WIDS18B20

LCALL DSPLAY ;调显示子程序

LCALL RST18B20

MOV A,#0BEH ;发读温度命令

LCALL WIDS18B20

LCALL RDDS18B20 ;RDDS18B20是读子程序

LCALL ZWDS18B20 ;ZWDS18B20是温度计算子程序

LCALL DSPLAY

LJMP START

***********部分子程序************

DS18B20初始化子程序***********

RST18B20: SETB I/O

CLR I/O

MOV R0,#0FAH ;延时500微秒

LP1:DJNZ R0,LP1

SETB I/O ;释放总线

MOV R0,#15H ;在63微秒内检测是否出现应答信号

LP2:JNB I/O,LP3

DJNZ R0,LP2

CLR F1 ;清标志位,表示DS1820不存在

LJMP LP5

LP3:SETB F1 ;标专置1,表示DS18B20存在

MOV R0,#0FAH ;延时500微秒

LP4:DJNZ R0,LP4

LP5:SETB I/O

RET

18B20读子程序**********

RDDS18B20:MOV R2,#8

LOOP:CLR C

SETB I/Q

NOP

CLR I/Q

NOP

SETB I/Q

MOV R3,#7

DJNZ R3,$

MOV C,I/Q

MOV R3,#23

DJNZ R3,$

RRC A

DJNZ R2,LOOP

RET

18B20写子程序************

WIDS18B20: MOV R2,#8

CLR C

WI:CLR DQ

MOV R3,#6

DJNZ R3,$

RRC A

MOV DQ,C

MOV R3,#23

DJNZ R3,$

SETB DQ

NOP

DJNZ R2,WR1

SETB DQ

RET

18B20显示子程序************

DSPLAY:----------

18B20温度计算子程序************

ZWDS18B20:----------

END

结束语

并且该单路温度测量装置已研制成产品,产品经测试在-10℃-70℃间测得误差为0.25℃,80℃≤T≤105℃时误差为0.5℃;当T》105℃误差为增大到1℃左右。用单总线温度传感器和单片机构成的测温装置适用于人民的日常生活和工、农业生产用于温度测量,具有推广价值。
责任编辑人:CC

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 温度测量
    +关注

    关注

    0

    文章

    193

    浏览量

    28041
  • DS18B20
    +关注

    关注

    10

    文章

    765

    浏览量

    80063
收藏 人收藏

    评论

    相关推荐

    Proteus教程第四讲:DS18B20温度测量

    Proteus教程第四讲:DS18B20温度测量
    的头像 发表于 06-14 11:19 1085次阅读
    Proteus教程第四讲:<b class='flag-5'>DS18B20</b><b class='flag-5'>温度</b><b class='flag-5'>测量</b>

    基于单总线器件DS18B20温度测量

    采用Dallas公司生产的一种新型温度传感器DS18B20,它集温度测量、A/D转换于一体,其测量范围宽(-55℃~+125℃),精度高(0
    发表于 09-24 16:28

    DS18B20的使用

    本帖最后由 eehome 于 2013-1-5 10:09 编辑 正在做一个温控风扇的设计,基于89C51的,用DS18B20测量温度温度高于设定值时风扇开启,我们的数码管是两
    发表于 05-17 01:05

    基于DS18B20温度测量和仿真

    本帖最后由 eehome 于 2013-1-5 09:52 编辑 基于DS18B20温度测量和仿真
    发表于 06-24 11:55

    DS18B20数字温度

    ,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。 因此,在温度测量系统中,采用抗干扰能力强的新型数字
    发表于 07-26 15:39

    智能温度传感器DS18B20的原理与应用

    智能温度传感器DS18B20的原理与应用更多传感器知识请访问E说E话,专家帮你答疑,还有精彩技术沙龙与您分享,亲临现场与嘉宾互动哦!
    发表于 08-14 13:00

    DS18B20温度检测系统中的应用

      摘要:该论文结合实际使用经验,完成了DS18B20数字温度传感器在基于单片机的温度检测系统中的应用。本设计有效的提高了控制系统的实时性改善了温度
    发表于 11-06 15:09

    基于单总线数字温度传感器DS18B20的测温系统方案

    广泛应用。传统的温度检测方式一般采用热电偶或热敏电阻,输出模拟信号,经A/D转换后才能送入单片机处理器,检测电路复杂。  因此,本文采用单总线智能型数字温度传感器DS18B20,以AT
    发表于 11-06 15:18

    基于DS18B20数字温度传感器的设计方案

    数字温度传感器的软件设计采用C51编写程序,主要完成DS18B20测量温度值计算及温度值的显示功能。其采用模块化设计,程序设计包括系统初始
    发表于 11-12 16:30

    DS18B20温度传感器是什么

    传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20DS1822 “一线总线”数字化温度传感器 同
    发表于 04-27 08:14

    DS18B20的基本概述

    DS18B20的读时序(低位先读)8、DS18B20温度转换与读取流程9、DS18B20温度采集完整代码1、main.c2、temp.c
    发表于 12-02 06:30

    利用数字温度传感器DS18B20测量温度信号

    DS18B20一、实验目的二、实验内容三、实验步骤四、C代码如下五、实验结果六、实验体会一、实验目的本次的设计主要是利用了数字温度传感器DS18B20测量
    发表于 12-13 07:37

    DS18B20温度传感器简介

    文章目录DS18B20 简介硬件设计软件设计下载验证DS18B20 简介DS18B20 是由 DALLAS 半导体公司推出的一种的“一线总线”接口的温度传感器。与传统的热敏电阻等测温元
    发表于 12-17 07:47

    DS18B20的特点是什么

    一、芯片介绍1、DS18B20特点(1)采用单总线的接口方式 与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。(2)测量温度范围宽,
    发表于 01-10 06:25

    温度模块DS18B20的相关资料推荐

    的接口方式 与微处理器连接时 仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。 单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络
    发表于 01-10 07:09