摘 要:為了實現(xiàn)現(xiàn)實生活中所需要的溫度檢測與控制,本文以AT89C51單片楓為棱心,設(shè)計一種具有時鐘功能的溫度自動調(diào)節(jié)控翻的溫度控制器,給出控制器的硬件結(jié)構(gòu)框架與軟件設(shè)計方案。同時本文采用了單總線數(shù)字式溫度傳毒器DSI8B20進行溫度測量,電路具有結(jié)構(gòu)簡單,精度高,價格低廉等特點,能夠廣泛應(yīng)用于智能儀器儀表中。
1、測溫芯片DS18B20及其應(yīng)用
1.1 DS18B20芯片介紹
DSl8B20是美國DALLAS半導(dǎo)體器件公司推出的單總線數(shù)字化智能集成溫度傳感器。與其它溫度傳感器相比,DSl8B20具有以下特性I21:(1)獨特的單線接口方式。(2) DS18B20支持多點組網(wǎng)功能,多個 DS18B20可以并聯(lián)在唯一的信號線上,實現(xiàn)多點測溫。(3)DS18B20在使用中不需要任何外圍元件。(4)測溫范圍-55℃~+125℃,固有測溫分辨率0.625℃。(5)測量結(jié)果以9~l2位數(shù)字量方武串行傳送。
1.2 DS18B20與微控制器的典型接口設(shè)計
DS18B20與微控制器的連接可采用兩種方式:一一是外接電源方式。圖1為DS18B20與微控制器的連接圖,DQ端接P2.2,單片機對DSl8B20讀出或?qū)懭霐?shù)據(jù)僅需P2.2一根I/O口線,它是以串行通信的方式與單片機進行數(shù)據(jù)通信的。另一種是采用寄生電源方式,具體連接方式可參考文獻[3]。
1.3 DS18820的軟件設(shè)計
對于DSl8B20進行數(shù)據(jù)通信時應(yīng)符合l—Wire總線協(xié)議.否則DS18B20將不會響應(yīng)。單片機訪問DS18B20需遵循以下 3個步驟[4]。
(1)初始化
(2)發(fā)送ROM命令。
(3)發(fā)送DS18B20功能命令。
2、數(shù)字溫度時鐘控制器的實現(xiàn)
2.1 數(shù)字溫度時鐘控制器的硬件實現(xiàn)
圖 1 DS18820與單片機的連接圖
本系統(tǒng)豐要由主控芯片AT89C5l單 片機,溫度檢測芯片 DSl8B20以及鍵盤輸入和液晶顯示組成。系統(tǒng)框圖如圖2所示。
AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機,其硬件資源足以提供給該控制器的實現(xiàn),并可以通過軟件的更新對整個系統(tǒng)進行優(yōu)化和升級。在該控制器中單片機通過P2.2口將溫度傳感器的數(shù)據(jù)采集進來,通過軟件的初始化和采集將實時溫度顯示在LcD屏幕上,同時在主程序中完成電子時鐘的功能設(shè)計,在屏幕的下方進行顯示。如果有中斷產(chǎn)生單片機可以講此時的時間和溫度記錄下來寫入到存儲器當(dāng)中去。
2.2 數(shù)字溫度時鐘控制器的軟件件實現(xiàn)
圖3是簡單的系統(tǒng)程序流程圖。
如圖 3所示系統(tǒng)上電復(fù)位后首先進入初始化狀態(tài),在此初始化時鐘的定時器數(shù)據(jù),和溫度采集的控制位數(shù)據(jù)。,然后系統(tǒng)啟動定時,程序進入一個循環(huán)掃描并顯示的過程,此時LCD上面同時顯示實時溫度與時鐘。
3、結(jié) 語
DS18B20為一線式溫度傳感器,與單片機連接只需一根I/0線,而顯示溫度和時間的三線式串行接口液晶模塊也最多占有單片機的 3根 I/O線,加上調(diào)整時鐘的按鍵所占 I/0線,一般就是 l0根左右 I/0線即可,故電路的硬件組成相當(dāng)簡單。從軟件上看,單總線芯片工作量稍大些,且必須按照嚴格的時序操作。另外,軟件部分采用C51編寫便f移植,也方便嵌入到儀器儀表自身軟件中,從而為其使用提供更好的軟件支持。
上述數(shù)寧溫度時鐘電路可單獨作為一個模塊安裝干儀器儀表中盡供顯示溫度時間用,而對于那些需要提取某些參數(shù)的歷史記錄的儀器儀表,則要將該電路設(shè)計到整個儀器儀表中,并統(tǒng)一編程。