DS18B20簡介
DS18B20是常用的數字溫度傳感器,具有體積小,硬件開銷低,抗干擾能力強,精度高的特點。 DS18B20數字溫度傳感器接線方便,封裝成后可應用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號多種多樣,有LTM8877,LTM8874等等。
主要根據應用場合的不同而改變其外觀。封裝后的DS18B20可用于電纜溝測溫,高爐水循環測溫,鍋爐測溫,機房測溫,農業大棚測溫,潔凈室測溫,彈藥庫測溫等各種非極限溫度場合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設備數字測溫和控制領域。
單個18B20實現溫度測試步驟
該文檔所用程序為FREESCALE JM60單片機,總線時鐘為8M,若要移植到其它MCU上,需要將時間重新調節,或者更改總線時鐘頻率的輸出;
電路圖
DS18B20工作協議:初始化,存儲器操作命令,處理數據;
在關于時序的編寫中,for循環中的NOP指令,和單獨調用的NOP指令所用時間完全不同;NOP占用1/總線時
鐘的時間;如JM60的總線時鐘為8M,則NOP指令一定占用0.125US,而將NOP放在FOR循環中,由于FOR的判斷指令,加法指令,以及轉子程序等等消耗的時間很長,遠遠大于一個NOP的指令,此時,若要獲得執行代碼的精確時間,最好用示波器觀察,再得出最直接的結果;
在單片機的使用中,不要用浮點數,全部用整數代替,在數據進行移位作乘法時,一定要注意數據有沒有越界,算出來的數很容易出現錯誤,并且在出現浮點數時,可以將數據放大到一定的精度,然后在顯示時,將小數點移到對應的位置即可;
在數據做乘法容易越界時,一般將其賦給一個字節多的整數,作為中間變量運算,在確保數據不會越界后,再將其賦給最后結果;
初始化時序