DS18B20驅動根據資料手冊編寫

2021-10-08 02:51:56 字數 737 閱讀 8279

#include

sbit ds18b20=p1^4;

void

delay_ds18b20

(unsigned

int x)

void

ds18b20_res

(void

)//溫度計初始化

void

ds18b20_write_bit

(unsigned

char x)

//溫度計寫入資料所用的函式

ds18b20=1;

}unsigned

char

ds18b20_read_bit()

//讀出溫度計裡資料的函式

ds18b20=1;

return

(x);

}unsigned

char dot,tem,tem_zf;

void

read_tem()

//讀取溫度

else

//tem為整數部分 dot為小數部分

}void

tem_max_min_write

(unsigned

char tem_max,

char tem_min)

char tem_max,tem_min;

void

tem_max_min_read()

//讀取溫度上下限

ds18b20驅動配置

初始化時序 void ds18b20 rst void 返回1 沒有檢測到ds18b20的存在返回0 存在 u8 ds18b20 check void if retry 200 return1 else retry 0 while ds18b20 dq in retry 240 if retry 2...

DS18B20溫度測量

1.ds18b20 復位。2.寫入跳過 rom 的位元組命令,0xcc。3.寫入開始轉換的功能命令,0x44。4.延遲大約 750 900 毫秒 1.ds18b20 復位。2.寫入跳過 rom 的位元組命令,0xcc。3.寫入讀暫存的功能命令,0xbe。4.讀入第 0 個位元組 ls byte,轉換...

DS18B20溫度換算

dsi8b20接收到溫度轉換命令後,開始啟動轉換。轉換完成後的溫度值就以16位帶符號擴充套件的二進位制補碼形式儲存在高速暫存儲存器的0,1位元組。微控制器可通過單線介面讀到該資料,讀取時低位在前,高位在後,資料格式以0 062 5 lsb形式表示。溫度值格式如表2.2.1所示,其中 s 為標誌位,對...