李娟娟
(呂梁學(xué)院 物理系,山西 呂梁 033000)
溫度矩陣的采集與顯示
李娟娟
(呂梁學(xué)院 物理系,山西 呂梁 033000)
溫度是重要的物理參量,對人體溫度、環(huán)境溫度、糧倉溫度、儲油罐溫度等都需要進(jìn)行非常準(zhǔn)確的測量和精密的控制。該文介紹了單片機(jī)STC89C52為核心,使用DS18B20溫度傳感器的四路溫度采集與顯示系統(tǒng)的工作原理和設(shè)計方法。
溫度傳感器;溫度矩陣;單片機(jī)
目前,國際上新型的溫度傳感器正從集成化向智能化、從感應(yīng)模擬信號向感應(yīng)數(shù)字信號的方向發(fā)展;在技術(shù)上,以單片機(jī)控制的單參數(shù)單回路系統(tǒng)居多,分布式溫度集成測量系統(tǒng)較少。
本設(shè)計是實(shí)現(xiàn)四路溫度的采集與2*2溫度矩陣顯示,實(shí)現(xiàn)分布式集成溫度測量。設(shè)計了硬件電路以及軟件流程,實(shí)現(xiàn)CPU通過串行總線協(xié)議從四個溫度節(jié)點(diǎn)讀取溫度信息,51單片機(jī)對溫度數(shù)據(jù)進(jìn)行處理,然后以2*2溫度矩陣形式在LCD液晶屏上顯示,如果任一路或多路溫度超過設(shè)定值則蜂鳴報警。
1.1 系統(tǒng)硬件設(shè)計
本系統(tǒng)的主要硬件電路包括:溫度采集電路,時鐘電路,數(shù)碼管顯示電路,報警電路。系統(tǒng)結(jié)構(gòu)框圖如圖1所示,主要由溫度傳感器、單片機(jī)微控制器、LCD顯示、按鍵裝置、報警裝置五部分組成。
圖1 系統(tǒng)結(jié)構(gòu)框圖
STC89C52RC單片機(jī)是CMOS8位微控制器,具有8K系統(tǒng)可編程Flash存儲器,而且具備低功耗、高性能的優(yōu)勢。
溫度傳感器DS18B20屬于數(shù)字傳感器,在硬件方面使用集成芯片、軟件方面采用單總線技術(shù),能夠最大限度地減小外界干擾,提高測量精度。單片機(jī)首先讀取傳感器的唯一序列號,再讀取該傳感器的溫度。
單片機(jī)STC89C52的兩個XTAL接口接外部振蕩電路即時鐘電路,外部時鐘電路由兩個電容和一個晶振組成,為單片機(jī)提供振蕩頻率,振蕩電路如下圖2-1所示。當(dāng)感應(yīng)溫度高于設(shè)定值時,蜂鳴器鳴響,設(shè)定值可調(diào)整,報警電路連接如圖2-2所示。通過按鍵裝置可以自行調(diào)節(jié)溫度設(shè)定值,下圖2-3是按鍵模塊電路圖。
圖2-1 振蕩電路
圖2-2 蜂鳴報警電路
圖2-3 按鍵模塊電路
1.2 系統(tǒng)軟件設(shè)計
主控模塊選用STC89C52RC系列單片機(jī),與溫度傳感器連接發(fā)送匹配ROM命令,匹配ROM值,然后讀取各傳感器采集到的溫度信息,設(shè)置各溫度傳感器讀取到的溫度值在LCD上的顯示位置,再向LCD顯示器發(fā)送各傳感器的序列號及溫度值。與按鍵模塊以及報警模塊連接,通過按鍵可調(diào)節(jié)溫度的限定值,當(dāng)檢測到的某一路或幾路溫度超過該限定值,報警模塊發(fā)出警報。多路溫度采集系統(tǒng)的主程 序流程圖如圖3所示:
圖3 主程序流程圖
主程序讀取傳感器溫度的部分代碼如下:
void main(void) {……
temp=read_temp(1); //讀取第1個傳感器的溫度
write_com(0x83); //設(shè)置顯示位置
dispTemp(temp); //顯示
第1個傳感器的溫度
……}
DS18B20的單總線訪問協(xié)議的步驟如下所示:
(1)單片機(jī)通過程序?qū)S18B20進(jìn)行復(fù)位初始化,首先在單總線上發(fā)出持續(xù)的低電平復(fù)位脈沖,然后釋放單總線至少等待480μs并接收采樣,DS18B20發(fā)出低電平存在脈沖。
(2)單片機(jī)向DS18B20寫ROM操作指令,如果檢測到總線上存在存屬期間,單片機(jī)便可發(fā)送ROM操作命令。
(3)單片機(jī)向DS18B20寫RAM操作指令啟動溫度轉(zhuǎn)換,獲取供電方式。
(4)單片機(jī)與DS18B20進(jìn)行數(shù)據(jù)傳輸。若溫度有變化,則單片機(jī)向DS18B20發(fā)送讀溫度命令,DS18B20以16位二進(jìn)制補(bǔ)碼形式發(fā)送到數(shù)據(jù)總線。
讀取溫度傳感器的部分代碼如下:
#include <DS18B20.H>……
uint read_temp(uchar z)/*讀取溫度值并轉(zhuǎn)換*/{……
Init_DS18B20();
b20_Matchrom(z); //匹配ROM
WriteOneChar(0x44); //啟動溫度轉(zhuǎn)換
Delay_DS18B20(20); ……
WriteOneChar(0xBE); //讀取溫度寄存器
……}
用proteus軟件進(jìn)行仿真,將程序通過Keil軟件燒寫進(jìn)STC89C51單片機(jī),通過按鍵來控制測量溫度的上限。溫度傳感器將所測的溫度信息直接轉(zhuǎn)化成數(shù)字信號反饋給單片機(jī),單片機(jī)做出相應(yīng)的判斷。仿真結(jié)果如圖4所示。
設(shè)定溫度的報警閾值為28℃,調(diào)整四路溫度傳感器的溫度,觀察到LCD顯示屏上溫度矩陣的顯示且聽到溫度采集儀發(fā)出警報。
本設(shè)計完成了以STC89C52單片機(jī)為核心、以DS18B20為溫度傳感器的四路溫度矩陣顯示及報警系統(tǒng)的設(shè)計及仿真,創(chuàng)新點(diǎn)在于四路溫度在LCD上的矩陣顯示。
[1]王 哲,基于單片機(jī)的溫度控制系統(tǒng)設(shè)計[J].機(jī)械研究與應(yīng)用,2010(4).
[2]王運(yùn)志,郭水旺.單總線數(shù)字式恒溫控制裝置的設(shè)計[J].天中學(xué)刊,2008,10(5).
[3]侯學(xué)峰,溫度測量系統(tǒng)設(shè)計[J].吉林省教育學(xué)院學(xué)報(學(xué)科版),2008(1).
圖4 仿真電路
項(xiàng)目類型:呂梁學(xué)院校內(nèi)青年基金,項(xiàng)目編號:ZRQN201516,項(xiàng)目名稱:分布式溫度傳感器集成測量系統(tǒng)的研究。
李娟娟(1987— ),女,山西呂梁人,碩士研究生,助教;研究方向:微納傳感器及集成測量系統(tǒng)。