溫室大棚控制系統(tǒng)設計_第1頁
溫室大棚控制系統(tǒng)設計_第2頁
溫室大棚控制系統(tǒng)設計_第3頁
溫室大棚控制系統(tǒng)設計_第4頁
溫室大棚控制系統(tǒng)設計_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上摘 要本課題運用STC89C52單片機、DS-18B20 數字溫度傳感器、繼電器和M4QA045電動機、ULN-2003A集成芯片、濕敏電阻,以及四位八段數碼管等元器件,設計了溫濕度報警電路、M4QA045電機驅動電路、電熱器驅動電路,實現了溫室大棚中溫度和濕度的控制和報警系統(tǒng),解決了溫室大棚人工控制測試的溫度及濕度誤差大,且費時費力、效率低等問題。該系統(tǒng)運行可靠,成本低。系統(tǒng)通過對溫室內的溫度與濕度參量的采集,并根據獲得參數實現對溫度和濕度的自動調節(jié),達到了溫室大棚自動控制的目的。促進了農作物的生長,從而提高溫室大棚的產量,帶來很好的經濟效益和社會效益。關鍵詞: S

2、TC89C52單片機、DS-18B20 數字溫度傳感器、ULN-2003A集成芯片、 溫室、自動控制、自動檢測目 錄第1章緒論§1.1選題背景§1.2選題的現實意義第2章系統(tǒng)硬件電路的設計§2.1系統(tǒng)硬件電路構成系統(tǒng)整體框圖§2.1.2系統(tǒng)整體電路圖§2.1.3系統(tǒng)工作原理§2.2溫度傳感器的選擇§2.2.1 DS18B20簡介§2.2.2 DS18B20的性能特點§2.2.3 DS18B20的管腳排列§2.2.4 DS18B20的內部結構§2.2.5 DS18B20的控制方法

3、7;2.2.6 DS18B20的測溫原理§2.2.7 DS18B20的時序§2.2.8 DS18B20使用中的注意事項§2.3單片機的選擇§2.3.1單片機概述§2.3.2 AT89C2051芯片的主要性能§2.3.3 AT89C2051芯片的內部結構框圖§2.3.4 AT89C2051芯片的引腳說明§2.3.5使用AT89C2051芯片編程時的注意事項§2.4 RS-485通信設計§2.4.1串行通信的分類§2.4.2串行通信的制式§2.4.3串行通信的總線接口標準

4、7;2.4.4 RS-485的硬件設計§2.5小結第3章系統(tǒng)軟件的設計§3.1系統(tǒng)主程序§3.2系統(tǒng)部分子程序§3.2.1 DS18B20初始化子程序§3.2.2 DS18B20讀子程序§3.2.3 DS18B20寫子程序(有具體的時序要求)§3.2.4 DS18B20定時顯示子程序§3.2.5 DS18B20溫度轉換子程序§3.3 DS18B20的流程圖第4章總結參考文獻致謝專心-專注-專業(yè)第一章 緒論1.1選題背景 在人類的生活環(huán)境中,溫濕度扮演著極其重要的角色。無論你生活在哪里,從事什么工作,無時無

5、刻不在與溫度和濕度打著交道。自18世紀工業(yè)革命以來,工業(yè)發(fā)展與是否能掌握溫濕度有著密切的聯系。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)藥等行業(yè),可以說幾乎80%的工業(yè)部門都不得不考慮著溫濕度的因素。溫濕度不但對于工業(yè)如此重要,在農業(yè)生產中溫度的監(jiān)測與控制也有著十分重要的意義。我國人多地少,人均占有耕地面積更少。因此,要改變這種局面,只靠增加耕地面積是不可能實現的,因此我們要另辟蹊徑,想辦法來提高單位畝產量。溫室大棚技術就是其中一個好的方法。溫室大棚就是建立一個模擬適合生物生長的氣候條件,創(chuàng)造一個人工氣象環(huán)境,來消除溫度對生物生長的約束。而且,溫室大棚能克服環(huán)境對生物生長的限制,能使不同的農作物在不適

