DS18B20数据手册
- 格式:pdf
- 大小:459.69 KB
- 文档页数:26
DS18B20数据手册-中文版DS18B20 分辨率可编程概述1-Wire数字温度传感器 DS18B20数字温度传感器提供9-Bit到12-Bit的摄氏温度测量精度和一个用户可编程? 温度转换时间在转换精度为12-Bits时达到的非易失性且具有过温和低温触发报警的报警最大值750ms。
功能。
DS18B20采用的1-Wire通信即仅采用一? 用户自定义非易失性的的温度报警设置。
个数据线(以及地)与微控制器进行通信。
该? 定义了温度报警搜索命令和当温度超过用户传感器的温度检测范围为-55?至+125?,并且自定义的设定值时。
在温度范围超过-10?至85?之外时还具有? 可选择的8-Pin SO (150 mils), 8-PinμSOP,+-0.5?的精度。
此外,DS18B20可以直接由数及3-Pin TO-92封装。
据线供电而不需要外部电源供电。
? 与DS1822程序兼容。
每片DS18B20都有一个独一无二的64位? 应用于温度控制系统,工业系统,民用产品,序列号,所以一个1-Wire总线上可连接多个温度传感器,或者任何温度检测系统中。
DS18B20设备。
因此,在一个分布式的大环境管脚定义图里用一个微控制器控制多个DS18B20是非常简单的。
这些特征使得其在HVAC环境控制,在建筑、设备及机械的温度监控系统,以及温度过程控制系统中有着很大的优势。
特性独特的1-Wire总线接口仅需要一个管脚来通信。
每个设备的内部ROM上都烧写了一个独一无二的64位序列号。
多路采集能力使得分布式温度采集应用更加简单。
无需外围元件。
能够采用数据线供电;供电范围为3.0V至5.5V。
温度可测量范围为:-55?至+125?(-67?至+257?)。
温度范围超过-10?至85?之外时具有+-0.5?的精度。
内部温度采集精度可以由用户自定义为9-Bits至12-Bits。
DS18B20订购信息零件温度范围引脚数-封装顶部标号DS18B20 3 TO-92 18B20 -55?至+125?DS18B20+ 3 TO-92 18B20 -55?至+125?DS18B20/T&R 18B20 -55?至+125? 3 TO-92(2000片)DS18B20+T&R 18B20 -55?至+125? 3 TO-92(2000片)DS18B20-SL/T&R 18B20 -55?至+125? 3 TO-92(2000片)* DS18B20-SL+T&R 18B20 -55?至+125? 3 TO-92(2000片)* DS18B20U 8 uSOP 18B20 -55?至+125?DS18B20U+ 8 uSOP 18B20 -55?至+125?DS18B20U/T&R 18B20 -55?至+125? 8 uSOP(3000片)DS18B20+T&R 18B20 -55?至+125? 8 uSOP(3000片)DS18B20Z 8 SO DS18B20 -55?至+125?DS18B20Z+ 8 SO DS18B20 -55?至+125?DS18B20Z/T&R DS18B20 -55?至+125? 8 SO(2500片)DS18B20Z+T&R DS18B20 -55?至+125? 8 SO(2500片)“+”号表示的是无铅封装。
DS18B20 单线温度传感器一.特征:●独特的单线接口,只需 1 个接口引脚即可通信●每个设备都有一个唯一的64位串行代码存储在光盘片上●多点能力使分布式温度检测应用得以简化●不需要外部部件●可以从数据线供电,电源电压范围为3.0V至5.5V●测量范围从-55 ° C至+125 ° C(-67 ° F至257 ° F),从-10℃至+85 ° C的精度为0.5 °C●温度计分辨率是用户可选择的9至12位●转换12位数字的最长时间是750ms●用户可定义的非易失性的温度告警设置●告警搜索命令识别和寻址温度在编定的极限之外的器件(温度告警情况)●采用8引脚SO(150mil),8引脚SOP和3引脚TO - 92封装●软件与DS1822兼容●应用范围包括恒温控制工业系统消费类产品温度计或任何热敏系统二.简介该DS18B20的数字温度计提供9至12位的摄氏温度测量,并具有与非易失性用户可编程上限和下限报警功能。
信息单线接口送入 DS1820 或从 DS1820 送出,因此按照定义只需要一条数据线(和地线)与中央微处理器进行通信。
它的测温范围从-55 °C到 +125 ° C,其中从-10 °C至+85 °C可以精确到0.5°C 。
此外,DS18B20可以从数据线直接供电(“寄生电源”),从而消除了供应需要一个外部电源。
每个 DS18B20 的有一个唯一的64位序列码,它允许多个DS18B20s的功能在同一1-巴士线。
因此,用一个微处理器控制大面积分布的许多DS18B20s是非常简单的。
此特性的应用范围包括 HVAC、环境控制、建筑物、设备或机械内的温度检测以及过程监视和控制系统。
三.综述64位ROM存储设备的独特序号。
存贮器包含2个字节的温度寄存器,它存储来自温度传感器的数字输出。
此外,暂存器可以访问的1个字节的上下限温度告警触发器(TH和TL)和1个字节的配置寄存器。
Ds18b20温度传感器使用手册一、传感器实物图二、引脚说明(1)1 VCC 3.0~5.5V/DC 3 GND42 DQ 数字信号输入/输出端(2)1 5 GND2 63 VCC 3.0~5.5V/DC 74 DQ 数字信号输入/输出8端三、软件设计功能说明:ds18b20采集温度并显示在1602液晶上#include <reg52.h>#include <stdio.h>#define uchar unsigned char#define uint unsigned intsbit ds=P2^4; //温度传感器信号线uint temp;float f_temp;sbit rs=P1^0; //sbit lcden=P1^2; // 液晶sbit wr=P1^1; //void delay(uint z)//延时函数{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}/***********液晶**************/void write_com(uchar com){//写液晶命令函数rs=0;lcden=0;P0=com;delay(3);lcden=1;delay(3);lcden=0;}void write_date(uchar date){//写液晶数据函数rs=1;lcden=0;P0=date;delay(3);lcden=1;delay(3);lcden=0;}void init() //液晶初始化{lcden=0;write_com(0x38);write_com(0x0e);write_com(0x06);write_com(0x01);}/***********ds18b20**********/void dsreset(void) //18B20复位,初始化函数{uint i;ds=0;i=103;while(i>0)i--;ds=1;i=4;while(i>0)i--;}bit tempreadbit(void) //读1位函数{uint i;bit dat;ds=0;i++; //i++ 起延时作用ds=1;i++;i++;dat=ds;i=8;while(i>0)i--;return (dat);}uchar tempread(void) //读1个字节{uchar i,j,dat;dat=0;for(i=1;i<=8;i++){j=tempreadbit();dat=(j<<7)|(dat>>1); //读出的数据最低位在最前面,这样刚好一个字节在DAT里}return(dat);}void tempwritebyte(uchar dat) //向18B20写一个字节数据{uint i;uchar j;bit testb;for(j=1;j<=8;j++){testb=dat&0x01;dat=dat>>1;if(testb) //写1{ds=0;i++;i++;ds=1;i=8;while(i>0)i--;}else{ds=0; //写0i=8;while(i>0)i--;ds=1;i++;i++;}}}void tempchange(void) //DS18B20 开始获取温度并转换{dsreset();delay(1);tempwritebyte(0xcc); // 写跳过读ROM指令tempwritebyte(0x44); // 写温度转换指令}uint get_temp() //读取寄存器中存储的温度数据{uchar a,b;dsreset();delay(1);tempwritebyte(0xcc);tempwritebyte(0xbe);a=tempread(); //读低8位b=tempread(); //读高8位temp=b;temp<<=8; //两个字节组合为1个字temp=temp|a;f_temp=temp*0.0625; //温度在寄存器中为12位分辨率位0.0625°temp=f_temp*10+0.5; //乘以10表示小数点后面只取1位,加0.5是四舍五入f_temp=f_temp+0.05;return temp; //temp是整型}uchar change(uchar a) //将数字转换为字符{uchar b;if(a==0) b='0';if(a==1) b='1';if(a==2) b='2';if(a==3) b='3';if(a==4) b='4';if(a==5) b='5';if(a==6) b='6';if(a==7) b='7';if(a==8) b='8';if(a==9) b='9';return b;}void dis_temp(uint t) //显示程序{uchar a,b;write_com(0x80+0x40);a=t/100;b=change(a);write_date(b); //十位数delay(5);a=t%100/10;b=change(a); //个位数write_date(b);delay(5);write_date(0x2e); //小数点delay(5);a=t%100%10;b=change(a); //十分位write_date(b);delay(5);write_date(0xdf); //摄氏度的符号delay(5);write_date(0x43);delay(5);}void main(){wr=0;init();while(1){write_com(0x01);tempchange();dis_temp(get_temp());delay(500);}}。
1) DS18B20 是DALLAS 公司生产的一线制数字温度传感器; 2) 具有3 引脚TO-92 小体积封装形式; 3) 温度测量范围为-55℃~+125℃; 4) 电源供电范围为3V~5.5V ; 5) 可编程为9 位~12 位数字表示;6) 测温分辨率可达0.0625℃,被测温度用符号扩展的16 位数字量方式串行输出;7) 其工作电源既可在远端引入,也可采用寄生电源方式产生;8) 多个DS18B20 可以并联到3 根(VDD、DQ 和GND)或2 根(利用DQ 线供电、GND)线上,CPU 只需一根端口线就能与总线上的多个串联的DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
TO-92封装的DS18B20DS18B20 的管脚排列及不同封装形式如图 2所示,DQ 为数字信号输入/输出端;GND 为电源地;VDD 为外接供电电源输入端(在寄生电源接线方式时接地,见),NC 表示无连接。
管脚图DS18B20内部结构如图3所示,主要由4 部分组成:64 位ROM 、温度传感器、非易失性存储的温度报警触发器TH 和TL 、配置寄存器。
DS18B20管脚DS18B20概述DS18B20内部结构图非常适用于远距离多点温度检测系统。
DQ-数据输入输出。
漏极开路1 线接口。
也在寄生电源模式时给设备提供电源。
访问DS18B20 的顺序如理初始化;DS18B20读写 连接图应用领域ROM 命令(接着是任何需要的数据交换);DS18B20 函数命令(接着是任何需要的数据交换)。
每一次访问DS18B20 时必须遵循这一顺序,如果其中的任何一步缺少或打乱它们的顺序,DS18B20 将不会响应。
(1)初始化时序所有与DS18B20 的通信首先必须初始化:控制器发出复位脉冲,DS18B20 以存在脉冲响应。
fpga_ds18b20温度传感器手册介绍以及接口代码编写思路DS18B20是一款数字温度传感器,它可以通过一个数据线与FPGA(现场可编程门阵列)进行通信。
以下是一个简单的介绍和接口代码编写思路。
DS18B20温度传感器手册介绍:DS18B20由美国Dallas公司生产,是一种数字温度传感器,具有单总线接口、温度测量范围为-55℃~+125℃、测量精度为±0.5℃等特点。
DS18B20的引脚定义如下:GND:接地;VCC:供电电源,通常为+5V;*DQ:数据线,用于与FPGA进行通信。
DS18B20通过DQ线与FPGA进行通信,通信协议为单总线协议。
在数据传输过程中,DQ线上的信号是低电平有效,每次通信过程都需要严格按照协议进行。
DS18B20的测温原理是利用内部的振荡器产生一个频率与温度成正比的脉冲信号,通过计数器计数来测量温度值。
接口代码编写思路:初始化DS18B20和FPGA的DQ线。
在初始化过程中,需要设置DQ线的输入/输出模式,并确保DQ线处于空闲状态。
发送DS18B20的初始化命令序列。
DS18B20需要先执行一系列初始化命令,包括选择温度分辨率、启动温度转换等。
这些命令可以通过向DQ线发送特定的序列来实现。
等待DS18B20的温度转换完成。
在DS18B20完成温度转换之前,DQ线处于空闲状态。
当温度转换完成后,DS18B20会通过DQ线发送一个低电平信号,表示可以读取温度值。
读取DS18B20的温度值。
通过向DQ线发送读取命令序列,可以读取DS18B20的温度值。
温度值以二进制补码的形式发送,需要通过代码进行解码并转换为实际温度值。
结束通信并释放资源。
在读取完温度值后,需要向DQ线发送一个复位序列来结束通信,并释放相关资源。
在实际编写代码时,需要注意以下几个问题:保证DQ线的稳定性和可靠性,避免因干扰或信号不稳定导致通信失败或数据错误;严格按照DS18B20的通信协议进行数据传输,确保数据正确无误;对读取的温度值进行校验和处理,以避免异常数据对系统造成影响。
18B20温度传感器应用解析温度传感器的种类众多,在应用与高精度、高可靠性的场合时DALLAS(达拉斯)公司生产的DS18B20温度传感器当仁不让。
超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得DS18B20更受欢迎。
对于我们普通的电子爱好者来说,DS18B20的优势更是我们学习单片机技术和开发温度相关的小产品的不二选择。
了解其工作原理和应用可以拓宽您对单片机开发的思路。
DS18B20的主要特征:全数字温度转换及输出。
先进的单总线数据通信。
最高12位分辨率,精度可达土0.5摄氏度。
12位分辨率时的最大工作周期为750毫秒。
可选择寄生工作方式。
检测温度范围为–55°C ~+125°C (–67°F ~+257°F)内置EEPROM,限温报警功能。
64位光刻ROM,内置产品序列号,方便多机挂接。
多样封装形式,适应不同硬件系统。
DS18B20芯片封装结构:DS18B20引脚功能:·GND 电压地·DQ 单数据总线·VDD 电源电压·NC 空引脚DS18B20工作原理及应用:DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。
其一个工作周期可分为两个部分,即温度检测和数据处理。
在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。
18B20共有三种形态的存储器资源,它们分别是:ROM 只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B 20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。
数据在出产时设置不由用户更改。
DS18B20共64位ROM。
RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。
第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。