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