6、合生長的季節(jié)產出,使季節(jié)對農作物的生長不再產生過度影響,部分或完全擺脫了農作物對自然條件的依賴。由于溫室大棚能帶來可觀的經濟效益,所以溫室大棚技術越來越普及,并且已成為農民增收的主要手段。隨著大棚技術的普及,溫室大棚數量不斷增多,溫室大棚的溫濕度控制便成為一個十分重要的課題。傳統(tǒng)的溫濕度控制是在溫室大棚內部懸掛溫度計和濕度計,通過讀取溫度值和濕度值了解實際溫濕度,然后根據現有溫濕度與額定溫濕度進行比較,看溫濕度是否過高或過低,然后進行相應的通風或者灑水。這些操作都是在人工情況下進行的,耗費了大量的人力物力?,F在,隨著國家經濟的快速發(fā)展,農業(yè)產業(yè)規(guī)模的不斷提高,農產品在大棚中培育的品種越來越多,

7、對于數量較多的大棚,傳統(tǒng)的溫度控制措施就顯現出很大的局限性。溫室大棚的建設對溫濕度檢測與控制技術也提出了越來越高的要求。今天,我們的生活環(huán)境和工作環(huán)境有越來越多稱之為單片機的小電腦在為我們服務。單片機在工業(yè)控制、尖端武器、通信設備、信息處理、家用電器等各測控領域的應用中獨占鰲頭。時下,家用電器和辦公設備的智能化、遙控化、模糊控制化已成為世界潮流,而這些高性能無一不是靠單片機來實現的。采用單片機來對溫濕度進行控制,不僅具有控制方便、組態(tài)簡單和靈活性大等優(yōu)點,而且可以大幅度提高被控溫濕度的技術指標,從而能夠大大提高產品的質量和數量。單片機以其功能強、體積小、可靠性高、造價低和開發(fā)周期短等優(yōu)點,成為

8、自動化和各個測控領域中必不可少且廣泛應用的器件,尤其在日常生活中也發(fā)揮越來越大的作用。因此,單片機對溫濕度的控制問題是一個工農業(yè)生產中經常會遇到的問題。因此,本課題圍繞基于單片機的溫室大棚控制系統(tǒng)展開了應用研究工作。1.2選題的現實意義隨著單片機和傳感技術的迅速發(fā)展,自動檢測領域發(fā)生了巨大變化,溫室環(huán)境自動監(jiān)測控制方面的研究有了明顯的進展,并且必將以其優(yōu)異的性能價格比,逐步取代傳統(tǒng)的溫濕度控制措施.但是,目前應用于溫室大棚的溫濕度檢測系統(tǒng)大多采用模擬溫度傳感器、多路模擬開關、A/D轉換器及單片機等組成的傳輸系統(tǒng)。這種溫濕度度采集系統(tǒng)需要在溫室大棚內布置大量的測溫電纜,才能把現場傳感器的信號送到

9、采集卡上,安裝和拆卸繁雜,成本也高。同時線路上傳送的是模擬信號,易受干擾和損耗,測量誤差也比較大。為了克服這些缺點,本文參考了一種基于單片機并采用數字化單總線技術的溫度測控系統(tǒng)應用于溫室大棚的的設計方案閉,根據實用者提出的問題進行了改進,提出了一種新的設計方案,在單總線上傳輸數字信號。本文介紹的溫濕度測控系統(tǒng)就是基于單總線技術及其器件組建的。該系統(tǒng)能夠對大棚內的溫濕度進行采集,利用溫濕度傳感器將溫室大棚內溫濕度的變化,變換成數字量,其值由單片機處理,最后由單片機去控制液晶顯示器,顯示溫室大棚內的實際溫濕度,同時通過與預設量比較,對大棚內的溫度進行自動調節(jié),如果超過我們預先設定的濕度限制,濕度報

10、警模塊將進行報警。這種設計方案實現了溫濕度實時測量、顯示和控制。該系統(tǒng)抗干擾能力強,具有較高的測量精度,不需要任何固定網絡的支持,安裝簡單方便,性價比高,可維護性好。這種溫濕度測控系統(tǒng)可應用于農業(yè)生產的溫室大棚,實現對溫度的實時控制,是一種比較智能、經濟的方案,適于大力推廣,以便促進農作物的生長,從而提高溫室大棚的畝產量,以帶來很好的經濟效益和社會效益。第二章 系統(tǒng)硬件電路的設計2.1系統(tǒng)硬件構成及其測控原理2.1.1系統(tǒng)硬件電路構成系統(tǒng)整體框圖圖2-1 系統(tǒng)整體框圖2.1.2系統(tǒng)整體電路圖圖2-2 系統(tǒng)整體電路圖 2.1.3系統(tǒng)工作原理本系統(tǒng)由如圖2-1、圖2-2所示,DHT11溫濕度傳感器

