單片機溫度控制系統(tǒng)畢業(yè)論文_第1頁
單片機溫度控制系統(tǒng)畢業(yè)論文_第2頁
單片機溫度控制系統(tǒng)畢業(yè)論文_第3頁
單片機溫度控制系統(tǒng)畢業(yè)論文_第4頁
單片機溫度控制系統(tǒng)畢業(yè)論文_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

1、論文設計設計(論文)題目: 基于單片機的溫度控制系統(tǒng)院 系:電子信息工程學院專業(yè)班級:電子信息工程11-01學生姓名:張戰(zhàn)鋒指導教師:耿鑫鄭州輕工業(yè)學院二0一四年十月二十日基于單片機的溫度控制系統(tǒng)摘要溫度是日常生活中無時不在的物理量,溫度的控制在各個領域都有積極的意義。很多 行業(yè)中都有大量的用電加熱設備,如用于熱處理的加熱爐,用于融化金屬的坩鍋電阻爐及 各種不同用途的溫度箱等,采用單片機對它們進行控制不僅具有控制方便、簡單、靈活性 大等特點,而且還可以大幅度提高被控溫度的技術(shù)指標,從而能夠大大提高產(chǎn)品的質(zhì)量。 因此,智能化溫度控制技術(shù)正被廣泛地采用。本溫度設計采用現(xiàn)在流行的AT89S51單片機

2、,配以DS18B20數(shù)字溫度傳感器,該溫 度傳感器可自行設置溫度上下限。單片機將檢測到的溫度信號與輸入的溫度上、下限進行 比較,由此作出判斷是否啟動繼電器以開啟設備。本設計還加入了常用的數(shù)碼管顯示及狀態(tài)燈顯示燈常用電路,使得整個設計更加完 整,更加靈活。該設計已應用于花房,可對花房溫度進行智能監(jiān)控?!娟P(guān)鍵詞】 溫度箱,AT89S51,單片機,控制,模擬目錄1引言31.1 溫度控制系統(tǒng)設計的背景、發(fā)展歷史及意義31.2 溫度控制系統(tǒng)的目的41.3 溫度控制系統(tǒng)完成的功能42總體設計方案43口518320溫度傳感器簡介113.1 溫度傳感器的歷史及簡介113.2 口518320的工作原理113.2

3、.1 口518320工作時序113.2.2 ROM操作命令143.3 DS18B20的測溫原理143.3.1 DS18B20 的測溫原理:143.3.2 DS18B20的測溫流程164.1 設計原則164.2 引腳連接174.2.1 晶振電路174.2.2 串口弓|腳175系統(tǒng)整體設計185.1 系統(tǒng)硬件電路設計185.1.1 主板電路設計185.1.2 各部分電路185.2 系統(tǒng)軟件設計205.2.1 系統(tǒng)軟件設計整體思路205.2.2 系統(tǒng)程序流圖215.3調(diào)試26六、結(jié)束語27參考文獻28致謝291引言1.1 溫度控制系統(tǒng)設計的背景、發(fā)展歷史及意義隨著社會的發(fā)展,科技的進步,以及測溫儀器

4、在各個領域的應用,智能化已是現(xiàn)代溫 度控制系統(tǒng)發(fā)展的主流方向。特別是近年來,溫度控制系統(tǒng)已應用到人們生活的各個方面, 溫度是科學技術(shù)中最基本的物理量之一,物理、化學、生物等學科都離不開溫度,溫度常 常是表征對象和過程狀態(tài)的最重要的參數(shù)之一。比如,發(fā)電廠鍋爐的溫度必須控制在一定 的范圍之內(nèi);許多化學反應的工藝過程必須在適當?shù)臏囟认虏拍苷_M行;煉油過程中, 原油必須在不同的溫度和壓力條件下進行分餾才能得到汽油、柴油、煤油等產(chǎn)品。沒有合 適的溫度環(huán)境,許多電子設備就不能正常工作,糧倉的儲糧就會變質(zhì)霉爛,酒類的品質(zhì)就 沒有保障。因此,各行各業(yè)對溫度控制的要求都越來越高??梢?,溫度的測量和控制是非 常

