基于51單片機的溫度控制系統(tǒng)_第1頁
基于51單片機的溫度控制系統(tǒng)_第2頁
基于51單片機的溫度控制系統(tǒng)_第3頁
基于51單片機的溫度控制系統(tǒng)_第4頁
基于51單片機的溫度控制系統(tǒng)_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 GB8878185555334563BT9125XW創(chuàng)作編號:創(chuàng)作者:鳳嗚大王*畢業(yè)論文設(shè)計基于51單片機的溫度控制系統(tǒng)摘要在日常生活中溫度在我們身邊無時不在,溫度的控制和應(yīng)用在各個領(lǐng)域都有重要的作用。很多行業(yè)中都有大量的用電加熱設(shè)備,和溫度控制設(shè)備,如用于報警的溫度自動報警系統(tǒng),熱處理的加熱爐,用于融化金屬的坩鍋電阻爐及各種不同用途的溫度箱等,這些都采用單片機技術(shù),利用單片機語言程序?qū)λ鼈冞M行控制。而單片機技術(shù)具有控制和操作使用方便、結(jié)構(gòu)簡單便于修改和維護、靈活性大且具有一定的智能性等特點,可以精確的控制技術(shù)標(biāo)準(zhǔn),提高了溫控指標(biāo),也大大的提高了產(chǎn)品的質(zhì)量和性能。由于單片機技術(shù)的優(yōu)點突出,智

2、能化溫度控制技術(shù)正被廣泛地采用。本文介紹了基于單片機AT89C51的溫度控制系統(tǒng)的設(shè)計方案與軟硬件實現(xiàn)。采用溫度傳感器DS18B20采集溫度數(shù)據(jù),7段數(shù)碼管顯示溫度數(shù)據(jù),按鍵設(shè)置溫度上下限,當(dāng)溫度低于設(shè)定的下限時,點亮綠色發(fā)光二極管,當(dāng)溫度高于設(shè)定的上限時,點亮紅色發(fā)光二極管。給出了系統(tǒng)總體框架、程序流程圖和Protel原理圖,并在硬件平臺上實現(xiàn)了所設(shè)計功能。關(guān)鍵詞:單片機溫度控制系統(tǒng)溫度傳感器AbstractIndailylife,thetemperatureinoursidetheever-present,thecontrolofthetemperatureandtheapplicatio

3、ninvariousfieldsallhaveimportantrole.Manyindustrytherearealargenumberofelectricheatingequipment,andthetemperaturecontrolequipment,suchasusedforalarmautomatictemperaturealarmsystems,heattreatmentfurnace,usedtomeltmetalcrucibleresistancefurnace,andallkindsofdifferentUSESoftemperatureboxandsoon,theseus

4、ingsinglechipmicrocomputer,usingsinglechipcomputerlanguageprogramtocontrolthem.Andsingle-chipmicrocomputertechnologyhascontrolandconvenientinoperation,easytomodifyandmaintenanceofsimplestructure,flexibilityislargeandhassomeoftheintelligenceandothercharacteristics,wecanaccuratelycontroltechnologystan

5、dardtoimprovethetemperaturecontrolindex,alsogreatlyimprovethequalityoftheproductsandperformance.Becauseoftheadvantagesofthesinglechipmicrocomputerintelligenttemperaturecontroltechnologyoutstanding,isbeingwidelyadopted.ThispaperintroducesthetemperaturecontrolbasedonsinglechipmicrocomputerAT89C51desig

6、nschemeofthesystemandthehardwareandsoftwareimplementation.ThetemperaturesensorDS18B20collectiontemperaturedata,7periodofdigitalpipedisplay,theupperandlowerlimitsoftemperaturebuttonwhentemperaturebelowthesettingofthelowerlimit,lightgreenleds,whenthetemperatureishigherthanthesetonthelimit,lightredleds

7、.Giventhesystemframeworkandprogramflowchartandprinciplechart,andinProtelhardwareplatformtorealizethefunctionofthedesign.Keywords:SCMTemperaturecontrolsystemTemperaturesensors目錄TOC o 1-5 h z HYPERLINK l bookmark0 o Current Document 摘要II HYPERLINK l bookmark2 o Current Document ABSTRACTIV HYPERLINK l