11、采集數據,STC89C52單片機進行數據處理,LCD1602顯示模塊顯示溫濕度。由PWM控制溫度調節(jié)模塊進行溫度調節(jié),當溫度小于18時,M4QA045電機停止運轉,當溫室大于28時,M4QA045電機全速運轉,當溫度處于18和28之間時,通過PWM控制M4QA045電機轉速。由STC89C52單片機輸出高低電平控制濕度報警模塊,當濕度大于65%RH或者小于45%RH時,STC89C52單片機輸出高電平,濕度報警模塊報警,當濕度處于45%RH和65%RH之間時,STC89C52單片機輸出低電平,濕度報警模塊關閉。2.2 顯示模塊的選擇2.2.1DS18B20簡介DS18B20數字溫度傳感器采用D

12、S18B20可組網數字溫度傳感器芯片封裝而成,具有耐磨耐碰,體積小,使用方便,封裝形式多樣等優(yōu)點,適用于各種狹小空間設備數字測溫和控制領域。 2.2.2 DS18B20的性能特點 2.2.2.1、適應電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數 據線供電 2.2.2.2、獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現微處理器與DS18B20的雙向通訊 2.2.2.3、 DS18B20支持多點組網功能,多個DS18B20可以并聯在唯一的三線上,實現組網多點測溫 2.2.2.4、DS18B20在使用中不需要任何外圍元件,全部 傳感元件及轉換電路集成在形

13、如一只三極管的集成電路內 2.2.2.5、溫范圍55125,在-10+85時精度為±0.5 2.2.2.6、可編程 的分辨率為912位,對應的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實現高精度測溫 2.2.2.7、在9位分辨率時最多在 93.75ms內把溫度轉換為數字,12位分辨率時最多在750ms內把溫度值轉換為數字,速度更快 2.2.2.8、測量結果直接輸出數字溫度信號,以"一 線總線"串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力 2.2.2.9、負壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀, 但不能正常工作。2.

14、2.3 DS18B20的管腳排列2.2.3.1、DS18B20的外形及管腳排列如下圖:DS18B20引腳定義:(1)DQ為數字信號輸入/輸出端; (2)GND為電源地; (3)VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。 2.2.4 DS18B20的內部結構DS18B20內部結構圖:2.2.5 DS18B20的控制方法2.2單片機的選擇2.2.1單片機概述單片微型計算機簡稱單片機,又稱微控制器,嵌入式微控制器等,屬于第四代電子計算機。它把中央處理器、存儲器、輸入/輸出接口電路以及定時器葉數器集成在一塊芯片上,從而具有體積小、功耗低、價格低廉、抗干擾能力強且可靠性高等特點,因此,適合

15、應用于工業(yè)過程控制、智能儀器儀表和測控系統(tǒng)的前端裝置。正是由于這一原因,國際上逐漸采用微控制器(MCU)代替單片微型計算機(SCM)這一名稱。“微控制器”更能反映單片機的本質,但是由于單片機這個名稱已經為國內大多數人所接受,所以仍沿用“單片機”這一名稱。1、單片機的主要特點有:(1) 具有優(yōu)異的性能價格比。(2) 集成度高、體積小、可靠性高。(3) 控制功能強。(4) 低電壓,低功耗。2、單片機的主要應用領域:(1) 工業(yè)控制(2) 儀器儀表(3) 電信技術(4) 辦公自動化和計算機外部設備(5) 汽車和節(jié)能(6) 制導和導航(7) 商用產品(8) 家用電器因此,在本課題設計的溫濕度測控系統(tǒng)中

16、,采用單片機來實現。在單片機選用方面,由于STC89系列單片機與MCS-51系列單片機兼容,所以,本系統(tǒng)中選用STC89C52單片機。2.2.2 STC89C52單片機的引腳說明圖2-3 STC89C52單片機引腳圖芯片引腳如圖2-3所示:VCC : 電源。GND: 地。P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數據存儲器時,P0口也被作為低8位地址/數據復用。在這種模式下,P0具有內部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部

17、上拉電阻。P1口: 是一個具有內部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅動4 個TTL 邏輯電平。對P1 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計數器2的外部計數輸入(P1.0/T2)和時器/計數器2的觸發(fā)輸入(P1.1/T2EX),具體如下表1所示。在flash編程和校驗時,P1口接收低8位地址字節(jié)。P2口:P2口是一個具有內部上拉電阻的8 位雙向I/O口,P2輸出緩沖器能驅動4個TTL 邏輯電平。對P2端口寫“1”時,內部上拉電阻把端口拉高