5、重要的。單片機在電子產(chǎn)品中的應用已經(jīng)越來越廣泛,在很多的電子產(chǎn)品中也用到了溫度檢測和溫度控制。隨著溫度控制器應用范圍的日益廣泛和多樣,各種適用于不同場合的智能溫 度控制器應運而生。1.2 溫度控制系統(tǒng)的目的本設計的內(nèi)容是溫度測試控制系統(tǒng),控制對象是溫度。溫度控制在日常生活及工業(yè)領 域應用相當廣泛,比如溫室、水池、發(fā)酵缸、電源等場所的溫度控制。而以往溫度控制是 由人工完成的而且不夠重視,其實在很多場所溫度都需要監(jiān)控以防止發(fā)生意外。針對此問 題,本系統(tǒng)設計的目的是實現(xiàn)一種可連續(xù)高精度調(diào)溫的溫度控制系統(tǒng),它應用廣泛,功能 強大,小巧美觀,便于攜帶,是一款既實用又廉價的控制系統(tǒng)。1.3 溫度控制系統(tǒng)完

6、成的功能本設計是對溫度進行實時監(jiān)測與控制,設計的溫度控制系統(tǒng)實現(xiàn)了基本的溫度控制功 能:當溫度低于設定下限溫度時,系統(tǒng)自動啟動加熱繼電器加溫,使溫度上升,同時綠燈 亮。當溫度上升到下限溫度以上時,停止加溫;當溫度高于設定上限溫度時,系統(tǒng)自動啟 動風扇降溫,使溫度下降,同時紅燈亮。當溫度下降到上限溫度以下時,停止降溫。溫度 在上下限溫度之間時,執(zhí)行機構(gòu)不執(zhí)行。三個數(shù)碼管即時顯示溫度,精確到小數(shù)點一位。 2總體設計方案在本系統(tǒng)的電路設計方框圖如圖2.1所示,它由三部分組成:控制部分主芯片采用單 片機AT89S51 ;顯示部分采用3位LED數(shù)碼管以動態(tài)掃描方式實現(xiàn)溫度顯示;溫度采 集部分采用口518

7、320溫度傳感器。圖2.1溫度計電路總體設計方案(1)控制部分單片機AT89S51具有低電壓供電和體積小等特點,四個端口只需要兩個口就能滿足電 路系統(tǒng)的設計需要,很適合便攜手持式產(chǎn)品的設計使用,系統(tǒng)應用三節(jié)電池供電。(2)顯示部分顯示電路采用3位共陽LED數(shù)碼管,從P0 口送數(shù),P2 口掃描。(3)溫度采集部分DS18B20溫度傳感器是美國DALLAS半導體公司推出的一種改進型智能溫度傳感器, 與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫。這一部分主要完成對溫度信號 的采集和轉(zhuǎn)換工作,由DS18B20數(shù)字溫度傳感器及其與單片機的接口部分組成。數(shù)字溫 度傳感器口518320把采集到的溫度通

8、過數(shù)據(jù)引腳傳到單片機的P1.0 ,單片機接受溫度 并存儲。此部分只用到DS18B20和單片機,硬件很簡單。1) DS18B20的性能特點如下:1)獨特的單線接口僅需要一個端口引腳進行通信;2)多個DS18B20可以并聯(lián)在惟一的三線上,實現(xiàn)多點組網(wǎng)功能;3)無須外部器件;4)可通過數(shù)據(jù)線供電,電壓范圍為3.05.5V;5)零待機功耗;6)溫度以3位數(shù)字顯示;7)用戶可定義報警設置;8)報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件;9)負電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。(2) DS18B20的內(nèi)部結(jié)構(gòu)口518320采用3腳PR-35封裝,如圖2.2

