為什麼我的DS18B20總是顯示

時間 2023-02-25 20:10:05

1樓:走江湖的書生

先不要顯示採集資料,就直接顯示乙個變數值,看看顯示是否正確?或者根本就和採集沒關係。

ds18b20數碼管上顯示-000.06,是怎麼回事

2樓:匿名使用者

溫度讀取失敗了,估計是reset延遲時間不夠所致,因為這個產品太老了,讀取速度很慢。申矽凌微電子的ct1820與之相容,且速度比之快了近20倍。

uchar ct1820init()

}return 1;//初始化成功}

用ds18b20溫度顯示為什麼一直顯示0.06度,什麼原因 5

3樓:

比較一下初始化程式。

dq=1; /dq復位。

delay_ds18b20(1); 稍作延時dq=0; /產生復位脈衝。

delay_ds18b20(250); 精確延時,大於480us

dq=1; /拉高匯流排。

delay_ds18b20(5); 等待20us左右while(dq); 等待ds18b20發出存在脈衝delay_ds18b20(250); 脈衝持續100us左右dq=1; /無拉高匯流排,溫度顯示0度附近。

4樓:匿名使用者

沒啟動吧 程式問題。

ds18b20總是顯示 0攝氏度

5樓:聽聽—那冷雨

lcdinit() 放外面while外面。

顯示函式放在讀取溫度函式的下面,啟動溫度轉換後延時太久了吧,好像轉換一次對應一次資料。

另外可以軟體測試下復位ds18b20函式能否通過。

ds18b20共陰數碼管顯示一直是00.00 求問為什麼 15

6樓:匿名使用者

應該延時不夠精確引起,不知道你用的是什麼型號微控制器,ds18b20延時要求很嚴格,不同微控制器執行後延時不同的,而ds18b20要求的延時差一點點就會出現各種奇怪問題,慢慢調整延時試試吧。

ds18b20的精度問題 5

7樓:匿名使用者

你把測量值和實際值做成一套**或曲線圖,再做下濾波 不同的18b20溫度測出了有一兩度差別,這樣測出來的精度雖有也只是個樣子。

8樓:cindere鞡

ds18b20的測溫最小精度為,怎麼提高?

暫存器2的第四位為小數部分的精度,變化一位代表變化了,這個是沒辦法改變的。

但就目前我還沒看到過ds18b20的精度比還小的改善方法,如果你知道方法不管是不是ds18b20的,可以說出來討論下。

9樓:匿名使用者

18b20的測量精度是正負攝氏度,最高解析度是攝氏度(可設定取樣精度來改變解析度)。

可以將解析度提高或減小,但是精度是改不了的,由晶元決定了,可查閱datasheet。

比方說,你測得資料是:攝氏度,實際溫度有可能是度,也有可能是24度,這還不包括熱傳導帶來的精度影響。

改變解析度就簡單了,例如:讀取到到的溫度是0x01fc,實際溫度為:0x01fc*0.

0625攝氏度,要改為攝氏度的解析度,則:0x01fc*0.

0625*10,此時,每個bit代表攝氏度。

基於ds18b20的多點溫度檢測系統顯示為什麼老是閃爍且顯示-0.1

10樓:匿名使用者

分3步檢測那裡出了問題。

1,去掉多點,改成單點試試。

2,如果方法1不行將顯示**去掉,將結果直接輸出到埠上,判斷驅動是否正常。不正常改正。

3,ds18b20資料讀出後直接拋棄,換成正確的立即數寫入顯示**入口,看看顯示程式是否正常。

îòµäds18b20 ´®¿úïôê¾ò»ö±êçi5 äü±£ö¤³ìðòêçõýè·µä

為什麼我的ds18b20總是亂跳呢?以下是我的程式 請高人指點!!! 10

11樓:匿名使用者

因為單匯流排ic在讀寫資料的時候要關閉中斷,不然打斷他的時序,所以會亂七八糟的跳,也就是說你要在中間插入ea=0,ea=1。

ea=0;ds1820rst();

ds1820wr(0xcc);/跳過讀序列號*/ds1820wr(0x44);/啟動溫度轉換*//此處可以加句while(!dq) 等待溫度轉換完成。

ea=1;ea=0;

ds1820rst();

ds1820wr(0xcc);/跳過讀序列號*/ds1820wr(0xbe);/讀取溫度*/a=ds1820rd();

b=ds1820rd();

ea=1;採納我把。

12樓:小小公尺超人

延時太短了,你改一下延時試試。

ds18b20裡的溫度值正負判斷為什麼要判斷大於

科強小米 tem data l read byte 讀低8位資料,低8位資料格式 2 3,2 2,2 1,2 0,2 tem data h read byte 讀高8位資料,高8位資料格式 s,s,s,s,s,2 6,2 5 temp data tem data h 256 tem data l s...

用數碼管顯示ds18b20 為什麼顯示溫度一直不變

先用乙個資料變數顯示不同值,確定顯示部分是否正常。再確定溫度正不正常。數碼管顯示ds18b20溫度 完整才好改點,不完整的話,想除錯一下有些程式還得添啊剛剛編譯你的完整程式,有問題沒有通過 你怎麼都可以弄進去執行了呢?溫度十位。p2 1 p0 table1 a 1000000 100000 tabl...

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

先解決一個18b20,不用系列號的。再解決一個18b20,使用系列號的。最後,再解決二個18b20,使用系列號的。現在,你弄的規模這麼大,難說在那一個步驟,有問題。 舉例說明 八位二進位制為一位元組,那最大為 1111 1111 255.先將這個數除100得到百位2,然後100取餘為55,將取餘後的...