孫曉倩
(武夷學院 機電工程學院,福建 武夷山 354300)
基于51單片機的溫度監(jiān)測報警系統(tǒng)設計研究
孫曉倩
(武夷學院 機電工程學院,福建 武夷山 354300)
隨著時代的發(fā)展和計算技術、電子元件加工技術的不斷提高,單片機已經(jīng)應用到了我們生產生活的各個領域,單片機技術發(fā)展至今也已經(jīng)相當成熟,應用十分廣泛,給人們帶來了極大的便利.本文研究的溫度監(jiān)測報警系統(tǒng)使用的是STC89C52單片機,文章首先闡述了開發(fā)測溫系統(tǒng)的過程,分別對DS18B20溫度傳感器的應用,傳感器與單片機的硬件連接部分和軟件編程,以及系統(tǒng)流程做了比較詳細的介紹.該溫度監(jiān)測報警系統(tǒng)具有溫度顯示功能,報警溫度可根據(jù)實際需要進行設定,其突出特點是體積小、使用范圍廣泛、精度和靈敏度都很高和功率消耗低等,可以作為一個獨立的控制模塊,也可以當作一個子模塊應用于其他系統(tǒng)中.當把DS18B20與STC89C52兩個單片機結合起來使用時,可以構建一個簡單的控制系統(tǒng),該溫控系統(tǒng)可用于惡劣干擾環(huán)境下的溫度控制,具有一定的應用前景.
51單片機;控制;STC89C52;DS18B20
本次設計的對象是溫度報警系統(tǒng),控制部分是51單片機,設計內容包括硬件的聯(lián)接和軟件的設計,文章對各個功能的子模塊做了比較詳細的介紹.
主要性能指標:單片機實時檢測溫度傳感器DS18B20的狀態(tài),并將DS18820得到的數(shù)據(jù)進行處理.上電后數(shù)碼管顯示當前的環(huán)境溫度,通過按鍵可設置高低溫報警值,當檢測到的溫度高于設置的報警值的時候,蜂鳴器報警同時報警燈閃爍,溫度檢測精確到0.1度.并具有掉電保存功能,數(shù)據(jù)保存在單片機內部EEPOM中,進入設置界面后如果沒有鍵按下系統(tǒng)會在15秒后自動退出設置界面.
該系統(tǒng)主要由溫度測量和溫度設置及系統(tǒng)狀態(tài)顯示三部分電路組成,下面介紹實現(xiàn)此系統(tǒng)功能的方案.
2.1主控制器模塊
方案1:
主控制器采用可編程邏輯器件(CPLD).
方案2:
采用STC89C52單片機作為整個系統(tǒng)的核心,用其實時監(jiān)測溫度和報警,以實現(xiàn)其既定的性能指標.
綜上所述,本次設計采用STC89C52作為主控制器.
2.2溫度測量
方案1:
選用DS18B20溫度傳感器對溫度進行測量,其輸出的信號為數(shù)字信號,方便單片機對溫度信號的采集、處理和控制,而且電路簡單,占用空間小.該單片機性能穩(wěn)定,且線形好.當測量溫度在0到100之間時線形偏差都小于1℃.除此之外,由于DS18B20單片機采用單總線的數(shù)據(jù)傳輸方式,由DS18B20和STC89C52構成的測溫裝置輸出的溫度信號,的數(shù)字信號,可以直接連接計算機.這樣,測溫系統(tǒng)的結構就顯得十分簡單,占用的體積也不大.同時,通過采用51單片機控制讓軟件編程的自由度大大增加,既可以通過編程實現(xiàn)各種各樣的算術算法和邏輯控制,而且它還具有體積小,硬件實現(xiàn)經(jīng)濟、簡單,安裝也十分方便等優(yōu)點.它也可以單獨對多DS18B20進行控制工作,還可以與PC機通信上傳數(shù)據(jù),另外,微控制器STC89C52在工業(yè)控制上也有著十分廣泛的應用,無論是編程技術還是外圍功能電路的配合使用都已經(jīng)發(fā)展得很成熟.
方案2:
采用熱電偶溫差電路測溫,溫度檢測部分可以使用低溫熱偶,熱電偶由兩個焊接在一起的異金屬導線所組成(如圖1所示),熱電偶產生的熱電勢由兩種金屬的接觸電勢和單一導體的溫差電勢組成.通過將參考結點保持在已知溫度并測量該電壓,便可推斷出檢測結點的溫度.用帶有A/D通道的單片機來實現(xiàn)數(shù)據(jù)采集部分,再將隨被測溫度變化的電流或電壓采集過來,進行A/D轉換后,通過單片機進行數(shù)據(jù)的處理,這樣在顯示電路上,就可以將被測溫度顯示出來.熱電偶的優(yōu)點是工作溫度范圍非常寬,且體積小,但是它們也存在著輸出電壓小、容易遭受來自導線環(huán)路的噪聲影響以及漂移較高的缺點,并且這種設計需要用到A/D轉換電路,感溫電路比較麻煩.
通過對以上兩種方案的對比,易得出方案二可測量溫度范圍更寬、體積占用更小,缺點是線性誤差相對較大.方案一的優(yōu)點是測溫裝置電路簡單、精確度較高、實現(xiàn)方便、軟件設計也比較簡單,所以本次設計的溫度測量采用了方案一.
2.3設置溫度
方案1:
采用鍵盤輸入設置溫度,鍵盤則可以用4個按鍵,一個復位鍵,一個功能設定鍵,一個加減一個減鍵.四個鍵比較常用,而且用到的接口得到了極好的利用,僅需要4個接口.
方案2:
可采用4*4矩陣鍵盤,該鍵盤需要8個接口,而我們不需這么多鍵.
綜上所述,溫度設置方面我們選擇第一種方案.
2.3顯示模塊
方案1:
用數(shù)碼管充當顯示模塊.數(shù)碼管由于具有使用簡單,顯示速度快,顯示效果簡潔明了等特點而得到了廣泛的應用.
方案2:
通過LCD液晶進行顯示.LCD具有顯示內容豐富、清晰,顯示信息量大,顯示快速,使用方便等特點而得到了廣泛的應用.但對于本系統(tǒng)我們不需要顯示豐富的內容,而且LCD液晶價格昂貴,因此我們未選擇此方案.
綜上所述,顯示模塊我們選擇方案1.
2.4電源選取
對于系統(tǒng)供電電源的選取我擬定了兩種方案:
方案1:
采用額定輸出電壓為5V的蓄電池.蓄電池的優(yōu)點是電壓穩(wěn)定,電流驅動能力強,但是其體積相對較大,與本系統(tǒng)的小巧輕便的設計不相匹配,所以我們放棄了此方案.
方案2:
采用3節(jié)1.5V干電池共4.5V做電源,經(jīng)過一段時間的實驗驗證,該供電電源能夠滿足系統(tǒng)正常持續(xù)工作,也滿足小體積的設計需求,電池更換也比較方便,是比較理想的選擇.
綜上所述,電源的選取我們采用方案2.
3.1溫度傳感器的選擇
一般而言,比較常見的溫度傳感器件,譬如熱敏電阻等,它們都是通過測量電壓后按照對應的關系轉換成相應的溫度表示出來,因此,為了較好的實現(xiàn)功能,它們需要各種外部電路來支持,相應的總體的制作成本相對而言較高,硬件電路也較為復雜.而本系統(tǒng)采用DS18B20,它既可以支撐本系統(tǒng)的各項功能需求,同時又能有效地解決以上問題.
3.2控制芯片的選擇
通常,我們對一些小型控制都會從最經(jīng)濟實惠的角度去考慮控制設備的選取,在本設計中,我們采用STC89C52芯片作為主控制芯片,它不僅能達到本設計的使用要求,實現(xiàn)設計所需功能,而且價格低廉,經(jīng)濟實用.此外,它和STC-51系列完全兼容指令系統(tǒng)和管腳,具有51系列單片機的所有功能和特點,并且,它的工作電源電壓適用范圍很廣,可為2.7-6V,當它工作于12Mhz時,空閑態(tài)和動態(tài)電流分別為1mA和5.5mA,這樣的小功耗非常適合本系統(tǒng)的電池電源.
4.1主控制模塊
4.2顯示模塊電路
4.3數(shù)碼管顯示驅動電路、
4.4溫度傳感器(DS18B20)電路
4.5蜂鳴器、發(fā)光二極管報警電路
5.1程序結構分析
本控制系統(tǒng)的主程序由三個子程序組成,分別控制數(shù)碼管的顯示、處理溫度信號、對按鍵進行設定和報警控制.其中溫度信號處理模塊將完成溫度原始數(shù)據(jù)的接收、處理和顯示功能.
5.2系統(tǒng)程序流程
主程序功能包括溫度的實時顯示、處理和顯示DS18B20實時測量值,測量時間間隔為1秒.再將測量值與設定的報警溫度比較,從而判斷是否應該報警.
5.2.1DS18B20初始化程序流程
發(fā)復位命令發(fā)跳過ROM命令初始化成功結束.
5.2.2讀溫度子程序流程
讀溫度子程序的主要功能是從DS18B20中讀出溫度數(shù)據(jù),將數(shù)據(jù)移入溫度暫存器保存.
發(fā)復位命令發(fā)跳過ROM命令發(fā)讀取溫度命令移入溫度暫存器結束.
5.3程序仿真結果
將編寫后的程序進行調試仿真,最終在軟件上可以實現(xiàn)本設計的要求.以下分別是程序在Keil上的調試仿真結果和單片機調入hex文件后在Proteus中的仿真結果.
經(jīng)過Keil軟件和Proteus軟件的調試與仿真,從軟件上驗證了系統(tǒng)的可行性,為系統(tǒng)硬件上的實現(xiàn)提供了基礎,可以進行硬件實現(xiàn)步驟.
6.1安裝步驟
1.檢查元件的好壞
按電路圖羅列的元件清單買好元件后,首先檢查買來的元件型號、規(guī)格和數(shù)量是否正確,其次再檢查買來的元件是否可以正常工作,即按照各元件的檢測方法進行檢測.在檢查好后才可上件、焊件,防止出現(xiàn)錯誤焊件后不便改正.
2.放置、焊接各元件
根據(jù)電路圖將元件進行放置、焊接,為了操作方便,同時也能避免操作失誤引起不必要的返工,在電路板的焊接過程中要遵循先低后高的原則,即先焊接位置相對較低的元件,然后焊接其他相對較高的元件.另外,對于特別容易損壞的和精度較高的元件焊接過程需要特別注意,焊接完畢需要檢測其性能的好壞.在焊集成芯片時注意芯片的安裝方向,并且保證連續(xù)焊接時間不要超過10s.
6.2電路的調試
首先接入顯示程序,看顯示正不正常.在調試程序時,在排除電路焊接錯誤,元器件故障等問題后,發(fā)現(xiàn)有的指令用的不正確,導致電路功能不能完全實現(xiàn),通過不斷的修改部分電路和程序后,終于在硬件上實現(xiàn)了實時測溫報警的功能.
本溫度報警器,通過單片機實時檢測溫度傳感器DS18B20的狀態(tài),并將DS18820得到的數(shù)據(jù)進行處理.上電后數(shù)碼管顯示當前的環(huán)境溫度,通過按鍵可設置高低溫報警值,當檢測到的溫度高于設置的報警值的時候,蜂鳴器報警同時報警燈閃爍,溫度檢測精確到0.1度.并具有掉電保存功能,數(shù)據(jù)保存在單片機內部EEPOM中,進入設置界面后如果沒有鍵按下系統(tǒng)會在15秒后自動退出設置界面.由于采用了4節(jié)干電池供電使系統(tǒng)的抗干擾性得到加強.在軟件上,充分利用了STC89C52的系統(tǒng)資源,系統(tǒng)運行流暢.
本設計結構簡單,調試方便,系統(tǒng)反映快速靈活,經(jīng)實驗測試,該溫度報警系統(tǒng)設計方案正確、可行,各項指標穩(wěn)定、可靠.此外,若更改部分程序,可以將報警功能拓展,連接到相關的預防設備上,讓設備自動采取措施去除警報.例如,可連接至空調系統(tǒng)或滅火系統(tǒng),使之采取措施實現(xiàn)自動調節(jié)溫度功能等.
〔1〕曹巧媛.單片機原理及應用(第二版)[M].北京:電子工業(yè)出版社,2002.
〔2〕周明德.微型計算機系統(tǒng)原理及應用[M].北京:清華大學出版社,2007.
〔3〕何力民.單片機高級教程[M].北京:北京航空大學出版社,2000.
〔4〕金發(fā)慶,等.傳感器技術與應用[M].北京:機械工業(yè)出版社,2002.
〔5〕劉坤,宋戈,趙洪波,張憲棟.51單片機C語言應用開發(fā)技術大全[M].北京:人民郵電出版社,2008.
TP277
A
1673-260X(2015)12-0024-03