畢業(yè)設計(論文)單片機智能溫度報警系統(tǒng)_第1頁
畢業(yè)設計(論文)單片機智能溫度報警系統(tǒng)_第2頁
畢業(yè)設計(論文)單片機智能溫度報警系統(tǒng)_第3頁
畢業(yè)設計(論文)單片機智能溫度報警系統(tǒng)_第4頁
畢業(yè)設計(論文)單片機智能溫度報警系統(tǒng)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、編號(學號):0301080135私立華聯(lián)學院畢 業(yè) 論 文 (設 計)( 08 屆大專)題 目: 單片機智能溫度報警系統(tǒng) 系 別: 電子信息工程系 專 業(yè): 電子信息工程技術 姓 名: 指導教師: 完成日期: 2010 年 4 月 21 日摘要:介紹了單總線數(shù)字溫度傳感器dsi8b20模塊的特性,利用ds18b20設計了一種基于stc89c52單片機的智能溫度報警系統(tǒng)。該智能溫度報警系統(tǒng)以stc公司生產的stc89c52為控制器,結構簡單、測溫準確。軟件使用模塊化結構并對溫度進行刷新顯示和報警處理。abstract: the single-bus digital temperature se

2、nsor dsi8b20 module features, the use of ds18b20 designed based on stc89c52 of intelligent temperature alarm system. the intelligent temperature alarm system to stc produced stc89c52 the controller structure is simple, accurate temperature measurement. software uses a modular structure. refresh and

3、temperature display and alarm processing.關鍵詞: 單片機 ds18b20 溫度傳感器 數(shù)字溫度計 stc89c52一、 引言在工業(yè)生產中,溫度的控制尤其重要,因而對溫度報警系統(tǒng)的需求也越來越大。如何設計一款成本低廉、測量準確、操作簡單的智能溫度報警系統(tǒng)成為一個重要問題。在本次設計中,整個系統(tǒng)以sct98c52為核心。溫度傳感器ds18b20完成環(huán)境溫度轉換功能。其輸出為數(shù)字形式,可以直接給單片機進行處理;鍵盤為簡單的三鍵控制,處理方式采用中斷方式,減少了占用cpu時間。這種設計的成本較小,結構簡單、操作方便,并且測量也很準確,能夠滿足工業(yè)生產的需要 溫

4、度控制,在工業(yè)自動化控制中占有非常重要的地位。單片機系統(tǒng)的開發(fā)應用給現(xiàn)代工業(yè)測控領域帶來了一次新的技術革命,自動化、智能化均離不開單片機的應用。將單片機控制方法運用到溫度控制系統(tǒng)中,可以克服溫度控制系統(tǒng)中存在的嚴重滯后現(xiàn)象,同時在提高采樣頻率的基礎上可以很大程度的提高控制效果和控制精度。現(xiàn)代自動控制越來越朝著智能化發(fā)展,在很多自動控制系統(tǒng)中都用到了工控機,小型機、甚至是巨型機處理機等,當然這些處理機有一個很大的特點,那就是很高的運行速度,很大的內存,大量的數(shù)據(jù)存儲器。但隨之而來的是巨額的成本。在很多的小型系統(tǒng)中,處理機的成本占系統(tǒng)成本的比例高達20%,而對于這些小型的系統(tǒng)來說,配置一個如此高速

5、的處理機沒有任何必要,因為這些小系統(tǒng)追求經濟效益,而不是最在乎系統(tǒng)的快速性,所以用成本低廉的單片機控制小型的,而又不是很復雜,不需要大量復雜運算的系統(tǒng)中是非常適合的。 溫度控制,在工業(yè)自動化控制中占有非常重要的地位,如在鋼鐵冶煉過程中要對出爐的鋼鐵進行熱處理,才能達到性能指標,塑料的定型過程中也要保持一定的溫度。隨著科學技術的迅猛發(fā)展,各個領域對自動控制系統(tǒng)控制精度、響應速度、系統(tǒng)穩(wěn)定性與自適應能力的要求越來越高,被控對象或過程的非線性、時變性、多參數(shù)點的強烈耦合、較大的隨機擾動、各種不確定性以及現(xiàn)場測試手段不完善等,使難以按數(shù)學方法建立被控對象的精確模型的情況。 隨著電子技術以及應用需求的發(fā)

