ds18b20溫度轉換問題

2021-12-28 22:12:02 字數 807 閱讀 8963

1樓:泉修翁凡桃

1:接收資料為雙位元組--先低位,後高位;先低位元組,後高位元組;

2:高位元組的前5位若為「0」,則將資料乘以0.0625;即[t=(d*0.0625)].

3:高位元組的前5位若為「1」,則將資料先取反,再加一,再乘以0.0625;即

【t=[(~d)+1]*0.0625]】

溫度是-55~+125

對應的值是

:(-55>>ff92)

(-0.5>>ffff)

(0>>0000)

(0.5>>0001)

(125>>00fa)

2樓:倪豫葉羽

把tplsb和tpmsb都是8位的合成一個16位的有符號數tt;temp為浮點數

t=tpmsb<<8;

t=t|tplsb;

if(t<0)

//負溫度

else

temp=t*0.0625*10+0.5;

//正溫度

if(t<0)

bai='-';

//負溫度時百位顯示負號

else

bai=(const)

temp/1000+0x30;

//百位

shi=((const)

temp%1000)/100;

//十位

ge=((const)

temp%1000)%100/10;

//個位

shifen=((const)

temp%1000)%100%10;

//十分位

ds18b20的精度問題,DS18B20的精度問題

你把測量值和實際值做成一套 或曲線圖,再做下濾波 不同的18b20溫度測出了有一兩度差別,這樣測出來的精度雖有0.0625也只是個樣子 ds18b20的測溫最小精度為0.0625 怎麼提高?暫存器2的第四位為小數部分的精度,變化一位代表變化了0.0625 這個是沒辦法改變的。但就目前我還沒看到過ds...

溫度計的設計,(使用DS18B20)

at89c51微控制器 那可以的要求的撒 微控制器數字式溫度計設計,用ds18b20和12864液晶屏 1 我做過的是ds18b20 pic微控制器 數碼管顯示。2 也做過微控制器 熱電偶 12864顯示溫度3 最近要做的是,微控制器 ds18b20 數碼管顯示 時間顯示。有按鍵,設定溫度上限和下限...

我編寫ds18b20程式想顯示溫度在led燈上但

include reg52.h include include 要用到取絕對值函式abs define uchar unsigned char define uint unsigned int sbit ds p2 1 sbit ds p3 2 ds18b20 sbit duan p2 6 sbit...