8、bookmark6 o Current Document 第一章前言1創(chuàng)作編號:GB8878185555334563BT9125XW創(chuàng)作者:鳳嗚大王*溫度控制系統(tǒng)設(shè)計發(fā)展歷史及意義1溫度控制系統(tǒng)的目的1溫度控制系統(tǒng)完成的功能1 HYPERLINK l bookmark8 o Current Document 第二章總體設(shè)計方案22.1方案一22.2方案二3DS18B20簡介63.1.1DS18B20封裝與引腳63.1.2DS18B20的簡單性能6DS18B20的工作原理.7DS18B20的測溫原理8測溫原理:8DS18B20的溫度采集過程11 HYPERLINK l bookmark12 o

9、Current Document 第四章單片機接口設(shè)計121設(shè)計原則124.2單片機引腳連接12單片機引腳圖12串口引腳13 HYPERLINK l bookmark14 o Current Document 第五章硬件電路設(shè)計141主要硬件電路設(shè)計145.2軟件系統(tǒng)設(shè)計185.2.1軟件系統(tǒng)設(shè)計18程序組成19 HYPERLINK l bookmark16 o Current Document 結(jié)束語24致謝錯誤!未定義書簽。 HYPERLINK l bookmark18 o Current Document 附錄25 HYPERLINK l bookmark74 o Current Doc

10、ument 參考文獻38 第一章前言1.1溫度控制系統(tǒng)設(shè)計發(fā)展歷史及意義溫度控制系統(tǒng)廣泛應(yīng)用于社會生活的各個領(lǐng)域,如家電、汽車、材料、電力電子等,常用的控制電路根據(jù)應(yīng)用場合和所要求的性能指標(biāo)有所不同,在工業(yè)企業(yè)中,如何提高溫度控制對象的運行性能一直以來都是控制人員和現(xiàn)場技術(shù)人員努力解決的問題。這類控制對象慣性大,滯后現(xiàn)象嚴(yán)重,存在很多不確定的因素,難以建立精確的數(shù)學(xué)模型,從而導(dǎo)致控制系統(tǒng)性能不佳,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。傳統(tǒng)的繼電器調(diào)溫電路簡單實用,但由于繼電器動作頻繁,可能會因觸點不良而影響正常工作??刂祁I(lǐng)域還大量采用傳統(tǒng)的PID控制方式,但PID控制對象的模型難以建立,并且當(dāng)擾動因素

11、不明確時,參數(shù)調(diào)整不便仍是普遍存在的問題。而采用數(shù)字溫度傳感器DS18B20,因其內(nèi)部集成了A/D轉(zhuǎn)換器,使得電路結(jié)構(gòu)更加簡單,而且減少了溫度測量轉(zhuǎn)換時的精度損失,使得測量溫度更加精確。數(shù)字溫度傳感器DS18B20只用一個引腳即可與單片機進行通信,大大減少了接線的麻煩,使得單片機更加具有擴展性。由于DS18B20芯片的小型化,更加可以通過單跳數(shù)據(jù)線就可以和主電路連接,故可以把數(shù)字溫度傳感器DS18B20做成探頭,探入到狹小的地方,增加了實用性。更能串接多個數(shù)字溫度傳感器DS18B20進行范圍的溫度檢測。1.2溫度控制系統(tǒng)的目的溫度控制在日常生活及工業(yè)領(lǐng)域應(yīng)用相當(dāng)廣泛,比如溫室、水池、發(fā)酵缸、電

12、源等場所的溫度控制。而以往溫度控制是由人工完成的而且不夠重視,其實在很多場所溫度都需要監(jiān)控以防止發(fā)生意外。針對此問題,本系統(tǒng)設(shè)計的目的是實現(xiàn)一種可連續(xù)高精度調(diào)溫的溫度監(jiān)測和控制系統(tǒng),實現(xiàn)對溫度的實時檢測,具有提醒和控制的功能,本設(shè)計的內(nèi)容是溫度測試控制系統(tǒng),控制對象是溫度。它的特點在于應(yīng)用廣泛,功能強大,小巧美觀,便于攜帶,是一款既實用又廉價的控制系統(tǒng)。1.3溫度控制系統(tǒng)完成的功能本設(shè)計是對溫度進行實時監(jiān)測與控制,設(shè)計的溫度控制系統(tǒng)實現(xiàn)了基本的溫度控制功能:此設(shè)計中溫度恒定值設(shè)置為60C,上下跳轉(zhuǎn)溫度為1C,設(shè)計精度值為0.1。當(dāng)溫度低于設(shè)定下限溫度即59C時,綠燈亮,報警提醒需要外界的加熱措

