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