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