郭豫榮
(陜西理工學院 電氣工程學院,陜西 漢中 723003)
基于單片機的溫度測量系統的設計
郭豫榮
(陜西理工學院 電氣工程學院,陜西 漢中 723003)
本設計由AT89S52單片機,溫度檢測電路和顯示電路等組成;介紹了DS18B20和 LCD12864液晶顯示模塊的工作原理,給出了系統的硬件電路設計和軟件設計.
AT89S52;DS18B20;LCD12864
溫度計是現代工業及日常生活中常用到的一種測量儀器,最早使用的溫度計大都是采用水銀制成,測溫緩慢,現代多采用溫度檢測元件結合單片機技術設計.
傳統的溫度檢測以熱敏電阻為溫度敏感元件,熱敏電阻雖然成本低但轉換成的電信號是模擬量,與單片機通訊時需要A/D轉換,不但系統結構復雜,而且所接信號處理電路又會帶來引線及零點漂移等問題.熱敏電阻本身的可靠性相對較差,測溫的準確度低,檢測系統的精度差.現代的溫度檢測多采用數字溫度傳感器,該傳感器具有結構簡單,抗干擾能力強,適用惡劣環境下進行現場溫度測量等優點.本系統由數字溫度傳感器DS18B20進行溫度采集送給單片機AT89S52進行處理,通過軟件編程控制并顯示出所測量的溫度值.
檢測溫度并顯示溫度
溫度檢測范圍:-55℃~+125℃,測量精度:±1℃,顯示方式:溫度:五位顯示
2.1.1 溫度測量和控制模塊.這是溫度測量系統的主要結構部分,由一塊數字溫度傳感器DS18B20組成.DS18B20是硬件電路的核心芯片,本次設計中的溫度采集、溫度轉換和模擬到數字信號的轉換都通過該芯片完成,最后將輸出信號送入AT89S52的P0口.
2.1.2 單片機部分.設計的測溫系統采用AT89S52作為控制系統的核心,主要作用是控制顯示單元及時鐘、復位、測溫外圍電路的通訊接口,AT89S52的優點在于具有8K字節在系統可編程Flash存儲器,兼容MCS-51單片機;器件采用Atmel公司高密度非易失性存儲器技術制造,低功耗空閑和掉電模式,有利于系統的升級和擴展.
2.1.3 顯示模塊.液晶顯示模塊LCD12864提供兩種界面和微處理機相連接:8位并行及串行兩種連接方式.具有多種功能:光標顯示,畫面移位,睡眠模式等.本設計采用AT89S52串行接口靜態顯示方式.這種顯示亮度大,占用機時少,顯示穩定可靠.
本次需要設計一個溫度測量系統,這里選用單片機為執行器(核心器件),通過溫度檢測電路,控制系統,顯示電路等做成一個溫度測量系統,系統電路設計框圖如圖1.

圖1 系統電路設計框圖
系統的工作原理是:DS18B20采集被測物體的溫度,在內部進行轉換成數字量,送人單片機處理,最終由顯示模塊LCD-12864顯示其溫度值.
系統電路圖如圖2,

圖2 系統電路圖
整個溫度測量過程是由單片機89S52控制的,DS18B20的2端與單片機的P3.4相連,DS18B20內部包括一低溫度系數晶振和一高溫度系數晶振,分別對內部計數器1和計數器2計數,高溫度系數晶振隨溫度變化其振蕩率明顯改變,計數器1的值從預置值減到零后內部溫度寄存器的值增加一,同時計數器2的值遞減一,重新裝入預置值到計數器1中,如此反復循環,直到計數器2的值減為零,此時溫度寄存器的值為被測物體的溫度.單片機讀出并處理DS18B20的測量溫度值,在讀出時必須進行CRC校驗,如果有錯不能進行溫度數據的改寫,接下來進行溫度轉換及計算溫度值.LCD12864的數據端和P0口相連,讀寫控制端和使能端與P2口連接,當讀寫控制端和使能端有效時,測量的溫度值顯示在LCD上.
整個系統的軟件設計包括主程序的設計,讀出溫度子程序、溫度轉換子程序、計算溫度子程序及顯示程序,這里給出主程序流程圖和讀DS18B20溫度子程序流程圖:

圖3 主程序流程圖

圖4 讀DS18B20子程序流程圖
本文以protuse軟件為設計平臺,采用C語言實現了溫度測量系統的整體設計,對人體及環境溫度進行測量,測溫時間短,與水銀溫度計相比誤差小,節約了測量時間.所設計的系統軟硬件結構簡單、成本低廉、可靠性高,即可應用在日常生活中如做成數字溫度計,又可以用在倉庫、大棚的溫度檢測等方面,所以具有一定的應用價值.
〔1〕馬育長.單片機系統設計與實例分析[M].西安電子科技大學出版社,2007.
〔2〕梅麗鳳,王艷秋,等.單片機原理及接口技術[M].北京:清華大學出版社.
〔3〕何希才.常用傳感器應用電路的設計與實踐[M].科學出版社,2007.
〔4〕陳健,劉九慶.溫室環境工程技術[M].哈爾濱:東北林業大學出版社,2002.
〔5〕杜深慧.溫濕度檢測裝置的設計與實現[J].華北電力大學,2004.
TN873
A
1673-260X(2012)09-0149-02