郭鐵橋
在工業(yè)生產(chǎn)過(guò)程中需要實(shí)時(shí)監(jiān)測(cè)溫度,農(nóng)業(yè)生產(chǎn)中也離不開(kāi)溫度的測(cè)量,因此研究溫度的測(cè)量顯示具有很重要的意義。
本文設(shè)計(jì)了一種用于監(jiān)測(cè)環(huán)境溫度的溫度測(cè)量液晶顯示系統(tǒng),重點(diǎn)介紹了數(shù)字溫度傳感器DS18B20在系統(tǒng)中的應(yīng)用。
基于DS18B20的溫度測(cè)量顯示系統(tǒng)由DS18B20溫度傳感器、89S51、液晶顯示模塊、蜂鳴器等組成。溫度傳感器DS18B20將被測(cè)環(huán)境溫度轉(zhuǎn)化成帶符號(hào)的數(shù)字信號(hào)(以16位補(bǔ)碼形式,占兩個(gè)字節(jié)),傳感器可置于離裝置150 m以?xún)?nèi)的任何地方,I/O引腳直接與單片機(jī)的P1.4相連,R1為上拉電阻,傳感器采用外部電源供電方式,AT89S51是整個(gè)裝置的控制核心,顯示器模塊采用LCD顯示模塊,所測(cè)溫度3 s刷新顯示一次,系統(tǒng)電路見(jiàn)圖1。
溫度傳感器采用12位輸出,分辨率為0.062 5℃,溫度最大轉(zhuǎn)換時(shí)間為750 ms[4],該系統(tǒng)的顯示輸出保留1位小數(shù),分辨率為0.1℃。另外系統(tǒng)還設(shè)定溫度上下限進(jìn)行超溫、低溫報(bào)警。
系統(tǒng)程序分傳感器測(cè)溫程序、溫度轉(zhuǎn)換十進(jìn)制程序和顯示程序等幾部分,其流程圖見(jiàn)圖2。
DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器。它具有體積小,接口方便,傳輸距離遠(yuǎn)等特點(diǎn)[5]。每一個(gè)DS18B20均有一個(gè)唯一64位的序號(hào),它是傳感器的地址序列號(hào),在出廠前被光刻好,因此多個(gè)DS18B20可以掛接在同一根總線上進(jìn)行多路測(cè)量。
DS18B20采用3腳PR-35封裝或8腳SOIC封裝,I/O為數(shù)據(jù)輸入/輸出端(即單線總線),它屬于漏極開(kāi)路輸出,外接上拉電阻后,常態(tài)下呈高電平。VDD是可供選用的外部+5 V電源,不用時(shí)需接地。GND為地。DS18B20由以下部分組成:1)寄生電源;2)溫度傳感器;3)64位激光 ROM與單線接口;4)高速暫存器,即便箋式RAM,用于存放中間數(shù)據(jù);5)TH觸發(fā)寄存器和TL觸發(fā)寄存器,分別用來(lái)存儲(chǔ)用戶(hù)設(shè)定的溫度上下限值;6)存儲(chǔ)與控制邏輯;7)8位循環(huán)冗余校驗(yàn)碼(CRC)發(fā)生器[6]。
DS18B20的電源供電方式有兩種:一種是外部電源供電,GND接地,I/O與單片機(jī)的I/O線相連,見(jiàn)圖3;另一種是寄生電源供電,VDD,GND接地,I/O線接單片機(jī)I/O,見(jiàn)圖4。無(wú)論是哪種供電方式,I/O口線都要接5 K左右的上拉電阻[4]。
DS18B20的ROM操作指令:33H讀ROM;55H匹配 ROM;CCH跳過(guò)ROM;FOH搜索ROM;ECH告警搜索。DS18B20的RAM操作指令:4EH寫(xiě)暫存存儲(chǔ)器;BEH讀暫存存儲(chǔ)器;48H復(fù)制暫存存儲(chǔ)器;44H溫度變換;B8H重新調(diào)出;B4H讀電源。指令的使用如下:MOV A,#OCCH;CCH為跳過(guò)ROM指令;LCALL WRIT18B20;WRIT18B20為寫(xiě)命令子程序。
單片機(jī)對(duì)DS18B20的每一步操作都要遵循嚴(yán)格的工作時(shí)序和通訊協(xié)議,訪問(wèn)過(guò)程是:首先對(duì)DS18B20初始化,再進(jìn)行ROM操作命令,最后才能對(duì)存儲(chǔ)器數(shù)據(jù)操作。如主機(jī)控制DS18B20完成溫度轉(zhuǎn)換、讀取溫度值這一過(guò)程,步驟為先進(jìn)行初始化操作,再發(fā)送44H指令進(jìn)行溫度轉(zhuǎn)換,延長(zhǎng)一段時(shí)間后,再次初始化操作,發(fā)送BEH指令進(jìn)行讀取溫度值,然后將所得溫度值轉(zhuǎn)存[5]。
DS18B20的讀操作子程序流程圖見(jiàn)圖5,寫(xiě)操作子程序流程圖見(jiàn)圖6。
數(shù)字單總線溫度傳感器是目前最新的測(cè)溫器件,它相當(dāng)于傳統(tǒng)溫度傳感器+A/D轉(zhuǎn)換+CPU+單總線協(xié)議及接口,具有單總線結(jié)構(gòu),數(shù)字量輸出,直接與微機(jī)接口等優(yōu)點(diǎn),既可用它組成單路溫度測(cè)量裝置,也可用它組成多路溫度測(cè)量裝置。本文介紹的單路溫度測(cè)量顯示系統(tǒng)在室溫下進(jìn)行實(shí)際測(cè)試,工作完全正常,達(dá)到了預(yù)期要求。
[1] 張志良.單片機(jī)原理與控制技術(shù)[M].北京:機(jī)械工業(yè)出版社,2006.
[2] 孫涵芳,徐愛(ài)卿.單片機(jī)原理及應(yīng)用[M].北京:航空航天大學(xué)出版社,2006.
[3] 深圳錦昌電子有限公司.圖形點(diǎn)陣液晶顯示模塊使用手冊(cè)DM12864M[Z].
[4] DS18B20 Programmable resolution 1-Wire Digital Thermometer Datesheet.
[5] 江世明,劉先任.基于DS18B20的智能溫度測(cè)量裝置[J].邵陽(yáng)學(xué)院學(xué)報(bào)(自然科學(xué)版),2004,1(4):27-30.
[6] 沙占友,王彥朋.單片機(jī)外圍電路設(shè)計(jì)[M].北京:電子工業(yè)出版社,2008.