9、所示;DS18B20的內(nèi)部結(jié)構(gòu),地數(shù)據(jù)線可選圖 2.2 口518820封裝(3) DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:1) 64位光刻ROM。開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前56位的CRC校驗碼,這也是多個DS18B20可以采用一線進行LSB通信的原因。64位閃速ROM的結(jié)構(gòu)如下.表2-1 ROM結(jié)構(gòu)8b檢驗CRC48b序列號8巳工廠代碼(10H)MSBLSB MSBLSB MSB存存儲器和控制邏輯暫存器A溫 溫度傳感器上限觸發(fā)H號下限觸發(fā)L位八: 產(chǎn)生器圖2.3 DS18B20內(nèi)部結(jié)構(gòu)2)非揮發(fā)的溫度報警觸發(fā)器TH和口,可通過軟件寫入用戶報警

10、上下限值。3)高速暫存存儲,可以設置口518320溫度轉(zhuǎn)換的精度???18320溫度傳感器的內(nèi)部存儲器還包括一個高速暫存RAM和一個非易失性的可電 擦除的E2PRAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如表2.2所示。頭2個 字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復位時 被刷新。第5個字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20 工作時寄存器中的分辨率轉(zhuǎn)換為相應精度的溫度數(shù)值。它的內(nèi)部存儲器結(jié)構(gòu)和字節(jié)定義如 圖2.4所示。低5位一直為1,丁乂是工作模式位,用于設置口518320在工作模式還是在 測試模式。表2-2 DS1

11、8B20內(nèi)部存儲器結(jié)構(gòu)Byte0溫度測量值LSB (50H)Byte1溫度測量值MSB (50H)E2PROMByte2TH高溫寄存器03TH高溫寄存器Byte3TL低溫寄存器03TL低溫寄存器Byte4配位寄存器03配位寄存器Byte5預留(FFH)Byte6預留(0CH)Byte7預留(IOH)Byte8循環(huán)冗余碼校驗(CRC)DS18B20出廠時該位被設置為0,用戶要去改動,R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來設置分辨率,如圖2.4。由表2.3可見,分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間越長。因此,在實際應用中 要將分辨率和轉(zhuǎn)換時間權(quán)衡考慮。高速暫存RAM的第6、7、8字節(jié)保留未用,表現(xiàn)為

12、全邏輯1。第9字節(jié)讀出前面所 有8字節(jié)的CRC碼,可用來檢驗數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。當DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位 帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機可以通過單 線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在先,高位在后,數(shù)據(jù)格式以0.0625/LSB形式表示。當符號位3 = 0時,表示測得的溫度值為正值,可以直接將二進制位轉(zhuǎn)換為十進制;當符號位S=1時,表示測得的溫度值為負值,要先將補碼變成原碼,再計算十進制數(shù)值。表2.4是一部分溫度值對應的二進制溫度數(shù)據(jù)。表2-3 DS18B20溫度轉(zhuǎn)換時間表R1R0分辨率/位溫

13、度最大轉(zhuǎn)向時間/ms00993.750110187.510113751112750表2-4 一部分溫度對應值表溫度/二進制表示十八進制表示+ 1250000 01111101 000007D0H+850000 01010101 00000550H+25.06250000 00011001 00000191H+ 10.1250000 00001010 000100A2H+0.50000 00000000 00100008H00000 00000000 10000000H-0.51111 11111111 0000FFF8H-10.1251111 11110101 1110FF5EH-25.062

14、51111 11100110 1111FE6FH-551111 11001001 0000FC90H4) CRC的產(chǎn)生在64 b ROM的最高有效字節(jié)中存儲有循環(huán)冗余校驗碼(CRC)。主機根據(jù)ROM的 前56位來計算CRC值,并和存入DS18B20中的CRC值做比較,以判斷主機收到的ROM 數(shù)據(jù)是否正確。另外,由于DS18B20單線通信功能是分時完成的,它有嚴格的時隙概念, 因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作按協(xié)議進行。操作協(xié)議為:初使化 DS18B20 (發(fā)復位脈沖)f發(fā)ROM功能命令f發(fā)存儲器操作命令f處理數(shù)據(jù)。.I3 DS18B20溫度傳感器簡介3.1 溫度傳感器的歷史及

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

