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