18、,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數據存儲器(例如執(zhí)行MOVX DPTR)時,P2口送出高八位地址。在這種應用中,P2口使用很強的內部上拉發(fā)送1。在使用8位地址(如MOVX RI)訪問外部數據存儲器時,P2口輸出P2鎖存器的內容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。P3口:P3口是一個具有內部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅動4 個TTL 邏輯電平。對P3 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,

19、被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如上表2-1所示。在flash編程和校驗時,P3口也接收一些控制信號。RST: 復位輸入。晶振工作時,RST腳持續(xù)2個機器周期高電平將使單片機復位??撮T狗計時完成后,RST 腳輸出96 個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態(tài)下,復位高電平有效。ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE

20、以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調,在每次訪問外部數據存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置 “1”,ALE操作將無效。這一位置 “1”,ALE 僅在執(zhí)行MOVX 或MOVC指令時有效。否則,ALE 將被微弱拉高。這個ALE 使能標志位(地址為8EH的SFR的第0位)的設置對微控制器處于外部執(zhí)行模式下無效。PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。當STC89C52從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部數據存儲器時,PSEN將不被激活。EA/V

21、PP:訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執(zhí)行內部程序指令,EA應該接VCC。在flash編程期間,EA也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和內部時鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。程序存儲器:如果EA引腳接地,程序讀取只從外部存儲器開始。對于89S52,如果EA 接VCC,程序讀寫先從內部存儲器(地址為0000H1FFFH)開始,接著從外部尋址,尋址地址為:2000HFFFFH。數據存儲器:STC89C52 有256 字節(jié)片內數據存儲器。高128 字節(jié)與特殊功能寄存器重疊。也就是說

22、高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。當一條指令訪問高于7FH 的地址時,尋址方式決定CPU 訪問高128 字節(jié)RAM 還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(SFR)定時器2:定時器2是一個16位定時/計數器,它既可以做定時器,又可以做事件計數器。其工作方式由特殊寄存器T2CON中的C/T2位選擇(如表2所示)。定時器2有三種工作模式:捕捉方式、自動重載(向下或向上計數)和波特率發(fā)生器。工作模式由T2CON中的相關位選擇。定時器2 有2 個8位寄存器:TH2和TL2。在定時工作方式中,每個機器周期,TL2 寄存器都會加1。由于一個機器周期由12 個晶振周

23、期構成,因此,計數頻率就是晶振頻率的1/12。中斷:STC89C52 有6個中斷源如表2-2所示:兩個外部中斷(INT0 和INT1),三個定時中斷(定時器0、1、2)和一個串行中斷每個中斷源都可以通過置位或清除特殊寄存器IE 中的相關中斷允許控制位分別使得中斷源有效或無效。IE還包括一個中斷允許總控制位EA,它能一次禁止所有中斷。定時器2可以被寄存器T2CON中的TF2和EXF2的或邏輯觸發(fā)。程序進入中斷服務后,這些標志位都可以由硬件清0。實際上,中斷服務程序必須判定是否是TF2 或EXF2激活中斷,標志位也必須由軟件清01。表2-2 中斷控制寄存器符號位地址功能EAIE.7中斷總允許控制位

24、。EA=0,中斷總禁止;EA=1,各中斷由各自的控制位設定-IE.6預留ET2IE.5定時器2中斷允許控制位ESIE.4串行口中斷允許控制位ET1IE.3定時器1中斷允許控制位EX1IE.2外部中斷1允許控制位ET0IE.1定時器0中斷允許控制位EX0IE.0外部中斷1允許控制位2.2.3 STC89C52單片機最小系統(tǒng)圖2-4 晶振電路圖2-5 復位電路如圖2-4、圖2-5所示,復位電路和時鐘電路是維持單片機最小系統(tǒng)運行的基本模塊。單片機最小系統(tǒng)是在以51單片機為基礎上擴展,使其能更方便地運用于測試系統(tǒng)中,不僅具有控制方便、組態(tài)簡單和靈活性大等優(yōu)點,而且可以大幅度提高被測試的技術指標,從而能