13、施。當(dāng)溫度上升到上限溫度時,停止加溫,紅燈亮保持溫度。當(dāng)溫度高于設(shè)定上限溫度即61C時,紅燈亮,需要外界采取降溫措施(本設(shè)計中沒有附加外界的加熱和降溫措施)。當(dāng)溫度下降到恒溫度時,停止降溫。溫度在上下限溫度之間時,執(zhí)行機構(gòu)不執(zhí)行。第二章總體設(shè)計方案方案一利用溫度傳感器將溫度測出,通過某種電信號傳給外部電路產(chǎn)生一種變化,然后由外部電路控制裝置的開啟。測溫電路的設(shè)計,可以使用熱敏電阻之類的傳感器件利用其感溫效應(yīng),(如電阻隨溫度的變化有一個變化的曲線,即利用它的變化特性曲線)溫度的變化使得電阻發(fā)生了變化根據(jù)歐姆定律,電阻的變化會帶來電流或這電壓的變化。再將隨被測溫度變化的電壓或電流采集過來,然后進行

14、模擬信號換成數(shù)字信號(A/D)轉(zhuǎn)換,將數(shù)字信號送入單片機,用單片機進行數(shù)據(jù)的處理,將溫度顯示在電路上,這樣就可以將被測溫度顯示出來。最后還有外圍的控制電路,采取一定的措施來控制產(chǎn)生溫度的電路,如加溫、降溫、保持不動、或者報警。這種設(shè)計需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。設(shè)計流程圖如圖2.1圖2.1設(shè)計流程圖方案二利用溫度傳感器芯片直接將溫度數(shù)據(jù)測出,之后通過單片機程序控制溫度的上、下限值,用外部電路產(chǎn)生顯示和控制加熱和降,來達到設(shè)計的要求??紤]使用溫度傳感器,結(jié)合單片機電路設(shè)計,采用一只DS18B20溫度傳感器,直接讀取被測溫度值,之后進行轉(zhuǎn)換,依次完成設(shè)計要求。比較以上兩種方案,很容易

15、看出,采用方案二,電路比較簡單,軟件設(shè)計容易實現(xiàn),故實際設(shè)計中擬采用方案二。在設(shè)計中溫度的控制流程如圖2.2所示。圖2.2溫度控制整體流程在本系統(tǒng)的總體電路設(shè)計方框圖如圖2.3所示,它由五部分組成:單片機AT89C51控制部分;DS18B20溫度傳感器采集部分;3位LED數(shù)碼管顯示部分;按鍵調(diào)節(jié)部分;二極管報警部分。LED顯示電路DS18B20溫度米集電路AT89C51單片機二控制電二極管顯示報警電路圖2.3溫度計電路總體設(shè)計方案整個設(shè)計總體分為以下幾個部分:控制部分、顯示部分、溫度米集部分、按鍵控制部分。1、控制部分由單片機AT89C51芯片在程序控制和外圍簡單組合電路作用下運行,和控制溫度

16、的上、下限,和LED的溫度顯示??刂瓢l(fā)光二級管的亮滅,起到提醒報警功能。2、顯示部分顯示電路采用3位7斷共陽LED數(shù)碼管,從P3口送數(shù),P0口掃描。有兩部分顯示電路,第一是顯示DS18B20溫度傳感器所檢測的當(dāng)前溫度,第二是設(shè)定恒定的溫度值。3、溫度采集部分由DS18B20智能溫度傳感器直接采集被測溫度。4、按鍵控制部分由三個按鍵控制調(diào)節(jié),用來調(diào)節(jié)溫度的恒定限值,起到預(yù)設(shè)調(diào)節(jié)作用第三章溫度傳感器DS18B203.1DS18B20簡介3.1.1DS18B20封裝與引腳DS18B20封裝與引腳如圖3.1DALLASI8B2O123圖3.1DS18B20的封裝與引腳3.1.2DS18B20的簡單性能

17、1、獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊。2、測溫范圍一55C_125C,固有測溫分辨率0.5C。3、支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)多點測溫。4、工作電源:35V/DC。5、在使用中不需要任何外圍元件。6、測量結(jié)果以912位數(shù)字量方式串行傳送。7、不銹鋼保護管直徑6。8、適用于DN1525,DN40DN250各種介質(zhì)工業(yè)管道和狹小空間設(shè)備測溫。9、標(biāo)準(zhǔn)安裝螺紋M10X1,M12X1.5,G1/2”任選。10、PVC電纜直接出線或德式球型接線盒出線,便于與其它電器設(shè)備連接。DS18B20的工

