電子信息工程專業(yè)畢業(yè)論文電熱恒溫控制系統(tǒng)_第1頁
已閱讀1頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  X X 大 學</b></p><p>  畢 業(yè) 設 計(論文)</p><p>  題 目: 電熱恒溫控制系統(tǒng) </p><p>  姓 名: XXX </p><p>  學 號: 20060714113 </p>

2、<p>  年 級: 2011 級 </p><p>  專 業(yè): 電子信息工程 </p><p>  指導教師: XXX </p><p>  完成日期: 2015年05月6日 </p><p><b>  摘要</b></

3、p><p>  溫度是日常生活中無時不在的物理量,溫度的控制在各個領域都有積極的意義。很多行業(yè)中都有大量的用電加熱設備,如用于熱處理的加熱爐,用于融化金屬的坩鍋電阻爐及各種不同用途的溫度箱等,采用單片機對它們進行控制不僅具有控制方便、簡單、靈活性大等特點,而且還可以大幅度提高被控溫度的技術指標,從而能夠大大提高產(chǎn)品的質(zhì)量。因此,智能化溫度控制技術正被廣泛地采用,給生活帶來很大的方便。</p><p

4、>  本溫度設計采用現(xiàn)在流行的AT89S51單片機,配以DS18B20數(shù)字溫度傳感器,該溫度傳感器可自行設置溫度上下限。單片機將檢測到的溫度信號與輸入的溫度上、下限進行比較,由此作出判斷是否啟動繼電器以開啟設備。</p><p>  本設計還加入了常用的數(shù)碼管顯示及狀態(tài)燈顯示燈常用電路,使得整個設計更加完整,更加靈活。該設計已應用于花房、實驗室,可對花房和實驗室的溫度進行智能監(jiān)控。</p>&

5、lt;p>  關鍵字:恒溫;控制系統(tǒng);AT89C51單片機;DS18B20;設計</p><p><b>  Abstract</b></p><p>  The temperature is constantly in the daily life of physical and temperature controls in various fields h

6、ave a positive meaning. A lot of businesses have a lot of power heating equipment, such as that used for the heat treatment furnace, for melting metal crucible resistance heaters and the various uses of temperature bins,

7、 SCM using their right to control not only easy to control, simple, such as the characteristics of flexibility, but can also significantly increase the temperature was charged </p><p>  The temperature was d

8、esigned with the now popular AT89S51 SCM, and with DS18B20 digital temperature sensor, The temperature sensor can set up their own temperature collars. SCM will detect that the temperature of the input signal and tempera

9、ture, the lower comparisons this judgment whether to activate the relay to open the equipment. </p><p>  The design also includes commonly used digital display and control state lights commonly used circuit,

10、 making the whole design more complete, more flexible. The design has been applied to someone like flower rooms and laboratory rooms, to someone intelligent temperature control like these fields. </p><p>  K

11、eywords: Temperature keeping;Control systerm ;AT898C51 SCM;DS18B20;Design</p><p><b>  目錄</b></p><p>  1 引言············

12、3;····································&#

13、183;··</p><p>  1.1恒溫控制控制系統(tǒng)設計的意義···························1&l

14、t;/p><p>  1.2恒溫控制系統(tǒng)設計的背景·······························

15、;1</p><p>  1.3恒溫控制系統(tǒng)設計的目的······························&

16、#183;1</p><p>  1.4恒溫控制系統(tǒng)的功能······························

17、;·····1</p><p>  2 系統(tǒng)測溫設計方案的比較和總結·························

18、;··2</p><p>  2.1方案一·····························

19、83;··················</p><p>  2.2方案二·············&#

20、183;····································

21、</p><p>  2.3方案的總結·······························

22、83;············</p><p>  3 DS18B20溫度傳感器的介紹·················

23、83;··········</p><p>  3.1溫度傳感器的發(fā)展歷史及簡介···················

24、3;··········</p><p>  3.2 DS18B20的封裝及組成···················

25、3;··············</p><p>  3.3 DS18B20的測溫原理················

26、;···················</p><p>  3.3.1 測溫原理············

27、······························</p><p>  3.3.2 測溫流程·&

28、#183;····································

29、;···</p><p>  3.4 DS18B20與單片機的連接··························

30、3;·</p><p>  4 AT89C51單片機的介紹·····························

31、····</p><p>  3.1 AT89C51的封裝及組成··························

32、·······</p><p>  3.2 AT89C51的部分引腳說明·······················

33、;········</p><p>  5 電路控制系統(tǒng)的整體設計······················

34、83;·······</p><p>  5.1系統(tǒng)硬件設計························

35、;···············</p><p>  5.1.1總的電路主板的設計···············&#

36、183;················</p><p>  5.2其他部分硬件電路及說明··············

37、;·················</p><p>  5.3系統(tǒng)軟件設計··············&

38、#183;··························</p><p>  5.3.1系統(tǒng)軟件設計的整體思路···&#

39、183;·······················</p><p>  5.3.2系統(tǒng)程序流程圖的設計······

40、3;······················</p><p>  5.4程序的調(diào)試·········&

41、#183;································</p><p>  

42、結束語····································&

43、#183;············</p><p>  致謝···················

44、3;·······························</p><p>  參考文獻·

45、;····································

46、83;·········</p><p>  附錄·······················

47、····························</p><p><b>  1引言</b></p&

48、gt;<p>  1.1恒溫控制系統(tǒng)設計的意義</p><p>  隨著社會的發(fā)展,科技的進步,以及測溫儀器在各個領域的應用的深入,智能化已成為現(xiàn)代溫度控制系統(tǒng)發(fā)展的主流方向。特別是近些年來,溫度控制系統(tǒng)已廣泛應用到人們生活的各個方面,但溫度控制一直是一個有待深入開發(fā)的領域,它是與人們生活息息相關的一個實際問題。針對這種實際情況,設計一個溫度控制系統(tǒng),根據(jù)人們生活過程中對溫度的需要,讓溫度控制在所需

