ds18b20簡(jiǎn)介
DS18B20是常用的數(shù)字溫度傳感器,具有體積小,硬件開(kāi)銷(xiāo)低,抗干擾能力強(qiáng),精度高的特點(diǎn)。DS18B20數(shù)字溫度傳感器接線(xiàn)方便,封裝成后可應(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)域。
DS18B20引腳及管腳功能介紹
DS18B20的常用封裝有3腳、8腳等幾種形式,如圖1所示。各腳含義如下:

DQ:數(shù)字信號(hào)輸入/輸出端。
GND:電源地端。
VDD:外接供電電源輸入端(在寄生電源接線(xiàn)時(shí)此腳應(yīng)接地)。
DS18B20的特點(diǎn)
DS18B20 單線(xiàn)數(shù)字溫度傳感器,即“一線(xiàn)器件”,其具有獨(dú)特的優(yōu)點(diǎn):
( 1 )采用單總線(xiàn)的接口方式 與微處理器連接時(shí)僅需要一條口線(xiàn)即可實(shí)現(xiàn)微處理器與 DS18B20 的雙向通訊。單總線(xiàn)具有經(jīng)濟(jì)性好,抗干擾能力強(qiáng),適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,使用方便等優(yōu)點(diǎn),使用戶(hù)可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。
?。?2 )測(cè)量溫度范圍寬,測(cè)量精度高 DS18B20 的測(cè)量范圍為 -55 ℃ ~+ 125 ℃ ; 在 -10~+ 85°C范圍內(nèi),精度為 ± 0.5°C 。
?。?3 )在使用中不需要任何外圍元件。
( 4 )持多點(diǎn)組網(wǎng)功能 多個(gè) DS18B20 可以并聯(lián)在惟一的單線(xiàn)上,實(shí)現(xiàn)多點(diǎn)測(cè)溫。
( 5 )供電方式靈活 DS18B20 可以通過(guò)內(nèi)部寄生電路從數(shù)據(jù)線(xiàn)上獲取電源。因此,當(dāng)數(shù)據(jù)線(xiàn)上的時(shí)序滿(mǎn)足一定的要求時(shí),可以不接外部電源,從而使系統(tǒng)結(jié)構(gòu)更趨簡(jiǎn)單,可靠性更高。
?。?6 )測(cè)量參數(shù)可配置 DS18B20 的測(cè)量分辨率可通過(guò)程序設(shè)定 9~12 位。
?。?7 ) 負(fù)壓特性電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。
?。?8 )掉電保護(hù)功能 DS18B20 內(nèi)部含有 EEPROM ,在系統(tǒng)掉電以后,它仍可保存分辨率及報(bào)警溫度的設(shè)定值。
DS18B20 具有體積更小、適用電壓更寬、更經(jīng)濟(jì)、可選更小的封裝方式,更寬的電壓適用范圍,適合于構(gòu)建自己的經(jīng)濟(jì)的測(cè)溫系統(tǒng),因此也就被設(shè)計(jì)者們所青睞。
DS18B20內(nèi)部結(jié)構(gòu)
主要由4部分組成:64 位ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼,每個(gè)DS18B20的64位序列號(hào)均不相同。64位ROM的排的循環(huán)冗余校驗(yàn)碼(CRC=X^8+X^5+X^4+1)。 ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線(xiàn)上掛接多個(gè)DS18B20的目的。

DS18B20內(nèi)部構(gòu)成
高速暫存存儲(chǔ)器由9個(gè)字節(jié)組成,當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲(chǔ)器的第0和第1個(gè)字節(jié)。單片機(jī)可通過(guò)單線(xiàn)接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,對(duì)應(yīng)的溫度計(jì)算:當(dāng)符號(hào)位S=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時(shí),先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。


DS18B20中的溫度傳感器完成對(duì)溫度的測(cè)量,用16位二進(jìn)制形式提供,形式表達(dá),其中S為符號(hào)位。