18、作原理DS18B20內(nèi)部的低溫度系數(shù)振蕩器是一個振蕩頻率隨溫度變化很小的振蕩器,為計數(shù)器1提供一頻率穩(wěn)定的計數(shù)脈沖。高溫度系數(shù)振蕩器是一個振蕩頻率對溫度很敏感的振蕩器,為計數(shù)器2提供一個頻率隨溫度變化的計數(shù)脈沖。初始時,溫度寄存器被預(yù)置成-55C,每當(dāng)計數(shù)器1從預(yù)置數(shù)開始減計數(shù)到0時,溫度寄存器中寄存的溫度值就增加1C,這個過程重復(fù)進行,直到計數(shù)器2計數(shù)到0時便停止。初始時,計數(shù)器1預(yù)置的是與-55C相對應(yīng)的一個預(yù)置值。以后計數(shù)器1每一個循環(huán)的預(yù)置數(shù)都由斜率累加器提供。為了補償振蕩器溫度特性的非線性性,斜率累加器提供的預(yù)置數(shù)也隨溫度相應(yīng)變化。計數(shù)器1的預(yù)置數(shù)也就是在給定溫度處使溫度寄存器寄存值

19、增加1C計數(shù)器所需要的計數(shù)個數(shù)。DS18B20內(nèi)部的比較器以四舍五入的量化方式確定溫度寄存器的最低有效位。在計數(shù)器2停止計數(shù)后,比較器將計數(shù)器1中的計數(shù)剩余值轉(zhuǎn)換為溫度值后與0.25C進行比較,若低于0.25C,溫度寄存器的最低位就置0;若高于0.25C,最低位就置1;若高于0.75C時,溫度寄存器的最低位就進位然后置0。這樣,經(jīng)過比較后所得的溫度寄存器的值就是最終讀取的溫度值了,其最后位代表0.5C,四舍五入最大量化誤差為1/2LSB,即0.25C。溫度寄存器中的溫度值以9位數(shù)據(jù)格式表示,最高位為符號位,其余8位以二進制補碼形式表示溫度值。測溫結(jié)束時,這9位數(shù)據(jù)轉(zhuǎn)存到暫存存儲器的前兩個字節(jié)中

20、,符號位占用第一字節(jié),8位溫度數(shù)據(jù)占據(jù)第二字節(jié)。DS18B20測量溫度時使用特有的溫度測量技術(shù)。DS18B20內(nèi)部的低溫度系數(shù)振蕩器能產(chǎn)生穩(wěn)定的頻率信號;同樣的,高溫度系數(shù)振蕩器則將被測溫度轉(zhuǎn)換成頻率信號。當(dāng)計數(shù)門打開時,DS18B20進行計數(shù),計數(shù)門開通時間由高溫度系數(shù)振蕩器決定。芯片內(nèi)部還有斜率累加器,可對頻率的非線性度加以補償,測量結(jié)果存入溫度寄存器中。一般情況下的溫度值應(yīng)該為9位,但因符號位擴展成高8位,所以最后以16位補碼形式讀出。DS18B20工作過程一般遵循以下協(xié)議:初始化ROM操作命令存儲器操作命令一一處理數(shù)據(jù)。DS18B20的測溫原理3.3.1測溫原理每一片DS18B20在其

21、ROM中都存有其唯一的48位序列號,在出廠前已寫入片內(nèi)ROM中。主機在進入操作程序前必須用讀ROM(33H)命令將該DS18B20的序列號讀出。ROM命令代碼見表3.1。程序可以先跳過ROM,啟動所有DS18B20進行溫度變換,之后通過匹配ROM,再逐一地讀回每個DS18B20的溫度數(shù)據(jù)。DS18B20的測溫原理,低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入,還隱含著計數(shù)門,當(dāng)計數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖后進行計數(shù),進而完成溫度測量。計數(shù)

22、門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55C所對應(yīng)的基數(shù)分別置入減法計數(shù)器1和溫度寄存器中,減法計數(shù)器1和溫度寄存器被預(yù)置在-55C所對應(yīng)的一個基數(shù)值。減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當(dāng)減法計數(shù)器1的預(yù)置值減到0時溫度寄存器的值將加1,減法計數(shù)器1的預(yù)置將重新被裝入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到減法計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖3.2中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)門仍未關(guān)閉就重復(fù)上述過程,直至溫度