16、1 DS18B20H作時序根據(jù)DS18B20的通訊協(xié)議,主機控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:1 .每一次讀寫之前都必須要對DS18B20進行復位;2 .復位成功后發(fā)送一條ROM指令;3 .最后發(fā)送RAM指令,這樣才能對DS18B20進行預定的操作。復位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號后等待15 60微秒左右后發(fā)出60240微秒的存在低脈沖,主CPU收到此信號表示復位成功。其工 作時序包括初始化時序、寫時序和讀時序,具體工作方法如圖3.1, 3.2, 3.3所示。(1)初始化時序I 一 I 等待15-60U主機口最小480萬主機復位脈沖乙 一

17、上 L -;1二Tx響應脈 一最小480US -M 沖60240、二圖3-1初始化時序總線上的所有傳輸過程都是以初始化開始的,主機響應應答脈沖。應答脈沖使主機知 道,總線上有從機設備,且準備就緒。主機輸出低電平,保持低電平時間至少480us,以 產(chǎn)生復位脈沖。接著主機釋放總線,4.7KQ上拉電阻將總線拉高,延時1560us,并進入 接受模式,以產(chǎn)生低電平應答脈沖,若為低電平,再延時480us。(2)寫時序主機寫0時序主機寫1時序I - I 采 樣1545U:-I - I 采 樣1545U .圖3-2寫時序?qū)憰r序包括寫0時序和寫1時序。所有寫時序至少需要60us,且在2次獨立的寫時 序之間至少需

18、要1us的恢復時間,都是以總線拉低開始。寫1時序,主機輸出低電平,延 時2us,然后釋放總線,延時60us。寫0時序,主機輸出低電平,延時60us,然后釋放 總線,延時2us。(3)讀時序主機寫0時序主機寫1時序耳圖3-3讀時序總線器件僅在主機發(fā)出讀時序是,才向主機傳輸數(shù)據(jù),所以,在主機發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時序,以便從機能夠傳輸數(shù)據(jù)。所有讀時序至少需要60us,且在2次 獨立的讀時序之間至少需要1us的恢復時間。每個讀時序都由主機發(fā)起,至少拉低總線1us。 主機在讀時序期間必須釋放總線,并且在時序起始后的15us之內(nèi)采樣總線狀態(tài)。主機輸出 低電平延時2us,然后主機轉(zhuǎn)入輸入模式延時

19、12us,然后讀取總線當前電平,然后延時50us3.2.2 ROM操作命令當主機收到DSl8B20的響應信號后,便可以發(fā)出ROM操作命令之一。3.3 DS18B20的測溫原理3.3.1 DS18B20的測溫原理:每一片DSl8B20在其ROM中都存有其唯一的48位序列號,在出廠前已寫入片內(nèi)ROM 中。主機在進入操作程序前必須用讀ROM(33H)命令將該DSl8B20的序列號讀出。程序可以先跳過ROM,啟動所有DSl8B20進行溫度變換,之后通過匹配ROM,再逐 一地讀回每個DSl8B20的溫度數(shù)據(jù)。DS18B20的測溫原理如圖3.4所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很 小,用于產(chǎn)生

20、固定頻率的脈沖信號送給減法計數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩 頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入,圖中還隱含著計數(shù)門,當計 數(shù)門打開時,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的預置將重新被裝 入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)

21、生的脈沖信號進行計數(shù),如此循環(huán)直到減 法計數(shù)器2計數(shù)至0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫 度。圖2.3中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數(shù)器的預置值,只要計數(shù)門仍未關(guān)閉就重復上述過程,直至溫度寄存器值達到被測溫度值.表3-1 ROM操作命令指令約定代碼功能讀ROM33H讀DS18B20 ROM中的編碼符合ROM55H發(fā)出此命令之后,接著發(fā)出64位ROM編碼,訪問單線 總線上與該編碼相對應的DS18B20使之作出響應,為下 一步對該DS18B20的讀寫作準備搜索ROM0F0H用于確定掛接在同一總線上DS18B20的個數(shù)和識別64位RO