49、要的范圍之內(nèi),這將給人們的生活帶來更多的方便和利益,故智能化的恒溫控制系統(tǒng)具有廣泛的應用前景與實際意義。</p><p>  1.2恒溫控制系統(tǒng)的設計背景</p><p>  溫度是科學技術中最基本的物理量之一,也是日常生活中經(jīng)常用到的名詞,物理、化學、生物等學科都離不開溫度。在工業(yè)生產(chǎn)和實驗研究中,像大棚生產(chǎn)、溫室溫度控制、電力、化工、石油、冶金、航空航天、機械制造、糧食存儲、酒類生產(chǎn)等

50、領域,也都離不開溫度的測量和控制。溫度常常是表征對象和過程狀態(tài)的最重要的參數(shù)之一。比如,發(fā)電廠鍋爐的溫度必須控制在一定的范圍之內(nèi);許多化學反應的工藝過程必須在適當?shù)臏囟认虏拍苷_M行;煉油過程中,原油必須在不同的溫度和壓力條件下進行分餾才能得到汽油、柴油、煤油等產(chǎn)品;醫(yī)院在做手術的時候要求在一定的溫度環(huán)境下進行…沒有適宜的溫度環(huán)境,許多電子設備就不能正常工作,糧倉的儲糧就會變質(zhì)霉爛,酒類的品質(zhì)就沒有保障,手術就無法進行…因此,各行各業(yè)對

51、溫度控制的要求都越來越高??梢姡瑴囟鹊臏y量和控制是非常重要的。</p><p>  單片機在電子產(chǎn)品中的應用已經(jīng)越來越廣泛,在很多的電子產(chǎn)品中也用到了溫度檢測和溫度控制。隨著溫度控制器應用范圍的日益廣泛和多樣化,各種適用于不同場合的智能溫度控制器應運而生。</p><p>  1.3恒溫控制系統(tǒng)的設計目的</p><p>  本設計的內(nèi)容是溫度測試控制系統(tǒng),控制對象

52、是溫度。溫度控制在日常生活及工業(yè)領域的應用相當廣泛,比如溫室、水池、發(fā)酵缸、電源、電子設備等場所的溫度控制。而以往溫度控制是由人工完成的而且不夠重視,其實在很多場所溫度都需要監(jiān)控以防止發(fā)生意外。針對此問題,本系統(tǒng)設計的目的是實現(xiàn)一種可連續(xù)高精度調(diào)溫的溫度控制系統(tǒng),它應用廣泛,功能強大,電源是有直流蓄電池提供,小巧美觀,便于攜帶,是一款既實用又廉價的溫度控制系統(tǒng)。</p><p>  1.4 恒溫控制系統(tǒng)的功能&l

53、t;/p><p>  本設計是對溫度進行實時監(jiān)測與控制,設計的溫度控制系統(tǒng)實現(xiàn)了基本的溫度檢測與控制功能:當溫度低于設定下限溫度值時,系統(tǒng)自動啟動加熱繼電器加熱,使溫度上升,同時綠燈亮。當溫度上升到下限溫度以上時,停止加溫,同時燈滅;當溫度高于設定上限溫度時,系統(tǒng)自動啟動風扇降溫,使溫度下降,同時紅燈亮。當溫度下降到上限溫度以下時,電風扇停止工作,降溫停止。溫度在上下限溫度之間時,不執(zhí)行降溫或升溫功能。四個數(shù)碼管即時

54、顯示溫度,精確到小數(shù)點一位。若單單由系統(tǒng)進行溫度的控制較難實現(xiàn)對環(huán)境溫度的控制,可以經(jīng)過人工的方法進行控制,比如可以開空調(diào)降溫,或者開加熱器進行升溫等。當然也可以進行功能改進和拓展,將本系統(tǒng)和空調(diào)或散熱器連接,當溫度高于上限時開空調(diào)或散熱器進行散熱降溫;同樣的,把該系統(tǒng)與加熱器也連接,當溫度低于下限時,啟動加熱器加熱升溫,更好的實現(xiàn)智能化控制。</p><p>  2系統(tǒng)測溫設計方案的比較和總結</p>

55、;<p><b>  2.1 方案一</b></p><p>  測溫電路的設計,可以使用熱敏電阻之類的器件進行溫度的檢測,利用其感溫效應,將隨被測溫度的變化而變化的電壓或電流采集過來,進行A/D轉換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設計需要用到A/D轉換電路,感溫電路比較麻煩。</p><p><b&g

56、t;  2.2 方案二 </b></p><p>  使用溫度傳感器對溫度的檢測,結合單片機電路設計,采用一只DS18B20溫度傳感器,直接讀取被測溫度值,然后進行數(shù)據(jù)的轉換,通過單片機的處理后,再將溫度在數(shù)碼管顯示器上顯示出來,將依次完成設計要求。</p><p>  比較以上兩種方案,很容易看出,采用方案二,電路比較簡單,不需要進行A/D轉換,軟件設計也比較容易實現(xiàn),因此,

57、實際設計中采用方案二。</p><p>  2.3方案二的總體設計</p><p>  本系統(tǒng)的電路設計方框圖如圖1.1所示,它由三部分組成:①控制部分主芯片采用單片機AT89C51;②顯示部分采用四位共陰極LED數(shù)碼管以動態(tài)掃描方式顯示溫度;③溫度采集部分采用DS18B20溫度傳感器進行溫度采集。</p><p>  圖2.1電路總體設計方案</p>