25、夠大大提高產品的質量和數量。單片機以其功能強、體積小、可靠性高、造價低和開發(fā)周期短等優(yōu)點,稱為在實時檢測和自動控制領域中廣泛應用的器件,在工業(yè)生產中稱為必不可少的器件,尤其是在日常生活中發(fā)揮的作用也越來越大2。2.5 溫度調節(jié)模塊設計1、方案一圖2-12 方案一電路圖 如圖2-12所示,由PWM控制溫度調節(jié)模塊,當PWM端輸入高電平時,電流經Q1放大,光耦導通,光耦輸出電流經Q2放大后,使雙向可控硅導通,M4QA045電機運轉,當PWM端輸入低電平時,雙向可控硅控制端輸入電流為0,交流電過零以后,雙向可控硅截止,M4QA045電機停止運轉4。2、方案二圖2-13 方案二電路圖如圖2-13所示,

26、由PWM控制溫度調節(jié)模塊,當PWM端輸入高電平時,電流經Q4放大,常開端5閉合,M4QA045電機運轉,當PWM端輸入低電平時,常開端5斷開,M4QA045電機停止運轉。3、方案比較 方案一采用光耦隔離強電,方案二采用繼電器隔離強電,但方案一沒有實現強電與直流源的隔離,且方案一環(huán)節(jié)復雜,計算難度大,過多的環(huán)節(jié)延長響應時間,從而影響溫度調整模塊的性能,所以選擇方案二5。圖2-14 電熱器驅動電路基于以上兩個方案的分析,加熱器驅動電路也同樣選用繼電器隔離,當溫度低于18時,相應引腳輸出高電平,電流經過三極管放大,繼電器常開端閉合,電熱器工作,當溫度高于23時,相應引腳輸出低電平,繼電器常開端關閉,

27、電熱器不工作6。2.6 濕度報警模塊設計圖2-14 濕度報警模塊電路圖如圖2-14所示,由STC89C52單片機在BUZZER端輸入信號控制濕度報警模塊。當濕度大于65%RH或者小于45%RH時,BUZZER端輸入高電平,電流經Q3放大,使蜂鳴器工作;當濕度處于45%RH和65%RH之間時,BUZZER端輸入低電平,蜂鳴器不工作7。第三章 溫室大棚控制系統(tǒng)軟件設計3.1 Keil C 軟件概述單片機開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變

28、為機器碼,用于MCS-51單片機的匯編軟件有早期的A51,隨著單片機開發(fā)技術的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部份組合在一起。運行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的

29、使用對于使用51系列單片機的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內你只能買到該軟件、而你買的仿真機也很可能只支持該軟件),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調試工具也會令你事半功倍。Keil C51開發(fā)系統(tǒng)基本知識Keil C51開發(fā)系統(tǒng)基本知識: 1. 系統(tǒng)概述 Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。 Keil C51軟件

30、提供豐富的庫函數和功能強大的集成開發(fā)調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現高級語言的優(yōu)勢。下面詳細介紹Keil C51開發(fā)系統(tǒng)各部分功能和使用。 2. Keil C51單片機軟件開發(fā)系統(tǒng)的整體結構 C51工具包的整體結構,其中uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然

31、后分別由C51及A51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉換成標準的Hex文件,以供調試器dScope51或tScope51使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM中。 使用獨立的Keil仿真器時,注意事項: *仿真器標配11.0592MHz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 *仿真器上的復位按鈕只復位仿真芯片,不復位目標系統(tǒng)。 *仿真芯片的31腳已接至高電平,所以仿真時只能使用片內ROM,

32、不能使用片外ROM;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴展有外部ROM(其CPU的/EA引腳接至低電平)的目標系統(tǒng)中使用。1、安裝好了Keil軟件以后,我們打開它。2、 我們先新建一個工程文件,點擊“Project->New Project”菜單。3、選擇工程文件要存放的路徑 ,輸入工程文件名 xdch 最后單擊保存。4、在彈出的對話框中選擇 CPU 廠商及型號。5、選擇好STC89C52芯片,接著點擊確定,彈出對話框。6、新建一個 C51 文件, 單擊左上角的 New File,保存為DS18B20_4.C,(注意后綴名必須為.C),再

