試驗室溫度檢測與控制系統(tǒng)設計_第1頁
試驗室溫度檢測與控制系統(tǒng)設計_第2頁
試驗室溫度檢測與控制系統(tǒng)設計_第3頁
試驗室溫度檢測與控制系統(tǒng)設計_第4頁
試驗室溫度檢測與控制系統(tǒng)設計_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

精選優(yōu)質文檔-----傾情為你奉上精選優(yōu)質文檔-----傾情為你奉上專心---專注---專業(yè)專心---專注---專業(yè)精選優(yōu)質文檔-----傾情為你奉上專心---專注---專業(yè)畢業(yè)設計說明書Biyeshejishuomingshu地市:三門峽準考證號:5課題:實驗室溫度檢測與控制系統(tǒng)設計專業(yè):機電一體化姓名:白凱龍指導老師:姚遠河南省高等教育自學考試高等教育自學考試畢業(yè)設計指導老師意見書意見指導老師職稱年月日高等教育自學考試畢業(yè)設計評閱意見書意見評閱老師職稱年月日高等教育自學考試畢業(yè)設計答辯成績評定書評語:成績總評:答辯委員會主任:答辯小組組長:答辯小組成員:年月日高等教育自學考試畢業(yè)設計任務書題目實驗室溫度檢測與控制系統(tǒng)設計本環(huán)節(jié)自2012年5月10日起至2012年9月10日止進行地點三門峽職業(yè)技術學院內容要求設計的溫度控制系統(tǒng)實現了基本的溫度控制功能:當溫度低于設定下限溫度時,系統(tǒng)自動啟動加熱繼電器加溫,使溫度上升,同時綠燈亮。當溫度上升到下限溫度以上時,停止加溫;當溫度高于設定上限溫度時,系統(tǒng)自動啟動降溫,使溫度下降,同時紅燈亮。當溫度下降到上限溫度以下時,停止降溫。溫度在上下限溫度之間時,執(zhí)行機構不執(zhí)。指導教師:姚遠批準日期:試驗室溫度檢測與控制系統(tǒng)設計 摘要溫度是日常生活中無時不在的物理量,溫度測量與控制廣泛應用于生產生活中的各個方面,特別是在試驗室中,溫度自動控制已經成為一個相當成熟的技術,采用單片機對它們進行控制不僅具有控制方便、簡單、靈活性大等特點,而且還可以大幅度提高被控溫度的技術指標,從而能夠大大提高產品的質量。因此,智能化溫度控制技術正被廣泛地采用。本溫度設計采用現在流行的AT89S51單片機,配以DS18B20數字溫度傳感器,該溫度傳感器可自行設置溫度上下限。單片機將檢測到的溫度信號與輸入的溫度上、下限進行比較,由此作出判斷是否啟動繼電器以開啟設備。本設計還加入了常用的數碼管顯示及狀態(tài)燈顯示燈常用電路,使得整個設計更加完整,更加靈活。該設計已應用于試驗室,可對試驗室溫度進行智能監(jiān)控?!娟P鍵詞】溫度箱,AT89S51,單片機,控制,模擬 ABSTRACTTemperatureindailylifeisnotinthephysicalquantity,temperaturemeasurementandcontroliswidelyusedinproductionandlifeinallaspects,especiallyinthetestchamber,temperatureautomaticcontrolhasbecomearelativelymaturetechnology,usingSCMtocontrolthem,notonlyhastheconvenientcontrol,simple,suchasthecharacteristicsofflexibility,butalsocangreatlyimprovethetemperaturewaschargedwiththetechnicalindicators,whichcangreatlyimprovetheproductquality.Therefore,intelligenttemperaturecontroltechnologyisbeingwidelyused.ThedesigntemperatureofthepopularAT89S51microcontroller,withDS18B20digitaltemperaturesensor,thetemperaturesensorcansettheupperandlowerlimitsofthetemperature.Themicrocomputerdetectsthetemperatureoftheinputsignalandtemperature,thelowercomparisons,thisjudgmentwhethertoactivatetherelaytoopentheequipment.Thedesignalsoincludescommonlyuseddigitaltubedisplayandstatelightscommonlyusedcircuit,makingthewholedesignmorecomplete,moreflexible.Thedesignhasbeenappliedtolaboratory,thelaboratoryintelligenttemperaturecontrol.KEYWORDS:temperaturebox,AT89S51,MCU,control,simulation目錄TOC\o"1-3"\h\u前言隨著社會的發(fā)展,科技的進步,以及測溫儀器在各個領域的應用,智能化已是現代溫度控制系統(tǒng)發(fā)展的主流方向。特別是近年來,溫度控制系統(tǒng)已應用到人們生活的各個方面,但溫度控制一直是一個未開發(fā)的領域,卻又是與人們息息相關的一個實際問題。針對這種實際情況,設計一個溫度控制系統(tǒng),具有廣泛的應用前景與實際意義。溫度是科學技術中最基本的物理量之一,物理、化學、生物等學科都離不開溫度。在工業(yè)生產和實驗研究中,像電力、化工、石油、冶金、航空航天、機械制造、糧食存儲、酒類生產等領域內,溫度常常是表征對象和過程狀態(tài)的最重要的參數之一。比如,試驗室溫度必須控制在一定的范圍之內;許多化學反應的工藝過程必須在適當的溫度下才能正常進行;沒有合適的溫度環(huán)境,許多電子設備就不能正常工作,糧倉的儲糧就會變質霉爛,酒類的品質就沒有保障。因此,各行各業(yè)對溫度控制的要求都越來越高??梢?,溫度的測量和控制是非常重要的。單片機在電子產品中的應用已經越來越廣泛,在很多的電子產品中也用到了溫度檢測和溫度控制。隨著溫度控制器應用范圍的日益廣泛和多樣,各種適用于不同場合的智能溫度控制器應運而生。本設計的內容是溫度檢測與控制系統(tǒng),控制與檢測對象是溫度。溫度控制在日常生活及工業(yè)領域應用相當廣泛,比如溫室、水池、發(fā)酵缸、電源等場所的溫度控制。而以往溫度控制是由人工完成的而且不夠重視,其實在很多場所溫度都需要監(jiān)控以防止發(fā)生意外。針對此問題,本系統(tǒng)設計的目的是實現一種可連續(xù)高精度調溫的溫度控制系統(tǒng)。本設計是對試驗室溫度進行實時監(jiān)測與控制,設計的溫度控制系統(tǒng)實現了基本的溫度控制功能:當溫度低于設定下限溫度時,系統(tǒng)自動啟動加熱繼電器加溫,使溫度上升,同時綠燈亮。當溫度上升到下限溫度以上時,停止加溫;當溫度高于設定上限溫度時,系統(tǒng)自動啟動風扇降溫,使溫度下降,同時紅燈亮。當溫度下降到上限溫度以下時,停止降溫。溫度在上下限溫度之間時,執(zhí)行機構不執(zhí)行。三個數碼管即時顯示溫度,精確到小數點一位。第一章總體設計方案1.1方案一測溫電路的設計,可以使用熱敏電阻之類的器件利用其感溫效應,在將隨被測溫度變化的電壓或電流采集過來,進行A/D轉換后,就可以用單片機進行數據的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設計需要用到A/D轉換電路,感溫電路比較麻煩。1.2方案二考慮使用溫度傳感器,結合單片機電路設計,采用一只DS18B20溫度傳感器,直接讀取被測溫度值,之后進行轉換,依次完成設計要求。比較以上兩種方案,很容易看出,采用方案二,電路比較簡單,軟件設計容易實現,故實際設計中擬采用方案二。在本系統(tǒng)的電路設計方框圖如圖1.1所示,它由三部分組成:①控制部分主芯片采用單片機AT89S51;②顯示部分采用3位LED數碼管以動態(tài)掃描方式實現溫度顯示;③溫度采集部分采用DS18B20溫度傳感器。加熱繼電器制冷繼電器加熱繼電器制冷繼電器單片機DS18B20LED顯示指示燈圖1-1溫度計電路總體設計方案(1)控制部分單片機AT89S51具有低電壓供電和體積小等特點,四個端口只需要兩個口就能滿足電路系統(tǒng)的設計需要,很適合便攜手持式產品的設計使用,系統(tǒng)應用三節(jié)電池供電。(2)顯示部分顯示電路采用3位共陽LED數碼管,從P0口送數,P2口掃描。(3)溫度采集部分DS18B20溫度傳感器是美國DALLAS半導體公司最新推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫。這一部分主要完成對溫度信號的采集和轉換工作,由DS18B20數字溫度傳感器及其與單片機的接口部分組成。數字溫度傳感器DS18B20把采集到的溫度通過數據引腳傳到單片機的P1.0口,單片機接受溫度并存儲。此部分只用到DS18B20和單片機,硬件很簡單1)DS18B20的性能特點如下:=1\*GB3①獨特的單線接口僅需要一個端口引腳進行通信;=2\*GB3②多個DS18B20可以并聯(lián)在惟一的三線上,實現多點組網功能;=3\*GB3③無須外部器件;=4\*GB3④可通過數據線供電,電壓范圍為3.0~5.5V;=5\*GB3⑤零待機功耗;=6\*GB3⑥溫度以3位數字顯示;=7\*GB3⑦用戶可定義報警設置;=8\*GB3⑧報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件;=9\*GB3⑨負電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。2)DS18B20的內部結構DS18B20采用3腳PR-35封裝,如圖1-2所示;DS18B20的內部結構。圖1-2DS18B20封裝3)DS18B20內部結構主要由四部分組成:=1\*GB3①64位光刻ROM。開始8位是產品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前56位的CRC校驗碼,這也是多個DS18B20可以采用一線進行通信的原因。64位閃速ROM的結構如下:表1-1ROM結構8b檢驗CRC48b序列號8b工廠代碼(10H)MSBLSBMSBLSBMSBLSB圖1-3DS18B20內部結構=2\*GB3②非揮發(fā)的溫度報警觸發(fā)器TH和TL,可通過軟件寫入用戶報警上下限值。③高速暫存存儲,可以設置DS18B20溫度轉換的精度。DS18B20溫度傳感器的內部存儲器還包括一個高速暫存RAM和一個非易失性的可電擦除的E2PRAM。高速暫存RAM的結構為8字節(jié)的存儲器,結構如圖1-3所示。頭2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復位時被刷新。第5個字節(jié),為配置寄存器,它的內容用于確定溫度值的數字轉換分辨率。DS18B20工作時寄存器中的分辨率轉換為相應精度的溫度數值。它的內部存儲器結構和字節(jié)定義如圖1-3所示。低5位一直為1,TM是工作模式位,用于設置DS18B20在工作模式還是在測試模式。表1-2DS18B20內部存儲器結構Byte0溫度測量值LSB(50H)Byte1溫度測量值MSB(50H)Byte2TH高溫寄存器----TH高溫寄存器Byte3TL低溫寄存器----TL低溫寄存器Byte4配位寄存器----配位寄存器Byte5預留(FFH)Byte6預留(0CH)Byte7預留(IOH)Byte8循環(huán)冗余碼校驗(CRC)DS18B20出廠時該位被設置為0,用戶要去改動,R1和R0決定溫度轉換的精度位數,來設置分辨率。表1-3DS18B20字節(jié)定義TMR1R011111由于分辨率越高,所需要的溫度數據轉換時間越長。因此,在實際應用中要將分辨率和轉換時間權衡考慮。高速暫存RAM的第6、7、8字節(jié)保留未用,表現為全邏輯1。第9字節(jié)讀出前面所有8字節(jié)的CRC碼,可用來檢驗數據,從而保證通信數據的正確性。當DS18B20接收到溫度轉換命令后,開始啟動轉換。轉換完成后的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機可以通過單線接口讀出該數據,讀數據時低位在先,高位在后,數據格式以0.0625℃/LSB形式表示。當符號位S=0時,表示測得的溫度值為正值,可以直接將二進制位轉換為十進制;當符號位S=1時,表示測得的溫度值為負值,要先將補碼變成原碼,再計算十進制數值。表1-4DS18B20溫度轉換時間表R1R0分辨率/位溫度最大轉向時間/ms00993.750110187.510113751112750表1-5一部分溫度對應值表溫度/℃二進制表示十六進制表示+125000001111101000007D0H+8500000101010100000550H+25.062500000001100100000191H+10.125000000001010000100A2H+0.500000000000000100008H000000000000010000000H-0.51111111111110000FFF8H-10.1251111111101011110FF5EH-25.06251111111001101111FE6FH-551111110010010000FC90H④CRC的產生在64bROM的最高有效字節(jié)中存儲有循環(huán)冗余校驗碼(CRC)。主機根據ROM的前56位來計算CRC值,并和存入DS18B20中的CRC值做比較,以判斷主機收到的ROM數據是否正確。另外,由于DS18B20單線通信功能是分時完成的,它有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作按協(xié)議進行。操作協(xié)議為:初使化DS18B20(發(fā)復位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數據。第二章DS18B20溫度傳感器簡介2.1溫度傳感器的歷史及簡介溫度傳感器一般分為接觸式和非接觸式兩大類。所謂接觸式就是傳感器直接與被測物體接觸進行溫度測量,這是溫度測量的基本形式。而非接觸方式是遙測,主要是紅外測溫,這是接觸方式做不到的。紅外測溫是通過測量物體熱輻射發(fā)出的紅外線,從而測量物體的溫度,紅外輻射的物理本質是熱輻射。熱輻射是由于內外原因使物體內部帶電粒子不斷運動,使物體具有一定溫度(高于絕對零度)而產生懂得一種熱輻射現象。雖然紅外測溫傳感器有諸多的優(yōu)點,但其市場價格昂貴。溫度的測量是從金屬(物質)的熱脹冷縮開始。水銀溫度計至今仍是各種溫度測量的計量標準??墒撬娜秉c是只能近距離觀測,而且水銀有毒,玻璃管易碎。代替水銀的有酒精溫度計和金屬簧片溫度計,它們雖然沒有毒性,但測量精度很低,只能作為一個概略指示。不過在居民住宅中使用已可滿足要求。在工業(yè)生產和實驗研究中為了配合遠傳儀表指示,出現了許多不同的溫度檢測方法,常用的有電阻式、熱電偶式、PN結型、輻射型、光纖式及石英諧振型等。它們都是基于溫度變化引起其物理參數(如電阻值,熱電勢等)的變化的原理。隨著大規(guī)模集成電路工藝的提高,出現了多種集成的數字化溫度傳感器。2.2DS18B20的工作原理2.2.1DS18B20工作時序根據DS18B20的通訊協(xié)議,主機控制DS18B20完成溫度轉換必須經過三個步驟:1.每一次讀寫之前都必須要對DS18B20進行復位;2.復位成功后發(fā)送一條ROM指令;3.最后發(fā)送RAM指令,這樣才能對DS18B20進行預定的操作。復位要求主CPU將數據線下拉500微秒,然后釋放,DS18B20收到信號后等待15~60微秒左右后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號表示復位成功。其工作時序包括初始化時序、寫時序和讀時序,具體工作方法如圖2-1,2-2,2-3所示。(1)初始化時序圖2-1初始化時序總線上的所有傳輸過程都是以初始化開始的,主機響應應答脈沖。應答脈沖使主機知道,總線上有從機設備,且準備就緒。主機輸出低電平,保持低電平時間至少480us,以產生復位脈沖。接著主機釋放總線,4.7KΩ上拉電阻將總線拉高,延時15~60us,并進入接受模式,以產生低電平應答脈沖,若為低電平,再延時480us。(2)寫時序圖2-2寫時序寫時序包括寫0時序和寫1時序。所有寫時序至少需要60us,且在2次獨立的寫時序之間至少需要1us的恢復時間,都是以總線拉低開始。寫1時序,主機輸出低電平,延時2us,然后釋放總線,延時60us。寫0時序,主機輸出低電平,延時60us,然后釋放總線,延時2us。(3)讀時序圖2-3讀時序總線器件僅在主機發(fā)出讀時序是,才向主機傳輸數據,所以,在主機發(fā)出讀數據命令后,必須馬上產生讀時序,以便從機能夠傳輸數據。所有讀時序至少需要60us,且在2次獨立的讀時序之間至少需要1us的恢復時間。每個讀時序都由主機發(fā)起,至少拉低總線1us。主機在讀時序期間必須釋放總線,并且在時序起始后的15us之內采樣總線狀態(tài)。主機輸出低電平延時2us,然后主機轉入輸入模式延時12us,然后讀取總線當前電平,然后延時50us。2.2.2ROM操作命令當主機收到DSl8B20的響應信號后,便可以發(fā)出ROM操作命令之一,所有ROM操作命令均為8位長,這些命令如下表3-1ROM操作命令。表2-1ROM操作命令指令約定代碼功能讀ROM33H讀DS18B20ROM中的編碼符合ROM55H發(fā)出此命令之后,接著發(fā)出64位ROM編碼,訪問單線總線上與該編碼相對應的DS18B20使之作出響應,為下一步對該DS18B20的讀寫作準備搜索ROM0F0H用于確定掛接在同一總線上DS18B20的個數和識別64位ROM地址,為操作各器件作好準備跳過ROM0CCH忽略64位ROM地址,直接向DS18B20發(fā)溫度變換命令,適用于單片工作。告警搜索命令0ECH執(zhí)行后,只有溫度超過設定值上限或者下限的片子才做出響應溫度變換44H啟動DS18B20進行溫度轉換,轉換時間最長為500MS,結果存入內部9字節(jié)RAM中讀暫存器0BEH讀內部RAM中9字節(jié)的內容寫暫存器4EH發(fā)出向內部RAM的第3,4字節(jié)寫上、下限溫度數據命令,緊跟讀命令之后,是傳送兩字節(jié)的數據復制暫存器48H將E2PRAM中第3,4字節(jié)內容復制到E2PRAM中重調E2PRAM0BBH將E2PRAM中內容恢復到RAM中的第3,4字節(jié)讀供電方式0B4H讀DS18B20的供電模式,寄生供電時DS18B20發(fā)送“0”,外接電源供電DS18B20發(fā)送“1”2.3DS18B20的測溫原理2.3.1DS18B20的測溫原理每一片DSl8B20在其ROM中都存有其唯一的48位序列號,在出廠前已寫入片內ROM中。主機在進入操作程序前必須用讀ROM(33H)命令將該DSl8B20的序列號讀出。程序可以先跳過ROM,啟動所有DSl8B20進行溫度變換,之后通過匹配ROM,再逐一地讀回每個DSl8B20的溫度數據。DS18B20的測溫原理既低溫度系數晶振的振蕩頻率受溫度的影響很小,用于產生固定頻率的脈沖信號送給減法計數器1,高溫度系數晶振隨溫度變化其震蕩頻率明顯改變,所產生的信號作為減法計數器2的脈沖輸入,還隱含著計數門,當計數門打開時,DS18B20就對低溫度系數振蕩器產生的時鐘脈沖后進行計數,進而完成溫度測量。計數門的開啟時間由高溫度系數振蕩器來決定,每次測量前,首先將-55℃所對應的基數分別置入減法計數器1和溫度寄存器中,減法計數器1和溫度寄存器被預置在-55℃所對應的一個基數值。減法計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當減法計數器1的預置值減到0時溫度寄存器的值將加1,減法計數器1的預置將重新被裝入,減法計數器1重新開始對低溫度系數晶振產生的脈沖信號進行計數,如此循環(huán)直到減法計數器2計數到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數值即為所測溫度。其中斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數器的預置值,只要計數門仍未關閉就重復上述過程,直至溫度寄存器值達到被測溫度值。另外,由于DS18B20單線通信功能是分時完成的,他有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20(發(fā)復位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數據。減法計數器減法計數器斜坡累加器減到0減法計數器預置低溫度系數振蕩器高溫度系數振蕩器計數比較器預置溫度寄存器減到0圖3-4測溫原理內部裝置2.3.2DS18B20的測溫流程初始化初始化DS18B20跳過ROM匹配溫度變換延時1S跳過ROM匹配讀暫存器轉換成顯示碼數碼管顯示圖3-5DS18B20測溫流程第三章單片機接口設計3.1設計原則DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時DS18B20的1腳接地,2腳作為信號線,3腳接電源。另一種是寄生電源供電方式,如圖3-1所示單片機端口接單線總線,為保證在有效的DS18B20時鐘周期內提供足夠的電流,可用一個MOSFET管來完成對總線的上拉。本設計采用電源供電方式,P1.1口接單線總線為保證在有效的DS18B20時鐘周期內提供足夠的電流,可用一個MOSFET管和89S51的P1.0來完成對總線的上拉。當DS18B20處于寫存儲器操作和溫度A/D變換操作時,總線上必須有強的上拉,上拉開啟時間最大為10μs。采用寄生電源供電方式是VDD和GND端均接地。由于單線制只有一根線,因此發(fā)送接收口必須是三狀態(tài)的。主機控制DS18B20完成溫度轉換必須經過三個步驟:1.初始化;2.ROM操作指令;3.存儲器操作指令。3.2引腳連接3.2.1晶振電路單片機XIAL1和XIAL2分別接30PF的電容,中間再并個12MHZ的晶振,形成單片機的晶振電路。3.2.2串口引腳P0口接9個2.2K的排阻然后接到顯示電路上。P1.0溫度傳感器DS18B20如圖3-1所示。DS18B20單片機DS18B20單片機P1.0P1.0VCCVCCGND圖3-1DS18B20與單片機的接口電路P1.1和P1.2引腳接繼電器電路的4.7K電阻上,P1口其他引腳懸。P2口中P2.0、P2.1、P2.2、P2.3分別接到顯示電路的4.7K電阻上,P2.5接蜂鳴器電路,其他引腳懸。P3口中P3.5、P3.6、P3.7接到按鍵電路。3.2.3其它引腳ALE引腳懸空,復位引腳接到復位電路、VCC接電源、VSS接地、EA接電源。訪問外部存儲器時,ALE(地址鎖存允許)的輸出用于鎖存地址的低位字節(jié)。即使不訪問外部存儲器,ALE端仍以不變的頻率輸出脈沖信號(此頻率是振蕩器頻率的1/6)。在訪問外部數據存儲器時,出現一個ALE脈沖。對Flash存儲器編程時,這個引腳用于輸入編程脈沖PROG。第四章系統(tǒng)整體設計4.1系統(tǒng)硬件電路設計4.1.1主板電路設計單片機的P1.0接DS18B20的2號引腳,P0口送數P2口掃描,P1.1、P1.2控制加熱器和制冷系統(tǒng)的繼電器。4.1.2各部分電路(1)顯示電路顯示電路采用了7段共陰數碼管掃描電路,節(jié)約了單片機的輸出端口,便于程序的編寫。圖4-1顯示電路圖(2)單片機電路圖4-2單片機電路引腳圖DS18B20溫度傳感器電路圖4-3溫度傳感器電路引腳圖(4)繼電器電路圖中P1.1引腳控制加熱器繼電器。給P1.1低電平,三極管導通,電磁鐵觸頭放下來開始工作。圖5-4繼電器電路圖(5)晶振控制電路圖5-5晶振控制電路圖(6)復位電路圖5-6復位電路圖4.2系統(tǒng)軟件設計4.2.1系統(tǒng)軟件設計整體思路一個應用系統(tǒng)要完成各項功能,首先必須有較完善的硬件作保證。同時還必須得到相應設計合理的軟件的支持,尤其是微機應用高速發(fā)展的今天,許多由硬件完成的工作,都可通過軟件編程而代替。甚至有些必須采用很復雜的硬件電路才能完成的工作,用軟件編程有時會變得很簡單,如數字濾波,信號處理等。因此充分利用其內部豐富的硬件資源和軟件資源,采用與S51系列單片機相對應的51匯編語言和結構化程序設計方法進行軟件編程。程序設計語言有三種:機器語言、匯編語言和高級語言。機器語言是機器唯一能“懂”的語言,用匯編語言或高級語言編寫的程序(稱為源程序)最終都必須翻譯成機器語言的程序(成為目標程序),計算機才能“看懂”,然后逐一執(zhí)行。高級語言是面向問題和計算過程的語言,它可通過于各種不同的計算機,用戶編程時不必仔細了解所用的計算機的具體性能與指令系統(tǒng),而且語句的功能強,常常一個語句已相當于很多條計算機指令,于是用高級語言編制程序的速度比較快,也便于學習和交流,但是本系統(tǒng)卻選用了匯編語言。原因在于,本系統(tǒng)是編制程序工作量不大、規(guī)模較小的單片機微控制系統(tǒng),使用匯編語言可以不用像高級語言那樣占用較多的存儲空間,適合于存儲容量較小的系統(tǒng)。同時,本系統(tǒng)對位處理要求很高,需要解決大量的邏輯控制問題。MCS—51指令系統(tǒng)的指令長度較短,它在存儲空間和執(zhí)行時間方面具有較高的效率,編成的程序占用內存單元少,執(zhí)行也非常的快捷,與本系統(tǒng)的應用要求很適合。而且MCS—51指令系統(tǒng)有豐富的位操作(或稱位處理)指令,可以形成一個相當完整的位操作指令子集,這是MCS—51指令系統(tǒng)主要的優(yōu)點之一。對于要求反應靈敏與控制及時的工控、檢測等實時控制系統(tǒng)以及要求體積小、系統(tǒng)小的許多“電腦化”產品,可以充分體現出匯編語言簡明、整齊、執(zhí)行時間短和易于使用的特點。本裝置的軟件包括主程序、讀出溫度子程序、復位應答子程序、寫入子程序、以及有關DS18B20的程序(初始化子程序、寫程序和讀程序)。4.2.2系統(tǒng)程序流圖程序(program)是為實現特定目標或解決特定問題而用計算機語言編寫的命令序列的集合。為實現預期目的而進行操作的一系列語句和指令一般分為系統(tǒng)程序和應用程序兩大類。程序就是為使電子計算機執(zhí)行一個或多個操作,或執(zhí)行某一任務,按序設計的計算機指令的集合。程序是由序列組成的,告訴計算機如何完成一個具體的任務。程序是軟件開發(fā)人員genuine用戶需求開發(fā)的、用程序設計語言描述的適合計算機執(zhí)行的指令(語句)序列。由于現在的計算機還不能理解人類的自然語言,所以還不能用自然語言編寫。一個程序應該包括以下兩方面的內容:1對數據的描述。在程序中要指定數據的類型和數據的組織形式,即數據結構。2對操作的描述。即操作步驟,也就是算法。在這個系統(tǒng)程序主要包括主程序,讀出溫度子程序,復位應答子程序,寫入子程序等。(1)主程序圖4-7主程序流程圖主程序的主要功能是負責溫度的實時顯示、讀出并處理DS18B20的測量的當前溫度值,溫度測量每1s進行一次。這樣可以在一秒之內測量一次被測溫度。通過調用讀溫度子程序把存入內存儲中的整數部分與小數部分分開存放在不同的兩個單元中,然后通過調用顯示子程序顯示出。(2)讀出溫度子程序DS18B20復位、應答子程序DS18B20復位、應答子程序跳過ROM匹配命令跳過ROM匹配命令寫入子程序寫入子程序溫度轉換命令溫度轉換命令寫入子程序寫入子程序顯示子程序(延時)顯示子程序(延時)DS18B20復位、應答子程序DS18B20復位、應答子程序跳過ROM匹配命令跳過ROM匹配命令寫入子程序寫入子程序讀溫度命令子程序讀溫度命令子程序終止終止圖4-8讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進行CRC校驗,校驗有錯時不進行溫度數據的改寫。DS18B20的各個命令對時序的要求特別嚴格,所以必須按照所要求的時序才能達到預期的目的,同時,要注意讀進來的是高位在后低位在前,共有12位數,小數4位,整數7位,還有一位符號位。(3)復位、應答子程序始開始開P1.0口清0P1.0口清0延時537US延時537USP1.0口置1P1.0口置150US是否有低電平50US是否有低電平否否是是標志位置1標志位置1標志位置1標志位置1有234US低電平有234US低電平P1.0口置1P1.0口置1終止終止圖4-9復位、應答子程序(4)寫入子程序開始開始進位C清0進位C清0P1.0清0P1.0清0延時12US延時12US帶進位右移帶進位右移延時46US延時46USP1.0置0P1.0置0R2是否為0R2是否為0終止終止圖4-10寫入子程序(5)系統(tǒng)總的流程圖開始開始初始化DS18B20顯示當前溫度判斷當前溫度值超過設定溫度上限啟動制冷降低溫度紅燈亮設定溫度上、下限啟動電熱爐升高溫度是否低于設定溫度下限是綠燈亮否圖4-11系統(tǒng)總的流程圖4.3調試主程序的功能是:啟動DS18B20測量溫度,將測量值與給定值進行比較,若測得溫度小于設定值,則進入加熱階段,置P1.1為低電平,這期間繼續(xù)對溫度進行監(jiān)測,直到溫度在設定范圍內,置P1.1為高電平斷開可控硅,關閉加熱器,等待下一次的啟動命令。當測得溫度大于設定值,則進入降溫階段,則置P1.2為低電平,這期間繼續(xù)對溫度進行監(jiān)測,直到溫度在設定范圍內,置P1.2為高電平斷開,關閉制冷系統(tǒng),等待下一次的啟動命令。第一次接電調試,設置溫度上限為90攝氏度,溫度下限為20攝氏度。加熱后,溫度有時超過90攝氏度卻不報警,后經檢查,發(fā)現是進位C沒有清0,于是在如下寫入程序中加入進位C清零,便排除了這個異常。WR1:CLRP1.0MOVR3,#6DJNZR3,$RRCAMOVP1.0,CMOVR3,#23DJNZR3,$SETBP1.0NOPDJNZR2,WR1RET;讀DS18B2再經實際接電調試,一切運行正常。加熱到90攝氏度時,紅燈亮起,自動斷電,而低于20攝氏度時,綠燈亮起,開始加熱。結束語經過我的努力,我的畢業(yè)設計——試驗室溫度檢測與控制系統(tǒng)設計已經基本完成。在設計過程中,力求系統(tǒng)的實現電路簡單、成本低,系統(tǒng)的功能快捷易用并且完善。但是由于一些條件的限制,所設計系統(tǒng)仍然存在一些不足,有待改進。本測量系統(tǒng)溫度控制器結構簡單、測溫準確,具有一定的實際應用價值。該智能溫度控制器只是DS18B20在溫度控制領域的一個簡單實例,還有許多需要完善的地方。此外,還能廣泛地應用于其他一些工業(yè)生產領域,如建筑,倉儲等行業(yè)。本溫度控制系統(tǒng)可用于多種場合。這是我第一次利用單片機來實現一個應用系統(tǒng)的設計,通過實踐,我對匯編語言和單片機有了新的認識和理解,知道了從系統(tǒng)的需求、方案論證、功能模塊的劃分、原理圖的設計和繪制、電路圖仿真、程序設計到軟件仿真調試的設計流程,積累了硬件設計的經驗?;陔娐返脑O計方法有利于電子電路初學者加深對電路原理、器件資料、電路板設計和電路的硬件調試認識和理解。由于初次接觸單片機類的設計項目,在設計過程中也出現了一些問題,以前學習的專業(yè)知識掌握的不夠好,對電路的理解不是很透徹,設計的電路布局布線不是很合理,理論聯(lián)系實際的能力還需要進一步的加強。還由于元器件的多樣性和可選型號的廣泛性,在此系統(tǒng)中運用的型號的芯片不一定是最佳的?,F在電子器件發(fā)展日新月異,新的器件如雨后春筍般出現,也不可能一一嘗試,所以還肯定有很多值得改進的地方。在以后的實踐中,我將繼續(xù)努力學習,力爭取得更大的進步。附錄1主板電路圖:附錄2程序代碼:ORG0000HTEMPER_LEQU29HTEMPER_HEQU28HFLAG1EQU38H;是否檢測到DS18B20標志位A_BITEQU20H;數碼管個位數存放內存位置B_BITEQU21H;數碼管十位數存放內存位置XSEQU30HMOVA,#00HMOVP2,AMAIN:LCALLGET_TEMPER;調用讀溫度子程序MOVA,29HMOVB,ACLRCRLCACLRCRLCACLRCRLCACLRCRLCASWAPAMOV31H,AMOVA,BMOVC,40H;將28H中的最低位移入CRRCAMOVC,41HRRCAMOVC,42HRRCAMOVC,43HRRCAMOV29H,ALCALLDISPLAY;調用數碼管顯示子程序AJMPMAIN;這是DS18B20復位初始化子程序INIT_1820:SETBP1.0NOPCLRP1.0;主機發(fā)出延時537微秒的復位低脈沖MOVR1,#3TSR1:MOVR0,#107DJNZR0,$DJNZR1,TSR1SETBP1.0;然后拉高數據線NOPNOPNOPMOVR0,#25HTSR2:JNBP1.0,TSR3;等待DS18B20回應DJNZR0,TSR2LJMPTSR4;延時TSR3:SETBFLAG1;置標志位,表示DS1820存在LJMPTSR5TSR4:CLRFLAG1;清標志位,表示DS1820不存在LJMPTSR7TSR5:MOVR0,#117TSR6:DJNZR0,TSR6;時序要求延時一段時間TSR7:SETBP1.0RET;讀出轉換后的溫度值GET_TEMPER:SETBP1.0LCALLINIT_1820;先復位DS18B20JBFLAG1,TSS2RET;判斷DS1820是否存在?若DS18B20不存在則返回TSS2:MOVA,#0CCH;跳過ROM匹配LCALLWRITE_1820MOVA,#44H;發(fā)出溫度轉換命令LCALLWRITE_1820;這里通過調用顯示子程序實現延時一段時間,等待AD轉換結束,12位的話750微秒LCALLDISPLAYLCALLINIT_1820;準備讀溫度前先復位MOVA,#0CCH;跳過ROM匹配LCALLWRITE_1820MOVA,#0BEH;發(fā)出讀溫度命令LCALLWRITE_1820LCALLREAD_18200;將讀出的溫度數據保存到35H/36HRET;寫DS18B20的子程序(有具體的時序要求)WRITE_1820:MOVR2,#8;一共8位數據CLRCWR1:CLRP1.0MOVR3,#6DJNZR3,$RRCAMOVP1.0,CMOVR3,#23DJNZR3,$SETBP1.0NOPDJNZR2,WR1RET;讀DS18B20的程序,從DS18B20中讀出兩個字節(jié)的溫度數據READ_18200:MOVR4,#2;將溫度高位和低位從DS18B20中讀出MOVR1,#29H;低位存入29H(TEMPER_L),高位存入28H(TEMPER_H)RE00:MOV

溫馨提示

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

最新文檔

評論

0/150

提交評論