58、<p><b> ?。?) 控制部分</b></p><p>  單片機AT89S51具有低電壓供電和體積小等特點,四個端口只需要兩個口就能滿足電路系統(tǒng)的設計需要,很適合便攜手持式產(chǎn)品的設計使用,系統(tǒng)應用三節(jié)電池供電。</p><p><b> ?。?) 顯示部分</b></p><p>  顯示電路采用4位共

59、陰極LED數(shù)碼管,從P0口送數(shù),P2口掃描。</p><p><b> ?。?)溫度采集部分</b></p><p>  DS18B20溫度傳感器是美國DALLAS半導體公司最新推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫。這一部分主要完成對溫度信號的采集和轉換工作,由DS18B20數(shù)字溫度傳感器及其與單片機的接口部分組成。數(shù)字溫

60、度傳感器DS18B20把采集到的溫度通過數(shù)據(jù)引腳傳到單片機的P1.0口,單片機接受溫度并存儲和處理。此部分只用到DS18B20和單片機,硬件電路很容易實現(xiàn)。</p><p>  3 DS18B20溫度傳感器的介紹</p><p>  3.1溫度傳感器的發(fā)展歷史及簡介</p><p>  溫度的測量是從金屬(物質(zhì))的熱脹冷縮開始。水銀溫度計至今仍是各種溫度測量的計量標

61、準??墒撬娜秉c是只能近距離觀測,而且水銀有毒,玻璃管易碎。代替水銀的有酒精溫度計和金屬簧片溫度計,它們雖然沒有毒性,但測量精度很低,只能作為一個概略指示。不過在居民住宅中使用已可滿足要求。在工業(yè)生產(chǎn)和實驗研究中為了配合遠傳儀表指示,出現(xiàn)了許多不同的溫度檢測方法,常用的有電阻式、熱電偶式、PN結型、輻射型、光纖式及石英諧振型等。它們都是基于溫度變化引起其物理參數(shù)(如電阻值,熱電勢等)的變化原理來進行溫度檢測的。隨著大規(guī)模集成電路工藝的提

62、高,出現(xiàn)了多種集成的數(shù)字化溫度傳感器。</p><p>  3.2 DS18B20的封裝及組成</p><p>  3.2.1 DS18B20的封裝如圖2.1所示,采用3腳式封裝。 </p><p>  圖3.1 DS18B20的封裝及引腳說明</p><p>  3.2.2 DS18B20的內(nèi)部結構</p><p>

63、  它主要由四部分組成:</p><p> ?。?)64位光刻ROM。開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前56位的CRC校驗碼,這也是多個DS18B20可以采用一線進行通信的原因。64位閃速ROM的結構如下:</p><p>  MSB LSB MSB LSB MSB LSB

64、</p><p>  圖3.2 DS18B20的內(nèi)部結構示意圖</p><p> ?。?) 非揮發(fā)的溫度報警觸發(fā)器TH和TL,可通過軟件寫入用戶報警上下限值。</p><p> ?。?) 高速暫存存儲,可以設置DS18B20溫度轉換的精度。</p><p>  DS18B20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存RAM和一個非易失性的電可擦

65、除的E2PRAM。高速暫存RAM的結構為8字節(jié)的存儲器,結構如表3.3所示。頭2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復位時被刷新。第5個字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉換分辨率。DS18B20工作時寄存器中的分辨率轉換為相應精度的溫度數(shù)值。它的內(nèi)部存儲器結構和字節(jié)定義如表3.2所示。低5位一直為1,TM是工作模式位,用于設置DS18B20在工作模式還是在測試模式, </p&

66、gt;<p>  表3.1 DS18B20內(nèi)部存儲器結構</p><p>  DS18B20出廠時該位被設置為0,用戶要去改動,R1和R0決定溫度轉換的精度位數(shù),來設置分辨率,如表3.2。</p><p>  表3.2 DS18B20字節(jié)定義</p><p>  由表3.3可見,分辨率越高,所需要的溫度數(shù)據(jù)轉換時間越長。因此,在實際應用中要將分辨率和轉

67、換時間權衡考慮。</p><p>  高速暫存RAM的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出前面所有8字節(jié)的CRC碼,可用來檢驗數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。</p><p>  當DS18B20接收到溫度轉換命令后,開始啟動轉換。轉換完成后的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在先,

68、高位在后,數(shù)據(jù)格式以0.0625℃/LSB形式表示。</p><p>  當符號位S=0時,表示測得的溫度值為正值,可以直接將二進制位轉換為十進制;當符號位S=1時,表示測得的溫度值為負值,要先將補碼變成原碼,再計算十進制數(shù)值。表2.2是一部分溫度值對應的二進制溫度數(shù)據(jù)。</p><p>  表3.3 DS18B20溫度轉換時間表</p><p>  表3.4 部分

69、溫度對應值表</p><p>  (4) CRC的產(chǎn)生 在64 b ROM的最高有效字節(jié)中存儲有循環(huán)冗余校驗碼(CRC)。主機根據(jù)ROM的前56位來計算CRC值,并和存入DS18B20中的CRC值做比較,以判斷主機收到的ROM數(shù)據(jù)是否正確。</p><p>  另外,由于DS18B20單線通信功能是分時完成的,它有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作按

70、協(xié)議進行。操作協(xié)議為:初使化DS18B20(發(fā)復位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)</p><p>  3.3 DS18B20的測溫原理</p><p>  3.3.1 測溫原理</p><p>  每一片DSl8B20在其ROM中都存有其唯一的48位序列號,在出廠前已寫入片內(nèi)ROM 中。主機在進入操作程序前必須用讀ROM(33H)命令將該DSl

