常用溫度傳器DS18B20的中文資料(特點(diǎn),管腳圖,寄存器及應(yīng)用電路及程序)
DS18B20特點(diǎn)
1.單線結(jié)構(gòu),只需一根信號(hào)線和CPU相連。
2. 不需要外部元件,直接輸出串行數(shù)據(jù)。
3. 可不需要外部電源,直接通過(guò)信號(hào)線供電,電源電壓范圍為3.3V~5V。
4.測(cè)溫精度高,測(cè)溫范圍為:一55℃~ 125℃,在-10℃~ 85℃范圍內(nèi),精度為±O.5℃。
5.測(cè)溫分辨率高,當(dāng)選用12位轉(zhuǎn)換位數(shù)時(shí),溫度分辨率可達(dá)0.0625℃。
6.?dāng)?shù)字量的轉(zhuǎn)換精度及轉(zhuǎn)換時(shí)間可通過(guò)簡(jiǎn)單的編程來(lái)控制:9位精度的轉(zhuǎn)換時(shí)間為93.75 ms:10位精度的轉(zhuǎn)換時(shí)間187.5ms:12位精度的轉(zhuǎn)換時(shí)間750ms。
7.具有非易失性上、下限報(bào)警設(shè)定的功能,用戶可方便地通過(guò)編程修改上、下限的數(shù)值。
8.可通過(guò)報(bào)警搜索命令識(shí)別哪片DS18820采集的溫度超越上、下限。
DS18B20引腳及管腳功能介紹
DS18B20的常用封裝有3腳、8腳等幾種形式,如圖1所示。各腳含義如下:
DQ:數(shù)字信號(hào)輸入/輸出端。
GND:電源地端。
VDD:外接供電電源輸入端(在寄生電源接線時(shí)此腳應(yīng)接地)。
DS18B20內(nèi)部結(jié)構(gòu)簡(jiǎn)要介紹:
DS18820的內(nèi)部結(jié)構(gòu)如圖3所示:主要有64位光刻ROM、溫度傳感器、非易失性溫度報(bào)警觸發(fā)器TH和TL、配置寄存器等組成。
1.64位光刻ROM是生產(chǎn)廠家給每一個(gè)出廠的DS18820命名的產(chǎn)品序列號(hào),可以看作為該器件的地址序列號(hào)。其作用是使每一個(gè)出廠的DS18820地址序列號(hào)都各不相同,這樣,就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18820的目的。
2.DS18820中的溫度傳感器完成對(duì)溫度的測(cè)量,輸出格式為:16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼。當(dāng)測(cè)溫精度設(shè)置為12位時(shí),分辨率為O.0625℃,即O.0625℃/LSB。其二進(jìn)制補(bǔ)碼格式如圖2所示。
其中,S為符號(hào)位,S=1,表示溫度 為負(fù)值;S=0,表示溫度為正值。例如 125℃的數(shù)字輸出為07D0H,-55℃的數(shù)字輸出為FC90H。一些溫度值對(duì)應(yīng)的數(shù)字輸出如圖4所示。
3.DS18820中的低溫觸發(fā)器TL、高溫觸發(fā)器TH,用于設(shè)置低溫、高溫的報(bào)警數(shù)值。DS18820完成一個(gè)周期的溫度測(cè)量后,將測(cè)得的溫度值和TL、TH相比較,如果小于TL,或大于TH,則表示溫度越限,將該器件內(nèi)的告警標(biāo)志位置位,并對(duì)主機(jī)發(fā)出的告警搜索命令作出響應(yīng)。需要修改上、下限溫度值時(shí),只需使用一個(gè)功能命令即可對(duì)TL、TH寫(xiě)入,十分方便。
4.DS18820中的高速暫存器是一個(gè)9字節(jié)的存儲(chǔ)器,其含意如圖5所示。
開(kāi)始兩個(gè)字節(jié)為被測(cè)溫度的數(shù)字量,其含義如圖2所示。第3、4、5字節(jié)分別為T(mén)H、TL、配置寄存器的復(fù)制,每一次上電復(fù)位時(shí)被重寫(xiě)。配置寄存器有R0、R1組成,其值決定溫度轉(zhuǎn)換的精度位數(shù)、轉(zhuǎn)換時(shí)間等,含義如圖6所示。第7字節(jié)為測(cè)溫計(jì)數(shù)的剩余值。第8字節(jié)為測(cè)溫時(shí)每度的計(jì)數(shù)值。第9 字節(jié)讀出的是前8個(gè)字節(jié)的CRC校驗(yàn)碼,通過(guò)此碼,可判斷通訊是否正確。
DS18B20的讀寫(xiě)操作介紹
(一)ROM操作命令:
1.讀命令(33H):通過(guò)該命令主機(jī)可以讀出DS18820的ROM中的8位系列產(chǎn)品代碼、48位產(chǎn)品序列號(hào)和8位CRC校驗(yàn)碼。該命令僅限于單個(gè)DS18B20在線的情況。
2.選擇定位命令(55H):當(dāng)多片DS18820在線時(shí),主機(jī)發(fā)出該命令和一個(gè)64位數(shù),DS18820內(nèi)部ROM與主機(jī)一致者,才響應(yīng)命令。該命令也可用于單個(gè)DS18820的情況。
3.查詢命令(0F0H):該命令可查詢總線上DS18B20的數(shù)目及其64位序列號(hào)。
4.跳過(guò)ROM序列號(hào)檢測(cè)命令(OCCH):該命令允許主機(jī)跳過(guò)ROM序列號(hào)檢測(cè)而直接對(duì)寄存器操作,該命令僅限于單個(gè)DS18820在線的情況。
5. 報(bào)警查詢命令(0ECH):只有報(bào)警標(biāo)志置位后,DS18B20才相應(yīng)該命令。
(二)存儲(chǔ)器操作命令:
1.寫(xiě)入命令(4EH):該命令可寫(xiě)入寄存器的第2、3、4字節(jié),即高低溫寄存器和配置寄存器。
復(fù)位信號(hào)發(fā)出之前,三個(gè)字節(jié)必須寫(xiě)完。
2.讀出命令(0BEH):該命令可讀出寄存器中的內(nèi)容,復(fù)位命令可終止讀出。
3.開(kāi)始轉(zhuǎn)換命令(44H):該命令使DS18B20立即開(kāi)始溫度轉(zhuǎn)換,當(dāng)溫度轉(zhuǎn)換正在進(jìn)行時(shí),主機(jī)這時(shí)讀總線將收到O;當(dāng)溫度轉(zhuǎn)換結(jié)束時(shí),主機(jī)這時(shí)讀總線將收到1。若用信號(hào)線給DS18820供電,則主機(jī)發(fā)出轉(zhuǎn)換命令后,必須提供至少相應(yīng)于分辨率的溫度轉(zhuǎn)換時(shí)間的上拉電平。
4.回調(diào)命令(088H):該命令把EEROM中的內(nèi)容寫(xiě)到寄存器TH、TL 及配置寄存器中。DS18820上電時(shí)能 自動(dòng)寫(xiě)入。
5.復(fù)制命令(48H):該命令把寄存器TH、TL及配置寄存器中的內(nèi)容寫(xiě)到EEROM中。
6讀電源標(biāo)志命令(084H):主機(jī) 發(fā)出該命令后,DS18B20將進(jìn)行響應(yīng), 發(fā)送電源標(biāo)志,信號(hào)線供電發(fā)O,外接 電源發(fā)1。
(三)DS18820的復(fù)位及讀寫(xiě)時(shí)序:
1.復(fù)位:對(duì)DS18B20操作之前,首先要將它復(fù)位。復(fù)位時(shí)序?yàn)椋?br>
(1)主機(jī)將信號(hào)線置為低電平,時(shí)間為480~960μ S。
(2)主機(jī)將信號(hào)線置為高電平,時(shí)間為15~60 μS。
(3)DS18B20發(fā)出60~240μS 的低電平作為應(yīng)答信號(hào)。主機(jī)收到此信 號(hào)后,才能對(duì)DS18820作其它操作。
2.寫(xiě)操作:主機(jī)將信號(hào)線從高電平 拉至低電平,產(chǎn)生寫(xiě)起始信號(hào)。從信號(hào) 線的下降沿開(kāi)始,在15~60 μS的時(shí) 間內(nèi)DS18820對(duì)信號(hào)線檢測(cè),如信號(hào) 線為高電平,則寫(xiě)1,如信號(hào)線為O,則 寫(xiě)0,從而完成了一個(gè)寫(xiě)周期。在開(kāi)始 另一個(gè)寫(xiě)周期前,必須有1 μ S以上的 高電平恢復(fù)期。
3.讀操作:主機(jī)將信號(hào)線從高電平 拉低至低電平1 μ S以上,再使數(shù)據(jù)線 升為高電平,產(chǎn)生讀起始信號(hào)。從主機(jī) 將信號(hào)線從高電平拉低至低電平起15~60 μS的時(shí)間內(nèi),DS18820將數(shù)據(jù)放到信號(hào)線上,供主機(jī)讀取。從而完成了一個(gè)讀周期。在開(kāi)始另一個(gè)讀周期前,必須有1 μ S以上的高電平恢復(fù)期。
DS18B20和51單片機(jī)AT89C2051的接口電路及程序設(shè)計(jì)
DS18B20和單片機(jī)AT89C2051的接口電路如處圖所示
用單片機(jī)AT89C2051的P1.7口線經(jīng)上拉后接至DS18820的引腳2數(shù)據(jù)端,引腳1接電源地端,引腳3接 5V電源端。
下面給出對(duì)DS18820的操作用匯編語(yǔ)言編寫(xiě)的具體程序。程序已在某產(chǎn)品中得到應(yīng)用。應(yīng)該說(shuō)明的是,程序?qū)?yīng)于單片機(jī)的時(shí)鐘頻率為6MHz,如改用其它時(shí)鐘頻率,程序中的延時(shí)應(yīng)重新調(diào)整。
|