6、展,單片機技術得到了迅速的發(fā)展,在高集成度,高速度,低功耗以及高性能方面取得了很大的進展。伴隨著科學技術的發(fā)展,電子技術有了更高的飛躍,我們現(xiàn)在完全可以運用單片機和電子溫度傳感器對某處進行溫度檢測,而且我們可以很容易地做到多點的溫度檢測,如果對此原理圖稍加改進,我們還可以進行不同地點的實時溫度檢測和控制。二、設計目的學習了單片機課程之后,為了加深對理論知識的理解,學習理論知識在實際中的運用,加深自己的動手能力,我通過查找資料,應用stc89c52單片機和ds18b20溫度芯片制作了一個智能溫度報警系統(tǒng)。提高對單片機的認識,提高焊接能力。三、使用中央單元處理器介紹1、主控芯片stc89c52 s

7、tc89c52 是一種帶8k 字節(jié)閃爍可編程可擦除只讀存儲器(fperomfalsh programmable and eras-able read only memory)的低電壓,高性能cmos8位微處理器,俗稱單片機。單片機的可擦除只讀存儲器可以反復擦除1000 次。該器件采用stc高密度非易失存儲器制造技術制造,與工業(yè)標準的mcs-51 指令集和輸出管腳相兼容。由于將多功能8 位cpu 和閃爍存儲器組合在單個芯片中,stc的stc89c52是一種高效微控制器。stc89 單片機為嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。2 、ds18b20數(shù)字溫度傳感器dsi8b20 是dalla

8、s 公司的最新單線數(shù)字溫度傳感器,它體積小、經濟。是世界上第一片支持“一線總線”接口的溫度傳感器。一線總線獨特而且經濟的特點,使用戶可輕松地組建傳感器網絡,為測量系統(tǒng)的構建引入全新概念。它的測量溫度范圍為一55 +125?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如環(huán)境控制、設備或過程控制、測溫類消費電子產品等。與前一代產品不同,新的產品支持355 v的電壓范圍,使系統(tǒng)設計更靈活、方便。而且新一代產品更便宜,體積更小。dsi8b20 可以程序設定912 位的分辨率,精度為05。可以選擇更小的封裝方式,更寬的電壓適用范圍。分辨率設定及用戶設

9、定的報警溫度存儲在eprom 中,掉電后依然保存。ds18b20 的性能是新一代產品中最好的,性能價格比也非常出色,繼“一線總線”的早期產品后, dsi8b20開辟了溫度傳感器技術的新概念。ds18b20 和ds18b22 使電壓特性及封裝有更多的選擇,讓用戶可以構建適合自己的經濟的測溫系統(tǒng)。s18b20 內部結構主要由4 部分組成:64 位光刻rom, 溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器th 和2tl,配置寄存器。 dsi8b20的管腳排列如圖1所示。本次設計智能溫度報警系統(tǒng)的溫度采集就由dsi8b20 完成。將dsi8b20 的gnd 腳接地,vdd 腳接高電平,而單總線dq 腳接單片機的

10、外部中斷1 腳,具體的采集電路dsi8b20的管腳排列圖1但在系統(tǒng)調試時也出現(xiàn)了很多問題。第一個問題是溫度輸出總是85。后來經過反復實驗才發(fā)現(xiàn)dsi8b20從測溫結束到將溫度值轉換為數(shù)字量需要一定的轉換時間。這是必須保證的,不然會出現(xiàn)轉換錯誤的現(xiàn)象。第二個問題是在實際使用中發(fā)現(xiàn)的,就是要使電源電壓保持在5v左右,若電源電壓過低,會使所測得的溫度與實際溫度出現(xiàn)偏高現(xiàn)象。四、系統(tǒng)軟件設計本設計智能溫度報警系統(tǒng)由溫度采集、信號處理、溫度監(jiān)測、輸出控制四部分組成。它通過預先設在單片機中的高低溫度值來對非常溫度值進行報警,從dsi8b20 采集到的溫度經信號調理電路處理后直接送入單片機進行刷新。微控制器