71、8B20的序列號讀出。</p><p>  程序可以先跳過ROM,啟動所有DSl8B20進行溫度變換,之后通過匹配ROM,再逐一地讀回每個DSl8B20的溫度數(shù)據(jù)。</p><p>  DS18B20的測溫原理如圖2.4所示,圖中低溫系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定的頻率的脈沖信號送給減法計數(shù)器1,高溫系數(shù)晶振隨溫度的變化,其振蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的

72、脈沖輸入,圖中還隱含著技術門,當技術門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖后進行計數(shù),進而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55 所對應的基數(shù)分別置入減法計數(shù)器1和溫度寄存器中,減法計數(shù)器1和溫度寄存器被預置在-55所對應的一個基數(shù)值。減法計數(shù)器1對低溫系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當減法計數(shù)器1的預置值見到0時溫度寄存器的值將加1,減法計數(shù)器1的預置將重新被裝入,減法

73、計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到減法計數(shù)器2技術到0時,停止溫度寄存器值的累加,此時,溫度寄存器中的數(shù)值即為所測溫度。圖2.3中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數(shù)器的預置值,只要計數(shù)門仍未關閉就重復上述過程,直到寄存器溫度值達到被測溫度值,這就是DS18B20的測溫原理。</p><p>  表3.5 ROM操作命令</p>&l

74、t;p>  另外,由于DS18B20單線通信功能是分時完成的,它有嚴格是時隙概念,因此,讀寫時序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20(發(fā)復位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。</p><p>  圖3.3 測溫原理內(nèi)部結構裝置</p><p><b>  3.3.2測溫流程</b></p

75、><p>  圖3.4 DS18B20測溫流程圖</p><p>  3.4 DS18B20與單片機的連接2</p><p>  DS18B20與單片機的連接如下圖所示:</p><p>  這種連接方式實現(xiàn)了硬件電路得簡單化,容易實現(xiàn)。</p><p>  4 AT89C51單片機的介紹</p><p

76、>  4.1 AT89C51的封裝及組成</p><p>  單片機有44引腳的方式有方形和40引腳的雙列直插式封裝形式,無總線拓展的51單片機有20引腳雙列直插式封裝,本系統(tǒng)用的是40引腳的雙列直插式封裝,其封裝形式如下所示:</p><p>  圖4.1AT89C51單片機的封裝</p><p>  各引腳功能說明如下:</p><p&

77、gt;  GND:接地端。(20號引腳,這里已經(jīng)默認沒有給出)</p><p>  Vcc:電源端,杰+5V的直流電源。(40號引腳,單片機已經(jīng)默認)</p><p>  XTAL1:接外部晶體的一個引腳。CHMOS單片機采用外部時鐘信號時,外部時鐘信號引腳由此接入。</p><p>  XTAL2: 接外部晶體的一個引腳。HMOS單片機采用外部時鐘信號時,外部時鐘

78、信號引腳由此接入。</p><p>  RST: ①復位信號輸入。②Vcc掉電后,此引腳可接備用電源,低功耗條件下,保持內(nèi)部RAM存儲器中的詩數(shù)據(jù)。</p><p>  ALE/PROG:①地址鎖存允許。當單片機訪問外部存儲器時,該引腳輸出信號ALE用于鎖存P0端口的低8位地址。ALE輸出的頻率為時鐘振蕩頻率的1/6。②對8751單片機內(nèi)EPROM編程時,編程脈沖由該引腳接入。</p

79、><p>  PSEN:程序存儲器允許。輸出讀外部程序存儲器的選通信號。取指令操作期間, PSEN的頻率為振蕩頻率的1/6;單若在此期間有訪問外部數(shù)據(jù)存儲器的操作時,則有一個機器周期中的PSEN信號將不出現(xiàn)。</p><p>  EA/Vpp:①EA=0時,單片機只訪問外部存儲器。對于8031單片機此引腳必須接地,EA=1,單片機訪問程序內(nèi)部存儲器。對于內(nèi)部有程序存儲器的8XX51

80、單片機,此引腳應該接高電平,單如果地址值超過4KB范圍(0FFFH),單片機將自動訪問外部程序存儲器。②在8751單片機內(nèi)EPORM編程期間,此引腳接入21V編程電源Vpp。</p><p>  P0.0~P0.7:P0數(shù)據(jù)/低8位地址復用總線端口。具有雙重功能,①可以作為輸入/輸出口,外接輸入/輸出設備。②在有外接存儲器和I/O接口時,常作低8位地址/數(shù)據(jù)總線,即低8位地址與數(shù)據(jù)線分時使用P0口。此時,低8位地

81、址由ALE信號的下跳沿使它鎖存到外部地址鎖存器中。</p><p>  P1.0~P1.7:P1靜態(tài)通用端口,然后,P0口出現(xiàn)數(shù)據(jù)信息。具有單一接口功能,P1口每一位都可作為可編程輸入或輸出口線。</p><p>  P2.0~P2.7:P2高8位地址總線動態(tài)端口。具有雙重功能,①作為輸入口或輸出口使用,外接輸入/輸出設備。②在有外接存儲器和I/O接口時,作為系統(tǒng)的地址總線,輸出高8位地址

82、,與P0口低8位地址一起組成16位地址總線。對于內(nèi)部無程序存儲器的單片機來說,P2口只作為地址總線來使用,而不作為I/O口。</p><p>  P3.0~P3.7:P3雙功能靜態(tài)端口。為雙重功能端口,①可作為輸入/輸出端口,外接輸入/輸出設備。②作為第二功能使用時,每一位功能定義如下表所示:</p><p>  表4.1 P3口的第二功能</p><p>  5電

83、路控制系統(tǒng)的整體設計</p><p>  5.1硬件電路的設計</p><p>  5.1.1總的電路主板的設計</p><p>  本系統(tǒng)的硬件部分主要由控制部分的單片機AT89C51、溫度采集部分的DS18B20溫度傳感器,振蕩電路、繼電器、LED數(shù)碼管及報警電路等組成,其總的電路圖4.1如下所示:</p><p>  圖5.1系統(tǒng)的總電

84、路圖</p><p>  5.2其他部分硬件電路及說明</p><p><b>  (1)電源部分</b></p><p><b>  圖5.2電源電路</b></p><p>  電源部分由三節(jié)1.5V的電池串聯(lián)提供,方框里的1和2分別接電路中的正極和負極。不需要經(jīng)過交流電的變壓和穩(wěn)流,更易于實現(xiàn)

85、和方便攜帶。</p><p> ?。?)LED數(shù)碼管顯示部分</p><p><b>  圖5.3顯示電路</b></p><p>  該系統(tǒng)采用四聯(lián)共陰極7段數(shù)碼管,節(jié)約了單片機的輸出端口,便于程序的編寫,</p><p>  實現(xiàn)了對溫度的實時顯示,并精確到小數(shù)點后一位,使測得的溫度更加精確。</p>

