我想用微控制器寫個ds18b20溫度感測器的程式但是讀

時間 2021-09-10 12:09:58

1樓:匿名使用者

先解決一個18b20,不用系列號的。再解決一個18b20,使用系列號的。最後,再解決二個18b20,使用系列號的。現在,你弄的規模這麼大,難說在那一個步驟,有問題。

2樓:

舉例說明:八位二進位制為一位元組,那最大為(1111 1111)255.,先將這個數除100得到百位2,然後100取餘為55,將取餘後的值55再除以10得到十位5,再用10取餘得到個位數字5,那十進就為255;

再比如說二進位制為(0001 1101)29,先將這個數除100得到百位0,然後100取餘29,將取餘後的值再除以10得到十位2,再用10取餘得到個位數字9。不知道聽懂了沒有?

當然ds18b20輸出的溫度值為兩個位元組,即16位,其中高位元組的高5位為溫度符號位,即溫度為正還是負(零下),下來高位元組的低位與低位元組的高四位組成溫度的整數部分,低位元組的低四位為溫度值的小數部分。把11位的2進位制溫度值轉化為10進位制後在乘以0.0625便為所測的溫度,

好好看下ds18b20的資料手冊應該都能瞭解,希望對你有幫助。不懂可以再問!

求救關於c51微控制器ds18b20溫度顯示的問題

include define uint8 unsigned int 8 bit define uint unsigned int 8 bit define uint16 unsigned long 16 bit define date pb0 io 0 int 1 define dateio 15 ...

51微控制器的ds18b20,51微控制器與DS18B20程式

匯流排拉低,就是由微控制器控制,使dq 0。由於一般dq是結在集電極開路輸出口上,實際上微控制器在dq上輸出的高電平是靠上拉電阻來實現電位變高的。可以理解為,微控制器 不使 dq 0。那麼此時dq 1即是高電平,實際上也就是微控制器放棄了dq的控制,這個高電平僅僅是因為上拉電阻提供的,dq的控制權就...

我在使用ds18b20檢測溫度,溫度20時,是正常的,溫度20時,返回值是0xff,0xff,請教高手為什麼

應該是你的程式上出來還存在小問題。 近期通過ds18b20再加lcd1602加序列輸出除錯成功,的lcddata埠p0 包括 包括 stc12c5a.h 定義xtal 11059200 杯晶振頻率 定義波特率9600 通訊波特率 定義uchar無符號字元型 定義的uint無符號整數 br p sbi...