11、根據(jù)信號數(shù)據(jù)及設定的各種控制參數(shù),按照嵌入的軟件控制規(guī)律執(zhí)行計算與處理,自動顯示溫度值、輸出相應的控制信號,并根據(jù)當前狀態(tài)輸出正常、報警等信號,同時將各種數(shù)據(jù)通過數(shù)碼管進行顯示監(jiān)控。系統(tǒng)的軟件設計流程圖如圖2 所示。圖2 軟件設計流程圖1.1、方案一由于本設計是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應,在將隨被測溫度變化的電壓或電流采集過來,進行a/d轉換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設計需要用到a/d轉換電路,其中還涉及到電阻與溫度的對應值的計算,感溫電路比較麻煩。而且在對采集的信號進行放大時容易受溫度的影響出現(xiàn)較大的偏差。1.2、方

12、案二 進而考慮到用溫度傳感器,在單片機電路設計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器ds18b20,此傳感器,可以很容易直接讀取被測溫度值,進行轉換,電路簡單,精度高,軟硬件都以實現(xiàn),而且使用單片機的接口便于系統(tǒng)的再擴展,滿足設計要求。從以上兩種方案,很容易看出,采用方案二,電路比較簡單,費用較低,可靠性高,軟件設計也比較簡單,故采用了方案二。2.1系統(tǒng)總體設計溫度計電路設計總體設計方框圖如圖3所示,控制器采用單片機stc89c52,溫度傳感器采用ds18b20,用4位led數(shù)碼管以串口傳送數(shù)據(jù)實現(xiàn)溫度顯示。 stc89c52led顯示ds18b20溫 度

13、傳 感 器單片機復位時鐘振蕩報警溫度調整鍵蜂鳴器,指示燈圖31總體設計方框圖圖32系統(tǒng)仿真圖2.2系統(tǒng)模塊系統(tǒng)由單片機最小系統(tǒng)、顯示電路、按鍵、溫度傳感器等組成。如圖4所示圖4 2.2.1 主控制器單片機stc89s51具有低電壓供電和體積小等特點,四個端口只需要兩個口就能滿足電路系統(tǒng)的設計需要,很適合便攜手持式產品的設計使用系統(tǒng)可用電池供電。晶振采用12mhz。如圖5所示復位電路采用上電加按鈕復位。如圖6所示圖5晶振電路圖6復位電路2.2.2 顯示電路顯示電路采用4位共陰極led數(shù)碼管,p0口由上拉電阻提高驅動能力,作為段碼輸出并作為數(shù)碼管的驅動。p2口的低四位作為數(shù)碼管的位選端。采用動態(tài)掃

14、描的方式顯示。如圖7所示圖7 數(shù)碼管顯示電路2.2.3溫度傳感器ds18b20溫度傳感器是美國dallas半導體公司最新推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)位的數(shù)字值讀數(shù)方式。ds18b20的性能特點如下:1、獨特的單線接口僅需要一個端口引腳進行通信;2、多個ds18b20可以并聯(lián)在惟一的三線上,實現(xiàn)多點組網功能3、無須外部器件;4、可通過數(shù)據(jù)線供電,電壓范圍為3.05.5;5、零待機功耗;6、溫度以或位數(shù)字;7、用戶可定義報警設置;8、報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件;9、負電壓

15、特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作;ds18b20可以采用兩種方式供電,一種是采用電源供電方式,此時ds18b20的1腳接地,2腳作為信號線,3腳接電源。另一種是寄生電源供電方式,如圖8所示單片機端口接單線總線,為保證在有效的ds18b20時鐘周期內提供足夠的電流,可用一個mosfet管來完成對總線的上拉。當ds18b20處于寫存儲器操作和溫度a/d轉換操作時,總線上必須有強的上拉,上拉開啟時間最大為10us。采用寄生電源供電方式時vdd端接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。圖8 溫度傳感器與單片機的連接2.2.4報警溫度調整按鍵本系統(tǒng)設計三個按鍵,

16、采用查詢方式,一個用于選擇切換設置報警溫度和當前溫度,另外兩個分別用于設置報警溫度的加和減。均采用軟件消抖。如圖9所示圖9 按鍵電路3系統(tǒng)軟件算法分析系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉換命令子程序,計算溫度子程序,顯示數(shù)據(jù)刷新子程序,按鍵掃描處理子程序等。3.1主程序流程圖主程序的主要功能是負責溫度的實時顯示、讀出并處理ds18b20的測量的當前溫度值,溫度測量每1s進行一次。這樣可以在一秒之內測量一次被測溫度,其程序流程見圖10所示。初始化讀取溫度設置鍵是否按下讀出溫度值溫度計算處理顯示數(shù)據(jù)刷新發(fā)溫度轉換開始命令ny調用顯示子程序設置報警溫度圖10 主程序流程圖 3.2讀出溫度子