86、<p><b> ?。?)晶體振蕩電路</b></p><p><b>  圖5.4振蕩電路</b></p><p>  單片機的時鐘信號通常由兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。在引腳XTAL1和XTAL2外接晶體振蕩器(簡稱晶振)或陶瓷振蕩器,就構成了內(nèi)部振蕩方式。由于單片機內(nèi)部有一個高增益反相放大器,當外接晶振后就構成了

87、自激振蕩器,并產(chǎn)生振蕩時鐘脈沖。本系統(tǒng)采用內(nèi)部振蕩方式。晶振通常選用的6MHz、12MHz或24MHz,本系統(tǒng)采用12MHz。</p><p><b>  (4)復位電路</b></p><p><b>  圖5.5復位電路</b></p><p>  復位操作完成單片機的內(nèi)部電路的初始化,使單片機從一種確定的狀態(tài)開始運行

88、。</p><p>  當51單片機的復位引腳RST出現(xiàn)5ms以上的高電平狀態(tài)時,單片機就完成了復位操作。如果RST引腳持續(xù)為高電平,單片機就處于循環(huán)復位狀態(tài),而無法執(zhí)行程序。因此,單片機復位后要脫離復位狀態(tài)。</p><p>  復位操作通常有兩種基本形式:上電復位和開關復位。上電復位要求接通電源后自動實現(xiàn)復位操作。開關復位要求在電源接通的條件下,在單片機運行期間,如果發(fā)生死機,用按鈕開

89、關操作,使單片機復位。通常C=10~30uF, R=1~10k歐姆.,如果不僅要使單片機復位,而且還要使單片機的一些外圍芯片也同時復位,那么上述電路中的電阻和電容的參考值應進行適當?shù)恼{(diào)整。</p><p>  單片機的復位操作使單片機進入初始化過程,其中包括使程序計數(shù)器PC=0000H,P0~P3=FFH,SP=07H,其他寄存器處于零。這表明程序從0000H地址單元開始執(zhí)行。單片機復位后不改變片內(nèi)RAM區(qū)中的內(nèi)

90、容,21位特殊功能寄存器在復位后的狀態(tài)如表3.2所示:</p><p>  表5.2 單片機復位后特殊功能寄存器的初始狀態(tài)</p><p><b>  (5)繼電器電路</b></p><p><b>  圖5.6繼電器電路</b></p><p>  圖中P1.1引腳控制加熱器繼電器,P1.2引

91、腳控制電風扇繼電器。當P1.1為低電平時,三極管導通,電磁鐵觸頭被吸下來接通加熱器電路,開始加熱,同時紅燈亮;同樣當P1.2低電平時,三極管導通,電磁鐵觸頭放下來開始進行散熱工作,同時綠燈亮。</p><p><b>  (6)報警電路部分</b></p><p><b>  圖5.7報警電路</b></p><p>  

92、當P2.5為低電平時,也就是當溫度低于下限溫度或高于上限溫度時,P2.5被清零,即為低電平,此時,三極管導通,蜂鳴器接通,發(fā)出警報聲。</p><p><b> ?。?)鍵盤電路部分</b></p><p><b>  圖5.8鍵盤電路</b></p><p>  按下P3.5時,P3.5接地,變?yōu)榈碗娖?,待程序控制?shù)碼管

93、顯示H00后松開;按下P3.7,然后快速松開,溫度加1,繼續(xù)P3.7的動作可以設置溫度的上限值;同養(yǎng)地操作P3.6和P3.7,完成溫度下限的設置。</p><p><b>  4.3系統(tǒng)軟件設計</b></p><p>  4.3.1系統(tǒng)軟件設計的整體思路</p><p>  一個應用系統(tǒng)要完成各項功能,首先必須有較完善的硬件作保證。同時還必須

94、得到相應設計合理的軟件的支持,尤其是微機應用高速發(fā)展的今天,許多由硬件完成的工作,都可通過軟件編程來實現(xiàn)。甚至有些必須采用很復雜的硬件電路才能完成的工作,用軟件編程有時會變得很簡單,如數(shù)字濾波,信號處理等。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源,采用與C51系列單片機相對應的51匯編語言和結構化程序設計方法進行軟件編程。</p><p>  程序設計語言有三種:機器語言、匯編語言和高級語言。機器語言是機器唯一

