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