DS18B20溫度測量

2021-06-22 16:51:19 字數 1432 閱讀 9343

1.ds18b20 復位。

2.寫入跳過 rom 的位元組命令,0xcc。

3.寫入開始轉換的功能命令,0x44。

4.延遲大約 750~900 毫秒

1.ds18b20 復位。

2.寫入跳過 rom 的位元組命令,0xcc。

3.寫入讀暫存的功能命令,0xbe。

4.讀入第 0 個位元組 ls byte,轉換結果的低八位。

5.讀入第 1 個位元組 ms byte,轉換結果的高八位。

6.ds18b20 復位,表示讀取暫存結束。

1.整合 ls byte 和 msbyte 的資料

2.判斷是否為正負數(可選)

3.求得十進位制值。正數乘以 0.0625,一位小數點乘以 0.625,二位小數點乘以 6.25。

4.十進位制的「個位」求出

1.微控制器拉低匯流排480us~950us, 然後釋放匯流排(拉高電平)。

2.這時ds18b20 會拉低訊號,大約 60~240us表示應答。

3.ds18b20 拉低電平的60~240us 之間,微控制器讀取匯流排的電平,如果是低電平,那麼表示復位成功。

4.ds18b20 拉低電平60~240us 之後,會釋放匯流排

1.微控制器拉低電平大約 10~15us。

2.微控制器持續拉低電平大約 20~45us 的時間。

3.釋放匯流排

1.微控制器拉低電平大約10~15us。

2.微控制器拉高電平大約20~45us 的時間。

3.釋放匯流排

1.在讀取的時候微控制器拉低電平大約 1us

2.微控制器釋放匯流排,然後讀取匯流排電平。

3.這時候 ds18b20 會拉低電平。

4.讀取電平過後,延遲大約 40~45 微妙

1.在讀取的時候微控制器拉低電平大約1us

2.微控制器釋放匯流排,然後讀取匯流排電平。

3.這時候ds18b20 會拉高電平。

4.讀取電平過後,延遲大約 40~45 微妙

ps:由於所用微控制器沒有顯示屏也沒有數碼管,所以**沒有得到驗證.

void delay_us(uint us)

}//寫資料

uchar ds18b20_read()

return temp;

}

#include /* common defines and macros */

#include "derivative.h" /* derivative-specific definitions */

#define dq ptp_ptp4

#define dqr ddrp_ddrp4

#define dqin ptip_ptip4

void main(void)

}

DS18B20溫度換算

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

溫度感測器 DS18B20

1.實物圖 2.64位 激 光刻唯讀儲存器 開始8位 28h 是產品型別標號,接著的48位是該ds18b20自身的序列號,最後8位是前面56位的迴圈冗餘校驗碼 光刻rom的作用是使每乙個ds18b20都各不相同,這樣就可以實現一根匯流排上掛接多個ds18b20的目的 3.溫度暫存器 高位元組的前5位...

溫度感測器DS18B20使用

因為乙個專案用到了ds18b20溫度感測器,剛開始使用之處,第一次對單線感測器進行控制,毫無經驗,也是碰了一頭灰,摔了一些坑。總結一下使用心得。ds18b20是單線數位化溫度感測器。溫度採集的控制介面為1位,通過該位可進行溫度資料的讀取,以及9 12位解析度的設定,對應的精度為0.5 c 0.016...