例如:
+125℃的數(shù)字輸出07D0H
?。ㄕ郎囟戎苯影?6進(jìn)制數(shù)轉(zhuǎn)成10進(jìn)制即得到溫度值 )
-55℃的數(shù)字輸出為 FC90H。
?。ㄘ?fù)溫度把得到的16進(jìn)制數(shù)取反后加1 再轉(zhuǎn)成10進(jìn)制數(shù))

ds18b20的工作時(shí)序
初始化時(shí)序

主機(jī)首先發(fā)出一個(gè)480-960微秒的低電平脈沖,然后釋放總線(xiàn)變?yōu)楦唠娖?,并在隨后的480微秒時(shí)間內(nèi)對(duì)總線(xiàn)進(jìn)行檢測(cè),如果有低電平出現(xiàn)說(shuō)明總線(xiàn)上有器件已做出應(yīng)答。若無(wú)低電平出現(xiàn)一直都是高電平說(shuō)明總線(xiàn)上無(wú)器件應(yīng)答。
做為從器件的DS18B20在一上電后就一直在檢測(cè)總線(xiàn)上是否有480-960微秒的低電平出現(xiàn),如果有,在總線(xiàn)轉(zhuǎn)為高電平后等待15-60微秒后將總線(xiàn)電平拉低60-240微秒做出響應(yīng)存在脈沖,告訴主機(jī)本器件已做好準(zhǔn)備。若沒(méi)有檢測(cè)到就一直在檢測(cè)等待。
寫(xiě)操作

寫(xiě)周期最少為60微秒,最長(zhǎng)不超過(guò)120微秒。寫(xiě)周期一開(kāi)始做為主機(jī)先把總線(xiàn)拉低1微秒表示寫(xiě)周期開(kāi)始。隨后若主機(jī)想寫(xiě)0,則繼續(xù)拉低電平最少60微秒直至寫(xiě)周期結(jié)束,然后釋放總線(xiàn)為高電平。若主機(jī)想寫(xiě)1,在一開(kāi)始拉低總線(xiàn)電平1微秒后就釋放總線(xiàn)為高電平,一直到寫(xiě)周期結(jié)束。而做為從機(jī)的DS18B20則在檢測(cè)到總線(xiàn)被拉底后等待15微秒然后從15us到45us開(kāi)始對(duì)總線(xiàn)采樣,在采樣期內(nèi)總線(xiàn)為高電平則為1,若采樣期內(nèi)總線(xiàn)為低電平則為0。
讀操作

對(duì)于讀數(shù)據(jù)操作時(shí)序也分為讀0時(shí)序和讀1時(shí)序兩個(gè)過(guò)程。讀時(shí)隙是從主機(jī)把單總線(xiàn)拉低之后,在1微秒之后就得釋放單總線(xiàn)為高電平,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€(xiàn)上。DS18B20在檢測(cè)到總線(xiàn)被拉低1微秒后,便開(kāi)始送出數(shù)據(jù),若是要送出0就把總線(xiàn)拉為低電平直到讀周期結(jié)束。若要送出1則釋放總線(xiàn)為高電平。主機(jī)在一開(kāi)始拉低總線(xiàn)1微秒后釋放總線(xiàn),然后在包括前面的拉低總線(xiàn)電平1微秒在內(nèi)的15微秒時(shí)間內(nèi)完成對(duì)總線(xiàn)進(jìn)行采樣檢測(cè),采樣期內(nèi)總線(xiàn)為低電平則確認(rèn)為0。采樣期內(nèi)總線(xiàn)為高電平則確認(rèn)為1。完成一個(gè)讀時(shí)序過(guò)程,至少需要60us才能完成
ds18b20應(yīng)用電路

DS18B20應(yīng)用電路 Ds1820_Bus = 0; //產(chǎn)生下降沿,進(jìn)入寫(xiě)時(shí)序(15us內(nèi)送上數(shù)據(jù))
Ds1820_Bus = data_1820&0x01; //從低位開(kāi)始送數(shù)
Delay_X15us(3);//延時(shí)45us,保證18b20采樣到數(shù)據(jù)
Ds1820_Bus = 1; //拉高電平完成送數(shù)
Delay_X15us(1);//連續(xù)送數(shù)要間隔至少1us(這里15us)
data_1820》》=1;//移位
?
