【摘 要】介紹了DS18B20的生產(chǎn)廠家,傳感器特性,應(yīng)用范圍 ,引腳介紹,硬件連接,工作原理等。
【關(guān)鍵詞】DS18B20 單片機 硬件連接 溫度讀取
DS18B20是美國DALLAS半導(dǎo)體公司推出的第一片支持“一線總線”接口的溫度傳感器,它具有微型化、功率低、高性能、抗干擾能力強、易配微處理器等優(yōu)點。
一、應(yīng)用范圍
1.該產(chǎn)品適用于冷凍庫,糧倉,儲罐,電訊機房,電力機房,電纜線槽等測溫和控制領(lǐng)域。
2.軸瓦,缸體,紡機,空調(diào),等狹小空間工業(yè)設(shè)備測溫和控制。
3.汽車空調(diào)、冰箱、冷柜、以及中低溫干燥箱等。
4. 供熱/制冷管道熱量計量,中央空調(diào)分戶熱能計量和工業(yè)領(lǐng)域測溫和控制。
二、DS18B20的封裝形式
DS18B20數(shù)字溫度傳感器接線方便,封裝成后可應(yīng)用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號多種多樣,有LTM8877,LTM8874等等。主要根據(jù)應(yīng)用場合的不同而改變其外觀。封裝后的DS18B20可用于電纜溝測溫,高爐水循環(huán)測溫,鍋爐測溫,機房測溫,農(nóng)業(yè)大棚測溫,潔凈室測溫,彈藥庫測溫等各種非極限溫度場合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。
三、工作原理
怎樣將DS18B20中的溫度讀取出來呢?下面來簡單介紹
首先是DS18B20的的控制指令及詳細(xì)解釋。
1.33H——讀ROM。讀DS18B20溫度傳感器ROM中的編碼(即64位地址)
2.55H——匹配ROM.發(fā)出此指令之后,直接發(fā)出64位ROM編碼,訪問單總線與改編碼相對應(yīng)的DS18B20并使之做出響應(yīng),為下一步對該DS18B20的讀/寫做準(zhǔn)備。
3.F0H——搜索ROM。用于確定掛載在一總線上DS18B20的個數(shù),識別64位ROM地址,位操作各器件做好準(zhǔn)備。
4.CCH——跳過ROM。忽略64位ROM地址,直接向DS18B20發(fā)溫度變換指令,適用于一個從機工作。
5.ECH——告警搜索命令。執(zhí)行后只有溫度超過設(shè)定值的上限或下限的芯片才做出響應(yīng)。以上這些指令涉及到的ROM是64位光刻ROM,下表是各位的定義。
圖表0-5 64
位光刻ROM定義:
64位光刻ROM的序列號是出廠前被光刻好的,他可以看做是該DS18B20的省份證編碼。其各位排雷順序是:最前八位位產(chǎn)品類型號,中間48wie是該DS18B20自身的序列號,最后八位是前邊56位的CRC循環(huán)冗余檢驗碼(crc=x8+x5+x4+1)。光刻ROM使每個DS18B20都有不同的身份,就像人一樣在計算機中記錄的都是人但是可以用特殊的的編碼來識別,如:祖國省份市縣鎮(zhèn)村姓名性別省份證號等來識別。使每一個DS18B20都是這個世界上唯一的,這樣就可以實現(xiàn)一條總線上掛接多個DS18B20的目的。
當(dāng)主機需要對掛接在同一條總線上多個DS18B20中的其中一個進行操作時,首先應(yīng)將主機與全部的DS18B20進行逐個掛接,讀出其序列號然后單片機發(fā)出匹配ROM指令,這時就是對該DS18B20進行操作。
如果與主機相連的DS18B20只有一個,就不需要讀和匹配ROM編碼了,只要用跳過ROM 指令,就可進行溫度的轉(zhuǎn)換盒讀取操作。
DS18B20的溫度轉(zhuǎn)換和讀取操作指令:
1. 44H——溫度轉(zhuǎn)換。啟動DS18B20進行溫度轉(zhuǎn)換,12位轉(zhuǎn)換時長最長為750ms(9位位93.75ms)。結(jié)果存儲在9字節(jié)的RAM中。
2. BEH——讀暫存器。讀內(nèi)部9字節(jié)的溫度數(shù)據(jù)(也可為12字節(jié),看用戶使用的是哪個溫度分辨率)。
3. 4EH——寫暫存器。發(fā)出向內(nèi)部RAM的第二、三字節(jié)寫上、下限溫度數(shù)據(jù)的指令,緊跟該指令之后,是傳送兩字節(jié)的數(shù)據(jù)。
4. 48H——復(fù)制暫存器。將2,3字節(jié)的內(nèi)容復(fù)制到PROM中。
5. B8H——重調(diào)PROM。將PROM中的內(nèi)容復(fù)制到RAM中的第3,4字節(jié)。
6. B4H——讀供電方式。讀DS18B20的供電模式。寄生蟲供電模式時DS18B20發(fā)送0,外接電源供電時,DS18B20發(fā)送。
高速暫存RAN由9個字節(jié)的存儲器組成。第0個和第1個字節(jié)是溫度的顯示位;第2個和第3個字節(jié)是復(fù)制的TH和TL,第2個和第三個字節(jié)可以實時更新,單片機向他寫入什么溫度什么溫度就是觸發(fā)溫度。第4個字節(jié)是配置寄存器,同時第4個字節(jié)的數(shù)字可以更新;5,6,67三個字節(jié)是保留的。可電擦除的PROM又包括溫度觸發(fā)器TH和TL,以及一個配置寄存器。表0-7列出了溫度數(shù)據(jù)在高速暫存器RAM的第0個字節(jié)和第1個字節(jié)中的存儲格式。
DS18B20在出廠時默認(rèn)配置為12位,其中最高位為符號位,溫度位只有11位,,單片機讀數(shù)據(jù)時,一次會讀兩字節(jié)共16位,讀完后將低11位的二進制轉(zhuǎn)化為十進制數(shù)后再乘以0.625便為所測的實際溫度值.另外要判斷溫度正負(fù)。前5位為符號位,這五位同時變化,我們只需要判斷11位就行了,。前5位為1時,讀取的溫度為負(fù)值,實測溫度需要將測量溫度全部取反后加1再乘以0.0625才可以得到實際溫度。前五位為0時,讀取的溫度為正值,當(dāng)溫度為正值時,只需要將測得溫度值乘以0.0625即可得到實際溫度。
參考文獻(xiàn):
[1]馬臣崗, 孟立凡. 基于單總線式無線溫度采集系統(tǒng)設(shè)計[J].電子設(shè)計工程, 2010(3): 31-33.
[2]舒斌,吳建,仲志燕.基于單片機和FPGA的遠(yuǎn)程溫度監(jiān)控系統(tǒng)[J].現(xiàn)代電子技術(shù),2008,31(17):127-130.
[3]張軍. 智能溫度傳感器DS18B20及其應(yīng)用[J]. 儀表技術(shù), 2010, 4: 68-70.
[4]周學(xué)軍. 基于AT89C2051的數(shù)字溫度計設(shè)計[J]. 現(xiàn)代電子技術(shù), 2010, 17: 164-165.