22、M地址,為操作各器件作好準備跳過ROM0CCH忽略64位ROM地址,直接向DS18B20發(fā)溫度變換命令,適用于單片工作。告警搜索命令0ECH執(zhí)行后,只有溫度超過設定值上限或者下限的片子才做出響應溫度變換44H啟動DS18B20進行溫度轉(zhuǎn)換,轉(zhuǎn)換時間最長為500MS,結(jié)果存入內(nèi)部9字節(jié)RAM中讀暫存器0BEH讀內(nèi)部RAM中9字節(jié)的內(nèi)容寫暫存器4EH發(fā)出向內(nèi)部RAM的第3, 4字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟讀命令之后,是傳送兩字節(jié)的數(shù)據(jù)復皤存器48H將E2PRAM中第3,4字節(jié)內(nèi)容復制到E2PRAM中重調(diào)E2PRAM0BBH將E2PRAM中內(nèi)容恢復到RAM中的第3, 4字節(jié)讀供電方式0B4H讀D

23、S18B20的供電模式,寄生供電時DS18B20發(fā)送“0”,外接電源供電DS18B20發(fā)送 T系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20 (發(fā)復位脈沖)f發(fā)ROM功能命令f發(fā)存儲器操作命令f處理數(shù)據(jù)。圖3-4測溫原理內(nèi)部裝置3.3.2 DS18B20的測溫流程圖3-5 口518820測溫流程4單片機接口設計.4.1 設計原則DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時DS18B20的1腳 接地,2腳作為信號線,3腳接電源。另一種是寄生電源供電方式,如圖3.1所示單片機 端口接單線總線,為保證在有效的 DS18B20時鐘周期內(nèi)提供足夠的電流

24、,可用一個 MOSFET管來完成對總線的上拉。本設計采用電源供電方式,P1.1 口接單線總線為保證 在有效的DS18B20時鐘周期內(nèi)提供足夠的電流,可用一個MOSFET管和89S51的P1.0 來完成對總線的上拉。當DS18B20處于寫存儲器操作和溫度A/D變換操作時,總線上必 須有強的上拉,上拉開啟時間最大為103。采用寄生電源供電方式是VDD和GND端均接地。由于單線制只有一根線,因此發(fā)送接收口必須是三狀態(tài)的。主機控制DS18B20完 成溫度轉(zhuǎn)換必須經(jīng)過3個步驟:初始化;ROM操作指令;存儲器操作指令。4.2 引腳連接4.2.1 晶振電路單片機XIAL1和XIAL2分別接30PF的電容,中

25、間再并個12MHz的晶振,形成單片 機的晶振電路。4.2.2 串口引腳P0 口接9個2.2K的排阻然后接到顯示電路上。P1.0溫度傳感器DS18B20如圖4.1所示。圖4-1 DS18B20與單片機的接口電路P1.1和1.2引腳接繼電器電路的4.7K電阻上,P1 其他引腳懸空P2 口中P2.0、P2.1、P2.2、P2.3分別接到顯示電路的4.7K電阻上,P2.5接蜂鳴器電 路,其他引腳懸空;P3 口中P3.5、P3.6、P3.7接到按鍵電路4.2.3 其它引腳ALE引腳懸空,復位引腳接到復位電路、VCC接電源、VSS接地、EA接電源.I5系統(tǒng)整體設計5.1 系統(tǒng)硬件電路設計5.1.1 主板電

26、路設計單片機的P1.0接DS18B20的2號引腳,P0 口送數(shù)P2 口掃描,P1.1、P1.2控制加熱 器和電風扇的繼電器。如附錄1。5.1.2 各部分電路(1)顯示電路顯示電路采用了7段共陰數(shù)碼管掃描電路,節(jié)約了單片機的輸出端口,便于程序的編 寫。234DS3DS2DS16圖5-1顯示電路圖口518320溫度傳感器電路U2 VCCVCC DQ GND2P1.01DS18B20 圖5-2溫度傳感器電路引腳圖(3)單片機電路(4)繼電器電路UI ATS9S51VCCPlfl LPIOVCCPllPOOP12P01P13P02P14PD3Pl 5P04Pl5PQ5prP06RESET也P50EAP

