资讯详情

51单片机DS18B20温度传感器

DS18B20

在这里插入图片描述

DS18B20 测量范围为-55℃~ 125℃,-10℃~ 85℃范围内精 度是±0.5℃,测量分辨率为 9~12 位(复位值为 12 最大转换时间为位 750ms)。 DS18B20 包括寄生电源电路, 64 位 ROM 单线接口电路、临存器、 EEPROM、 8 位 CRC 生 成器和温度传感器等。寄生电源电路可实现外部电源和单线寄生电源, 64 位 ROM 中存放 的 48 在同一单线上识别多个连接的位序列号 DS18B实现多点测温。 64 位 ROM 代码格式如下: 8 位 CRC 校验码 48 位序列号 8 位系列码(0x28) 其中 8 位 CRC 校验码是 48 位序列号和 8 位系列码的 CRC 校验码

代码

onewire.c

#include "onewire.h"  /////单总线内部延迟函数 void Delay_OneWire(unsigned int t)   { 
          while(t--); }  ///单总线写作操作 void Write_DS18B20(unsigned char dat) { 
          unsigned char i;  for(i=0;i<8;i )  { 
           DQ = 0;   DQ = dat&0x01;   Delay_OneWire(5);   DQ = 1;   dat >>= 1;  }  Delay_OneWire(5); }  //单总线读操作 unsigned char Read_DS18B20(void) { 
          unsigned char i;  unsigned char dat;     for(i=0;i<8;i )  { 
           DQ = 0;   dat >>= 1; DQ = 1; if(DQ) { 
          dat |= 0x80; } Delay_OneWire(5); } return dat; } //DS18B20初始化 bit init_ds18b20(void) { 
          bit initflag = 0; DQ = 1; Delay_OneWire(12); DQ = 0; Delay_OneWire(80); DQ = 1; Delay_OneWire(10); initflag = DQ; Delay_OneWire(5); return initflag; } 

onewire.h

#ifndef __ONEWIRE_H__
#define __ONEWIRE_H__

#include "reg52.h"
#include "intrins.h"

sbit DQ = P1^4;  //单总线接口

unsigned char Read_DS18B20(void);
bit init_ds18b20(void);
void Write_DS18B20(unsigned char dat);
unsigned int temper_change(void);

#endif

//读取温度的集体操作
unsigned int temper_change(void)
{ 
        
	 u8 a,b;         
   u16 t=0;
	
   init_ds18b20();       
   Delay_OneWire(15);
   Write_DS18B20(0xcc);   //跳过ROM操作命令
   Write_DS18B20(0x44);     //发送启动温度转换命令
   Delay_OneWire(250);
   init_ds18b20(); 
   Delay_OneWire(15);
   Write_DS18B20(0xcc);   //跳过ROM操作命令
   Write_DS18B20(0xbe);     //发送启动温度转换命令
	
   a=Read_DS18B20();    //先读低八位
   b=Read_DS18B20();      //再读高八位
   t=b<<8;      //左移八位
   t=t|a;      //t为16位的数,使高八位为b的值,低八位为a的值 
   t *= 0.0625*100;
   return t;    //返回温度值
}

在读取温度时需要将中断关闭,读取完毕再打开

EA = 0;
temper_v = temper_change();
EA = 1;

标签: 992551102的油位传感器05t温度传感器730系列温度传感器t44传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台