18B20

合集下载

单总线测温芯片QT18B20

单总线测温芯片QT18B20

单总线测温芯片QT18B20单总线是美国DALLAS公司推出的外围串行扩展总线技术。

与SPI、I²C串行数据通信方式不同,它采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的,具有节省I/O口线、资源结构简单、成本低廉、便于总线扩展和维护等诸多优点。

单总线的数据传输速率一般为16.3Kbit/s,最大可达142 Kbit/s,通常情况下采用100Kbit/s以下的速率传输数据。

主设备I/O口可直接驱动200m范围内的从设备,经过扩展后可达1km范围。

典型的单总线应用场景为分布式测量,适用于楼宇、仓库和车间的温度检测。

支持单总线的温度传感器鼻祖为maxim公司的DS18B20,近年国产芯片也推出多款单总线传感器,代表作有七芯公司的QT18B20。

以QT18B20为例,典型的单总线网络结构如下:单总线通讯通过一根控制信号线实现,控制线外接一个5K左右的上拉电阻以保证总线的空闲状态为高,所有的QT18B20都通过开漏极端口(通信引脚DQ)连接到总线上。

在这个总线系统中,单片机通过每个器件的唯一64 位编码识别并寻址总线上的器件。

由于器件的ID是唯一的,只要主机(微处理器)有空闲的IO口,电路的抗干扰设计足够优良,一颗最普通的单片机加上若干测温芯片即可完成一个测温单元(一个粮仓、一个酒窖、一个生产车间)的温度测量,无需数模转换芯片,无需数字通信接口,成本可以做到无限低!在[1]中,250m的范围可以挂接62个DS18B20测温芯片,而随着技术进步以及电路设计能力的提升,采用QT18B20,如今客户可以做到一个测试板负载六百个以上测温点。

下图为采用QT18B20生产的实际测温电缆,以及高精度测温探头:芯片与国外同类芯片实测数据对比如下:工作电压 2.7V~5.5V 2.8V~5.5V测温范围 -55℃~+125℃ -55℃~+125℃ 静态功耗(5.5v) 3uA 5uA动态功耗 0.59mA 0.62mA可选分辨率 9~12位 9~12位转换时间(12bit) 500ms 750ms用户通用软件校准温度 可多次校正,多次读写 不可以接囗方式 1-wire 1-wire二线制工作方式(“寄生供支持,无需外部元件 支持,无需外部元件 电方式“)温度报警搜索功能(TH、TL有 有分别设置温度上、下报警值)额外存储器 有 无传感器身份识别 有 有ESD静电保护能力 >±8KV ±2KV封装模式 To-92、MsP8 To-92、MsP8不难看出,同样的封装、引脚和通信方式,国产测温芯片性能完胜国外芯片,具备了全面压倒的优势,可完全取代进口芯片进行应用。

18b20详细中文资料及C语言程序

18b20详细中文资料及C语言程序

