您的位置 首页 元件

单片机驱动温感的18B20.h文件

DS18B20是世界上第一个单线通讯的12位二进制数字温度传感器。工作电压从30~55V,测量温度范围从-55℃~125℃,具有最高plusmn;00625

DS18B20是世界上第一个单线通讯的12位二进制数字温度传感器。作业电压从3.0~5.5V,丈量温度规模从-55℃~125℃,具有最高±0.0625℃的分辨率。

DS18B20数字温度传感器封装后可应用于多种场合。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用便利,封装形式多样,适用于各种狭小空间设备数字测温文操控范畴。
使用单片机完全能够读取DS18B20所丈量到的二进制数字温度,测温过程:1、复位;2、越过读序列号指令(总线只要一个DS18B20);3、发动温度转化;4、延时;5、读取温度;6、处理丈量到的二进制数据;7、显现。
为便利调用我封装为了一个18b20.h文件下载地址:http://www.51hei.com/f/18b20h.rar能够恣意调用.
下面是18B20.h程序:

sbit DQ=P3^3;
void delay_50us(uint t)
{
unsigned char j;
for(;t>0;t–)
for(j=19;j>0;j–);
}

void delay_8us(uint t)
{
while(–t);
}

void delay_3us()
{
;
;
}

void write_ds18b20(uchar value)
{
uchar i=0;
for(i=0;i<8;i++)
{
DQ=1;
delay_3us();
DQ=0;
delay_8us(2);
if (value & 0x01) DQ=1; //
delay_50us(1);
delay_8us(2);
value>>=1;
}
DQ=1; //
}

uchar read_ds18b20(void)
{
uchar i=0;
uchar value = 0;
for (i=0;i<8;i++)
{
value>>=1;
DQ=0;// DQ_L;
delay_3us();
DQ=1; //
delay_8us(2);
if(DQ==1) value|=0x80;
delay_8us(6);
}
DQ=1;
return value;
}

void rest_ds18b20(void)
{
rest:delay_3us();
delay_3us();
DQ=1;
delay_3us();
DQ=0;
delay_50us(11);
DQ=1;
delay_8us(5);
if(DQ==1)
return;
delay_50us(2);
if(DQ==1)
return;
else
goto rest;
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/yuanjian/318232.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部