27、31_ALEP32PSENP33P27PJ-IP26P35P25P56P24P37P23XTALLP22?CTAL2P21VSSP2Q401Pll 239 TOOPI2 338 PtJlPIS 43: P01P14 536 P05p技巧35 P04P16 73; F05PI? 8打POS3 T 932 MFPJ01031PSI 1130PSI 1229 VC!CPJ31328 prPM 1427 PMPJ5H26 P2525 P24PS7171 PISIB23 F!219a m2021 1a2。圖5-3單片機電路引腳圖圖中Pl/引腳控制加熱器繼電器。給P1.1低電平,三極管導通,電磁鐵觸頭放下

28、來開始工作.圖5-4繼電器電路圖(5)晶振控制電路圖5-5晶振控制電路圖(6)復位電路SL圖5-6復位電路圖5.2 系統(tǒng)軟件設計5.2.1 系統(tǒng)軟件設計整體思路一個應用系統(tǒng)要完成各項功能,首先必須有較完善的硬件作保證。同時還必須得到相 應設計合理的軟件的支持,尤其是微機應用高速發(fā)展的今天,許多由硬件完成的工作,都 可通過軟件編程而代替。甚至有些必須采用很復雜的硬件電路才能完成的工作,用軟件編 程有時會變得很簡單,如數(shù)字濾波,信號處理等。因此充分利用其內(nèi)部豐富的硬件資源和 軟件資源,采用與S51系列單片機相對應的51匯編語言和結(jié)構(gòu)化程序設計方法進行軟件 編程。MCS51指令系統(tǒng)的指令長度較短,它

29、在存儲空間和執(zhí)行時間方面具有較高的效率,編成的程序占用內(nèi)存單元少,執(zhí)行也非常的快捷,與本系統(tǒng)的應用要求很適合。而且MCS51指令系統(tǒng)有豐富的位操作(或稱位處理)指令,可以形成一個相當完整的位操作指令子集,這是MCS51指令系統(tǒng)主要的優(yōu)點之一。對于要求反應靈敏與控制及時的工控、 檢測等實時控制系統(tǒng)以及要求體積小、系統(tǒng)小的許多“電腦化”產(chǎn)品,可以充分體現(xiàn)出匯 編語言簡明、整齊、執(zhí)行時間短和易于使用的特點。本裝置的軟件包括主程序、讀出溫度子程序、復位應答子程序、寫入子程序、以及有 關(guān)DS18B20的程序(初始化子程序、寫程序和讀程序)5.2.2系統(tǒng)程序流圖系統(tǒng)程序主要包括主程序,讀出溫度子程序,復位

30、應答子程序,寫入子程序等。1)主程序主程序的主要功能是負責溫度的實時顯示、讀出并處理DS18B20的測量的當前溫度 值,溫度測量每1s進行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程見圖 5-7所示。通過調(diào)用讀溫度子程序把存入內(nèi)存儲中的整數(shù)部分與小數(shù)部分分開存放在不同的兩個 單元中,然后通過調(diào)用顯示子程序顯示出來什玷中 T才用比.盤度了程叱I數(shù)字變換程序,顯示子程序,T圖5-7主程序流程圖DS18B20復位、應答子程序4r -跳過ROM匹配命令寫入子程序溫度轉(zhuǎn)換命令 寫入子程序I顯示子程序(延時).r .跳過ROM匹配命令DS18B20復位、應答子程序圖5-8讀出溫度子程序2)讀出溫度

31、子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進行CRC校驗, 校驗有錯時不進行溫度數(shù)據(jù)的改寫。DS18B20的各個命令對時序的要求特別嚴格,所以必須按照所要求的時序才能達到預期的目的,同時,要注意讀進來的是高位在后低位在前,共有12位數(shù),小數(shù)4位,整數(shù)7 位,還有一位符號位。3)復位、應答子程序4)寫入子程序5)系統(tǒng)總的流程圖圖5-10寫入子程序圖5-11系統(tǒng)總的流程圖5.3調(diào)試主程序的功能是:啟動DS18B20測量溫度,將測量值與給定值進行比較,若測得溫 度小于設定值,則進入加熱階段,置P1.1為低電平,這期間繼續(xù)對溫度進行監(jiān)測,直到 溫度在設定范圍內(nèi),置P1.1為高電平