17、程序讀出溫度子程序的主要功能是讀出ram中的9字節(jié),在讀出時需進行crc校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。其程序流程圖如圖11示3.3溫度轉換命令子程序發(fā)ds18b20復位命令發(fā)跳過rom命令發(fā)溫度轉換開始命令 結束溫度轉換命令子程序主要是發(fā)溫度轉換開始命令,當采用12位分辨率時轉換時間約為750ms,在本程序設計中采用1s顯示程序延時法等待轉換的完成。溫度轉換命令子程序流程圖如上圖,圖12所示y發(fā)ds18b20復位命令發(fā)跳過rom命令發(fā)讀取溫度命令讀取操作,crc校驗9字節(jié)完?crc校驗正?確?移入溫度暫存器結束nny 圖12 溫度轉換流程圖圖11 讀溫度流程圖3.4 計算溫度子程序計算

18、溫度子程序將ram中讀取值進行bcd碼的轉換運算,并進行溫度值正負的判定,其程序流程圖如圖13所示。3.5 顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序主要是對分離后的溫度顯示數(shù)據(jù)進行刷新操作,當標志位位為1時將符號顯示位移入第一位。程序流程圖如圖14。 開始溫度零下?溫度值取補碼置“1”標志計算小數(shù)位溫度bcd值 計算整數(shù)位溫度bcd值 結束置“0”標志ny溫度數(shù)據(jù)移入顯示寄存器分離顯示溫度ny標志位為1?y最高位顯示“”最高為顯示分理出的數(shù)據(jù) 結束 圖13計算溫度流程圖 圖14顯示數(shù)據(jù)刷新流程圖3.6按鍵掃描處理子程序按鍵采用掃描查詢方式,設置標志位,當標志位為1時,顯示設置溫度,否則顯示當前溫度

19、。如下圖15示。設置鍵按下增加鍵是否按下減少鍵是否按下顯示切換標志位是否為“0”調用顯示子程序報警溫度加1報警溫度減1ynynyn圖15 按鍵掃描處理子程序4 實驗仿真進入protuse后,連接好電路,并將程序下載進去。將ds18b20的改為0.1,數(shù)碼管顯示溫度與傳感器的溫度相同。如圖16所示圖16 溫度顯示仿真當再次按下set鍵時,進入溫度報警下線調節(jié),此時顯示軟件設置的溫度報警下線,按add或dec分別對報警溫度進行加一或減一。如圖17所示圖17 溫度調試仿真當?shù)谌伟聪聅et鍵時,退出溫度報警線設置。顯示當前溫度。五、電路實物圖使用元器件:主控器stc89c52一片、ds18b20溫度

20、測量傳感器一片、30p瓷片電容2個、1k電阻5個、100歐電阻8個10k電阻1個、8550三極管5個,12m晶體1片、按鈕開關1個、復位按鈕3個、蜂鳴器1個、離子電池1個、usb接口1個、萬能電路板一塊、5v電源一個、四位七段數(shù)碼管1塊、導線若干。 六、 結束語實驗表明:該智能溫度報警系統(tǒng)結構簡單、測溫準確,具有一定的實際應用價值。該智能溫度報警系統(tǒng)只是dsi8b20在溫度控制領域的一個簡單實例,還有許多需要完善的地方,例如可以將測得的溫度通過單片機與通訊模塊相連接,以手機短信息的方式發(fā)送給用戶,使用戶能夠隨時對溫度進行監(jiān)控。此外,還能廣泛地應用于各種工業(yè)生產領域,如建筑,倉儲等行業(yè)。 通過這

21、次對數(shù)字溫度計的設計與制作,讓我了解了設計電路的程序,也讓我了解了關于數(shù)字溫度計的原理與設計理念,要設計一個電路總要先用仿真仿真成功之后才實際接線的。但是最后的成品卻不一定與仿真時完全一樣,因為,再實際接線中有著各種各樣的條件制約著。而且,在仿真中無法成功的電路接法,在實際中因為芯片本身的特性而能夠成功。所以,在設計時應考慮兩者的差異,從中找出最適合的設計方法。通過這次學習,讓我對各種電路都有了大概的了解,所以說,坐而言不如立而行,對于這些電路還是應該自己動手實際操作才會有深刻理解。在焊接過程中我曾將溫度傳感器的電源、地焊反啦,導致溫度傳感器急劇發(fā)熱,后經觀察和查詢資料才得以改正。從這次的課程