95、能“讀懂”的語言,但編程是用后兩種語言,用匯編語言或高級語言編寫的程序(即源程序)最終都必須翻譯成機器語言的程序(成為目標程序),計算機才能“看懂”,然后逐一執(zhí)行程序的各項功能。</p><p>  高級語言是面向問題和計算過程的語言,它可通過各種不同的計算機,用戶編程時不必仔細了解所用的計算機的具體性能與指令系統(tǒng),而且語句的功能強,常常一個語句已相當于很多條計算機指令,于是用高級語言編制程序的速度比較快,也便于

96、學習和交流,但是本系統(tǒng)卻選用了匯編語言。原因在于,本系統(tǒng)是編制程序工作量不大、規(guī)模較小的單片機微控制系統(tǒng),使用匯編語言可以不用像高級語言那樣占用較多的存儲空間,適合于存儲容量較小的系統(tǒng)。同時,本系統(tǒng)對位處理要求很高,需要解決大量的邏輯控制問題。</p><p>  MCS—51指令系統(tǒng)的指令長度較短,它在存儲空間和執(zhí)行時間方面具有較高的效率,編成的程序占用內(nèi)存單元少,執(zhí)行也非常的快捷,與本系統(tǒng)的應用要求很適合。而

97、且MCS—51指令系統(tǒng)有豐富的位操作(或稱位處理)指令,可以形成一個相當完整的位操作指令子集,這是MCS—51指令系統(tǒng)主要的優(yōu)點之一。對于要求反應靈敏與控制及時的工控、檢測等實時控制系統(tǒng)以及要求體積小、系統(tǒng)小的許多“智能化”產(chǎn)品,可以充分體現(xiàn)出匯編語言簡明、整齊、執(zhí)行時間短和易于使用的特點。</p><p>  本裝置的軟件包括主程序、讀出溫度子程序、復位應答子程序、寫入子程序、以及有關DS18B20的程序(初始

98、化子程序、寫程序和讀程序)等。</p><p>  4.3.2系統(tǒng)程序流程圖的設計</p><p><b>  (1)主程序</b></p><p>  主程序的主要功能是負責溫度的實時顯示、讀出并處理DS18B20所測得的當前溫度值,溫度測量每秒進行一次。這樣可以在一秒鐘內(nèi)測量一次被測的溫度,其程序流程見圖4.8所示。</p>

99、<p>  通過調(diào)用讀溫度子程序把存入內(nèi)存儲中的整數(shù)部分與小數(shù)部分分開存放在不同的兩個單元中,然后通過調(diào)用顯示子程序顯示出來。</p><p>  通過調(diào)用讀溫度子程序把存入內(nèi)存儲中的整數(shù)部分與小數(shù)部分分別存放在不同的兩個存儲單元中,然后通過調(diào)用顯示子程序顯示出來。</p><p>  圖5.9 主程序流程圖</p><p> ?。?)讀出溫度子程序<

100、;/p><p>  讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進行CRC(循環(huán)冗余碼)校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。</p><p>  DS18B20的各個命令對時序的要求特別嚴格,所以必須按照所要求的時序才能達到預期的目的,同時,要注意讀進來的是高位在后低位在前,共有12位數(shù),小數(shù)4位,整數(shù)7位,還有一位符號位。</p><p> ?。?)復

101、位、應答子程序</p><p>  圖5.11復位、應答子程序</p><p><b>  (4)寫入子程序</b></p><p>  圖5.12寫入子程序</p><p>  (5)總的程序流程圖</p><p>  圖5.12系統(tǒng)總流程圖</p><p><b&

102、gt;  4.4 調(diào)試</b></p><p>  調(diào)試的目的就是發(fā)現(xiàn)并改正錯誤。</p><p>  主程序的功能是:啟動DS18B20測量溫度,將測量值與給定值進行比較,若測得溫度小于設定值,則進入加熱階段,置P1.1為低電平,三極管導通,這期間繼續(xù)對溫度進行監(jiān)測,直到溫度在設定范圍內(nèi),置P1.1為高電平斷三極管不導通,斷開磁鐵,關閉加熱器,等待下一次的啟動命令。當測得溫度

103、大于設定值,則進入降溫階段,則置P1.2為低電平,這期間繼續(xù)對溫度進行監(jiān)測,直到溫度在設定范圍內(nèi),置P1.2為高電平斷開,關閉風扇,等待下一次的啟動命令。</p><p>  第一次接電調(diào)試,設置溫度上限為32℃,溫度下限為26℃。加熱后,溫度有時超過32℃卻不報警,后經(jīng)檢查,發(fā)現(xiàn)是進位C沒有清0,于是在如下寫入程序中加入進位C清零,便排除了這個異常。</p><p>  WR1:CLR

104、P1.0</p><p><b>  MOV R3,#6</b></p><p><b>  DJNZ R3,$</b></p><p><b>  RRC A</b></p><p>  MOV P1.0,C</p><p>  MOV R3,#23&

105、lt;/p><p><b>  DJNZ R3,$</b></p><p><b>  SETB P1.0</b></p><p><b>  NOP</b></p><p>  DJNZ R2,WR1</p><p>  RET; 讀DS18B2</

106、p><p>  再經(jīng)實際接電調(diào)試,一切運行正常。加熱到32攝氏度時,紅燈亮起并報警,自動斷電,而低于26攝氏度時,綠燈亮起并報警,開始加熱。</p><p><b>  結束語</b></p><p>  本設計使用的溫度控制器結構簡單、測溫準確,具有一定的實際應用價值。該智能溫度控制器只是DS18B20在溫度控制領域的一個簡單實例,基本實現(xiàn)了對溫

