數(shù)字式溫度計(jì)DS18B20的特性及應(yīng)用
摘要:DS18B20是美國(guó)DALLAS公司生產(chǎn)的可完全替代DS1820的全新型單線數(shù)字式溫度計(jì)。文中介紹了DS18B20的性能結(jié)構(gòu)和與DS1820比較所具有的不同特點(diǎn),說明了DS18B20的使用要求。給出了DS18B20與單片機(jī)成成的測(cè)溫系統(tǒng)的應(yīng)用電路和檢測(cè)流程。
本文引用地址:http://butianyuan.cn/article/255618.htm關(guān)鍵詞:單線器件 數(shù)字式溫度儀 DS18B20
1 引言
DS18B20是美國(guó)DALLAS公司生產(chǎn)的一線式數(shù)字式溫度計(jì)芯片,它具有結(jié)構(gòu)簡(jiǎn)單,不需外接元件,采用一根I/O數(shù)據(jù)線既可供電又可傳輸數(shù)據(jù)、并可由用戶設(shè)置溫度報(bào)警界限等特點(diǎn),可廣泛用于食品庫、冷庫、糧庫等需要控制溫度的地方。DS18B20是DS1820的改進(jìn)型產(chǎn)品,但該產(chǎn)品具有比DS1820更好的性能,目前,該產(chǎn)品已成為DS1820的替代品而在溫控系統(tǒng)中得到廣泛的應(yīng)用。
2 DS18B20性能特點(diǎn)
與DALLAS公司生產(chǎn)的DS1820相比,DS18B20具有如下特點(diǎn):
●在-10℃~+85℃范圍內(nèi),DS18B20具有±0.5℃的精度。因而DS18B20在和DS1820的測(cè)溫精度相同時(shí),具有更寬廣的溫度范圍。
●分辨率為9~12位(包括1位符號(hào)位),并可由編程決定具體位數(shù);
●DS18B20的轉(zhuǎn)換時(shí)間與設(shè)定的分辨率有關(guān),當(dāng)設(shè)定為9位時(shí),最大轉(zhuǎn)換時(shí)間為93.75ms;10位時(shí)的轉(zhuǎn)換時(shí)間為187.5ms;11位時(shí)為375ms;12位時(shí)為750ms;
●電源電壓范圍為3.0V~5.5V;
●內(nèi)含程序設(shè)置寄存器,可用來設(shè)置分辨率位數(shù),該寄存器是DS1820所沒有的。其格式為:
TM | R1 | R0 | 1 | 1 | 1 | 1 | 1 |
其中,TM為測(cè)試模式位,為1表示測(cè)試模式,為0表示工作模式,出廠時(shí)該位設(shè)為0,且不可改變。R1和R0的設(shè)置組合與溫度分辨率有關(guān),具體關(guān)系見表1。
表1 溫度分辨率的設(shè)置
R1 | R2 | 分辨率的設(shè)置組合 |
0 | 0 | 9位 |
0 | 1 | 10位 |
1 | 0 | 11位 |
1 | 1 | 12信 |
●片內(nèi)帶有64位激光ROM:從高位算起,該ROM有一個(gè)字節(jié)的CRC校驗(yàn)碼,6個(gè)字節(jié)的產(chǎn)品序號(hào)和一個(gè)字節(jié)的家庭代碼。對(duì)于家庭代碼,DS1820是10H,DS18B20是28H。
●內(nèi)含溫度數(shù)據(jù)寄存器:該寄存器由兩個(gè)字節(jié)組成,實(shí)際上DS18B20中寄存器的字節(jié)定義或溫度值與DS1820不一樣,DS1820的分辨率為0.5℃,而DS18B20的12位分辨率為2~4℃。
3 DS18B20的應(yīng)用
DS18B20采用3腳TO-92封裝或8腳SOIC封裝。圖1是其采用8腳SOIC封裝的引腳排列圖。其中GND接地;VDD為電源端;DQ是數(shù)據(jù)輸入/輸出端;其余為空腳。
DS18B20的供電方式有兩種:一種為寄生電源,另一種為外加電源。
復(fù)位→ROM功能命令→存儲(chǔ)器功能命令→執(zhí)行/數(shù)據(jù)→
DSB1820的ROM命令有5個(gè),存儲(chǔ)器命令有6個(gè),這些命令字和功能同DS1820完全一樣。命令的執(zhí)行都是由復(fù)位、多個(gè)讀時(shí)隙或/和寫時(shí)隙基本時(shí)序單元組成。因此,只要將復(fù)位、讀時(shí)隙、寫時(shí)隙的時(shí)序了解清楚,使用DS18B20就比較容易了。
3.1 復(fù)位
使用DS18B20時(shí),首先需將其復(fù)位,然后才能執(zhí)行其它命令。復(fù)位時(shí),主機(jī)將數(shù)據(jù)線激發(fā)為低電平并保持480μs~960μs,然后釋放數(shù)據(jù)線,再由上拉電阻將數(shù)據(jù)線拉升15~60μs。然后再由DS18B20發(fā)出響應(yīng)信號(hào),以將數(shù)據(jù)線激發(fā)成低電平60~240μs,這樣,就完成了復(fù)位操作。其復(fù)位時(shí)序如圖2所示。
3.2 寫時(shí)隙
在主機(jī)對(duì)DS18B20寫數(shù)據(jù)(主機(jī)對(duì)DS18B20發(fā)送各種命令)時(shí),先將數(shù)據(jù)線激發(fā)為低電平,該低電閏應(yīng)大于1μs。然后根據(jù)寫“1”或?qū)憽?”來使數(shù)據(jù)線變高或繼續(xù)為低。DS18B20將在數(shù)據(jù)線變成低電平后15μs~60μs對(duì)數(shù)據(jù)線進(jìn)行采樣。要求寫入DS18B20的數(shù)據(jù)持續(xù)時(shí)間應(yīng)大于60μs而小于120μs,兩次寫數(shù)據(jù)之間的時(shí)間間隔應(yīng)大于1μs。寫時(shí)隙的時(shí)序如圖3所示。
3.3 讀時(shí)隙
當(dāng)主機(jī)從DS18B20讀數(shù)據(jù)時(shí),主機(jī)先數(shù)據(jù)線激發(fā)出低電平,然后釋放,以使數(shù)據(jù)線再升為高電平。DS18B20在數(shù)據(jù)線從高電平變?yōu)榈碗娖降?5μs內(nèi)將數(shù)據(jù)送到數(shù)據(jù)線上。主機(jī)可在15μs后讀取數(shù)據(jù)線以獲得數(shù)據(jù)。其時(shí)序圖如圖4所示。
4 基于DS18B20的溫度檢測(cè)系統(tǒng)
以DS18B20為傳感器,AT89C51單片機(jī)為控制核心組成的溫度巡回檢測(cè)系統(tǒng)的電路框圖如圖5所示。圖中,DS18B20的供電方式為外部電源,其I/O數(shù)據(jù)線與P1.0相連。在DS18B20接入系統(tǒng)之前,應(yīng)分別從激光ROM中讀出其序號(hào),然后分別賦予在系統(tǒng)中的編號(hào)1~n。該系統(tǒng)需要用鍵盤來設(shè)置溫度報(bào)警的門限值,并用七段LED顯示器顯示DS18B20的編號(hào)和測(cè)量的溫度值??捎?279鍵盤/顯示控制芯片和譯碼電路74LS154以及驅(qū)動(dòng)電路74LS245來完成該功能。當(dāng)測(cè)量溫度超出報(bào)警門限時(shí),系統(tǒng)將從P1.2~P1.3輸出光聲報(bào)警信號(hào)。其主要的溫度巡回檢測(cè)流程圖如圖6所示。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論