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