23、寄存器值達到被測溫度值。表3.1ROM操作命令指令約定代碼功能讀ROM33H讀DS18B20ROM中的編碼發(fā)出此命令之后,接著發(fā)出64位ROM編碼,符合ROM55H訪問單線總線上與該編碼相對應(yīng)的DS18B20使之作出響應(yīng),為下步對該DS18B20的讀寫作準(zhǔn)備搜索ROM0F0H用于確定掛接在同一總線上DS18B20的個數(shù)和識別64位ROM地址,為操作各器件作好準(zhǔn)備跳過ROM0CCH忽略64位ROM地址,直接向DS18B20發(fā)溫度變換命令,適用于單片工作。告警搜索命令0ECH執(zhí)行后,只有溫度超過設(shè)定值上限或者下限的片子才做出響應(yīng)溫度變換44H啟動DS18B20進行溫度轉(zhuǎn)換,轉(zhuǎn)換時間最長為500MS

24、,結(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ù)復(fù)制暫存器48H將E2PRAM中第3,4字節(jié)內(nèi)容復(fù)制到E2PRAM中重調(diào)E2PRAM0BBH將E2PRAM中內(nèi)容恢復(fù)到RAM中的第3,4字節(jié)讀供電方式0B4H讀DS18B20的供電模式,寄生供電時DS18B20發(fā)送“0”外接電源供電DS18B20發(fā)送“1”圖3.2測溫原理內(nèi)部裝置3.3.2DS18B20的溫度采集過程由于DS18B20單線通信功能是分時完成的,他有嚴(yán)格的時隙概念,因此讀寫時序很重要,系統(tǒng)對DS18B20的各種

25、操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)一發(fā)ROM功能命令一發(fā)存儲器操作命令f處理數(shù)據(jù)。溫度的采集流程如圖3.3所示。圖3.3DS18B20測溫流程第四章單片機接口設(shè)計4.1設(shè)計原則DS18B20有2種供電方式,一種是直流電源,還有一種是寄生蟲方式供電。采用電源供電方式,此時DS18B20的1腳接地,2腳作為信號線,3腳接電源。電源是利用直流穩(wěn)壓電源。當(dāng)DS18B20處于寫存儲器操作和溫度A/D變換操作時,總線上必須有強的上拉,上拉開啟時間最大為10uso采用寄生電源供電方式是VDD和GND端均接地。由于單線制只有一根線,因此發(fā)送接收口必須是三狀態(tài)的。主機控制DS18

26、B20完成溫度轉(zhuǎn)換必須經(jīng)過3個步驟:初始化;ROM操作指令;存儲器操作指令。4.2單片機引腳連接4.2.1單片機引腳圖單片機引腳如圖4.1所示。圖4.1單片機引腳4.2.2串口引腳串口引腳的連接圖如附錄1。第五章硬件電路設(shè)計5.1主要硬件電路設(shè)計硬件電路主要包括:顯示電路,DS18B20溫度傳感器檢測電路,按鍵電路,晶振電路,二極管顯示報警電路,電源電路。顯示電路顯示電路采用了7段共陰數(shù)碼管掃描電路,通過單片機的P0.0到P0.7八個端口接數(shù)碼管的八個引腳,數(shù)碼管的9號引腳接地。用來顯示當(dāng)前檢測的溫度值,精確度為0.1。如圖5.1所示。節(jié)約了單片機的輸出端口,便于程序的編寫。本設(shè)計中還有一組數(shù)

27、碼管由P2.0到P2.7連接,除接口不同外其他一樣,如圖5.2。t2345rsr3vcc圖5.1顯示測量結(jié)果電路圖DS18B20溫度傳感器檢測電路溫度采集通過數(shù)字化的溫度傳感器DS18B20,通過QD接向單片機的P3.0口。DS18B20溫度傳感器電路如圖5.3所示。圖5.3溫度傳感器電路引腳圖按鍵電路按鍵電路如圖5.4所示。由K2、K3、K4三個按鍵控制上、下限溫度值。P3.1接口接K4按鍵。P3.2接口接入K3按鍵。P3.3接口接K2按鍵。K2溫度上下限減少鍵:減少溫度上下限的值。K3溫度上下限增加鍵:增加溫度上下限的值。K4溫控開關(guān)鍵:進入溫控的切換鍵。圖5.4按鍵電路圖晶振控制電路晶振