33、單擊“保存”。7、存好后把此文件加入到工程中方法如下:用鼠標在 Source Group1 上單擊右鍵, 然后再單擊 Add Files to Group Source Group 1。8、 選擇要加入的文件, 找到 MAIN.C后, 單擊 Add, 然后單擊 Close。9、在編輯框里輸入代碼。10、生成 .hex 燒寫文件,先單擊Options for Target。11、在下圖中,我們單擊 Output, 選中 Create HEX F,再單擊“確定”。以上是Keil軟件的基本應用8。3.2 溫室大棚控制系統(tǒng)程序設計3.2.1整體系統(tǒng)框圖圖4-1 系統(tǒng)整體框圖首先,初始化單片機設置中斷,

34、定義變量,然后初始化LCD1602顯示模塊,設置8位格式,2行,5*7矩陣顯示,整體顯示,關光標,不閃爍設定輸入方式,增量不移位,清除屏幕顯示。調用溫濕度采集程序進行數據采集,經過數據轉換程序,將十六進制轉換成十進制,將十進制數據輸出到LCD1602顯示模塊進行顯示,根據溫度調整電機轉速,根據濕度判斷是否報警,最后,進行新一輪的溫濕度采集9。3.2.2 LCD1602顯示模塊程序設計圖4-2 顯示程序框圖如圖4-2,初始化LCD1602顯示模塊,設置8位格式,2行,5*7矩陣顯示,整體顯示,關光標,不閃爍設定輸入方式,增量不移位,清除屏幕顯示,延時等待,將采集到的溫濕度數據進行轉換,十六進制轉

35、換成十進制,然后,判斷是否在第一行顯示,輸入相應的地址數據,延時等待,輸入需要顯示的數據。3.2.3 PWM程序設計圖4-3 PWM程序框圖如圖4-3所示,進行中斷程序初始化,設置定時器T0中斷時間為1ms,中斷100次,即100ms作為一個脈沖周期,每中斷一次,由變量T0_number進行計數,當變量T0_number大于100時,給變量T0_number賦值0,重新開始計數,當變量T0_number小于變量PWM_width_H時,輸出高電平,當變量T0_number大于變量PWM_width_H時,輸出低電平,以此控制脈寬10。第四章 調試中遇到的問題在軟件的調試過程中,遇到的問題有很多

36、,下面就幾個比較突出的問題進行說明。1)在對Keil C的使用時不知道怎么才能讓它生成HEX文件,從而進行仿真,因為以前沒有用過類似的軟件,不會并且也不知道需要生成HEX文件,導致前期的工作很難進行2 )因為用的是DHT11數字傳感器,在編程過程中需要對所測得溫度進行處理,而且需要給定一個溫度范圍,建立一個溫度與電機轉速的數學模型,經過反復的計算、實驗才實現。3)因為考慮到經濟實用方面,所以在進行實物操作之前,采用proteus軟件對程序和硬件電路進行仿真,可是在仿真過程中,獨立按鍵總是不靈敏,這需要對延遲時間進行調整,而程序中設置的延遲時間總是不能夠很符合實際操作,所以在這方面浪費了大量的時

37、間進行反復的操作和實驗4)在仿真過程中,因為用到的是LCD1602顯示模塊,這種顯示模塊是可以顯示字符的,并且這種模塊本身帶有字庫,但事實仿真過程中,電路要求相對寬松,不需加上拉電阻,而實際的電路調試過程需要加上拉電阻。 結 論以上為畢業(yè)期間所設計的溫室大棚控制控制系統(tǒng),它經過多次修改和整理,可以滿足設計的基本要求。采用STC89C52單片機、DHT11數字溫濕度傳感器、LCD1602液晶顯示模塊和M4QA045電機等器件設計溫室大棚控制系統(tǒng),實現溫濕度采集、英文顯示;溫度自動調節(jié),濕度越限報警功能。因為本人水平有限,此設計存在一定的問題。譬如系統(tǒng)抗干擾能力差,且沒有實現自動自動復位。由于使用

38、的是單片機作為核心的控制元件,配合其它器件,使本溫度控制系統(tǒng)具有功能強、性能可靠、電路簡單、成本低的特點,加上經過優(yōu)化的程序,使其有很高的智能化水平。謝 辭經過這段時間的忙碌和工作,本次畢業(yè)設計已經接近尾聲,作為一個本科生的畢業(yè)設計,由于經驗的匱乏,難免有許多考慮不周全的地方,如果沒有導師的督促指導,以及同學們的支持和幫助,想要完成這個設計是難以想象的。 在這里首先要感謝我的導師費繼友教授。費教授平日里工作繁多,但在我做畢業(yè)設計的每個階段,從設計草案的確定和修改,中期檢查,后期詳細設計,裝配草圖等整個過程中都給予了我悉心的指導。他的治學嚴謹和科學研究的精神也是我永遠學習的榜樣,并將積極影響我今

