基于AT89S52的溫度顯示報警系統(tǒng)
引言
溫度是一種最基本的環(huán)境參數(shù),人們的生活環(huán)境與溫度息息相關,溫度測量也被人們所異常關注。因此,研究溫度的測量方法和裝置具有重要意義,溫度測控技術也在各個領域應用越來越廣泛。采用單片機對溫度進行控制,不僅具有控制方便和組態(tài)簡單的優(yōu)點,而且可以提高被控溫度的技術指標。本文介紹了一款由單片機AT89S52 和新型的智能集成溫度傳感器DS18B20 以及LCD 顯示器等部件實現(xiàn)的溫度測量及報警系統(tǒng)。同時在設計方面做了功能的擴展,鍵盤是用來調時和溫度查詢,功能較強,可以設置上下限報警溫度,且測量準確、誤差小。單片機可把由DS18B20、DS1302 讀來的數(shù)據(jù)利用軟件來進行處理,從而把數(shù)據(jù)傳輸?shù)斤@示模塊,實現(xiàn)溫度、日歷的顯示,還有鬧鐘功能以及語音
報時功能。對溫度實施監(jiān)測,即當溫度超過給定的最高溫度或者低于給定的最低溫度時,系統(tǒng)通過發(fā)光二極管發(fā)光報警。通過實驗測試說明,所設計的溫度計能達到精度的要求。
1 系統(tǒng)設計
在單片機電路設計中,大多都是使用傳感器。因此,采用溫度傳感器DS18B20。DS18B20 是一種改進型智能溫度傳感器,可以滿足從-55 攝氏度到+125 攝氏度范圍的溫度測量,且測量精度高,可在一秒內把溫度轉化成數(shù)字,測得的溫度值存儲在兩個八位的RAM 中,單片機可以直接從中讀出數(shù)據(jù)并且轉換成十進制就是溫度,使用方便。按照設計時要求,采取的設計方框圖如圖一所示,控制器采用單片機AT89S52,溫度傳感器采用DS18B20,液晶顯示器LCD1602 以串口傳送數(shù)據(jù)實現(xiàn)溫度的顯示。
圖一總體設計方框圖
2 硬件電路設計
系統(tǒng)整體硬件電路包括:傳感器數(shù)據(jù)采集電路、溫度顯示電路、上下限報警調整電路、單片機主板電路、復位電路等,如圖二所示。
圖二單片機系統(tǒng)整體電路
圖二中有三個獨立式按鍵可以分別調整溫度計的上下限報警設置,蜂鳴器在被測溫度超出上下限范圍時,發(fā)出報警鳴叫聲音,同時LCD 顯示屏沒有被測溫度值顯示,這時如統(tǒng)果調整報警上下限,可測出被測的溫度值。
按健復位電路是上電復位加手動復位,使用比較方便,在程序跑飛時,可以手動復位,這樣就不用在重起單片機電源,就可以實現(xiàn)復位。
液晶顯示器為TS1602-1,可以同時顯示16*2 個字符,能夠對字符進行左右平移,操作方便,占用8 個I/O 端口。
溫度測量傳感器采用DS18B20 的單總線數(shù)字化溫度傳感器,測溫范圍為-55℃~125℃,可編程為9 位~12 位A/D轉換精度,測溫分辨率達到0.0625℃,采用寄生電源工作方式,CPU 只需一根總線便能與DS18B20 通信,占用CPU 總線少,可節(jié)省大量引線和邏輯電路。
時鐘模塊采用DS1302 芯片,DS1302 是由DALLAS 公司推出的涓流充電時鐘芯片內含有一個實時時鐘/ 日歷和31字節(jié)靜態(tài)RAM,通過簡單的串行接口與單片機進行通信,實時時鐘/ 日歷電路提供秒分時日期月年的信息,每月的天數(shù)和閏年的天數(shù),可自動調整時鐘操作,可通過AM/PM 指示決定采用24 或12 小時格式,DS1302 與單片機之間能簡單地采用同步串行的方式進行通信,僅需用到三條總線1RES 復位,2 I/O 數(shù)據(jù)線,3 SCLK 串行時鐘。時鐘/RAM 的讀/ 寫數(shù)據(jù)以一個字節(jié)或多達31 個字節(jié)的字符組方式通信,DS1302工作時功耗很低保持數(shù)據(jù)和時鐘信息時功率小于1mW。3 軟件分析
系統(tǒng)程序主要包括主程序、讀出溫度子程序、溫度轉換命令子程序、計算溫度子程序,顯示數(shù)據(jù)刷新子程序等。
主程序的主要功能是負責溫度的實時顯示、讀出并處理DS18B20 的測量的當前溫度值,對鬧鐘的時、分、秒進行設置。這樣可以在一秒之內測量一次被測溫度,其程序流程見圖三所示。
圖三主程序流程圖
4 結束語
本設計所介紹的數(shù)字溫度計工作可靠、測量誤差小。與傳統(tǒng)的溫度計相比,具有讀數(shù)方便、測溫范圍廣及輸出溫度采用數(shù)字顯示等特點,主要適用于科研實驗室等對測溫要求比較準確的場所。本溫度計應用AT89S52 單片機對系統(tǒng)進行智能控制,采用溫度傳感器DS18B20 實現(xiàn)對外界溫度的測量,并通過串口通信將數(shù)據(jù)傳輸?shù)絾纹瑱C上進行處理和分析。同時采用C51 程序設計語言對單片機的系統(tǒng)控制程序進行編寫。