摘要:在日常生活和工農(nóng)業(yè)生產(chǎn)中,經(jīng)常用到溫度檢測(cè)和控制。本系統(tǒng)主要以51單片機(jī)為核心,使用DS18B20溫度傳感器進(jìn)行檢測(cè),可實(shí)現(xiàn)溫度顯示、溫度調(diào)控和超溫預(yù)警等功能,具有硬件簡(jiǎn)單、功能齊全的特點(diǎn)。
關(guān)鍵詞:?jiǎn)纹瑱C(jī);DS18B20;數(shù)碼顯示
中圖分類(lèi)號(hào):TP391.8 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 17-0000-02
1 引言
隨著電子技術(shù)和微型計(jì)算機(jī)的迅速發(fā)展,微機(jī)測(cè)量和控制技術(shù)得到了迅速的發(fā)展和廣泛的應(yīng)用,給人們生活帶來(lái)了很多方便。在日常生活和工農(nóng)業(yè)生產(chǎn)中,經(jīng)常要用到溫度檢測(cè)和控制。單片機(jī)自問(wèn)世以來(lái),已成為主要的控制工具之一,具有處理能強(qiáng)、運(yùn)行速度快、功耗低等優(yōu)點(diǎn),應(yīng)用在溫度測(cè)量與控制方面,控制簡(jiǎn)單方便,測(cè)量范圍廣,精度較高。
2 硬件系統(tǒng)設(shè)計(jì)
本系統(tǒng)主要以AT89C51單片機(jī)為核心,使用DS18B20溫度傳感器進(jìn)行檢測(cè),可實(shí)現(xiàn)溫度顯示、溫度檢測(cè)、溫度調(diào)控和溫度預(yù)警等功能,具有硬件簡(jiǎn)單、功能齊全的特點(diǎn)。
系統(tǒng)總體框圖如下:
2.1 主控制器
主控制器采用目前市場(chǎng)上用量較大、比較普及的51系列中的89系列單片機(jī),AT89C51具有功耗低、體積小、控制簡(jiǎn)單的特點(diǎn),很適合應(yīng)用于便攜式產(chǎn)品的設(shè)計(jì)。
2.2 溫度檢測(cè)電路
傳感器選擇美國(guó)DALLAS公司推出的DS18B20溫度傳感器,它能直接讀出被測(cè)溫度,溫度精確度高達(dá)0.1度,可以滿(mǎn)足從-55攝氏度到+125攝氏度測(cè)量范圍,在許多工業(yè)控制中已經(jīng)足夠。DS18B20通過(guò)一個(gè)單線(xiàn)接口發(fā)送或接收信息,因此在中央微處理器和DS18B20之間僅需要一條連接線(xiàn)(加上地線(xiàn)),用于讀寫(xiě)和溫度轉(zhuǎn)換的電源可以從數(shù)據(jù)線(xiàn)本身獲得,無(wú)需外部電源。
DS18B20的測(cè)溫原理圖如圖2所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。
2.3 顯示電路
顯示電路采用6位LED數(shù)碼管,P0口輸出段選碼,位選輸出由P2.0-P2.5來(lái)進(jìn)行掃描控制。其中高3位LED顯示預(yù)設(shè)溫度,低3位LED顯示實(shí)際溫度,顯示精度為0.1度。
2.4 溫度報(bào)警及溫度調(diào)控電路
電路中設(shè)計(jì)了2個(gè)按鍵來(lái)進(jìn)行溫度調(diào)控,分別為加1鍵用來(lái)對(duì)預(yù)設(shè)溫度進(jìn)行加1操作,減1鍵用來(lái)對(duì)預(yù)設(shè)溫度進(jìn)行件1操作。當(dāng)實(shí)際溫度超出預(yù)設(shè)溫度時(shí),由蜂鳴器和小燈進(jìn)行聲光報(bào)警。
3 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)的軟件的主程序主要包括溫度讀取、溫度轉(zhuǎn)換、溫度顯示及溫度報(bào)警等功能模塊。其中溫度讀取子程序負(fù)責(zé)通過(guò)串口通信讀取18B20傳送來(lái)的溫度值,這個(gè)溫度值是二進(jìn)制數(shù)據(jù),必須通過(guò)溫度轉(zhuǎn)換子程序?qū)⑵滢D(zhuǎn)換成十進(jìn)制值,才能用于字符顯示。顯示子程序的功能是通過(guò)數(shù)碼顯示管顯示出實(shí)際測(cè)量到溫度值和預(yù)設(shè)的溫度值。溫度報(bào)警子程序的功能是把實(shí)際溫度和預(yù)設(shè)溫度進(jìn)行比較,如果超過(guò)預(yù)設(shè)值則控制聲光報(bào)警。
另外有兩個(gè)外部中斷子程序,分別實(shí)現(xiàn)預(yù)設(shè)溫度的加減調(diào)整。
總之,本系統(tǒng)設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)單、功能齊全、成本低廉且測(cè)量精度高,具有廣泛的應(yīng)用價(jià)值。
參考文獻(xiàn):
[1]郭天祥.新概念51單片機(jī)C語(yǔ)言教程[J].編程技術(shù),2009,1:8-12.
[2]李葉紫,王喜斌,胡輝,孫東輝.MCS-51單片機(jī)應(yīng)用教程,2004,3:12-13.
[3]摟然苗,李興飛.51系列單片機(jī)設(shè)計(jì)實(shí)例,2000.
[4]周杭慈.單片機(jī)程序設(shè)計(jì)基礎(chǔ),2003.