39、后的學習和工作。 然后,還要感謝大學四年來所有的老師,為我們打下測控技術與儀器專業(yè)知識的基礎;同時還要感謝所有的同學以及研究生們,正是因為有了你們的支持和鼓勵,此次畢業(yè)設計才會順利完成。 最后感謝母校大連交通大學四年來對我的大力栽培。參考文獻 孫育才.MCS-51系列單片微型計算機及其應用(第四版) M.南京:東南大學出版社,20042 康華光.電子技術基礎-模擬部分(第四版)M.北京:高等教育出版社,19993 康華光.電子技術基礎-數字部分(第四版)M.北京:高等教育出版社,19994 石來德.機械參數電測技術M.上海:上海科學技術出版社,19815 Ernest O.Doebelin.

40、Measurement Systems: Application and Design M.America: McGraw-HILL BOOK COMPANY,19766 曹繼松.測試電路M.上海:上海交通大學出版社,19957 謝自美.電子線路設計實驗測試M.武漢:華中科技大學出版社,20008 馬靖善,秦玉平.C語言程序設計M.北京:清華大學出版社,20059 賴麒文.8051 單片機 C語言開發(fā)環(huán)境實務與設計 M.北京:科學出版社,200210 徐愛鈞.智能化測量控制儀表原理與設計M.北京:北京航空航天大學出版社,2004附 錄#include <reg52.h>#inclu

41、de <intrins.h>#define LCD_DB P2sbit DQ = P10;sbit BUZZER = P11;sbit PWM = P12;sbit LCD_RS = P14;sbit LCD_RW = P15;sbit LCD_E = P16;sbit HEAT = P17;void initial(void);void read_DHT11(void);void LCD_write_command(unsigned char com);void LCD_display_char(unsigned char x, unsigned char y, unsigned

42、 char dat);unsigned char read_DHT11_char(void);void control_temperature_humidity(void);void delay_xms(unsigned int time_xms);void delay_x10us(unsigned int time_x10us);unsigned char stop_system = 0;unsigned char lineOne = "TS(0-50): C"unsigned char lineTwo = "HS(20-90): %RH"unsign

43、ed int T0_number = 0, T1_number, PWM_width_H;unsigned char temperature_ten, temperature_one, humidity_ten, humidity_one;unsigned char temperature_H, temperature_L, humidity_H, humidity_L, checkData;void initial(void)unsigned char i, j;TMOD = 0x11;/定時器0工作方式1,16位計數器;定時器1工作方式1,16位計數器TH1 = 0xFC;/定時器1溢出周

44、期1ms,延時TH1 = 0x66;TH0 = 0xFC;/定時器0中斷周期1ms,PWM TL0 = 0x66; EA = 1;ET1 = 1;ET0= 1;EX0 = 1;IT1 = 1;TR0 = 1;LCD_write_command(0x38);/設置8位格式,2行,5x7LCD_write_command(0x0c);/設置整體顯示,關閉光標,且不閃爍LCD_write_command(0x06);/設置輸入方式,增量不移位LCD_write_command(0x01);/清屏for (i = 0; i < 16; i+)LCD_display_char(i, 1, line

45、Onei);for (j = 0; j < 16; j+)LCD_display_char(j, 2, lineTwoj);LCD_display_char(14, 1, 0xDF);/顯示void read_DHT11(void) DQ = 0; delay_xms(18); DQ = 1; delay_x10us(2); if (DQ = 0) while (DQ = 0);while (DQ = 1);humidity_H = read_DHT11_char();humidity_L = read_DHT11_char();temperature_H = read_DHT11_ch

46、ar();temperature_L = read_DHT11_char(); unsigned char read_DHT11_char(void)unsigned char i, temp_one, temp_two; for (i = 0; i < 8; i+)while (DQ = 0);delay_x10us(3);if (DQ = 0)temp_one = 0;elsetemp_one = 1;temp_two <<= 1;temp_two |= temp_one;while(DQ = 1); return temp_two;void LCD_write_command(unsigned char com)LCD_DB = com;LCD_RS = 0;LCD_RW = 0;LCD_E = 1;delay_xms(1);

溫馨提示

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

評論

0/150

提交評論