32、斷開可控硅,關(guān)閉加熱器,等待下一次的啟動命令。 當測得溫度大于設定值,則進入降溫階段,則置P1.2為低電平,這期間繼續(xù)對溫度進行 監(jiān)測,直到溫度在設定范圍內(nèi),置P1.2為高電平斷開,關(guān)閉風扇,等待下一次的啟動命 令。第一次接電調(diào)試,設置溫度上限為90攝氏度,溫度下限為20攝氏度。加熱后,溫度 有時超過90攝氏度卻不報警,后經(jīng)檢查,發(fā)現(xiàn)是進位0沒有清0,于是在如下寫入程序 中加入進位C清零,便排除了這個異常。WR1:CLR P1.0MOV R3,#6DJNZ R3,$RRC AMOV P1.0,CMOV R3,#23DJNZ R3,$SETB P1.0NOPDJNZ R2,WR1RET;讀 DS

33、18B2再經(jīng)實際接電調(diào)試,一切運行正常。加熱到90攝氏度時,紅燈亮起,自動斷電,而 低于20攝氏度時,綠燈亮起,開始加熱。六、結(jié)束語經(jīng)過近一周的努力,我的論文設計一一基于單片機的溫度控制系統(tǒng)設計已經(jīng) 基本完成。在設計過程中,力求系統(tǒng)的實現(xiàn)電路簡單、成本低,系統(tǒng)的功能快捷 易用并且完善。但是由于一些條件的限制,所設計系統(tǒng)仍然存在一些不足,有待 改進。本測量系統(tǒng)溫度控制器結(jié)構(gòu)簡單、測溫準確,具有一定的實際應用價值。該 智能溫度控制器只是口518320在溫度控制領域的一個簡單實例,還有許多需要 完善的地方,例如可以將測得的溫度通過單片機與通訊模塊相連接,以手機短消 息的方式發(fā)送給用戶,使用戶能夠隨時

34、對溫度進行監(jiān)控。此外,還能廣泛地應用 于其他一些工業(yè)生產(chǎn)領域,如建筑,倉儲等行業(yè)。本溫度控制系統(tǒng)可用于多種場 合,像的溫度、育嬰房的溫度、水溫的控制。用戶可靈活選擇本設計的用途,其 有很強的使用價值。這是我第一次利用單片機來實現(xiàn)一個應用系統(tǒng)的設計,通過實踐,我對匯編 語言和單片機有了新的認識和理解,并且學會了 Proteus和Keil軟件的使用, 掌握了從系統(tǒng)的需求、方案論證、功能模塊的劃分、原理圖的設計和繪制、電路 圖仿真、程序設計到軟件仿真調(diào)試的設計流程,積累了硬件設計的經(jīng)驗?;陔?路的設計方法有利于電子電路初學者加深對電路原理、器件資料、電路板設計和 電路的硬件調(diào)試認識和理解。由于初次

35、接觸單片機類的設計項目,在設計過程中也出現(xiàn)了一些問題,以前 學習的專業(yè)知識掌握的不夠好,對電路的理解不是很透徹,設計的電路布局布線 不是很合理,理論聯(lián)系實際的能力還需要進一步的加強。還由于元器件的多樣性 和可選型號的廣泛性,在此系統(tǒng)中運用的型號的芯片不一定是最佳的?,F(xiàn)在電子器件發(fā)展日新月異,新的器件如雨后春筍般出現(xiàn),也不可能一一嘗試,所以還肯 定有很多值得改進的地方。在以后的實踐中,我將繼續(xù)努力學習電子電路設計, 力爭取得更大的進步。參考文獻1李朝青,單片機原理及接口技術(shù)(簡明修訂版)M.:北京航空航天大學出版社, 1998李廣弟.單片機基礎M.:北京航空航天大學出版社,1994金偉正.單線數(shù)