//此值被写入 TL
DS18B20_writebyte(0x1f|(res<<5)); //设置精度 0 res[1-0] 11111
}
/*****************************
DS18B20 温度读取函数
*****************************/
long DS18B20_GetTemperature()
************************************/
uchar DS18B20_readbyte()
{
uchar i,j,dat;
dat=0;
j=1;
for(i=0;i<8;i++)
{
if(DS18B20_readbit())
{
dat=dat+(j<<i);
}
}
return (dat);
DQ=1;
//数据线拉高
i++;i++; //延时 4 微秒
x=DQ;
//读数据线状态
Delay_50us();//延时 50 微秒
return (x); //返回数值
}
/***********************************
DS18B20 写一位函数
1、将数据线拉高
2、延时大于 1 微秒(两次写片段的间隙)
内部 RAM 中 9 字节的内容
写暂存 器
发出向内部 RAM 的 3、4 字节写上、下 4EH 限温度数据命令,紧跟该命令之后,是传送
两字节的数据。
复制暂 存器
将 RAM 中第 3、4 字节的内容复制到 48H EEPROM 中。

18b20的工作原理

18b20的工作原理

18b20的工作原理18B20是一种数字温度传感器,广泛应用于各种计算机系统、工业自动化设备和家用电器等领域。

它的工作原理主要基于热电效应和半导体物理特性。

下面将详细介绍18B20的工作原理。

18B20数字温度传感器的核心部分是一个特殊的半导体芯片,该芯片内部包含了温度测量电路、模数转换器和数据总线接口等功能模块。

当18B20与待测温度物体接触时,通过热导路径来感知温度变化。

这里涉及到热电效应,即温度差会在两个不同材料之间引发电压差。

18B20采用了热敏电阻的工作原理,通过热敏电阻在不同温度下的电阻值变化来间接测量温度。

具体来说,18B20中的热敏电阻是一种特殊的半导体材料,对温度非常敏感。

当温度升高时,半导体材料内的电子活动增加,导致电阻值下降;而当温度降低时,电子活动减少,电阻值增加。

通过测量热敏电阻的电阻值变化,就可以推算出温度的变化。

为了测量热敏电阻的电阻值,18B20内部自带了一个模数转换器。

模数转换器采样热敏电阻的电压,并将其转换为数字信号。

通过这个数字信号,就可以得到18B20所处的温度状态。

在实际应用中,18B20通过数据总线接口将温度数据传递给控制系统,以供后续处理。

数据总线接口采用了一种称为一线式总线(One Wire)的通信协议。

这种通信协议能够通过单根信号线同时实现数据传输和供电功能,从而简化了电路设计。

总的来说,18B20的工作原理可以总结为以下几个步骤:1. 当18B20与待测物体接触时,热敏电阻感知到温度变化,电阻值发生相应变化。

2. 18B20内部的模数转换器对热敏电阻的电压进行采样,并将其转换为数字信号。

3. 数字信号经过数据总线接口传输给控制系统,用于后续的温度处理和监控。

18B20作为一种数字温度传感器,具有体积小、精度高、响应迅速、抗干扰能力强等优点。

它的工作原理基于热电效应和半导体物理特性,通过测量热敏电阻的电阻值变化,以间接实现对温度的测量和监控。

这种工作原理使得18B20在各种温度测量场景下得到了广泛应用。

18B20最全面的资料

18B20最全面的资料

2.2 器件选择2.2.1 温度传感器在现代检测技术中,传感器占据着不可动摇的重要位置。

主机对数据的处理能力已经相当的强,但是对现实世界中的模拟量却无能为力。

如果没有各种精确可靠的传感器对非电量和模拟信号进行检测并提供可靠的数据,那计算机也无法发挥他应有的作用。

传感器把非电量转换为电量,经过放大处理后,转换为数字量输入计算机,由计算机对信号进行分析处理。

从而传感器技术与计算机技术结合起来,对自动化和信息化起重要作用。

采用各种传感器和微处理技术可以对各种工业参数及工业产品进行测控及检验,准确测量产品性能,及时发现隐患。

为提高产品质量、改进产品性能,防止事故发生提供必要的信息和更可靠的数据。

由于系统的工作环境比较恶劣,且对测量要求比较高,所以选择合适的传感器很重要。

目前,国际上新型温度传感器正从模拟式向数字式、从集成化向智能化和网络化的方向飞速发展。

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

因此,智能温度传感器DS18B20作为温度测量装置已广泛应用于人民的日常生活和工农业生产中[5]。

2.2.1.1 DS18B20简介DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种数字化单总线器件。

属于新一代适配微处理器的改进型智能温度传感器。

与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

可以分别在93.75ms和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。

因而使用DS18B20可使系统结构更趋简单,可靠性更高。

同时其“一线总线”独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入了全新的概念。

18b20测温原理(一)

18b20测温原理(一)

18b20测温原理(一)18b20测温什么是18b2018b20是一种数字温度传感器,采用DS18B20芯片制造,具有精度高、体积小、响应快等特点。

18b20是一种数字传感器,可以通过数字接口与处理器(如单片机)进行通信。

原理18b20传感器利用热电效应来测量温度。

热电效应是指在两个不同导电材料之间,当被测温度不同时,两种导电材料之间会产生电动势,这种电动势与温度的差值成正比。

18b20中的温度感测单元是由一段铜线和一个特殊合金的铜接头组成的热电偶。

接线与通信18b20有三个引脚:VCC、GND和DATA。

其中VCC和GND为供电引脚,DATA为数据引脚。

18b20可以使用单总线接口与微控制器通信,使用单总线接口时,只需要将多个传感器串联起来,共用一个引脚即可。

18b20通过一组协议与处理器通信,协议的特点是具有时分复用的能力,在同一数据线上传输时不同的时间代表不同的含义。

数据读取及处理18b20的数据读取及处理需要编写相应的程序。

首先,需要向18b20发送配置命令,使其开始测量温度,随后读取18b20返回的数据,将数据转换为实际温度值,并进行相应的处理。

应用领域由于18b20具有体积小、精度高、响应快等特点,因此被广泛应用于各种温度测量场合,例如温室自动控制、气象站温度记录等。

总结18b20是一种数字温度传感器,具有精度高、体积小、响应快等特点,采用热电效应来测量温度。

18b20可以使用单总线接口与微控制器通信,在数据读取及处理时需要编写相应的程序。

18b20被广泛应用于各种温度测量场合。

18b20温度测量的优势由于18b20具有数字化和集成化的特点,其与温度的关系一定,通过读取18b20输出的二进制数,使用简单的算法即可转换为温度值。

因此,18b20具有以下优势:1. 精度高18b20的温度测量精度较高,可以达到0.5℃,且由于采用数字信号输出,不存在模拟信号转换误差等问题,进一步提高了测量精度。

18B20简介 河南理工

18B20简介     河南理工

2.1.1 DS18B20简介美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持"一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。

全部传感元件及转换电路集成在形如一只三极管的集成电路内。

一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

现在,新一代的DS18B20体积更小、更经济、更灵活。

使你可以充分发挥“一线总线”的优点。

在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。

另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。

因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。

新的"一线器件"DS18B20体积更小、适用电压更宽、更经济。

DS18B20可以程序设定9~12位的分辨率,精度为±0.5°C。

可选更小的封装方式,更宽的电压适用范围。

分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。

DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!DS1822与DS18B20软件兼容,是DS18B20的简化版本。

省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。

继"一线总线"的早期产品后,DS1820开辟了温度传感器技术的新概念。

2.1.2 DS18B20的主要特性1. 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

温度传感器18B20数字设备工艺原理

温度传感器18B20数字设备工艺原理

温度传感器18B20数字设备工艺原理概述温度传感器是一种测量温度的设备,它通常被用于监测环境温度、食品加工过程中的温度、工业流程中的温度等应用中。

温度传感器的种类有很多,其中比较常见的一种是18B20数字温度传感器。

本文将介绍18B20数字温度传感器的工艺原理以及其基本特性。

18B20数字温度传感器18B20数字温度传感器是一种硅封装温度传感器,它采用单线数字接口进行数据传输。

这种传感器广泛应用于计算机系统、工业自动化和家用电器等领域。

18B20传感器寿命长、精度高、价格合理,因此备受欢迎。

下面将详细介绍18B20数字温度传感器的工艺原理。

工艺原理18B20数字温度传感器采用热电偶元件,利用元件内部的热电效应来测量温度。

18B20数字温度传感器的原理基于温度和电压之间的关系。

元件的工作原理如下:1.传感器的热电偶元件由两个不同材质的导体组成,这些导体的接点处会产生一个温度电动势。

2.传感器将温度电动势转换为数字输出,传感器内部使用模拟信号处理电路提取来自热电偶元件的热电电压信号。

3.数字信号由传感器内部的模块进行数字处理,并采用单线数字接口进行传输。

整个过程免除了对AD转换器的使用,因此能够节省一些成本。

由于18B20数字温度传感器采用了数字信号处理技术,它对电气和电磁干扰的抵抗力很强,在信号传输时不易出现误差。

此外,数码体积小、易施工、安装方便、接线简单,延时较小,占用空间小等特点也使得18B20数字温度传感器得到广泛应用。

这种数字传感器的实时测温及精度、稳定性、信号处理优势也使得它能够满足高精度、高速度要求的温度测量。

基本特性18B20数字温度传感器的基本特性如下:•工作电压范围:3V至5.5V。

•工作温度范围:-55°C至+125°C。

•精度:±0.5°C(-10°C至+85°C范围内);±2°C(-55°C至+125°C范围内)。

18B20温度传感器实验笔记重点

18B20温度传感器实验笔记重点

DS18B20温度传感器实验笔记李进 2008-12-10DS18b20用12位存贮温度值,最高位为符号位。

下表(表1)为18b20的温度存储方式。

负温度S = 1,正温度S = 0。

温度值以补码表示。

正数与原码相同,负数是补码,需要再次求补后才能正确显示。

如:0550H 为+85℃,0191H 为+25.0625℃,FC90H 为-55℃。

DS18B20的输出位数被设置成(9,10,11或12bit ),出厂的默认值是12bit 。

对应的分辨率是0.5℃,0.25℃,0.125℃或0.0625℃。

使用Convert T[44h]命令启动一次转换,温度的16位转换值存于暂存器中,并扩展两位符号位。

使用Read Scratchpad[BEh]命令,将温度值通过1线口输出,低位(LSB )首先输出。

LSB MSB整型数表示(int 型,最高4位无用)表格数据说明:表中的数据是从18B20中读取的温度值,以补码的形式表示。

因此,其真实值应求补得到,(补码的补码为真值)。

1. 正数的补码就是该数本身,因此不必求补得真。

例如,+0.5°C 读得0000 0000 0000 1000B,前4位舍掉后,所余的最高位(D11)是符号位,0代表正数。

最后4位(D3~D0)是小数,按小数化为十进制数,因此 .1000 B= 0.5。

+85.0℃读数舍掉最高4位后,得0101 0101 0000B,所余12位二进制数,最高位(D11)是符号位,0表示正数,D10~D4共7位101 0101B = 85,后4位是小数;+25.0625℃读得0001 1001 0001B。

整数部分意义同上,前7位整数001 1001B = 25,最后4位小数: .0001B = .06252. 负数求补得真值。

求补时不必考虑小数点位置,读得的测温结果是16位二进制数,最高4位无用舍去,所余12位保留最高位(D11)符号位不变,其余11位求补,得到真值。

18b20 温度热水器控制数码管显示操作说明

18b20 温度热水器控制数码管显示操作说明

18b20 温度控制数码管显示操作说明
本设计系统是18b20温度报警系统数码管显示,水温值,设置一个温度值,当低于设定值继电器吸合,控制外接加热装置加热。

高于高温设定温度,继电器断开,停止加热。

1.功能测量温度然后控制继电器输出
2.最左边的按键按下是设定
3.显示带H的是设置一个高温
4.按设定键两下显示带L的是低温
5.右边两个键是加键减键
6.设定好后如果测得的温度小于低温继电器吸合
7.测得的温度大于低温小于高温也吸合
8.大于高温时就断开
9.温度传感器在主控板上用手握住温度传感器就会升温
第一次按下“设定”进入温度设置:
按下“加、减”键可设置高温报警,最高设置成99.0度,
最低可设置成比低温报警高0.1度。

第二次按下“确定键”进入正常温度显示:
1.正常温度显示界面
当前温度11.3度
2.温度设置界面
高混报警值17.4度。

18B20数字温度显示系统

18B20数字温度显示系统
ORL P0,#50H
CALL T1MS
MOV P0,43H
ORL P0,#40H
MOV TH0,#LOW(65536-10000) ;定时器10MS中断
MOV TL0,#HIGH(65536-10000)
RETI
T1MS: mov r5,#00h ;延时子程序
tt: mov r6,#9
djnz r6,$
;温度转换程序:精确到:0.06 ;
TRANS12:MOV A,30H
ANL A,#0F0H
MOV 3AH,A
MOV A,31H
ANL A,#0FH
ORL A,3AH
SWAP A
MOV B,#10
DIV AB
MOV 43H,A
MOV 42H,B ;
MOV DPTR,#TABB
MOV A,30H
ANL A,#0FH
NOP
NOP
NOP
NOP
NOP
SETB DAT
MOV R6,#30
DJNZ R6,$
RET
;读一位数据程序
READ: SETB DAT ;先复位至少1US产生读起始信号
NOP
NOP
CLR DAT
NOP
NOP
SETB DAT ;置位DAT准备接收数据
NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOV C,DAT
4、用一条4PIN的排线,把JP22接到P0口的JP51的P0.4,P0.5,P0.6,07四个端口。(即插入P0口的下半部份)。
5、用一条8PIN的排线。把38译码部份的输出端JP25,接到数码管部份的显示位口JP8。
在本系统中,为了简化程序,采用了74LS47(数码管译码)74LS138(三八译码)。即P0口的P0.0,P0.1,P0.2,P0.3四个端口接到74LS47进行硬件数码管译码,然后输出到数码管部分的数据口JP5。P0.4,P0.5,P.0.6三个端口接到74LS138进行38译码,然后输出到数码管的位控制JP8.

18B20详细介绍及程序

18B20详细介绍及程序

1.DS18B20基本知识DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。

因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。

1、DS18B20产品的特点(1)、只要求一个端口即可实现通信。

(2)、在DS18B20中的每个器件上都有独一无二的序列号。

(3)、实际应用中不需要外部任何元器件即可实现测温。

(4)、测量温度范围在-55。

C到+125。

C之间。

(5)、数字温度计的分辨率用户可以从9位到12位选择。

(6)、内部有温度上、下限告警设置。

2、DS18B20的引脚介绍TO-92封装的DS18B20的引脚排列见图1,其引脚功能描述见表1。

(底视图)图1表1DS18B20详细引脚功能描述3.DS18B20的使用方法由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。

由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。

DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。

该协议定义了几种信号的时序:初始化时序、读时序、写时序。

所有时序都是将主机作为主设备,单总线器件作为从设备。

而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。

数据和命令的传输都是低位在先。

DS18B20的复位时序DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。

对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。

DS18B20在完成一个读时序过程,至少需要60us才能完成。

18b20温度传感器工作原理

18b20温度传感器工作原理

18b20温度传感器工作原理嘿,你知道18B20 温度传感器不?这小玩意儿可厉害啦!18B20 温度传感器就像一个小侦探,专门负责探测温度的秘密。

它能在各种环境下工作,就像一个勇敢的小战士,不怕困难。

这传感器是怎么工作的呢?简单来说,它就像有一双神奇的眼睛,能看到温度的变化。

它通过一种特殊的方式来感知周围的温度,然后把这个信息变成电信号,传递给我们。

想象一下,18B20 温度传感器就像一个小小的魔法师,能把温度这个看不见摸不着的东西变成我们能理解的数字。

这可不是一般的厉害哦!它的工作过程有点像我们找东西。

我们要找一个东西的时候,会到处看,到处摸,直到找到为止。

18B20 温度传感器也是这样,它会不断地探测周围的环境,直到找到温度的变化。

当它探测到温度变化的时候,就会马上行动起来。

它会把这个变化转化成电信号,然后通过电线或者无线信号传递给我们。

这就像我们发现了一个好玩的事情,马上就想告诉别人一样。

18B20 温度传感器的精度可高啦!它能准确地测量出很小的温度变化,就像一个细心的观察者,不放过任何一个细节。

反问一句,你不想有一个这么厉害的小侦探来帮你探测温度吗?当然想啦!在我们的生活中,18B20 温度传感器可有用啦!比如说在我们家里的空调、冰箱里,就有这个小玩意儿。

它能让我们的电器知道周围的温度,然后自动调节,让我们的生活更加舒适。

在工业生产中,18B20 温度传感器也大显身手。

它能帮助工人师傅们准确地掌握生产过程中的温度,保证产品的质量。

这就像一个得力的助手,让工作变得更加顺利。

还有啊,在科学研究中,18B20 温度传感器也发挥着重要的作用。

科学家们用它来测量各种环境下的温度,研究温度对生物、物理、化学等方面的影响。

这就像一个神秘的工具,帮助科学家们解开大自然的奥秘。

18B20 温度传感器虽然小小的,但是它的作用可大啦!它就像一个默默无闻的英雄,为我们的生活和科学研究做出了贡献。

我的观点结论是:18B20 温度传感器是一种非常实用的工具,它通过特殊的工作原理,能准确地测量出周围的温度,并将这个信息传递给我们。

温度传感器18B20数字安全操作及保养规程

温度传感器18B20数字安全操作及保养规程

温度传感器18B20数字安全操作及保养规程温度传感器在工业自动化控制中有着广泛的应用,18B20是一种常用的数字温度传感器。

为确保安全操作,并延长传感器的寿命,本文将介绍温度传感器18B20的数字安全操作和保养规程。

1. 温度传感器18B20基本介绍18B20数字温度传感器采用1-Wire总线方式,具有高精度、可编程分辨率和广泛的工作温度范围等优点,在实际应用中广泛被采用。

18B20数字温度传感器有以下三种封装方式:•TO-92•标准SOIC 8引脚封装•TSSOP封装在使用18B20数字温度传感器时,需要注意以下两个方面:1.功耗传感器的功耗有着重要的影响,需根据应用场合选择合适的供电方式及传感器工作模式。

2.读写速率传感器的读写速率受到传感器供电方式和应用场合等多方面因素的影响。

在实际应用中,需要根据应用场合选择合适的传感器供电方式和读写速率,以确保传感器正常工作。

2. 温度传感器18B20的数字安全操作规程在使用温度传感器18B20时,需要注意以下数字安全操作规程:2.1 使用合适的供电方式传感器供电方式是影响传感器正常工作的关键因素之一。

在使用18B20数字温度传感器时,需根据具体有场合选择合适的供电方式。

常见的供电方式有以下两种:1.通过串行总线供电(Power-over-1-wire,POE)2.通过外部供电器供电在选择合适的供电方式时,需考虑传感器的工作电流、应用场合等因素。

2.2 正确选择传感器工作模式传感器可采用以下三种工作模式:1.精度模式2.快速模式3.最高速度模式在成本控制,功耗控制等各种因素下,应选择合适的传感器工作模式。

其中,精度模式最能保证温度测量的精度,最高速度模式最能保证测量速度,快速模式则在两者之间,应选择合适的传感器工作模式以满足应用需求。

2.3 合适的配置和使用18B20数字温度传感器可采用多种配置方式,包括选择分辨率、选择工作模式等。

在使用时,需根据实际需求选择合适的配置方式。

18B20温控报警器制作与调试

18B20温控报警器制作与调试

项目5《18B20温控报警器制作与调试》5.1 项目描述和要求5.1.1 项目描述本项目基于AT89S51单片机的数字温度报警器系统。

以数字温度传感器18B20作为核心元件,采用LED数码管作为显示,以蜂鸣器作为报警器,该系统可以方便的实现温度的采集和报警,并可以根据需要任意上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当做温度处理模块潜入其他系统中,作为其他主系统的辅助扩展。

DS18B20与AT89S51结合实现最简温度报警系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。

5.1.2 项目要求完成作品详细要求如下:1.质量要求:温度采集、报警准确,数码管显示效果稳定清晰、无乱码。

2.安全要求:作品无短路故障,正确使用仪器仪表,凡通电测试必须经过老师同意才能执行,遇到特殊情况立即断电并报告老师。

3.文明要求:不要携带任何饮料进入实训室,统一穿好校服、佩戴好校卡,进入实训室不喧哗吵闹,书包统一放置讲台旁边。

自觉遵守实训室规定进行项目作业。

4.环保要求:制作过程能重复利用的元器件要尽量重复使用,电路布局尽量紧凑不浪费板材,下课离开实训台请关闭实训台电源。

5.2 知识准备:5.2.1 了解温控报警器图5-1 图5-2温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。

在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。

比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产品。

没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。

18B20简要说明

18B20简要说明

DS1820 单线数字温度计◆特性•独特的单线接口仅需一个端口引脚进行通讯•简单的多点分布应用•无需外部器件•可通过数据线供电•零待机功耗•测温范围-55~+125℃,以0.5℃递增。

•温度以9 位数字量读出•温度数字量转换时间200ms(典型值)•用户可定义的非易失性温度报警设置•报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件•应用包括温度控制、工业系统、消费品、温度计或任何热感测系统◆引脚及连线VDD:电源,3.4V—5.5VDQ:数据I/OGND:地◆典型连接:DQ端外接4.7K上拉电阻,接至单片机某一I/O口线,外部+5V电源供电。

◆内部结构●64位(8字节)ROM用于存储芯片本身序列号,首字节固定为28H,表示产品类型码,接下来的6个字节是每个器件的编码,最后1个字节是CRC校验码。

●暂存器RAM和EEPROM暂存器RAM中的头2字节为测得的温度信息,可以通过读暂存器命令后逐位读出(低位在前);复制暂存器命令可以将报警上下限及配置字节复制到EEPROM中。

◆命令及操作时序1、复位将DQ拉低至少480uS,之后释放总线等待15-60uS,18B20将输出存在脉冲,0-存在,1-不存在。

2、执行“跳过ROM”命令(一般单个传感器时都这样):CCH注意:对18B20读写都是逐位进行的,下面是写1位的时序。

先将DQ线拉低1-15uS,之后输出欲写的电平状态,写时隙至少维持60uS,写时隙之间至少间隔1uS。

3、执行“启动温度转换”命令:44H完成温度转换的典型时间为1S。

4、再次执行“复位”、“跳过ROM”命令5、执行“读暂存器”命令:BEH6、顺序读取温度的2个字节(低字节在前)注意:读取温度值是逐位进行的,下面是从18B20中读取1位的时序:先将DQ线拉低至少1uS,且不超过15uS,然后采样DQ线。

2次读时间隙之间至少间隔1uS。

18B20温度传感器中文资料

18B20温度传感器中文资料

海纳电子资讯网:www.fpga-arm.com 为您提供各种IC中文资料DS18B20 单线数字温度传感器新的“一线器件”BS18B20 体积更小、适用电压更宽、更经济Dallas 半导体公司的数字化温度传感器 DS1820 是世界上第一片支持 “一线总线”接口的温度传感 器。

一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。

现在,新一代的“DS18B20”体积更小、更经济、更灵活。

使您可以充分发挥“一线总线”的长处。

DS18B20、 DS1822 “一线总线”数字化温度传感器同 DS1820 一样, DS18B20 也 支持“一线总线”接口, 测量温度范围为 -55°C~+125°C, 在-10~+85°C 范围内,精度为±0.5°C。

DS1822 的精度较差为± 2°C 。

现场温度直接以“一线总线”的数字方式传输, 大大提高了系统的抗干扰性。

适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类 消费电子产品等。

与前一代产品不同,新的产品支持 3V~5.5V 的电压范围,使系统设计更灵活、方便。

而且新一代产品 更便宜,体积更小。

DS18B20、 DS1822 的特性DS18B20 可以程序设定 9~12 位的分辨率,精度为±0.5°C。

可选更小的封装方式,更宽的电压适用范 围。

分辨率设定,及用户设定的报警温度存储在 EEPROM 中,掉电后依然保存。

DS18B20 的性能是新一代产 品中最好的!性能价格比也非常出色! DS1822 与 DS18B20 软件兼容, DS18B20 的简化版本。

是 省略了存储用户定义报警温度、 分辨率参数的 EEPROM, 精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。

18B20温度传感器温度计程序

18B20温度传感器温度计程序

18B20温度传感器温度计程序作者:周国磊1.实验任务本实验实现的是通过18B20温度传感器读回温度并在2位数码管上显示。

精度为一度,测温范围为0-99度。

2.实验目的学会使用单片机控制18B20此类单总线器件。

3.DS18B20原理及引脚介绍DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。

因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。

DS18B20产品的特点(1)、只要求一个端口即可实现通信。

(2)、在DS18B20中的每个器件上都有独一无二的序列号。

(3)、实际应用中不需要外部任何元器件即可实现测温。

(4)、测量温度范围在-55。

C到+125。

C之间。

(5)、数字温度计的分辨率用户可以从9位到12位选择。

(6)、内部有温度上、下限告警设置。

TO-92封装的DS18B20的引脚排列见上图,其引脚功能描述见下:1.GND 地信号2.DQ 数据输入/输出引脚。

开漏单总线接口引脚。

当被用着在寄生电源下,也可以向器件提供电源。

3.VDD 可选择的VDD引脚。

当工作于寄生电源时,此引脚必须接地。

4.实验原理图5.实验源程序TEMPER_L EQU 36HTEMPER_H EQU 35HTEMPER_NUM EQU 60Hjishu EQU 37HFLAG1 BIT 00HDQ BIT P3.5AAA:SETB P2.0CLR P2.1MOV SP,#70HLCALL GET_TEMPERLCALL TEMPER_COVloop4:mov r5,#20loop3:mov 38H,#0ffhLOOP2:mov A,TEMPER_NUMMOV B,#10;MOV B,R5DIV ABSETB P2.2CLR P2.3MOV DPTR,#TABLE1MOVC A,@A+DPTRMOV P0,ALCALL DELySETB P2.3CLR P2.2MOV A,BMOV DPTR,#TABLE2MOVC A,@A+DPTRMOV P0,ALCALL DELydjnz 38H,loop2djnz r5, loop3sjmp aaaNOP;------------------读出转换后的温度值GET_TEMPER:SETB DQ ; 定时入口BCD:LCALL INIT_1820JB FLAG1,S22LJMP BCD ; 若DS18B20不存在则返回S22:LCALL DELAY1 MOV A,#0CCH ; 跳过ROM匹配------0CCLCALL WRITE_1820MOV A,#44H ; 发出温度转换命令LCALL WRITE_1820NOPLCALL DELAYLCALL DELAYCBA:LCALL INIT_1820JB FLAG1,ABCLJMP CBAABC:LCALL DELAY1MOV A,#0CCH ; 跳过ROM匹配LCALL WRITE_1820MOV A,#0BEH ; 发出读温度命令LCALL WRITE_1820LCALL READ_18200 ;READ_1820RET;------------------读DS18B20的程序,从DS18B20中读出一个字节的数据READ_1820:MOV R2,#8RE1:CLR CSETB DQNOPNOPCLR DQNOPNOPNOPSETB DQMOV R3,#7DJNZ R3,$MOV C,DQMOV R3,#23DJNZ R3,$RRC ADJNZ R2,RE1RET;-------------------写DS18B20的程序WRITE_1820:MOV R2,#8CLR CWR1:CLR DQMOV R3,#6DJNZ R3,$RRC AMOV DQ,CMOV R3,#23DJNZ R3,$SETB DQNOPDJNZ R2,WR1SETB DQRET;-------------------读DS18B20的程序,从DS18B20中读出两个字节的温度数据READ_18200:MOV R4,#2 ; 将温度高位和低位从DS18B20中读出MOV R1,#36H ; 低位存入36H(TEMPER_L),高位存入35H(TEMPER_H) RE00:MOV R2,#8RE01:CLR CSETB DQNOPNOPCLR DQNOPNOPNOPSETB DQMOV R3,#7DJNZ R3,$MOV C,DQMOV R3,#23DJNZ R3,$RRC ADJNZ R2,RE01MOV @R1,ADEC R1DJNZ R4,RE00RET;-------------------将从DS18B20中读出的温度数据进行转换TEMPER_COV:MOV A,#0F0HANL A,TEMPER_L ; 舍去温度低位中小数点后的四位温度数值SWAP AMOV TEMPER_NUM,AMOV A,TEMPER_LJNB ACC.3,TEMPER_COV1 ; 四舍五入去温度值INC TEMPER_NUMTEMPER_COV1:MOV A,TEMPER_HANL A,#07HSWAP AORL A,TEMPER_NUMMOV TEMPER_NUM,A ; 保存变换后的温度数据RET;-------------------将16进制的温度数据转换成压缩BCD码;-------------------DS18B20初始化程序INIT_1820:SETB DQNOPCLR DQMOV R0,#80HTSR1:DJNZ R0,TSR1 ; 延时SETB DQMOV R0,#25H ;96US-25HTSR2:DJNZ R0,TSR2JNB DQ,TSR3LJMP TSR4 ; 延时TSR3:SETB FLAG1 ; 置标志位,表示DS1820存在LJMP TSR5TSR4:CLR FLAG1 ; 清标志位,表示DS1820不存在LJMP TSR7TSR5:MOV R0,#06BH ;200USTSR6:DJNZ R0,TSR6 ; 延时TSR7:SETB DQRET;------------------重新写DS18B20暂存存储器设定值RE_CONFIG:JB FLAG1,RE_CONFIG1 ; 若DS18B20存在,转RE_CONFIG1RETRE_CONFIG1:MOV A,#0CCH ; 发SKIP ROM命令LCALL WRITE_1820MOV A,#4EH ; 发写暂存存储器命令LCALL WRITE_1820MOV A,#00H ; TH(报警上限)中写入00HLCALL WRITE_1820MOV A,#00H ; TL(报警下限)中写入00HLCALL WRITE_1820MOV A,#7FH ; 选择12位温度分辨率LCALL WRITE_1820RET;------------------延时子程序DELAY:MOV R7,#00HMIN:DJNZ R7,YS500RETYS500:LCALL YS500USLJMP MINYS500US:MOV R6,#00HDJNZ R6,$RETDELAY1:MOV R7,#20HDJNZ R7,$RETdely: mov r3,#100djnz r3,$retTABLE1: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H TABLE2: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于AVR单片机和DS18B20的多点温度
测量系统
2009年10月15日 23:47 徐州工程学院信电系作者:高玉芹用户评论(0)
关键字:
基于AVR单片机和DS18B20的多点温度测量系统
介绍基于AVR单片机、BASCOM-AVR语言和DS18B20传感器的多点温度测量系统。

利用AVR单片机内部的
E2PROM,建立了位置编号和传感器序列号的对应关系表,实现了在多点温度测量系统中对多个传感器的识别和处理,并给出了具体的编程实例。

关键词:单总线;数字温度传感器;单片机
Several Points Temperature Measuring System Based on AVR SCM and DS18B20
GAO Yuqin
(Xuzhou Institute of Technology, Xuzhou 221008, China)
Key words: monobus; digital temperature sensor; SCM
1DS18B20和BASCOM-AVR简介
DS18B20是美国DALLAS公司生产的单总线数字温度传感器,从DS18B20读出或写入的信息仅需要一根口线。

在单总线工作方式下,允许一条信号线上挂接多个DS18B20,特别适合于构成远距离多点温度测控系统,从而大大简化了系统布线,提高了可靠性,降低了成本,而实现这些的关键在于每片DS18B20都有唯一的ROM代码(64位产品序列号)。

在多点温度测控系统中,ROM代码是识别和操作DS18B20的基础;无论读取还是选择对某一个传感器进行操作,主机必须发送64位ROM代码。

BASCOM-AVR是MSC Electronics公司推出的基于AVR系统的软件开发仿真平台。

程序语句和Micrsoft VB/QB高度兼容;为标准LCD显示器、I2C芯片和单总线协议芯片等扩充了专用语句;内置模拟终端和程序下载功能;内置软件仿真平台用于测试;编译产生的运行代码可在所有带内部存储器的AVR微控制器中运行。

DEMO版本可生成2KB程序代码。

BASCOM-AVRDEMO版安装软件包可到http://免费下载。

?
3.1获取序列号(64位ROM代码)
操作单总线数字温度传感器必须严格按规定的协议操作,即应按以下顺序操作:初始化、ROM操作命
令、暂存存储器操作命令、数据传输。

在ROM操作命令中,有两条命令专门用于获取传感器序列号:读ROM 命令(33H)和搜索ROM命令(F0H)。

读ROM命令只能在总线上仅有一个传感器的情况下使用。

搜索ROM命令则允许总线主机使用一种“消去”处理方法来识别总线上所有的传感器序列号。

为了建立64位ROM代码和测量位置点传感器之间的关系,我们选用读ROM命令(33H)。

DS18B20的64位ROM代码结构如图2所示:
?
如果某一传感器损坏,只需按上述连接方法,拨动开关K2输入损坏传感器的位置编号,将新的DS18B20插入Z1插座重新测试,单片机自动根据读取的编号值将测得的ROM代码取代E2PROM中相同位置编号处的原ROM代码即可。

3.2多点温度的巡回测量
开关K1打开,将T断开处接上。

由于已经在上面获取了多个DS18B20的ROM代码并在AVR单片机内部的E2PROM中建立了测量位置点和传感器64位ROM代码之间的关系表,因此对多个温度的巡回测量的步骤如下:
(1)发跳过ROM命令CCH。

(2)发启动所有在线的DS18B20进行温度转换命令44H。

(3)延迟1s。

(4)发匹配ROM命令55H。

(5)按照E2PROM中建立的关系表的顺序取出64位ROM代码发送到单总线。

(6)发读温度值命令BEH,读取温度值。

(7)进行CRC校验和数据处理后送LCD显示器显示。

(8)重复第4步到第7步,直到所有的DS18B20测量处理完。

(9)再重复第1步到第8步,进行下一轮的巡回测量。

如果只对某一个DS18B20进行温度测量,只要将第1步的跳过ROM命令CCH,改为匹配ROM命令55H,将拨动开关拨到和要测量的DS18B20的编号相对应的数值上,单片机90S8515读取拨动开关的数值(编号)n,到E?2PROM建立的关系表中从(n-1)×8开始的单元取出ROM代码发送到总线,去掉第8步,其余和上面步骤相似即可。

测试中,DS18B20选择芯片出厂时默认的12位转换精度,转换的结果用16位符号扩展的二进制补码读数形式提供。

关于DS18B20可参考DALLAS公司的数据手册。

多点温度巡回测量的主要程序如下:
上述两个程序可以编写为两个子程序,主程序在初始化工作完成后,读开关K1的状态,如为打开状态调用温度巡回测量部分的子程序;如为闭合状态调用获取ROM代码子程序。

4.1设置报警限值
DS18B20设有温度高低限报警功能。

DSl8B20的存储器由两部分组成:一个是9字节的静态RAM,其中第0和第1字节用于存储16位的温度转换值,第2(高温限TH)和第3字节(低温限TL)作为温度报警限值或通用存储器单元供用户使用;另一个是非易失性的E2PROM。

当静态RAM作为温度报警限值使用时,可以在系统安装和工作前,用写RAM命令4EH将高温限TH和低温限TL写入第2和第3字节单元。

由于静态RAM 掉电后信息即丢失,因此需要再通过拷贝RAM命令48H将第2和第3字节单元的温度报警限值拷贝到E2PROM 中。

主程序只要在初始化部分使用重调E2PROM命令B8H,就可以将E?2PROM中的温度报警限值重新拷贝到静态RAM中。

4.2报警处理
系统正常工作时,在启动所有的DS18B20作温度转换后,可以使用报警搜索命令ECH,发现温度值高于TH或低于TL的数值时,则读取报警的DS18B20的ROM代码,通过查AVR单片机内部E2PROM中测量位置点和传感器64位ROM代码之间的关系表即可得到报警的DS18B20的位置编号,从而启动语音报警或在LCD 上显示报警点的位置编号。

本文的设计方法,将DS18B20 ROM代码的获取和温度的测量融为一体,利用单片机内部的E?2PROM建立了测量位置点和ROM代码之间的关系表,用简单的硬件及编程方法实现了多点温度的测量、数字温度传感器的出错指示和识别,大大有利于系统的调试和扩充,能有效降低成本,缩短开发周期。

在粮库测温系统、冷库测温系统、中央空调系统、智能建筑自控系统等多点温度测量系统中将获得广泛的应用。

相关文档
最新文档