久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機驅動溫感的18B20.h文件

單片機驅動溫感的18B20.h文件

作者: 時間:2016-11-30 來源:網絡 收藏
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程序:

本文引用地址:http://cqxgywz.com/article/201611/323820.htm

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;
}



評論


技術專區

關閉