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