單線數(shù)字溫度傳感器DS18B20的原理與應(yīng)用
摘 要:介紹單線數(shù)字溫度傳感器ds1820的特性及工作原理,給出了ds1820與89c51單片機(jī)接口的應(yīng)用實例,以及由ds1820組成溫度檢測系統(tǒng)的方法,并給出了對ds1820進(jìn)行各種操作的軟件流程圖。關(guān)鍵詞:單線制(1-wire)時隙a/d變換 美國dallas公司生產(chǎn)的單線數(shù)字溫度傳感器ds1820,可把溫度信號直接轉(zhuǎn)換成串行數(shù)字信號供微機(jī)處理。由于每片ds1820含有唯一的硅串行數(shù)?所以在一條總線上可掛接任意多個ds1820芯片。從ds1820讀出的信息或?qū)懭雂s1820的信息,僅需要一根口線(單線接口)。讀寫及溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的ds1820供電,而無需額外電源。ds1820提供九位溫度讀數(shù),構(gòu)成多點溫度檢測系統(tǒng)而無需任何外圍硬件。本文給出了ds1820與89c51單片機(jī)接口的應(yīng)用實例和ds1820組成溫度檢測系統(tǒng)的方法,并給出了對ds1820進(jìn)行各種操作的軟件流程圖。1ds1820的特性·單線接口:僅需一根口線與mcu連接·無需外圍元件·由總線提供電源·測溫范圍為-55℃~75℃,精度為0.5℃·九位溫度讀數(shù)·a/d變換時間為200ms·用戶自設(shè)定溫度報警上下限,其值是非易失性的·報警搜索命令可識別哪片ds1820超溫度限2ds1820引腳及功能ds1820的引腳見圖1(pr35封裝)。 gnd:地;dq:數(shù)據(jù)輸入/輸出腳(單線接口,可作寄生供電);vdd:電源電壓。3ds1820的工作原理ds1820的內(nèi)部結(jié)構(gòu)如圖2所示。 由圖2可知,ds1820由三個主要數(shù)字器件組成:①64bit閃速rom;②溫度傳感器;③非易失性溫度報警觸發(fā)器th和tl。64bit閃速rom的結(jié)構(gòu)如下: 它既可寄生供電也可由外部5v電源供電。在寄生供電情況下,當(dāng)總線為高電平時,ds1820從總線上獲得能量并儲存在內(nèi)部電容上?當(dāng)總線為低電平時,由電容向ds1820供電。ds1820的測溫原理:內(nèi)部計數(shù)器對一個受溫度影響的振蕩器的脈沖計數(shù),低溫時振蕩器的脈沖可以通過門電路,而當(dāng)?shù)竭_(dá)某一設(shè)置高溫時振蕩器的脈沖無法通過門電路。計數(shù)器設(shè)置為-55℃時的值,如果計數(shù)器到達(dá)0之前,門電路未關(guān)閉,則溫度寄存器的值將增加,這表示當(dāng)前溫度高于-55℃。同時,計數(shù)器復(fù)位在當(dāng)前溫度值上,電路對振蕩器的溫度系數(shù)進(jìn)行補(bǔ)償,計數(shù)器重新開始計數(shù)直到回零。如果門電路仍然未關(guān)閉,則重復(fù)以上過程。溫度表示值為9bit,高位為符號位,其結(jié)構(gòu)如下: 820的使用,多采用單片機(jī)實現(xiàn)數(shù)據(jù)采集。處理時,將ds1820信號線與單片機(jī)一位口線相連,單片機(jī)可掛接多片ds1820,從而實現(xiàn)多點溫度檢測系統(tǒng)。系統(tǒng)對ds1820的操作以rom命令和存儲器命令形式出現(xiàn)。3.1rom命令代碼及其含義·readrom命令代碼[33h]:如果只有一片ds1820,可用此命令讀出其序列號,若在線ds1820多于一個,將發(fā)生沖突?!atchrom命令代碼[55h]:多個ds1820在線時,可用此命令匹配一個給定序列號的ds1820,此后的命令就針對該ds1820。·skiprom命令代碼[cch]:此命令執(zhí)行后的存儲器操作將針對在線的所有ds1820。·searchrdh命令代碼[f0h]:用以讀出在線的ds1820的序列號。·alarmsearch命令代碼[ech]:當(dāng)溫度值高于th或低于tl中的數(shù)值時,此命令可以讀出