西安工程大學(xué)電信學(xué)院 劉曉春
水溫測量模塊用于測量器皿中水的溫度。系統(tǒng)需要利用測溫傳感器檢測出水的實時溫度,是控制模塊做出正確的反應(yīng),控制水的溫度,對于測溫傳感器本文選擇DS18B20單總線可編程溫度傳感器,來實現(xiàn)對溫度的采集和轉(zhuǎn)換,大大簡化了電路的復(fù)雜度??刂破鞑糠直疚牟捎?1系列的89C51作為系統(tǒng)的控制器。單片機算術(shù)運算功能強,軟件編程靈活,自由度大,可用軟件編程實現(xiàn)各種算法,并且具有功耗低,體積小,技術(shù)成熟,成本低廉等有點,使其在各個領(lǐng)域應(yīng)用廣泛。
系統(tǒng)總體結(jié)構(gòu)分為:DS18B20模塊,顯示模塊,繼電器模塊,鍵盤輸入模塊,DS18B20可以被編程,所以箭頭是雙向的,89C51首先寫入命令給DS18B20,然后DS18B20開始轉(zhuǎn)換數(shù)據(jù),轉(zhuǎn)換后通過89C51來處理數(shù)據(jù)。數(shù)據(jù)處理后的結(jié)果就顯示到數(shù)碼管上,模塊如圖1所示。
圖1 模塊圖
圖2 系統(tǒng)各模塊之間工作順序
圖3 DS18B20管腳圖
圖4 DS18B20模塊的接口
圖5 繼電器接口模塊
圖6 總體流程圖
本系統(tǒng)的執(zhí)行方法是循環(huán)查詢執(zhí)行的,鍵盤掃描也是用循環(huán)查詢的辦法,由于本系統(tǒng)對實時性要求不是很高,所以沒有用到中斷方式來處理,系統(tǒng)模塊如圖2所示。
DS18B20與單片機的連接電路簡單,如圖5,與單片機的數(shù)據(jù)通信采用串行通信已完成其對溫度信息的采集與轉(zhuǎn)換。
DSl8B20的外觀及引腳如圖4,有3個引腳。VDD接電源,電壓范圍為3.0v~5.5V,它的供電方式有2種,一個是通過數(shù)據(jù)線供電,一個是加外電源。GND為接地線。DQ為數(shù)據(jù)線,通過小電阻與單片機連接,進行數(shù)據(jù)通訊。數(shù)據(jù)可輸入亦可輸出。
因為DS18B20的溫度存儲單元中的代碼不是實際的攝氏溫度值,所以讀出的數(shù)據(jù)要進行轉(zhuǎn)換處理,因為精度是0.0625,所以我們只需要將其轉(zhuǎn)換成十進制再乘0.0625便可得到溫度值。由于它可以測負溫度,所以再進行換算時首先要判斷是正溫度還是負溫度,存儲單元的高五位的值決定了溫度的正負,若全為1則是負溫度反之則為正溫度。低4位存放的是溫度的小數(shù)部分,本設(shè)計采用精度為0.1℃,所以處理時將低四位乘0.0625后進行小數(shù)舍入保留一位。中間7位為溫度的整數(shù)部分。
我們采用四個獨立鍵盤,分別是:S1,S2,S3,S4。
圖5是一個蜂鳴器和一個繼電器的圖,我們只用到了繼電器的圖,繼電器和單片機的P1.3口進行通訊。繼電器用于控制加熱器的導(dǎo)通與關(guān)閉,其導(dǎo)通與關(guān)閉時間由單片機控制,從而維持水溫的平衡。如圖7所示,繼電器與單片機的P3.7口連接,當(dāng)P3.7口輸出一個低電平的時候,繼電器上電導(dǎo)通,開關(guān)打下,加熱器件導(dǎo)通開始加熱。
顯示模塊采用動態(tài)顯示數(shù)碼管,我們用到前面四個數(shù)碼管,P0口是送字符的,P2口是用來位選數(shù)碼管的。
本系統(tǒng)采用的是循環(huán)查詢方式,來顯示和控制溫度的??傮w流程圖如6所示。
[1]江力.單片機原理與應(yīng)用技術(shù)[M].清華大學(xué)出版社.
[2]王兆月,等編著.微型計算機接口技術(shù)[M].機械工業(yè)出版社.
[3]江曉安,等編著.數(shù)字電子技術(shù)[M].西安電子科技大學(xué)出版社.
[4]DS18B20官方文檔[OL].DS18B20官方英文站點下載.
[5]宋悅孝.電子測量與儀器[M].電子工業(yè)出版社.
[6]文代瓊.智能水溫控制系統(tǒng)設(shè)計[J].宜賓學(xué)院學(xué)報,2007.