1温度传感器DS18B20介绍
DALLAS公司单线数字温度传感器DS18B20是一种新的“一线器件”,它具有体积小、适用电压宽等特点。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20支持“一线总线”接口,测量温度范围为-55℃~+125℃,在-10℃~+85℃范围内,精度为±0.5℃;通过编程可实现9~12位的数字值读数方式;可以分别在93.75ms和750ms内将温度值转化为9位和12位的数字量。每个DS18B20具有唯一的64位长序列号,存放于DS18B20内部ROM只读存储器中。
DS18B20温度传感器的内部存储器包括1个高速暂存RAM和1个非易失性的电可擦除E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。暂存存储器包含了8个连续字节,前2字节为测得的温度信息,第1个字节为温度的低8位,第2个字节为温度的高8位。高8位中,前4位表示温度的正(全“0”)与负(全“1”);第3个字节和第4个字节为TH、TL的易失性拷贝;第5个字节是结构寄存器的易失性拷贝,此三个字节内容在每次上电复位时被刷新;第6、7、8个字节用于内部计算;第9个字节为冗余检验字节。所以,读取温度信息字节中的内容,可以相应地转化为对应的温度值。表1列出了温度与温度字节间的对应关系。
系统分为现场温度数据采集和上位监控PC两部分。图1为系统的结构图。需要指出的是,下位机可以脱离上位PC机而独立工作。增加上位机的目的在于能够更方便地远离现场实现监控、管理。现场温度采集部分采用8051单片机作为中央处理器,在P1.0口挂接10个DS18B20传感器,对10个点的温度进行检测。非易失性RAM用作系统温度采集及运行参数等的缓冲区。上位PC机通过RS485通信接口与现场单片微处理器通信,对系统进行全面的管理和控制,可完成数据记录,打印报表等工作。
2.1DS18B20与单片机的接口电路
DS18B20与8051单片机连接非常简单,只需将DS18B20信号线与单片机一位I/O线相连,且一位I/O线可连接多个DS18B20,以实现单点或多点温度测量。DS18B20可以通过2种方式供电:外加电源方式和寄生电源方式。前者需要外加电源,电源的正负极分别与DS18B20的VDD和GND相连接。后者采用寄生电源,将DS18B20的VDD与GND接在一起,当总线上出现高电平时,上拉电阻提供电源;当总线低电平时,内部电容供电。由于采用外加电源方式更能增强DS18B20的抗干扰性,故本设计采用这种方式。在实际应用中,传感器与单片机的距离往往在几十米到几百米,传输线的寄生电容对DS18B20的操作也有一定的影响,所以往往在接口的地方稍加改动,以增加芯片的驱动能力和减少传输线电容效应带来的影响,达到远距离传输的目的。
2.2键盘及显示
键盘通过编程设置可完成以下功能:对温度值进行标定,定时显示各路的温度值,单独显示某路的温度值,给每一路设定上下限报警值等。LED则可为用户提供直观的视觉信息。在工作现场,用户可通过6位LED的显示数据来确定系统的当前工作状态以及采样的温度值信息等。
2.3报警电路
当被测温度值超过预先设定的上下限时,报警电路作出响应,蜂鸣器发出响声,告知用户温度的异常。具体哪一个传感器温度值超限,可由软件查询各DS18B20内部告警标志而确定,继而调整该现场温度,以达到对温度波动的控制。
3.1下位机软件
系统下位测温部分软件采用MCS51汇编语言编写,主要完成对DS18B20的读写操作,实现实时数据的采集,并获取最终温度值送至单片机内存。但需要注意的是,由于DS18B20的单总线方式,数据的读写都占用同一根线,所以每一种操作都必须严格按照时序进行。图2为测温子系统流程图。单片机首先发送复位脉冲,该脉冲使信号线上所有的DS18B20芯片都被复位,接着发送ROM操作命令,使得序列号编码匹配的DS18B20被激活。被激活后的DS18B20进入接收内存访问命令状态,内存访问命令完成温度转换、读取等工作(单总线在ROM命令发送之前存储命令和控制命令不起作用)。
3.2上位机软件
系统上位机的软件采用VC++6.0编写。主要完成的功能包括:与下位单片微机的实时通信;模拟显示各采集点温度曲线;保存各测温点温度数据;统计各采集点平均温度值;打印各点温度统计报表等。
本系统具有如下特点:
a.结构简单,成本低廉,维护方便。
b.直接将温度数据进行编码,可以只使用单根电缆传输温度数据,通信方便,传输距离远且抗干扰性强。
c.配置灵活、方便、易于扩展。可扩展多路下位温度采集子系统,将它们通过RS485与上位PC机组网,形成多点温度采集网络。也可在各子系统中有选择性地增减温度传感器。
d.工作稳定,测温精度高。实验表明,在长达200m的一位总线上挂接24个DS18B20温度传感器,系统可正确地进行温度采集,分辨率为0.5℃。
e.适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。在大范围温度多点监控系统中具有十分诱人的应用前景。
关键字:DS18B20 多点测温系统
引用地址:
基于DS18B20设计的多点测温系统
推荐阅读最新更新时间:2024-03-16 15:18
ds18b20 温度模块串口显示简单代码
今天晚上没事干编了一个极简的一个小程序,虽然简单但是还是很稳定的,连接也很简单,用最小系统板p0.0口接上ds18b20模块就可以了 #include reg51.h #include intrins.h #include stdio.h #include DS18B20.h #define OSC 11059200 //晶振频率 #define BAUDRATE 9600 //波特率 void main(void) { unsigned int i; unsigned char tmph,tmpl; Temp t; unsigned char strTemp ; //显示到屏幕的温度数据
[单片机]
PIC16F877A例程---DS18B20
#include pic.h #include pic1687x.h __CONFIG(0x3F32); //芯片配置字 #define LCDRS RB2 #define LCDRW RB1 #define LCDE RB0 #define LCDDATA PORTD #define DS18B20 RE0 #define TRIS_B20 TRISE0 void LCD1602_INIT(void); void WRITE_LCD_CMD (char cmd); void WRITE_LCD_DATA (char data);
[单片机]
#51单片机#DS18B20硬件原理以及通信的工作时序
DS18B20的硬件原理——温度存储器 DS18B20的温度测量范围:-55~+125°C。 如上图所示,DS18B20温度存储器一共有两个字节。LSB低字节,MSB高字节。Msb字节高位,Lsb字节低位。图中的S表示的是符号位。 通过编程,DS18B20可实现最高12位的温度存储器。以补码的格式存储在寄存器中。 结合下面寄存器温度对应存储数值的表格,理解DS18B20温度存储器。 ps:二进制数最低位变化1,代表温度变化0.0625°C。 DS18B20与单片机通信 单片机可通过1-Wire协议与DS18B20通信,读取温度 1-Wire总线的硬件接口简单,时序复杂。 下面可根据DS18B20工作协议过程,了解其
[单片机]
STC89C52+LCD12864+DS1302+DS18B20时钟原理图+源程序
STC89C52+LCD12864+DS1302 +DS18B20+PCB 时钟供大家学习。 电子智能时钟程序 单 片 机:STC89C52 晶 振:12MHz 时钟芯片:DS1302 液 晶 屏:LCD12864 时 间:2020年1月1日 LCD12864使用并口连接方式,PSB、RST接高电平 /*-------------------------------头文件---------------------------------------*/ #include reg52.h #include intrins.h
[单片机]
DS18B20的驱动程序
/******************************************************************** 程序名称:DS18B20演示实验 时钟频率:内部RC 8M 芯片 :DS18B20 引脚 :**PA0 DATA** **PD0--PD7接数码管扫描端1--8** **PC0--PC7接数码管扫描端。.A--G** ********************************************************************/ #include iom16v.h #include macros.h #define DQ_H PORTA|=BIT
[单片机]
基于DS18B20的MOA温度远程监控系统设计
金属氧化物避雷器(MOA)是防止供电系统和用电设备免受雷电危害的主要设施,一旦出现故障,不但失去应有的防雷作用,且可能带来供电事故。因而为确保MOA正常发挥作用,需要在线监测MOA的运行状态。以MOA阀片温度作为故障特征量,设计了基于DS18B20和AT89S52单片机的实时温度监测系统。研究表明,该系统结构合理,方法正确, 可满足应用需求,大幅度减少了MOA维护成本。 避雷器监测中,几乎所有需要测量的变量,包括在正常电压及过电压下的能量吸收,及由于老化和受潮产生的功耗,都会影响MOA阀片的温度。温度不仅是其实际工作状况的间接检测,而且是避雷器本身的精确运行参数。MOA的温度是各种影响参数共同作用的结果,避雷器的能量吸收能力是由温
[单片机]
AVR温度计DS18B20
#include mega48.h #include delay.h #include nokia3310.h #include monobus.h unsigned char data_H, data_L,wendu; unsigned int data_T; void main(void) { LCD_init(); //lcd初始化 lcd_cls(); //清屏,光标回位 while(1) { monobus_init(); //单总线复位 write_monobus(0xCC); //跳过ID码
[单片机]
基于DS18B20与TMS320LF2407A的测温系统
前 言 DS18B2普遍都是和单片机配合使用,很少有关于DSP与DS18B20的连接的接口报道,所以此文详细介绍了TMS320LF2407与 DS18B20的连接方法,并且很详细的介绍了如何用C语言完成精确的软件延时,从而完成DS18B20与TMS320LF2407之间的基于单线总线协议的数据通讯。 1 DS18B20的时序 1. 1 复位时序 复位使用DS18B20时,首先需将其复位,然后才能执行其它命令。复位时,主机将数据线拉为低电平并保持480us~960us,然后释放数据线,再由上拉电阻将数据线拉高15~60us,等待DS18B20发出存在脉冲,存在脉冲有效时间为60~240us,这样,就完成了
[测试测量]