版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1 引言雞舍溫度控制系統(tǒng)設(shè)計的意義隨著社會的開展,科技的進步,以及測溫儀器在各個領(lǐng)域的應(yīng)用,智能化已是現(xiàn)代溫度控制系統(tǒng)開展的主流方向。特別是近年來,溫度控制系統(tǒng)已應(yīng)用到人們生活的各個方面,但雞舍溫度控制一直是一個未開發(fā)的領(lǐng)域,卻又是與人們息息相關(guān)的一個實際問題。針對這種實際情況,設(shè)計一個雞舍溫度控制系統(tǒng),具有廣泛的應(yīng)用前景與實際意義。雞舍溫度控制系統(tǒng)的設(shè)計背景溫度是科學(xué)技術(shù)中最根本的物理量之一,物理、化學(xué)、生物等學(xué)科都離不開溫度。在工業(yè)生產(chǎn)和實驗研究中,像電力、化工、石油、冶金、航空航天、機械制造、糧食存儲、酒類生產(chǎn)等領(lǐng)域內(nèi),溫度常常是表征對象和過程狀態(tài)的最重要的參數(shù)之一。比方,發(fā)電廠鍋爐的溫
2、度必須控制在一定的范圍之內(nèi);許多化學(xué)反響的工藝過程必須在適當(dāng)?shù)臏囟认虏拍苷_M行;煉油過程中,原油必須在不同的溫度和壓力條件下進行分餾才能得到汽油、柴油、煤油等產(chǎn)品。沒有適宜的溫度環(huán)境,許多電子設(shè)備就不能正常工作,糧倉的儲糧就會變質(zhì)霉?fàn)€,酒類的品質(zhì)就沒有保障。因此,各行各業(yè)對溫度控制的要求都越來越高??梢?,溫度的測量和控制是非常重要的。單片機在電子產(chǎn)品中的應(yīng)用已經(jīng)越來越廣泛,在很多的電子產(chǎn)品中也用到了溫度檢測和溫度控制。隨著溫度控制器應(yīng)用范圍的日益廣泛和多樣,各種適用于不同場合的智能溫度控制器應(yīng)運而生。雞舍溫度控制系統(tǒng)的設(shè)計目的本設(shè)計的內(nèi)容是溫度測試控制系統(tǒng),控制對象是溫度。溫度控制在日常生活
3、及工業(yè)領(lǐng)域應(yīng)用相當(dāng)廣泛,比方溫室、水池、發(fā)酵缸、電源等場所的溫度控制。而以往溫度控制是由人工完成的而且不夠重視,其實在很多場所溫度都需要監(jiān)控以防止發(fā)生意外。針對此問題,本系統(tǒng)設(shè)計的目的是實現(xiàn)一種可連續(xù)高精度調(diào)溫的溫度控制系統(tǒng),它應(yīng)用廣泛,功能強大,小巧美觀,便于攜帶,是一款既實用又廉價的控制系統(tǒng)。1.4雞舍溫度控制系統(tǒng)完成的功能本設(shè)計是對溫度進行實時監(jiān)測與控制,設(shè)計的溫度控制系統(tǒng)實現(xiàn)了根本的溫度控制功能:當(dāng)溫度低于設(shè)定下限溫度時,系統(tǒng)自動啟動加熱繼電器加溫,使溫度上升,同時綠燈亮。當(dāng)溫度上升到下限溫度以上時,停止加溫;當(dāng)溫度高于設(shè)定上限溫度時,系統(tǒng)自動啟動風(fēng)扇降溫,使溫度下降,同時紅燈亮。當(dāng)溫
4、度下降到上限溫度以下時,停止降溫。溫度在上下限溫度之間時,執(zhí)行機構(gòu)不執(zhí)行。三個數(shù)碼管即時顯示溫度,精確到小數(shù)點一位。2 總體設(shè)計方案2.1方案一測溫電路的設(shè)計,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化的電壓或電流采集過來,進行A/D轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到A/D轉(zhuǎn)換電路,感溫電路比擬麻煩。2.2 方案二 考慮使用溫度傳感器,結(jié)合單片機電路設(shè)計,采用一只DS18B20溫度傳感器,直接讀取被測溫度值,之后進行轉(zhuǎn)換,依次完成設(shè)計要求。比擬以上兩種方案,很容易看出,采用方案二,電路比擬簡單,軟件設(shè)計容易實現(xiàn),故實
5、際設(shè)計中擬采用方案二。2.3方案二的總體設(shè)計本系統(tǒng)的電路設(shè)計方框圖如圖1所示,它由三局部組成:控制局部主芯片采用單片機AT89S51;顯示局部采用3位LED數(shù)碼管以動態(tài)掃描方式實現(xiàn)溫度顯示;溫度采集局部采用DS18B20溫度傳感器。加熱繼電器電風(fēng)扇繼電器單 片 機DS18B20LED顯示指示燈 圖1 溫度計電路總體設(shè)計方案(1) 控制局部單片機AT89S51具有低電壓供電和體積小等特點,四個端口只需要兩個口就能滿足電路系統(tǒng)的設(shè)計需要,很適合便攜手持式產(chǎn)品的設(shè)計使用,系統(tǒng)應(yīng)用三節(jié)電池供電。(2) 顯示局部顯示電路采用3位共陽LED數(shù)碼管,從P0口送數(shù),P2口掃描。(3) 溫度采集局部DS18B2
6、0溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改良型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫。這一局部主要完成對溫度信號的采集和轉(zhuǎn)換工作,由DS18B20數(shù)字溫度傳感器及其與單片機的接口局部組成。數(shù)字溫度傳感器DS18B20把采集到的溫度通過數(shù)據(jù)引腳傳到單片機的P1.0口,單片機接受溫度并存儲。此局部只用到DS18B20和單片機,硬件很簡單。a. DS18B20的性能特點如下9:1) 獨特的單線接口僅需要一個端口引腳進行通信;2) 多個DS18B20可以并聯(lián)在惟一的三線上,實現(xiàn)多點組網(wǎng)功能;3) 無須外部器件;4) V;5) 零待機功耗;6) 溫度以3位數(shù)字顯
7、示;7) 用戶可定義報警設(shè)置;8) 報警搜索命令識別并標(biāo)志超過程序限定溫度溫度報警條件的器件;9) 負電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。 b. DS18B20的內(nèi)部結(jié)構(gòu)DS18B20采用3腳PR35封裝,如圖2所示;DS18B20的內(nèi)部結(jié)構(gòu),如圖3所示。圖2 DS18B20封裝5:1) 64位光刻ROM。開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前56位的CRC校驗碼,這也是多個DS18B20可以采用一線進行通信的原因10。64位閃速ROM的結(jié)構(gòu)如下:8b檢驗CRC48b序列號8b工廠代碼10H MSB LSB MSB LSB
8、MSB LSB圖3 DS18B20內(nèi)部結(jié)構(gòu)2) 非揮發(fā)的溫度報警觸發(fā)器TH和TL,可通過軟件寫入用戶報警上下限值。3) 高速暫存存儲,可以設(shè)置DS18B20溫度轉(zhuǎn)換的精度。DS18B20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存RAM和一個非易失性的可電擦除的E2PRAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如圖3所示。頭2個字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時被刷新。第5個字節(jié),為配置存放器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時存放器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。它的內(nèi)部存儲器結(jié)構(gòu)和字節(jié)定義如圖3所示。低5位一直為
9、,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測試模式, Byte0溫度測量值LSB50HByte1溫度測量值MSB50HE2PROMByte2TH高溫存放器-TH高溫存放器Byte3TL低溫存放器-TL 低溫存放器Byte4配位存放器-配位存放器Byte5預(yù)留FFHByte6預(yù)留0CHByte7預(yù)留IOHByte8循環(huán)冗余碼校驗CRC圖4 DS18B20內(nèi)部存儲器結(jié)構(gòu)DS18B20出廠時該位被設(shè)置為0,用戶要去改動,R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率,如圖4。TM R1R0 1 1 1 1 1圖5 DS18B20字節(jié)定義由表1可見,分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時間
10、越長。因此,在實際應(yīng)用中要將分辨率和轉(zhuǎn)換時間權(quán)衡考慮。高速暫存RAM的第6、7、8字節(jié)保存未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出前面所有8字節(jié)的CRC碼,可用來檢驗數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴展的二進制補碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時低位在先,高位在后,數(shù)據(jù)格式以LSB形式表示。當(dāng)符號位S0時,表示測得的溫度值為正值,可以直接將二進制位轉(zhuǎn)換為十進制;當(dāng)符號位S1時,表示測得的溫度值為負值,要先將補碼變成原碼,再計算十進制數(shù)值。表2是一局部溫度值對應(yīng)的二進
11、制溫度數(shù)據(jù)6。表1 DS18B20溫度轉(zhuǎn)換時間表:R1R0分辨率/位溫度最大轉(zhuǎn)向時間/ms009011010113751112750表2一局部溫度對應(yīng)值表溫度/二進制表示十六進制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H0000 0001 1001 00000191H0000 0000 1010 000100A2H0000 0000 0000 00100008H00000 0000 0000 10000000H1111 1111 1111 0000FFF8H1111 1111 0101 1110FF5EH1111 1110
12、 0110 1111FE6FH-551111 1100 1001 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ā)存儲器操作命令處理數(shù)據(jù)。3 DS18B20溫度傳感器簡介溫度的測量是從金屬(物質(zhì))的熱脹冷縮開始。水銀溫度計至今仍是各種溫度
13、測量的計量標(biāo)準??墒撬娜秉c是只能近距離觀測,而且水銀有毒,玻璃管易碎。代替水銀的有酒精溫度計和金屬簧片溫度計,它們雖然沒有毒性,但測量精度很低,只能作為一個概略指示。不過在居民住宅中使用已可滿足要求。在工業(yè)生產(chǎn)和實驗研究中為了配合遠傳儀表指示,出現(xiàn)了許多不同的溫度檢測方法,常用的有電阻式、熱電偶式、PN結(jié)型、輻射型、光纖式及石英諧振型等。它們都是基于溫度變化引起其物理參數(shù)(如電阻值,熱電勢等)的變化的原理。隨著大規(guī)模集成電路工藝的提高,出現(xiàn)了多種集成的數(shù)字化溫度傳感器。 DS18B20工作原理.1 DS18B20的工作時序根據(jù)DS18B20的通訊協(xié)議,主機控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)
14、過三個步驟:(1) 每一次讀寫之前都必須要對DS18B20進行復(fù)位;(2) 復(fù)位成功后發(fā)送一條ROM指令;(3) 最后發(fā)送RAM指令,這樣才能對DS18B20進行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號后等待1560微秒左右后發(fā)出60240微秒的存在低脈沖,主CPU收到此信號表示復(fù)位成功。其工作時序包括初始化時序、寫時序和讀時序,具體工作方法如圖5,6,7所示。a.初始化時序 圖6 初始化時序總線上的所有傳輸過程都是以初始化開始的,主機響應(yīng)應(yīng)答脈沖。應(yīng)答脈沖使主機知道,總線上有從機設(shè)備,且準備就緒。主機輸出低電平,保持低電平時間至少480us上拉電阻
15、將總線拉高,延時1560us,并進入接受模式,以產(chǎn)生低電平應(yīng)答脈沖,假設(shè)為低電平,再延時480us12。b.寫時序圖7 寫時序 寫時序包括寫0時序和寫1時序。所有寫時序至少需要60us,且在2次獨立的寫時序之間至少需要1us的恢復(fù)時間,都是以總線拉低開始。寫1時序,主機輸出低電平,延時2us,然后釋放總線,延時60us。寫0時序,主機輸出低電平,延時60us,然后釋放總線,延時2us8。c.讀時序 圖8 讀時序總線器件僅在主機發(fā)出讀時序是,才向主機傳輸數(shù)據(jù),所以,在主機發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時序,以便從機能夠傳輸數(shù)據(jù)。所有讀時序至少需要60us,且在2次獨立的讀時序之間至少需要1us
16、的恢復(fù)時間。每個讀時序都由主機發(fā)起,至少拉低總線1us。主機在讀時序期間必須釋放總線,并且在時序起始后的15us之內(nèi)采樣總線狀態(tài)。主機輸出低電平延時2us,然后主機轉(zhuǎn)入輸入模式延時12us,然后讀取總線當(dāng)前電平,然后延時50us4。.2 ROM操作命令3當(dāng)主機收到DSl8B20 的響應(yīng)信號后,便可以發(fā)出ROM 操作命令之一,這些命令如表3:ROM操作命令。 DS18B20的測溫原理.1 DS18B20的測溫原理6每一片DSl8B20在其ROM中都存有其唯一的48位序列號,在出廠前已寫入片內(nèi)ROM 中。主機在進入操作程序前必須用讀ROM(33H)命令將該DSl8B20的序列號讀出。程序可以先跳過
17、ROM,啟動所有DSl8B20進行溫度變換,之后通過匹配ROM,再逐一地讀回每個DSl8B20的溫度數(shù)據(jù)。DS18B20的測溫原理如圖9所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入,圖中還隱含著計數(shù)門,當(dāng)計數(shù)門翻開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖后進行計數(shù),進而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55 所對應(yīng)的基數(shù)分別置入減法計數(shù)器1和溫度存放器中,減法計數(shù)器1和溫度存放器被預(yù)置在-55 所對應(yīng)的一個基
18、數(shù)值。減法計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當(dāng)減法計表3 ROM操作命令指令約定代碼功 能讀ROM33H讀DS18B20 ROM中的編碼符合ROM55H發(fā)出此命令之后,接著發(fā)出64位ROM編碼,訪問單線總線上與該編碼相對應(yīng)的DS18B20 使之作出響應(yīng),為下一步對該DS18B20的讀寫作準備搜索ROM0F0H用于確定掛接在同一總線上DS18B20的個數(shù)和識別64位ROM地址,為操作各器件作好準備跳過ROM0CCH忽略64位ROM地址,直接向DS18B20發(fā)溫度變換命令,適用于單片工作。告警搜索命 令0ECH執(zhí)行后,只有溫度超過設(shè)定值上限或者下限的片子才做出響應(yīng)溫度變換44H啟
19、動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ù)復(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數(shù)器1的預(yù)置值減到0時溫度存放器的值將加1,減法計數(shù)器1的預(yù)置將重新被裝入,減法計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)
20、生的脈沖信號進行計數(shù),如此循環(huán)直到減法計數(shù)器2計數(shù)到0時,停止溫度存放器值的累加,此時溫度存放器中的數(shù)值即為所測溫度。圖8中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)門仍未關(guān)閉就重復(fù)上述過程,直至溫度存放器值到達被測溫度值,這就是DS18B20的測溫原理。 另外,由于DS18B20單線通信功能是分時完成的,他有嚴格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進行。操作協(xié)議為:初始化DS18B20發(fā)復(fù)位脈沖發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù)。減法計數(shù)器斜坡累加器減到0減法計數(shù)器預(yù) 置低溫度系數(shù)振 蕩 器高溫度系數(shù)振
21、蕩 器計數(shù)比擬器預(yù) 置溫度存放器減到0圖9 測溫原理內(nèi)部裝置.2 DS18B20的測溫流程初始化DS18B20跳過ROM匹配溫度變換延時1S跳過ROM匹配讀暫存器轉(zhuǎn)換成顯示碼數(shù)碼管顯示圖10 DS18B20測溫流程4單片機接口設(shè)計DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時DS18B20的1腳接地,2腳作為信號線,3腳接電源。另一種是寄生電源供電方式,如圖11所示單片機端口接單線總線,為保證在有效的DS18B20時鐘周期內(nèi)提供足夠的電流,可用一個MOSFET管來完成對總線的上拉。本設(shè)計采用電源供電方式, P1.1口接單線總線為保證在有效的DS18B20時鐘周期內(nèi)提供足夠的電
22、流,可用一個MOSFET管和89S51的來完成對總線的上拉。當(dāng)DS18B20處于寫存儲器操作和溫度A/D變換操作時,總線上必須有強的上拉,上拉開啟時間最大為10 s。采用寄生電源供電方式是VDD和GND端均接地。由于單線制只有一根線,因此發(fā)送接收口必須是三狀態(tài)的。主機控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過3個步驟:初始化、ROM操作指令、存儲器操作指令。單 片 機18B20VCCGND 圖11 DS18B20與單片機的接口電路5系統(tǒng)整體設(shè)計 主板電路設(shè)計(如附錄2)單片機的P1.0接DS18B20的2號引腳,P0口送數(shù)P2口掃描,P1.1、P1.2控制加熱器和電風(fēng)扇的繼電器。 各局部電路(1)
23、 顯示電路顯示電路采用了7段共陰數(shù)碼管掃描電路,節(jié)約了單片機的輸出端口,便于程序的編寫。圖12 顯示電路圖(2) 單片機電路圖13單片機電路引腳圖(3) AT89SISP下載口電路圖14 下載口電路引腳圖此電路連接單片機。(4) DS18B20溫度傳感器電路圖15 溫度傳感器電路引腳圖(5) 繼電器電路圖中引腳控制加熱器繼電器,P1.2引腳控制電風(fēng)扇繼電器。給.P1.1低電平,三極管導(dǎo)通,電磁鐵觸頭放下來開始工作;同樣給P1.2低電平,三極管導(dǎo)通,電磁鐵觸頭放下來開始工作。圖16 繼電器電路圖(6) 晶振控制電路圖17 晶振控制電路圖 (7) 復(fù)位電路圖18復(fù)位電路圖 系統(tǒng)軟件設(shè)計 系統(tǒng)軟件設(shè)
24、計的整體思想一個應(yīng)用系統(tǒng)要完成各項功能,首先必須有較完善的硬件作保證。同時還必須得到相應(yīng)設(shè)計合理的軟件的支持,尤其是微機應(yīng)用高速開展的今天,許多由硬件完成的工作,都可通過軟件編程而代替。甚至有些必須采用很復(fù)雜的硬件電路才能完成的工作,用軟件編程有時會變得很簡單,如數(shù)字濾波,信號處理等。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源,采用與S51系列單片機相對應(yīng)的51匯編語言和結(jié)構(gòu)化程序設(shè)計方法進行軟件編程。程序設(shè)計語言有三種:機器語言、匯編語言和高級語言。機器語言是機器唯一能“懂的語言,用匯編語言或高級語言編寫的程序稱為源程序最終都必須翻譯成機器語言的程序成為目標(biāo)程序,計算機才能“看懂,然后逐一執(zhí)
25、行。高級語言是面向問題和計算過程的語言,它可通過于各種不同的計算機,用戶編程時不必仔細了解所用的計算機的具體性能與指令系統(tǒng),而且語句的功能強,常常一個語句已相當(dāng)于很多條計算機指令,于是用高級語言編制程序的速度比擬快,也便于學(xué)習(xí)和交流,但是本系統(tǒng)卻選用了匯編語言。原因在于,本系統(tǒng)是編制程序工作量不大、規(guī)模較小的單片機微控制系統(tǒng),使用匯編語言可以不用像高級語言那樣占用較多的存儲空間,適合于存儲容量較小的系統(tǒng)。同時,本系統(tǒng)對位處理要求很高,需要解決大量的邏輯控制問題。MCS51指令系統(tǒng)的指令長度較短,它在存儲空間和執(zhí)行時間方面具有較高的效率,編成的程序占用內(nèi)存單元少,執(zhí)行也非常的快捷,與本系統(tǒng)的應(yīng)用
26、要求很適合。而且MCS51指令系統(tǒng)有豐富的位操作或稱位處理指令,可以形成一個相當(dāng)完整的位操作指令子集,這是MCS51指令系統(tǒng)主要的優(yōu)點之一。對于要求反響靈敏與控制及時的工控、檢測等實時控制系統(tǒng)以及要求體積小、系統(tǒng)小的許多“電腦化產(chǎn)品,可以充分表達出匯編語言簡明、整齊、執(zhí)行時間短和易于使用的特點。本裝置的軟件包括主程序、讀出溫度子程序、復(fù)位應(yīng)答子程序、寫入子程序、以及有關(guān)DS18B20的程序初始化子程序、寫程序和讀程序等。主程序的功能是:啟動DS18B20測量溫度,將測量值與給定值進行比擬,假設(shè)測得溫度小于設(shè)定值,那么進入加熱階段,置P1.1為低電平,這期間繼續(xù)對溫度進行監(jiān)測,直到溫度在設(shè)定范圍
27、內(nèi),置P1.1為高電平斷開可控硅,關(guān)閉加熱器,等待下一次的啟動命令。當(dāng)測得溫度大于設(shè)定值,那么進入降溫階段,那么置P1.2為低電平,這期間繼續(xù)對溫度進行監(jiān)測,直到溫度在設(shè)定范圍內(nèi),置P1.2為高電平斷開,關(guān)閉風(fēng)扇,等待下一次的啟動命。 系統(tǒng)程序流程圖系統(tǒng)程序主要包括主程序,讀出溫度子程序,復(fù)位應(yīng)答子程序,寫入子程序等。1主程序主程序的主要功能是負責(zé)溫度的實時顯示、讀出并處理DS18B20的測量的當(dāng)前溫度值,溫度測量每1s進行一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程見圖19所示。通過調(diào)用讀溫度子程序把存入內(nèi)存儲中的整數(shù)局部與小數(shù)局部分開存放在不同的兩個單元中,然后通過調(diào)用顯示子程序顯
28、示出來。圖19 主程序流程圖2讀出溫度子程序 讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進行CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。DS18B20復(fù)位、應(yīng)答子程序讀溫度命令子程序?qū)懭胱映绦蛱^ROM匹配命令DS18B20復(fù)位、應(yīng)答子程序顯示子程序(延時)寫入子程序溫度轉(zhuǎn)換命令寫入子程序跳過ROM匹配命令終 止 圖20 讀出溫度子程序 DS18B20的各個命令對時序的要求特別嚴格,所以必須按照所要求的時序才能到達預(yù)期的目的,同時,要注意讀進來的是高位在后低位在前,共有12位數(shù),小數(shù)4位,整數(shù)7位,還有一位符號位。3復(fù)位、應(yīng)答子程序開始延時537US50US是否有低電平標(biāo)志位置
29、1有234US低電平標(biāo)志位置1終止圖21復(fù)位、應(yīng)答子程序4寫入子程序開始進位C清0終止R2是否為0P1.0置 0延時46US帶進位右移延時12US圖22 寫入子程序5)系統(tǒng)總的流程圖開 始初始化DS18B20顯示當(dāng)前溫度判斷當(dāng)前溫度值超過設(shè)定溫度上限啟動風(fēng)扇降低溫度紅燈亮設(shè)定溫度上、下限啟動電熱爐升高溫度是否低于設(shè)定溫度下限是綠燈亮否圖23系統(tǒng)總的流程圖6 總結(jié)與體會 經(jīng)過將近三周努力,完成了雞舍溫度控制系統(tǒng)的設(shè)計,到達預(yù)計的設(shè)計目標(biāo),從心底里說,非常快樂,通過這次設(shè)計將硬、軟件做了出來,并能按照預(yù)定的要求工作了,但快樂之余不得不深思呀!在本次設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,雖然以前沒有獨立做
30、過這樣的設(shè)計,但這次設(shè)計真的讓我長進了很多,單片機課程設(shè)計重點就在于軟件算法的設(shè)計,需要有很巧妙的程序算法,雖然以前寫過幾次程序,但我覺的寫好一個程序并不是一件簡單的事,舉個例子,以前寫的那幾次,數(shù)據(jù)加減時,我用的都是BCD碼,這一次,我全部用的都是16進制的數(shù)直接加減,顯示處理時在用除法去刪分,感覺效果比擬好,有好多的東西,只有我們?nèi)ピ囍隽?,才能真正的掌握,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握。從這次的設(shè)計中,我真真正正的意識到,在以后的學(xué)習(xí)中,要理論聯(lián)系實際,把我們所學(xué)的理論知識運用到實際當(dāng)中,學(xué)習(xí)單機片機更是如此,程序只有在經(jīng)常的寫與讀的過程中才能提高,這就是我在這次設(shè)計中的最
31、大收獲。通過對多種溫度控制系統(tǒng)的分析研究,本論文自行設(shè)計并實現(xiàn)了一種溫度測試控制系統(tǒng)。該系統(tǒng)基于51系列單片機的控制,通過AT89S51處理溫度傳感器檢測的數(shù)字信號,從而控制固態(tài)繼電器的翻開和關(guān)閉,實現(xiàn)對溫度的控制,同時配合按鍵的手動控制,使得系統(tǒng)操作更加方便、人性化。通過對硬件與軟件的調(diào)試情況,系統(tǒng)根本能實現(xiàn)論文所預(yù)期的設(shè)計功能,不過系統(tǒng)仍然存在一些缺乏之處,有待改良。從設(shè)計方案的選擇到最終系統(tǒng)功能的實現(xiàn),我在這個過程中學(xué)到了許多新的知識。首先是閱讀了一些參考文獻,使我對溫度控制系統(tǒng)有了全新的認識。在這次系統(tǒng)設(shè)計的過程中遇到了很多困難,但通過自己的努力都一一克服了。這次設(shè)計我不光在硬件方面有
32、很大提高,在理論上也學(xué)到了很多。當(dāng)然由于自己前一段時間不抓緊,搞的到最后幾天拼命趕論文,弄的自己很狼狽,這是我以后要吸取教訓(xùn)的地方,凡事都得有方案。7 結(jié)束語本設(shè)計使用的溫度控制器結(jié)構(gòu)簡單、測溫準確,具有一定的實際應(yīng)用價值。該智能溫度控制器只是DS18B20在溫度控制領(lǐng)域的一個簡單實例,還有許多需要完善的地方,例如可以將測得的溫度通過單片機與通訊模塊相連接,以 短消息的方式發(fā)送給用戶,使用戶能夠隨時對溫度進行監(jiān)控。此外,還能廣泛地應(yīng)用于其他一些工業(yè)生產(chǎn)領(lǐng)域,如建筑,倉儲等行業(yè)。本溫度控制系統(tǒng)可以應(yīng)用于多種場合,像雞舍的溫度、育嬰房的溫度、水溫的控制。用戶可靈活選擇本設(shè)計的用途,有很強的實用價值
33、8 致謝大學(xué)四年的學(xué)習(xí)和生活就要隨著這篇論文的辯論而結(jié)束了。有許許多多的舍不得,也有許許多多的感謝要說。首先要衷心感謝的是我的指導(dǎo)教師暢福善老師!在我學(xué)習(xí)期間不僅傳授了做學(xué)問的秘訣,還傳授了做人的準那么。這些都將使我終生受益。無論是在理論學(xué)習(xí)階段,還是在論文的選題、資料查詢、開題、研究和撰寫的每一個環(huán)節(jié),無不得到導(dǎo)師的悉心指導(dǎo)和幫助。我愿借此時機向?qū)煴硎局孕牡母兄x!其次要感謝所有教育過我的老師!你們傳授給我的專業(yè)知識是我不斷成長的源泉,也是完本錢論文的根底。我還要向關(guān)心和支持我學(xué)習(xí)的朋友們表示真摯的謝意!感謝他們對我的關(guān)心、關(guān)注和支持! 大學(xué)的生活讓我有了堅強的性格,冷靜的頭腦和永遠樂觀的態(tài)
34、度。最重要的是讓我有了責(zé)任感,對自己、對家人和對社會。在即將畢業(yè)離校之際,我要感謝孫國力和薛新龍同學(xué)給予我的指點,感謝信物理系的同學(xué)給予我的幫助和勉勵。同窗之誼和手足之情,我將終生難忘!我愿在未來的學(xué)習(xí)過程中,以更加豐厚的成果來答謝曾經(jīng)關(guān)心、幫助和支持過我的所有領(lǐng)導(dǎo)、老師、同學(xué)和朋友。永遠以一顆為人民效勞的心來回報社會。9 參考文獻 1.李朝青,?單片機原理及接口技術(shù)?簡明修訂版M,北京航空航天大學(xué)出版社,19982.李廣弟,?單片機根底?M,北京航空航天大學(xué)出版社,19943.閻 石,?數(shù)字電子技術(shù)根底?第三版M,高等教育出版社,19894.廖常初,現(xiàn)場總線概述J,電工技術(shù),19995.于永
35、學(xué)、葛建,1-WIRE總線數(shù)字溫度傳感器DS18B20及應(yīng)用J,電子產(chǎn)品世界,20036.陳躍東,DS18B20集成溫度傳感器原理與應(yīng)用J,安徽機電學(xué)院學(xué)報,20027.胡振宇、劉魯源、杜振輝,DS18B20接口的C語言程序設(shè)計J,單片機與嵌入式系統(tǒng)應(yīng)用,20028.金偉正,單線數(shù)字溫度傳感器的原理與應(yīng)用J,電子技術(shù)與應(yīng)用,20009.Maxim 公司, 1-Wire 單總線的根本原理 EB/ OL 10.馬云峰、陳子夫、李培全, 數(shù)字溫度傳感器DS18B20 的原理與應(yīng)用 EB/ OL 11.Dallas Corp,DS18B20 EB/ OL 12.李 鋼,1-Wire總線數(shù)字溫度傳感器D
36、S18B20原理及應(yīng)用,現(xiàn)代電子技術(shù)J,200510 附錄附錄11.下載線插接說明:兩排十針下載口,板圖上都有一個小方框,為1號引角;下載線的凸口為正方向,凸口的右側(cè)邊的第一個插孔為1號引角,這一點一定要切記,不然的話程序下載不進去。:所提供的電池盒,紅線為正,黑線為負。板子所留出來的電源插口用VCC表示電源正和GND表示電源負標(biāo)明。假設(shè)沒有標(biāo)明,我們會刻有記號,刻有+號處為電源正。附錄2主板電路圖附錄3程序代碼ORG 0000HTEMPER_L EQU 29HTEMPER_H EQU 28HFLAG1 EQU 38H;是否檢測到DS18B20標(biāo)志位A_BIT EQU 20H ;數(shù)碼管個位數(shù)存
37、放內(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;將28H中的最低位移入CRRC AMOV C,41HRRC AMOV C,42HRRC AMOV C,43HRRC AMOV 29H,ALCALL DISPLAY;調(diào)用數(shù)碼管顯示子程序AJMP MAIN; 這是DS18B20復(fù)位初始化子程序NO
38、P;主機發(fā)出延時537微秒的復(fù)位低脈沖MOV R1,#3TSR1:MOV R0,#107DJNZ R0,$DJNZ R1,TSR1SETB P1.0;然后拉高數(shù)據(jù)線NOPNOPNOPMOV R0,#25HTSR2:JNB P1.0,TSR3;等待DS18B20回應(yīng)DJNZ R0,TSR2LJMP TSR4 ; 延時TSR3:SETB FLAG1 ; 置標(biāo)志位,表示DS1820存在LJMP TSR5TSR4:CLR FLAG1 ; 清標(biāo)志位,表示DS1820不存在LJMP TSR7TSR5:MOV R0,#117TSR6:DJNZ R0,TSR6 ; 時序要求延時一段時間RET; 讀出轉(zhuǎn)換后的溫度值LCALL INIT_1820;先復(fù)位DS18B20JB FLAG1,TSS2RET ; 判斷DS1820是否存在?假設(shè)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_18
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年模具行業(yè)節(jié)能減排技術(shù)改造合同
- 二零二五版返租型商業(yè)地產(chǎn)租賃合同范本(商業(yè)綜合體)13篇
- 2025年度農(nóng)民公寓房屋買賣售后服務(wù)保障合同范本
- 2025年度光伏發(fā)電項目融資擔(dān)保合同
- 二零二五年度南京個人二手房買賣合同示范文本
- 2025年度智能設(shè)備研發(fā)與技術(shù)支持服務(wù)合同范本
- 2025版高檔實木門批發(fā)安裝一體化服務(wù)合同4篇
- 二零二五版農(nóng)業(yè)觀光旅游土地承包經(jīng)營權(quán)合作合同4篇
- 2025年度旅游紀念品設(shè)計與生產(chǎn)合同6篇
- 二零二五年度電梯設(shè)備維修配件銷售合同3篇
- 2025年春新人教版物理八年級下冊課件 第十章 浮力 第4節(jié) 跨學(xué)科實踐:制作微型密度計
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級上冊 期末綜合試卷(含答案)
- 收養(yǎng)能力評分表
- 2024年全國統(tǒng)一高考英語試卷(新課標(biāo)Ⅰ卷)含答案
- 上海市復(fù)旦大學(xué)附中2024屆高考沖刺模擬數(shù)學(xué)試題含解析
- 《社區(qū)康復(fù)》課件-第八章 視力障礙患者的社區(qū)康復(fù)實踐
- 幼兒園公開課:大班健康《國王生病了》課件
- 小學(xué)六年級說明文閱讀題與答案大全
- 人教pep小學(xué)六年級上冊英語閱讀理解練習(xí)題大全含答案
- 國壽增員長廊講解學(xué)習(xí)及演練課件
- 同等學(xué)力申碩英語考試高頻詞匯速記匯總
評論
0/150
提交評論