36、字溫度傳感器的原理與應用J.電子技術(shù)與應用,20004李鋼.1-Wire總線數(shù)字溫度傳感器 DS18B20原理及應用.現(xiàn)代電子技術(shù) J,20055Steven F.Barrett,Daniel J.Pack.Embedded SystemM.:電子工業(yè)出版 社,20066陳躍東.DS18B20集成溫度傳感器原理與應用J.安徽機電學院學報,20027閻石.數(shù)字電子技術(shù)基礎(第三版)M.:高等教育出版社,1989致謝首先要衷心感謝的是我的指導教師耿鑫老師!在我學習期間不僅傳授了做學問的秘 訣,還傳授了做人的準則。這些都將使我終生受益。我愿借此機會向?qū)煴硎局孕牡母兄x!其次要感謝所有教育過我的老師!

37、你們傳授給我的專業(yè)知識是我不斷成長的源泉,也 是完成本論文的基礎。我還要向關(guān)心和支持我學習的朋友們表示真摯的謝意!感謝他們對 我的關(guān)心、關(guān)注和支持!大學的生活讓我有了堅強的性格,冷靜的頭腦和永遠樂觀的態(tài)度。最重要的是讓我有 了責任感,對自己、對家人和對社會。我愿在未來的學習過程中,以更加豐厚的成果來答謝曾經(jīng)關(guān)心、幫助和支持過我的所 有領導、老師、同學和朋友。附錄附錄1主板電路圖:Y桀npqFFQqqpRPFFQQqqp ifiTJ ktf Irr kv IrrWkvIrr k-m 5H 7 D. 5 口LvrJ- U 71n 5XlLvrJ- U,匚。卬 Emm 1 nl 3 t Ws-附錄2

38、程序代碼:ORG 0000HTEMPER_L EQU 29HTEMPER_H EQU 28HFLAG1 EQU 38H;是否檢測到DS18B20標志位A_BIT EQU 20H ;數(shù)碼管個位數(shù)存放內(nèi)存位置B_BIT EQU 21H ;數(shù)碼管十位數(shù)存放內(nèi)存位置XS EQU 30HMOV A,#00HMOV P2,AMAIN:LCALL GET_TEMPER;調(diào)用讀溫度子程序MOV A,29HMOV B,ACLR CRLC ACLR CRLC ACLR CRLC ACLR CRLC ASWAP AMOV 31H,AMOV A,BMOV C,40H;W 28H中的最低位移入CRRC AMOV C,4

39、1HRRC AMOV C,42HRRC AMOV C,43HRRC AMOV 29H,ALCALL DISPLAY;調(diào)用數(shù)碼管顯示子程序AJMP MAIN;這是DS18B20復位初始化子程序INIT_1820:SETB P1.0NOPCLR P1.0;主機發(fā)出延時537微秒的復位低脈沖MOV R1,#3TSR1:MOV R0,#107DJNZ R0,$DJNZ R1,TSR1SETB P1.0;然后拉高數(shù)據(jù)線NOPNOPNOPMOV R0,#25HTSR2:JNB P1.0,TSR3;等待 DS18B20 回應DJNZ R0,TSR2LJMP TSR4 ;延時TSR3:SETB FLAG1 ;

40、置標志位,表示DS1820存在LJMP TSR5TSR4:CLR FLAG1 ;清標志位,表示DS1820不存在LJMP TSR7TSR5:MOV R0,#117TSR6:DJNZ R0,TSR6 ;時序要求延時一段時間TSR7:SETB P1.0RET;讀出轉(zhuǎn)換后的溫度值GET_TEMPER:SETB P1.0LCALL INIT_1820冼復位 DS18B20JB FLAG1,TSS2RET ;判斷DS1820是否存在?若DS18B20不存在則返回TSS2:MOV A,#0CCH ;跳過 ROM 匹配LCALL WRITE_1820MOV A,#44H ;發(fā)出溫度轉(zhuǎn)換命令LCALL WRITE_1820;這里通過調(diào)用顯示子程序?qū)崿F(xiàn)延時一段時間,等待AD轉(zhuǎn)換結(jié)束,12位的話750微秒LCALL DISPLAYLCALL INIT_1820;準備讀溫度前先復位MOV A,#0CCH ;跳過 ROM 匹配LCALL WRITE_1820MOV

溫馨提示

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

評論

0/150

提交評論