28、采用的是12MHZ的標(biāo)準(zhǔn)晶振。接入單片機的XTAL1、XTAL2。晶振控制電路如圖5.5所示。圖5.5晶振控制電路圖復(fù)位電路復(fù)位電路采用了人工復(fù)位的方式,按下按鍵K1使單片機復(fù)位。直接接到單片機的RESET引腳。復(fù)位電路如圖5.6所示圖5.6復(fù)位電路圖(6)二極管顯示報警電路二極管顯示報警電路如圖5.7所示。通過單片機的P3.4和P3.5兩個端口送出,采用的是高電平驅(qū)動,使其發(fā)光發(fā)出警告。D2nP3.4Ko征D:LED-11-D3兒nrP3.5zK715If上上LE15-It.圖5.7二極管顯示電路(8)電源部分電源部分才用的是直流穩(wěn)壓電源,產(chǎn)生5V的穩(wěn)定直流電壓。電源設(shè)計部分如圖5.8所示。

29、圖5.8電源部分電路軟件系統(tǒng)設(shè)計5.2.1軟件系統(tǒng)設(shè)計一個應(yīng)用系統(tǒng)要完成各項功能,首先必須有較完善的硬件作保證。同時還必須得到相應(yīng)設(shè)計合理的軟件的支持,尤其是微機應(yīng)用高速發(fā)展的今天,許多由硬件完成的工作,都可通過軟件編程而代替。甚至有些必須采用很復(fù)雜的硬件電路才能完成的工作,用軟件編程有時會變得很簡單,如數(shù)字濾波,信號處理等。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源采用與C51系列單片機相對應(yīng)的51匯編語言和結(jié)構(gòu)化程序設(shè)計方法進行軟件編程。程序設(shè)計語言有三種:機器語言、匯編語言和高級語言。機器語言是機器唯一能“懂”的語言,用匯編語言或高級語言編寫的程序(稱為源程序)最終都必須翻譯成機器語言的

30、程序(成為目標(biāo)程序),計算機才能“看懂”,然后逐一執(zhí)行。高級語言是面向問題和計算過程的語言,它可通過于各種不同的計算機,用戶編程時不必仔細了解所用的計算機的具體性能與指令系統(tǒng),而且語句的功能強,常常一個語句已相當(dāng)于很多條計算機指令,于是用高級語言編制程序的速度比較快,也便于學(xué)習(xí)和交流,但是本系統(tǒng)卻選用了匯編語言。原因在于,本系統(tǒng)是編制程序工作量不大、規(guī)模較小的單片機微控制系統(tǒng),使用匯編語言可以不用像高級語言那樣占用較多的存儲空間,適合于存儲容量較小的系統(tǒng)。同時,本系統(tǒng)對位處理要求很高,需要解決大量的邏輯控制問題。51指令系統(tǒng)的指令長度較短,它在存儲空間和執(zhí)行時間方面具有較高的效率,編成的程序占

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

32、是負責(zé)溫度的實時顯示、讀出并處理DS18B20的測量的當(dāng)前溫度值,溫度測量每Is進行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程見圖5.9所示。通過調(diào)用讀溫度子程序把存入內(nèi)存儲中的整數(shù)部分與小數(shù)部分分開存放在不同的兩個單元中,然后通過調(diào)用顯示子程序顯示出來。圖5.9主程序流程圖2)讀出溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進行CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫,程序流程圖如圖5.10所示。DS18B20的各個命令對時序的要求特別嚴(yán)格,所以必須按照所要求的時序才能達到預(yù)期的目的,同時,要注意讀進來的是高位在后低位在前,共有12位數(shù),小數(shù)4位,整數(shù)7位