22、設計中,我真真正正的意識到,在以后的學習中,要理論聯(lián)系實際,把我們所學的理論知識用到實際當中,學習單機片機更是如此,程序只有在經常的寫與讀的過程中才能提高,這就是我在這次課程設計中的最大收獲。特別是對單片機c語言產生了更深的興趣,能用portel,proteus等專業(yè)軟件,掌握了電子電路調試的方法,能獨立解決設計與調試過程中出現(xiàn)的一般問題,能正確選用元器件與材料,能對所設計電路的指標和性能進行測試并提出改進意見,能查閱各種有關手冊和正確編寫設計報告。由于這次的設計是一個人單獨作一個課題,所以我是采用以自學為主的學習方法。在學完模擬電子技術基礎和數(shù)字電子技術基礎課程之后,還要對單片機基礎的深入研

23、究。在復習和課程設計任務有關的單元電路,理清頭緒,按照電子電路的一般設計步驟進行設計。一個人做有點困難,途中不知碰到了多少難題,有些問題需要請教老師和同學,在解決這些實際難題中我的動手能力和知識鞏固都得到了很大的提高。程序名稱:ds18b20溫度測量、報警系統(tǒng)簡要說明:ds18b20溫度計,溫度測量范圍099.9攝氏度 可設置上限報警溫度、下限報警溫度 即高于上限值或者低于下限值時蜂鳴器報警 默認上限報警溫度為38、默認下限報警溫度為5 報警值可設置范圍:最低上限報警值等于當前下限報警值 最高下限報警值等于當前上限報警值 將下限報警值調為0時為關閉下限報警功能c語言程序: #include #

24、include ds18b20.h #define uint unsigned int#define uchar unsigned char /宏定義#define setp3_1 /定義調整鍵#define decp3_2 /定義減少鍵#define addp3_3 /定義增加鍵#define beep p3_7 /定義蜂鳴器bit shanshuo_st; /閃爍間隔標志bit beep_st; /蜂鳴器間隔標志sbit dian = p27; /小數(shù)點uchar x=0; /計數(shù)器signed char m; /溫度值全局變量uchar n; /溫度值全局變量uchar set_st=0

25、; /狀態(tài)標志signed char shangxian=38;/上限報警溫度,默認值為38signed char xiaxian=5; /下限報警溫度,默認值為38uchar codeleddata=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff;/*延時子程序*/void delay(uint num)while( -num );/*初始化定時器0*/void inittimer(void)tmod=0x1;th0=0x3c;tl0=0xb0; /50ms(晶振12m)/*定時器0中斷服務程序*/void timer0(void

26、) interrupt 1th0=0x3c;tl0=0xb0;x+;/*外部中斷0服務程序*/void int0(void) interrupt 0ex0=0; /關外部中斷0if(dec=0&set_st=1)shangxian-;if(shangxianxiaxian)shangxian=xiaxian;else if(dec=0&set_st=2)xiaxian-;if(xiaxian99)shangxian=99;else if(add=0&set_st=2)xiaxian+;if(xiaxianshangxian)xiaxian=shangxian;/*讀取溫度*/void chec

27、k_wendu(void)uint a,b,c;c=readtemperature()-5;/獲取溫度值并減去ds18b20的溫漂誤差a=c/100; /計算得到十位數(shù)字b=c/10-a*10; /計算得到個位數(shù)字m=c/10; /計算得到整數(shù)位n=c-a*100-b*10; /計算得到小數(shù)位if(m99)m=99;n=9; /設置溫度顯示上限 /*顯示開機初始化等待畫面*/disp_init() p2 = 0xbf; /顯示-p1 = 0xf7;delay(200);p1 = 0xfb;delay(200); p1 = 0xfd;delay(200);p1 = 0xfe;delay(200);p1 = 0xff; /關閉顯示/*顯示溫度子程序*/disp_temperature() /顯示溫度p2 =0xc6; /顯示cp1 = 0xf7;delay(300);p2 =leddatan; /顯示個位p1 = 0xfb;delay(300);p2 =leddatam%10; /顯示十位dian = 0; /顯示小數(shù)點p1 = 0xfd;delay(300);p2 =leddatam/10; /顯示百位p1 = 0xfe;de

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論