107、度的恒溫控制,但還有許多需要完善的地方。比如可以將測得的溫度通過單片機與通訊模塊進行連接,以手機短消息或其他的方式發(fā)送給用戶,使用戶能夠隨時對溫度進行監(jiān)控,實現(xiàn)對溫度的實時監(jiān)測和控制。此外,它還能廣泛地應用于其他一些工業(yè)生產(chǎn)領域,如建筑,倉儲等行業(yè),可以應用于溫室的溫度控制,以及某些電子設備的溫度控制領域,該系統(tǒng)還可以應用于多種場合,像實驗室的溫度、育嬰房的溫度、水溫的控制等。用戶可靈活選擇本設計的用途,具有一定的實用價值。</p

108、><p><b>  致謝</b></p><p>  大學四年的學習和生活就要隨著這篇論文的答辯而結束了。有許許多多的舍不得,也有許許多多的感謝要說。</p><p>  首先要衷心感謝的是我的指導教師陳羨美老師!在我做畢業(yè)設計期間不僅虛心聽我提出問題,而且還很耐心的給我講解,還傳授了我些做人的準則等等,這些都將使我終生受益。無論是在理論學習階段

109、,還是在論文的選題、資料查詢、開題、研究分析和撰寫的每一個環(huán)節(jié),都能得到導師的悉心指導和幫助,以及她的諄諄教誨,它將在我成長的路上給我指引方向。我愿借此機會向導師您表示衷心的感謝!</p><p>  其次要感謝所有教育過我的老師!是你們傳授給我的知識,是我不斷成長的源泉,也是完成本論文的基礎。我還要向關心和支持我學習的同學們表示真摯的謝意!感謝他們對我的關心、關注、幫助和支持! </p><

110、p>  大學的生活使我學會了更加堅強,保持冷靜的思考和樂觀的心態(tài)。最重要的是讓我更加有了責任感,對自己、對家人和對社會,也讓我學會了感恩!</p><p>  我愿在未來的社會生活和學習過程中,以更加豐厚的成果來答謝曾經(jīng)關心幫助和支持過我的老師、同學和朋友們,永遠以一顆誠摯的、感恩的心來回報社會,</p><p><b>  謝謝大家!</b></p>

111、;<p><b>  參考文獻</b></p><p>  【1】《單片機及嵌入式系統(tǒng)》,李伯誠編著,清華大學出版社。</p><p>  【2】《單片機典型系統(tǒng)設計實例精講》,彭為、黃科、雷道仲編著,電子工業(yè)出版社。</p><p>  【3】《單片機原理、接口技術及應用》—嵌入式系統(tǒng)設計基礎,李群芳、肖看編著,清華大學出版社。

112、</p><p>  【4】《模擬電子技術基礎》第四版,化成英、童詩白編著,高等教育出版社。</p><p>  【5】《微型計算機原理與接口技術》劉彥文、張向東、譚峰主編,北京大學出版社。</p><p><b>  附錄</b></p><p><b>  附錄1</b></p>

113、<p><b>  程序代碼</b></p><p><b>  ORG 0000H</b></p><p>  TEMPER_L EQU 29H</p><p>  TEMPER_H EQU 28H</p><p>  FLAG1 EQU 38H;是否檢測到DS18B20標志位</

114、p><p>  bwei equ 22h</p><p>  A_BIT EQU 20H ;數(shù)碼管個位數(shù)存放內(nèi)存位置</p><p>  B_BIT EQU 21H ;數(shù)碼管十位數(shù)存放內(nèi)存位置</p><p>  XS EQU 30H</p><p>  MOV A,#00H</p><p>

115、;<b>  MOV P2,A</b></p><p>  MOV R5,#01H</p><p>  MAIN:LCALL GET_TEMPER;調(diào)用讀溫度子程序</p><p>  *********溫度轉化*********************</p><p><b>  MOV A,29H</

116、b></p><p><b>  MOV B,A</b></p><p><b>  CLR C</b></p><p><b>  RLC A</b></p><p><b>  CLR C</b></p><p><

117、b>  RLC A</b></p><p><b>  CLR C</b></p><p><b>  RLC A</b></p><p><b>  CLR C</b></p><p><b>  RLC A</b></p>

118、<p><b>  SWAP A</b></p><p><b>  MOV 31H,A</b></p><p><b>  MOV A,B</b></p><p>  MOV C,40H;將28H中的最低位移入C</p><p><b>  RRC A

119、</b></p><p><b>  MOV C,41H</b></p><p><b>  RRC A</b></p><p><b>  MOV C,42H</b></p><p><b>  RRC A</b></p>&l

120、t;p><b>  MOV C,43H</b></p><p><b>  RRC A</b></p><p><b>  MOV 29H,A</b></p><p>  ************************************************</p>&l

121、t;p>  LCALL DISPLAY;調(diào)用數(shù)碼管顯示子程序</p><p>  AJMP MAIN; </p><p>  ************DS18B20復位初始化子程序********</p><p>  INIT_1820:SETB P1.0</p><p><b>  NOP</b></p&g

122、t;<p>  CLR P1.0;主機發(fā)出延時537微秒的復位低脈沖</p><p><b>  MOV R1,#3</b></p><p>  TSR1:MOV R0,#107</p><p><b>  DJNZ R0,$</b></p><p>  DJNZ R1,TSR1<

123、;/p><p>  SETB P1.0;然后拉高數(shù)據(jù)線</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  MOV R0,#25H</p>&l

124、t;p>  TSR2:JNB P1.0,TSR3;等待DS18B20回應</p><p>  DJNZ R0,TSR2</p><p>  LJMP TSR4 ; 延時</p><p>  TSR3:SETB FLAG1 ; 置標志位,表示DS1820存在</p><p><b>  LJMP TSR5</b>&l

125、t;/p><p>  TSR4:CLR FLAG1 ; 清標志位,表示DS1820不存在</p><p><b>  LJMP TSR7</b></p><p>  TSR5:MOV R0,#117</p><p>  TSR6:DJNZ R0,TSR6 ; 時序要求延時一段時間</p><p>  