33、,還有一位符號位。DS18B20復(fù)位、應(yīng)答子程序跳過ROM匹配命令寫入子程序讀溫度命令子程序圖5.10讀出溫度子程序南昌工程學(xué)院??飘厴I(yè)設(shè)計(論文)- -3)寫入子程序?qū)懭胱映绦虻牧鞒虉D如5.11所示。圖5.11寫入子程序 4)門限調(diào)節(jié)子程序門限調(diào)節(jié)子程序流程如圖5.12所示。圖5.12門限調(diào)節(jié)電路結(jié)束語本文詳細講述了系統(tǒng)設(shè)計方案,并給出了相關(guān)程序流程。本設(shè)計應(yīng)用性比較強,可以應(yīng)用在倉庫溫度、大棚溫度、機房溫度、水池等的監(jiān)控。另外,如果把本設(shè)計方案擴展為多點溫度控制,加上上位機,則可以實現(xiàn)遠程溫度監(jiān)控系統(tǒng),將具有更大的應(yīng)用價值。本文的創(chuàng)新點在于詳細設(shè)計了基于單片機AT89C51的溫度監(jiān)控系統(tǒng),

34、設(shè)計程序已經(jīng).此系統(tǒng)可廣泛用于溫度在DS18B20測溫范圍之內(nèi)的場合,有良好的應(yīng)用前景。由于單片機的各種優(yōu)越的特性,使得它的經(jīng)濟效益顯的更加突出,有很好的實用性。附錄附錄1!丁1JIJLIIJLII-LII1Iwr閘EM:-ED-MUy一1TEKHTEKE叫Ed罠R5MOVR7goDJNZRrsRRCADJNZRpREAD1RETPRESENCE-JBDQSJNBDOSRETRESETPULSE-CLRDQMOVRr#250DJNZRrsSETBDQMOVR7#10DJNZRrsRET*DS18B20s*WRITEBYTESOVRp#8WRITEAJCWRITE1CLRDQMOVR7goDJN

35、ZRrsSETBDQNopNopNopNop30DJNZRpWRITERETWRITE1OLRDQNopNopNopNopSETBDQMOVRrgoDJNZRrSDJNZRpWRITERET-薫薫薫十ffi那_滯BBLmCLRAMOVRNAMOVRr#8BBCD1OLRCMOVFKRLCAMOVFKAMOVR2ADDCR2DAAMOVRNADJNZRrBBCD1RET-*Fmn*TER-MOVR231 ANLA,#0FHMOVSHI2,AMOVA,R2SWAPAANLA,#0FHMOVSHI1,ARET;*小數(shù)部分處理子程序*XIAOSHU:CLRCMOVR3,#3MOVA,50HLOOP2:

36、RRCADJNZR3,LOOP2ANLA,#01HCJNEA,#01H,XIAOSHU2MOVSHI3,#5RETXIAOSHU2:MOVSHI3,#0RET;*按鍵部分處理子程序*KEY:MOVCNT,#80JBK_INM,KEY1ACALLDISP1ACALLDISP2ACALLDISP1ACALLDISP2JBK_INM,KEY1WAIT0:JBK_INM,KEY2ACALLDISP1ACALLDISP2DJNZCNT,WAIT0KEY2:MOVA,DIADDA,#5DAAMOVDI,ASUBBA,#09HJCKEY1MOVDI,#0KEY1:MOVCNT,#80JBK_INH,KEY4

37、ACALLDISP1ACALLDISP2ACALLDISP1ACALLDISP2JBK_INH,KEY4WAIT1:JBK_INH,KEY3ACALLDISP1ACALLDISP2DJNZCNT,WAIT1KEY3:MOVA,ZHOADDA,#1DAAMOVZHO,ACJNEA,#10H,KEY4MOVZHO,#0KEY4:MOVCNT,#80JBKI,KEY_BACKACALLDISP1ACALLDISP1ACALLDISP2JBKI,KEY_BACKJBKI,KEY5ACALLDISP1ACALLDISP2DJNZCNT,WAIT2MOVA,GAOADDA,#1DAAMOVGAO,ACJN

38、EA,#10H,KEY_BACKMOVGAO,#0ACALLDISP2KEY5:WAIT2:KEY_BACK:RET;*延時程序1*D0.6S:MOVR3,#64HDEL3:MOVR4,#384HDEL4:NOPNOPNOPDJNZR4,DEL4DJNZR3,DEL3RET;*實測溫度顯示部分子程序*DISP1:MOVDPTR,#TABMOVA,SHI1MOVCA,A+DPTRMOVP0,AMOVP1,#3FHCLRP1.0ACALLTMMOVA,SHI2MOVCA,A+DPTRMOVP0,AMOVP1,#3FHSETBP0.7CLRP1.1ACALLTMMOVA,SHI3MOVCA,A+DPTRMOVP0,AMOVP1,#3FHCLRP1.2

溫馨提示

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

評論

0/150

提交評論