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

時間 2023-02-25 20:35:07

1樓:網友

先用乙個資料變數顯示不同值,確定顯示部分是否正常。再確定溫度正不正常。

數碼管顯示ds18b20溫度

2樓:匿名使用者

完整才好改點,不完整的話,想除錯一下有些程式還得添啊剛剛編譯你的完整程式,有問題沒有通過(你怎麼都可以弄進去執行了呢?):

//溫度十位。

p2=1;p0=table1[a%1000000/100000];/table[a%1000000/100000]; table1或者table2,沒有table

delayms(5);

//溫度個位,此位帶小數點。

問一下高手們剛做了乙個ds18b20溫度顯示的,但是顯示在數碼管上的數總是閃,我用的是動態掃瞄的方式顯示的

3樓:匿名使用者

如果你採用動態掃瞄方式數碼管閃爍說明你的重新整理掃瞄時間太長,以致於人眼能感覺出閃爍。當然,如果你確認你的掃瞄時間沒問題,那就要確認一下你在重新整理顯示的時候會不會被中斷,如果被中斷後會不會影響你顯示時序等以及中斷時間會不會太長。

如果你要通過中斷來顯示也行,只需用定時器定時,每隔一斷時間(比如200ms)顯示一下就ok了。當然,這裡邊會涉及到中斷的優先順序。不過具體情況還得具體分析哈。

ds18b20數碼管顯示溫度時,顯示的正常溫度數值總是亂跳成其他數字 不過時間很短

4樓:匿名使用者

可能是你重新整理的太快,它沒有完成一次轉換而就被你讀數了,以致於讀出了錯誤的數;而下一次讀時又是在它完成轉換後的值,所以又正確了……你試著把重新整理時間弄長一點試試,一般來說弄在2秒為佳。

求好心人解答,為啥數碼管不能正常顯示溫度(51微控制器控制ds18b20)

5樓:匿名使用者

電路中沒有最起碼的**電路,復位電路。。。

6樓:善青春

是不是ds18b20的時序控制程式的問題。

7樓:匿名使用者

程式配置上找 下原因。

我想用fpga數碼管顯示ds18b20測量的資訊。引腳怎麼連線啊?

8樓:網友

可以的。

上面是我做的fpga讀取ds18b20的例項。

ds18b20用fpga控制有點麻煩,因為fpga的時序處理複雜。所以你要嚴格遵守ds18b20的時序圖,按上面標明的時序進行處理。

ds18b20+89c51微控制器進行溫度控制和兩位數碼管顯示時,用isis**為什麼總是顯示00?

9樓:匿名使用者

通訊程式不對。因為預設情況下,第一次讀過來的應該是50h。

然後第二次讀過來的才是真實的資料。

你單步執行,看看第一次讀過來的溫度資料,是不是50h,就知道你的讀寫程式是不是對。如果讀寫對的情況下,你再檢查顯示是不是合適,或者你直接把讀溫度的程式先不要執行,先直接讓顯示99,看是不是正常,然後再驗證讀寫程式。

為什麼我的DS18B20總是顯示

先不要顯示採集資料,就直接顯示乙個變數值,看看顯示是否正確?或者根本就和採集沒關係。ds18b20數碼管上顯示 000.06,是怎麼回事 溫度讀取失敗了,估計是reset延遲時間不夠所致,因為這個產品太老了,讀取速度很慢。申矽凌微電子的ct1820與之相容,且速度比之快了近20倍。uchar ct1...

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遠距離傳輸大概100m的距離要求

有線傳輸 那就是每個ds18b20用一個簡單的微控制器 比如2051 控制,然後使用rs485傳輸到atmega16上。如果atmega16微控制器與上位機通訊要使用串列埠,但是5個ds18b20節點與atmega16的通訊也要使用串列埠 rs485 那就需要atmega16來切換串列埠通道了。或者...