126、TSR7:SETB P1.0</p><p>  RET; 讀出轉換后的溫度值</p><p>  GET_TEMPER:SETB P1.0</p><p>  LCALL INIT_1820;先復位DS18B20</p><p>  JB FLAG1,TSS2</p><p>  RET ; 判斷DS1820是否存在

127、?若DS18B20不存在則返回</p><p>  TSS2:MOV A,#0CCH ; 跳過ROM匹配</p><p>  LCALL WRITE_1820</p><p>  MOV A,#44H ; 發(fā)出溫度轉換命令</p><p>  LCALL WRITE_1820;這里通過調(diào)用顯示子程序實現(xiàn)延時一段時間,等待AD轉換結束,12位的

128、話750微秒</p><p>  LCALL DISPLAY</p><p>  LCALL INIT_1820;準備讀溫度前先復位</p><p>  MOV A,#0CCH ; 跳過ROM匹配</p><p>  LCALL WRITE_1820</p><p>  MOV A,#0BEH ; 發(fā)出讀溫度命令<

129、;/p><p>  LCALL WRITE_1820</p><p>  LCALL READ_18200; 將讀出的溫度數(shù)據(jù)保存到35H/36H </p><p>  RET;寫DS18B20的子程序(有具體的時序要求)</p><p>  WRITE_1820:MOV R2,#8;一共8位數(shù)據(jù)</p><p><

130、b>  CLR C</b></p><p>  WR1:CLR P1.0</p><p><b>  MOV R3,#6</b></p><p><b>  DJNZ R3,$</b></p><p><b>  RRC A</b></p>&l

131、t;p>  MOV P1.0,C</p><p>  MOV R3,#23</p><p><b>  DJNZ R3,$</b></p><p><b>  SETB P1.0</b></p><p><b>  NOP</b></p><p>

132、  DJNZ R2,WR1</p><p>  RET; 讀DS18B20的程序,從DS18B20中讀出兩個字節(jié)的溫度數(shù)據(jù) </p><p>  READ_18200:MOV R4,#2 ; 將溫度高位和低位從DS18B20中讀出</p><p>  MOV R1,#29H ; 低位存入29H(TEMPER_L),高位存入28H(TEMPER_H)</p>

133、;<p>  RE00:MOV R2,#8;數(shù)據(jù)一共有8位</p><p>  RE01:CLR C</p><p><b>  SETB P1.0</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p>

134、<p><b>  CLR P1.0</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  SETB P1.0<

135、/b></p><p><b>  MOV R3,#9</b></p><p>  RE10: DJNZ R3,RE10</p><p>  MOV C,P1.0</p><p>  MOV R3,#23</p><p>  RE20: DJNZ R3,RE20</p><

136、;p><b>  RRC A</b></p><p>  DJNZ R2,RE01</p><p><b>  MOV @R1,A</b></p><p><b>  DEC R1</b></p><p>  DJNZ R4,RE00</p><p&g

137、t;<b>  RET</b></p><p>  **************數(shù)碼管顯示子程序*******************</p><p><b>  DISPLAY:</b></p><p>  MOV A,29H;將29H中的十六進制數(shù)轉換成10進制 </p><p><b&g

138、t;  MOV R3,A</b></p><p><b>  CLR C</b></p><p>  SUBB A,50H;溫度上限</p><p>  JNB CY, T3</p><p>  SETB P1.2;風扇繼電器關</p><p>  SETB P2.5;報警關&

139、lt;/p><p>  MOV A,R3</p><p><b>  CLR C</b></p><p>  SUBB A,60H;溫度下限</p><p>  JB CY, T2</p><p>  SETB P1.1;加熱繼電器關</p><p>  SETB

140、 P2.5;報警關</p><p>  SJMP XIANSHI</p><p><b>  T2:</b></p><p>  CLR P1.1;加熱繼電器開</p><p>  CLR P2.5;報警開</p><p>  LJMP XIANSHI</p><p>

141、;<b>  T3:</b></p><p>  CLR P1.2;風扇繼電器開</p><p>  CLR P2.5;報警開</p><p><b>  XIANSHI:</b></p><p>  LCALL SETT</p><p><b>  DISP:&l

142、t;/b></p><p><b>  MOV A,R3</b></p><p>  MOV B,#100 ;10進制/10=10進制</p><p><b>  DIV AB</b></p><p>  mov bwei,a</p><p><b>  mo

143、v a,b</b></p><p><b>  mov b,#10</b></p><p><b>  div ab</b></p><p>  MOV B_BIT,A ;十位在A</p><p>  MOV A_BIT,B ;個位在B</p><p>  MOV

144、 R0,#4 </p><p><b>  CLR C;多加的</b></p><p>  DPL1: MOV R1,#250 ;顯示1000次</p><p><b>  DPLOP:</b></p><p>  MOV DPTR,#NUMTAB</p><p>  MOV

145、 A,bwei</p><p>  MOVC A,@A+DPTR ;查通道的7段代碼</p><p>  MOV P0,A ;送出十位的7段代碼</p><p>  CLR P2.3 ;開通道顯示</p><p>  ACALL D1MS ;顯示1MS</p><p><b>  SETB P2.3<

146、/b></p><p>  MOV DPTR,#NUMTAB1</p><p>  MOV A,A_BIT ;取個位數(shù)</p><p>  MOVC A,@A+DPTR ;查個位數(shù)的7段代碼</p><p>  MOV P0,A ;送出個位的7段代碼</p><p>  CLR P2.1 ;開個位顯示</p

溫馨提示

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

評論

0/150

提交評論