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

下載本文檔

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

文檔簡(jiǎn)介

1、摘 要本課題運(yùn)用stc89c52單片機(jī)、dht11溫濕度傳感器、繼電器和m4qa045電機(jī)、lcd1602液晶顯示模塊等器件,設(shè)計(jì)了濕度報(bào)警電路、m4qa045電機(jī)驅(qū)動(dòng)電路、電熱器驅(qū)動(dòng)電路,實(shí)現(xiàn)了溫室大棚中溫度、濕度自動(dòng)控制與報(bào)警系統(tǒng),解決了溫室大棚人工控制測(cè)試的溫度及濕度誤差大,且費(fèi)時(shí)費(fèi)力、效率低等問(wèn)題,促進(jìn)了農(nóng)作物的生長(zhǎng),從而提高溫室大棚的產(chǎn)量,帶來(lái)很好的經(jīng)濟(jì)效益和社會(huì)效益。關(guān)鍵詞:stc89c52單片機(jī) dht11溫濕度傳感器 繼電器 m4qa045電機(jī) 溫室大棚自動(dòng)控制與報(bào)警系統(tǒng) abstract this subject had achieved the temperature an

2、d humidity control and alarm system in the greenhouse and had designed humidity measurement and alarm circuit, m4qa045 engine circuit and heating circuit by using stc89c52 scm, dht11 temperature and humidity sensor,lcd1602 and m4qa045 motor and so on. it solved the problem of low efficiency and meas

3、urement errors of temperature and humidity of manual control, it promoted the growth of crops, thereby increasing the yield of greenhouse and bringing good economic and social benefits.keywords: stc89c52 scm dht11 temperature and humidity sensor electric relays m4qa045 motor control and alarm system

4、 greenhouse目 錄第一章 緒論11.1選題背景11.2選題的現(xiàn)實(shí)意義2第二章 系統(tǒng)硬件電路的設(shè)計(jì)32.1系統(tǒng)硬件構(gòu)成及其測(cè)控原理32.2單片機(jī)的選擇42.2.1單片機(jī)概述42.2.2 stc89c52單片機(jī)的引腳說(shuō)明52.2.3 stc89c52單片機(jī)最小系統(tǒng)82.3 顯示模塊的選擇92.3.1 lcd1602概述92.3.2 lcd1602基本參數(shù)及引腳功能92.4 溫濕度傳感器的選擇132.4.1 dht11數(shù)字溫濕度傳感器概述132.4.2 dht11數(shù)字溫濕度傳感器性能說(shuō)明132.4.3 dht11數(shù)字溫濕度傳感器使用注意事項(xiàng)152.5 溫度調(diào)節(jié)模塊設(shè)計(jì)182.6 濕度報(bào)警模

5、塊設(shè)計(jì)16第三章 溫室大棚控制系統(tǒng)軟件設(shè)計(jì)193.1 keil c 軟件概述193.2 溫室大棚控制系統(tǒng)程序設(shè)計(jì)213.2.1整體系統(tǒng)框圖213.2.2 lcd1602顯示模塊程序設(shè)計(jì)223.2.3 pwm程序設(shè)計(jì)23第四章 調(diào)試中遇到的問(wèn)題24結(jié) 論25謝 辭26參考文獻(xiàn)27附 錄28第一章 緒論1.1選題背景 在人類(lèi)的生活環(huán)境中,溫濕度扮演著極其重要的角色。無(wú)論你生活在哪里,從事什么工作,無(wú)時(shí)無(wú)刻不在與溫度打著交道。自18世紀(jì)工業(yè)革命以來(lái),工業(yè)發(fā)展與是否能掌握溫濕度有著密切的聯(lián)系。在冶金、鋼鐵、石化、水泥、玻璃、醫(yī)藥等行業(yè),可以說(shuō)幾乎80%的工業(yè)部門(mén)都不得不考慮著溫濕度的因素。溫濕度不但對(duì)

6、于工業(yè)如此重要,在農(nóng)業(yè)生產(chǎn)中溫度的監(jiān)測(cè)與控制也有著十分重要的意義。我國(guó)人多地少,人均占有耕地面積更少。因此,要改變這種局面,只靠增加耕地面積是不可能實(shí)現(xiàn)的,因此我們要另辟蹊徑,想辦法來(lái)提高單位畝產(chǎn)量。溫室大棚技術(shù)就是其中一個(gè)好的方法。溫室大棚就是建立一個(gè)模擬適合生物生長(zhǎng)的氣候條件,創(chuàng)造一個(gè)人工氣象環(huán)境,來(lái)消除溫度對(duì)生物生長(zhǎng)的約束。而且,溫室大棚能克服環(huán)境對(duì)生物生長(zhǎng)的限制,能使不同的農(nóng)作物在不適合生長(zhǎng)的季節(jié)產(chǎn)出,使季節(jié)對(duì)農(nóng)作物的生長(zhǎng)影響不大,部分或完全擺脫了農(nóng)作物對(duì)自然條件的依賴(lài)。由于溫室大棚能帶來(lái)可觀的經(jīng)濟(jì)效益,所以溫室大棚技術(shù)越來(lái)越普及,并且已成為農(nóng)民增收的主要手段。隨著大棚技術(shù)的普及,溫室

7、大棚數(shù)量不斷增多,溫室大棚的溫濕度控制便成為一個(gè)十分重要的課題。傳統(tǒng)的溫濕度控制是在溫室大棚內(nèi)部懸掛溫度計(jì)和濕度計(jì),通過(guò)讀取溫度值和濕度值了解實(shí)際溫濕度度,然后根據(jù)現(xiàn)有溫濕度與額定溫濕度進(jìn)行比較,看溫濕度是否過(guò)高或過(guò)低,然后進(jìn)行相應(yīng)的通風(fēng)或者灑水。這些操作都是在人工情況下進(jìn)行的,耗費(fèi)了大量的人力物力。現(xiàn)在,隨著國(guó)家經(jīng)濟(jì)的快速發(fā)展,農(nóng)業(yè)產(chǎn)業(yè)規(guī)模的不斷提高,農(nóng)產(chǎn)品在大棚中培育的品種越來(lái)越多,對(duì)于數(shù)量較多的大棚,傳統(tǒng)的溫度控制措施就顯現(xiàn)出很大的局限性。溫室大棚的建設(shè)對(duì)溫濕度檢測(cè)與控制技術(shù)也提出了越來(lái)越高的要求。今天,我們的生活環(huán)境和工作環(huán)境有越來(lái)越多稱(chēng)之為單片機(jī)的小電腦在為我們服務(wù)。單片機(jī)在工業(yè)控制

8、、尖端武器、通信設(shè)備、信息處理、家用電器等各測(cè)控領(lǐng)域的應(yīng)用中獨(dú)占鰲頭。時(shí)下,家用電器和辦公設(shè)備的智能化、遙控化、模糊控制化已成為世界潮流,而這些高性能無(wú)一不是靠單片機(jī)來(lái)實(shí)現(xiàn)的。采用單片機(jī)來(lái)對(duì)溫濕度進(jìn)行控制,不僅具有控制方便、組態(tài)簡(jiǎn)單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫濕度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。單片機(jī)以其功能強(qiáng)、體積小、可靠性高、造價(jià)低和開(kāi)發(fā)周期短等優(yōu)點(diǎn),成為自動(dòng)化和各個(gè)測(cè)控領(lǐng)域中必不可少且廣泛應(yīng)用的器件,尤其在日常生活中也發(fā)揮越來(lái)越大的作用。因此,單片機(jī)對(duì)溫濕度的控制問(wèn)題是一個(gè)工農(nóng)業(yè)生產(chǎn)中經(jīng)常會(huì)遇到的問(wèn)題。因此,本課題圍繞基于單片機(jī)的溫室大棚控制系統(tǒng)展開(kāi)了應(yīng)用研究

9、工作。1.2選題的現(xiàn)實(shí)意義隨著單片機(jī)和傳感技術(shù)的迅速發(fā)展,自動(dòng)檢測(cè)領(lǐng)域發(fā)生了巨大變化,溫室環(huán)境自動(dòng)監(jiān)測(cè)控制方面的研究有了明顯的進(jìn)展,并且必將以其優(yōu)異的性能價(jià)格比,逐步取代傳統(tǒng)的溫濕度控制措施.但是,目前應(yīng)用于溫室大棚的溫濕度檢測(cè)系統(tǒng)大多采用模擬溫度傳感器、多路模擬開(kāi)關(guān)、a/d轉(zhuǎn)換器及單片機(jī)等組成的傳輸系統(tǒng)。這種溫濕度度采集系統(tǒng)需要在溫室大棚內(nèi)布置大量的測(cè)溫電纜,才能把現(xiàn)場(chǎng)傳感器的信號(hào)送到采集卡上,安裝和拆卸繁雜,成本也高。同時(shí)線路上傳送的是模擬信號(hào),易受干擾和損耗,測(cè)量誤差也比較大。為了克服這些缺點(diǎn),本文參考了一種基于單片機(jī)并采用數(shù)字化單總線技術(shù)的溫度測(cè)控系統(tǒng)應(yīng)用于溫室大棚的的設(shè)計(jì)方案閉,根據(jù)

10、實(shí)用者提出的問(wèn)題進(jìn)行了改進(jìn),提出了一種新的設(shè)計(jì)方案,在單總線上傳輸數(shù)字信號(hào)。本文介紹的溫濕度測(cè)控系統(tǒng)就是基于單總線技術(shù)及其器件組建的。該系統(tǒng)能夠?qū)Υ笈飪?nèi)的溫濕度進(jìn)行采集,利用溫濕度傳感器將溫室大棚內(nèi)溫濕度的變化,變換成數(shù)字量,其值由單片機(jī)處理,最后由單片機(jī)去控制液晶顯示器,顯示溫室大棚內(nèi)的實(shí)際溫濕度,同時(shí)通過(guò)與預(yù)設(shè)量比較,對(duì)大棚內(nèi)的溫度進(jìn)行自動(dòng)調(diào)節(jié),如果超過(guò)我們預(yù)先設(shè)定的濕度限制,濕度報(bào)警模塊將進(jìn)行報(bào)警。這種設(shè)計(jì)方案實(shí)現(xiàn)了溫濕度實(shí)時(shí)測(cè)量、顯示和控制。該系統(tǒng)抗干擾能力強(qiáng),具有較高的測(cè)量精度,不需要任何固定網(wǎng)絡(luò)的支持,安裝簡(jiǎn)單方便,性價(jià)比高,可維護(hù)性好。這種溫濕度測(cè)控系統(tǒng)可應(yīng)用于農(nóng)業(yè)生產(chǎn)的溫室大棚

11、,實(shí)現(xiàn)對(duì)溫度的實(shí)時(shí)控制,是一種比較智能、經(jīng)濟(jì)的方案,適于大力推廣,以便促進(jìn)農(nóng)作物的生長(zhǎng),從而提高溫室大棚的畝產(chǎn)量,以帶來(lái)很好的經(jīng)濟(jì)效益和社會(huì)效益。第二章 系統(tǒng)硬件電路的設(shè)計(jì)2.1系統(tǒng)硬件構(gòu)成及其測(cè)控原理圖2-1 系統(tǒng)整體框圖圖2-2 系統(tǒng)整體電路圖 本系統(tǒng)由如圖2-1、圖2-2所示,dht11溫濕度傳感器采集數(shù)據(jù),stc89c52單片機(jī)進(jìn)行數(shù)據(jù)處理,lcd1602顯示模塊顯示溫濕度。由pwm控制溫度調(diào)節(jié)模塊進(jìn)行溫度調(diào)節(jié),當(dāng)溫度小于18時(shí),m4qa045電機(jī)停止運(yùn)轉(zhuǎn),當(dāng)溫室大于28時(shí),m4qa045電機(jī)全速運(yùn)轉(zhuǎn),當(dāng)溫度處于18和28之間時(shí),通過(guò)pwm控制m4qa045電機(jī)轉(zhuǎn)速。由stc89c52

12、單片機(jī)輸出高低電平控制濕度報(bào)警模塊,當(dāng)濕度大于65%rh或者小于45%rh時(shí),stc89c52單片機(jī)輸出高電平,濕度報(bào)警模塊報(bào)警,當(dāng)濕度處于45%rh和65%rh之間時(shí),stc89c52單片機(jī)輸出低電平,濕度報(bào)警模塊關(guān)閉。2.2單片機(jī)的選擇2.2.1單片機(jī)概述單片微型計(jì)算機(jī)簡(jiǎn)稱(chēng)單片機(jī),又稱(chēng)微控制器,嵌入式微控制器等,屬于第四代電子計(jì)算機(jī)。它把中央處理器、存儲(chǔ)器、輸入/輸出接口電路以及定時(shí)器葉數(shù)器集成在一塊芯片上,從而具有體積小、功耗低、價(jià)格低廉、抗干擾能力強(qiáng)且可靠性高等特點(diǎn),因此,適合應(yīng)用于工業(yè)過(guò)程控制、智能儀器儀表和測(cè)控系統(tǒng)的前端裝置。正是由于這一原因,國(guó)際上逐漸采用微控制器(mcu)代替單

13、片微型計(jì)算機(jī)(scm)這一名稱(chēng)?!拔⒖刂破鳌备芊从硢纹瑱C(jī)的本質(zhì),但是由于單片機(jī)這個(gè)名稱(chēng)已經(jīng)為國(guó)內(nèi)大多數(shù)人所接受,所以仍沿用“單片機(jī)”這一名稱(chēng)。1、單片機(jī)的主要特點(diǎn)有:(1) 具有優(yōu)異的性能價(jià)格比。(2) 集成度高、體積小、可靠性高。(3) 控制功能強(qiáng)。(4) 低電壓,低功耗。2、單片機(jī)的主要應(yīng)用領(lǐng)域:(1) 工業(yè)控制(2) 儀器儀表(3) 電信技術(shù)(4) 辦公自動(dòng)化和計(jì)算機(jī)外部設(shè)備(5) 汽車(chē)和節(jié)能(6) 制導(dǎo)和導(dǎo)航(7) 商用產(chǎn)品(8) 家用電器因此,在本課題設(shè)計(jì)的溫濕度測(cè)控系統(tǒng)中,采用單片機(jī)來(lái)實(shí)現(xiàn)。在單片機(jī)選用方面,由于stc89系列單片機(jī)與mcs-51系列單片機(jī)兼容,所以,本系統(tǒng)中選用

14、stc89c52單片機(jī)。2.2.2 stc89c52單片機(jī)的引腳說(shuō)明圖2-3 stc89c52單片機(jī)引腳圖芯片引腳如圖2-3所示:vcc : 電源。gnd: 地。p0口:p0口是一個(gè)8位漏極開(kāi)路的雙向i/o口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)ttl邏輯電平。對(duì)p0端口寫(xiě)“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),p0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,p0具有內(nèi)部上拉電阻。在flash編程時(shí),p0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。p1口: 是一個(gè)具有內(nèi)部上拉電阻的8 位雙向i/o 口,p1 輸出緩沖器能驅(qū)動(dòng)4 個(gè)ttl 邏輯電平

15、。對(duì)p1 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。此外,p1.0和p1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(p1.0/t2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(p1.1/t2ex),具體如下表1所示。在flash編程和校驗(yàn)時(shí),p1口接收低8位地址字節(jié)。p2口:p2口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向i/o口,p2輸出緩沖器能驅(qū)動(dòng)4個(gè)ttl 邏輯電平。對(duì)p2端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。在訪問(wèn)外部

16、程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行movx dptr)時(shí),p2口送出高八位地址。在這種應(yīng)用中,p2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如movx ri)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),p2口輸出p2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),p2口也接收高8位地址字節(jié)和一些控制信號(hào)。p3口:p3口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向i/o 口,p2 輸出緩沖器能驅(qū)動(dòng)4 個(gè)ttl 邏輯電平。對(duì)p3 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。p3口亦作為at89s52特殊功能(第二功能)使用,

17、如上表2-1所示。在flash編程和校驗(yàn)時(shí),p3口也接收一些控制信號(hào)。rst: 復(fù)位輸入。晶振工作時(shí),rst腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位。看門(mén)狗計(jì)時(shí)完成后,rst 腳輸出96 個(gè)晶振周期的高電平。特殊寄存器auxr(地址8eh)上的disrto位可以使此功能無(wú)效。disrto默認(rèn)狀態(tài)下,復(fù)位高電平有效。ale/prog:地址鎖存控制信號(hào)(ale)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8 位地址的輸出脈沖。在flash編程時(shí),此引腳(prog)也用作編程輸入脈沖。在一般情況下,ale 以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),

18、ale脈沖將會(huì)跳過(guò)。如果需要,通過(guò)將地址為8eh的sfr的第0位置 “1”,ale操作將無(wú)效。這一位置 “1”,ale 僅在執(zhí)行movx 或movc指令時(shí)有效。否則,ale 將被微弱拉高。這個(gè)ale 使能標(biāo)志位(地址為8eh的sfr的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無(wú)效。psen:外部程序存儲(chǔ)器選通信號(hào)(psen)是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)stc89c52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),psen在每個(gè)機(jī)器周期被激活兩次,而在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),psen將不被激活。ea/vpp:訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從0000h 到ffffh的外部程序存儲(chǔ)器讀取指令,ea必須接gnd。

19、為了執(zhí)行內(nèi)部程序指令,ea應(yīng)該接vcc。在flash編程期間,ea也接收12伏vpp電壓。xtal1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。xtal2:振蕩器反相放大器的輸出端。程序存儲(chǔ)器:如果ea引腳接地,程序讀取只從外部存儲(chǔ)器開(kāi)始。對(duì)于89s52,如果ea 接vcc,程序讀寫(xiě)先從內(nèi)部存儲(chǔ)器(地址為0000h1fffh)開(kāi)始,接著從外部尋址,尋址地址為:2000hffffh。數(shù)據(jù)存儲(chǔ)器:stc89c52 有256 字節(jié)片內(nèi)數(shù)據(jù)存儲(chǔ)器。高128 字節(jié)與特殊功能寄存器重疊。也就是說(shuō)高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開(kāi)的。當(dāng)一條指令訪問(wèn)高于7fh 的地址時(shí),尋址方式?jīng)Q定c

20、pu 訪問(wèn)高128 字節(jié)ram 還是特殊功能寄存器空間。直接尋址方式訪問(wèn)特殊功能寄存器(sfr)定時(shí)器2:定時(shí)器2是一個(gè)16位定時(shí)/計(jì)數(shù)器,它既可以做定時(shí)器,又可以做事件計(jì)數(shù)器。其工作方式由特殊寄存器t2con中的c/t2位選擇(如表2所示)。定時(shí)器2有三種工作模式:捕捉方式、自動(dòng)重載(向下或向上計(jì)數(shù))和波特率發(fā)生器。工作模式由t2con中的相關(guān)位選擇。定時(shí)器2 有2 個(gè)8位寄存器:th2和tl2。在定時(shí)工作方式中,每個(gè)機(jī)器周期,tl2 寄存器都會(huì)加1。由于一個(gè)機(jī)器周期由12 個(gè)晶振周期構(gòu)成,因此,計(jì)數(shù)頻率就是晶振頻率的1/12。中斷:stc89c52 有6個(gè)中斷源如表2-2所示:兩個(gè)外部中斷

21、(int0 和int1),三個(gè)定時(shí)中斷(定時(shí)器0、1、2)和一個(gè)串行中斷每個(gè)中斷源都可以通過(guò)置位或清除特殊寄存器ie 中的相關(guān)中斷允許控制位分別使得中斷源有效或無(wú)效。ie還包括一個(gè)中斷允許總控制位ea,它能一次禁止所有中斷。定時(shí)器2可以被寄存器t2con中的tf2和exf2的或邏輯觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清0。實(shí)際上,中斷服務(wù)程序必須判定是否是tf2 或exf2激活中斷,標(biāo)志位也必須由軟件清01。表2-2 中斷控制寄存器符號(hào)位地址功能eaie.7中斷總允許控制位。ea=0,中斷總禁止;ea=1,各中斷由各自的控制位設(shè)定-ie.6預(yù)留et2ie.5定時(shí)器2中斷允許控制位e

22、sie.4串行口中斷允許控制位et1ie.3定時(shí)器1中斷允許控制位ex1ie.2外部中斷1允許控制位et0ie.1定時(shí)器0中斷允許控制位ex0ie.0外部中斷1允許控制位2.2.3 stc89c52單片機(jī)最小系統(tǒng)圖2-4 晶振電路圖2-5 復(fù)位電路如圖2-4、圖2-5所示,復(fù)位電路和時(shí)鐘電路是維持單片機(jī)最小系統(tǒng)運(yùn)行的基本模塊。單片機(jī)最小系統(tǒng)是在以51單片機(jī)為基礎(chǔ)上擴(kuò)展,使其能更方便地運(yùn)用于測(cè)試系統(tǒng)中,不僅具有控制方便、組態(tài)簡(jiǎn)單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被測(cè)試的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。單片機(jī)以其功能強(qiáng)、體積小、可靠性高、造價(jià)低和開(kāi)發(fā)周期短等優(yōu)點(diǎn),稱(chēng)為在實(shí)時(shí)檢測(cè)和自動(dòng)

23、控制領(lǐng)域中廣泛應(yīng)用的器件,在工業(yè)生產(chǎn)中稱(chēng)為必不可少的器件,尤其是在日常生活中發(fā)揮的作用也越來(lái)越大2。2.3 顯示模塊的選擇2.3.1 lcd1602概述字符型液晶顯示模塊是一種專(zhuān)門(mén)用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式lcd,如圖2-5所示,目前常用161,162,202和402行等模塊?,F(xiàn)在的字符型液晶模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件了。1602型lcd顯示模塊具有體積小,功耗低,顯示內(nèi)容豐富等特點(diǎn)。1602型lcd可以顯示2行16個(gè)字符,有8位數(shù)據(jù)總線d0-d7和rs,r/w,en三個(gè)控制端口,工作電壓為5v,并且具有字符對(duì)比度調(diào)節(jié)和背光功能3。圖2-6 lcd1602實(shí)物圖2.3

24、.2 lcd1602基本參數(shù)及引腳功能1602lcd主要技術(shù)參數(shù):顯示容量:162個(gè)字符芯片工作電壓:4.55.5v工作電流:2.0ma(5.0v)模塊最佳工作電壓:5.0v字符尺寸:2.954.35(wh)mm引腳功能如表2-3所示:表2-3 引腳功能編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1vss電源地9d2數(shù)據(jù)2vdd電源正極10d3數(shù)據(jù)3vl液晶顯示偏壓11d4數(shù)據(jù)4rs數(shù)據(jù)/命令選擇12d5數(shù)據(jù)5r/w讀/寫(xiě)選擇13d6數(shù)據(jù)6e使能信號(hào)14d7數(shù)據(jù)7d0數(shù)據(jù)15bla背光源正極8d1數(shù)據(jù)16blk背光源負(fù)極第1腳:vss為地電源。第2腳:vdd接5v正電源。第3腳:vl為液晶顯示器對(duì)比度調(diào)整

25、端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10k的電位器調(diào)整對(duì)比度。第4腳:rs為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:r/w為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)rs和r/w共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)rs為低電平r/w為高電平時(shí)可以讀忙信號(hào),當(dāng)rs為高電平r/w為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。第6腳:e端為使能端,當(dāng)e端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第714腳:d0d7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負(fù)極。表2-4 lcd1602控制命令序號(hào)指令rsr/

26、wd7d6d5d4d3d2d1d01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001i/ds4顯示開(kāi)/關(guān)控制0000001dcb5光標(biāo)或字符移位000001s/cr/l*6置功能00001dlnf*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01bf計(jì)數(shù)器地址10寫(xiě)數(shù)到cgram或ddram)10要寫(xiě)的數(shù)據(jù)內(nèi)容11從cgram或ddram讀數(shù)11讀出的數(shù)據(jù)內(nèi)容lcd1602的讀寫(xiě)操作,如圖2-7、圖2-8所示、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。指令1:清顯示,指令碼01h,光標(biāo)復(fù)位到地址0

27、0h位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00h。指令3:光標(biāo)和顯示模式設(shè)置 i/d:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 s:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。指令4:顯示開(kāi)關(guān)控制。 d:控制整體顯示的開(kāi)與關(guān),高電平表示開(kāi)顯示,低電平表示關(guān)顯示 c:控制光標(biāo)的開(kāi)與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) b:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位 s/c:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。指令6:功能設(shè)置命令 dl:高電平時(shí)為4位總線,低電平時(shí)為8位總線 n:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 f: 低電平時(shí)顯示5x7的點(diǎn)陣字符

28、,高電平時(shí)顯示5x10的點(diǎn)陣字符。指令7:字符發(fā)生器ram地址設(shè)置。指令8:ddram地址設(shè)置。指令9:讀忙信號(hào)和光標(biāo)地址 bf:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫(xiě)數(shù)據(jù)。指令11:讀數(shù)據(jù)。圖2-7 讀操作時(shí)序圖2-8 寫(xiě)操作時(shí)序圖2-9 lcd1602內(nèi)部顯示地址 如圖2-9所示,第二行第一個(gè)字符的地址是40h,那么是否直接寫(xiě)入40h就可以將光標(biāo)定位在第二行第一個(gè)字符的位置呢?這樣不行,因?yàn)閷?xiě)入顯示地址時(shí)要求最高位d7恒定為高電平1所以實(shí)際寫(xiě)入的數(shù)據(jù)應(yīng)該是01000000b(40h)+10000000b(80h)=11000000b(c0

29、h)。在對(duì)液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字符時(shí)光標(biāo)是自動(dòng)右移的,無(wú)需人工干預(yù)。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(cgrom)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫(xiě)的英文字母“a”的代碼是01000001b(41h),顯示時(shí)模塊把地址41h中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“a”。1602lcd的一般初始化(復(fù)位)過(guò)程:(1)延時(shí)15ms(2)寫(xiě)指令38h(不檢測(cè)忙信號(hào))(3)延時(shí)5ms(4)寫(xiě)指令38h(不檢

30、測(cè)忙信號(hào))(5)延時(shí)5ms(6)寫(xiě)指令38h(不檢測(cè)忙信號(hào))(7)以后每次寫(xiě)指令、讀/寫(xiě)數(shù)據(jù)操作均需要檢測(cè)忙信號(hào)(8)寫(xiě)指令38h:顯示模式設(shè)置(9)寫(xiě)指令08h:顯示關(guān)閉(10)寫(xiě)指令01h:顯示清屏(11)寫(xiě)指令06h:顯示光標(biāo)移動(dòng)設(shè)置(12)寫(xiě)指令0ch:顯示開(kāi)及光標(biāo)設(shè)置2.4 溫濕度傳感器的選擇2.4.1 dht11數(shù)字溫濕度傳感器概述dht11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專(zhuān)用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)ntc測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)

31、品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比極高等優(yōu)點(diǎn)。每個(gè)dht11傳感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲(chǔ)存在otp內(nèi)存中,傳感器內(nèi)部在檢測(cè)信號(hào)的處理過(guò)程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡(jiǎn)易快捷。超小的體積、極低的功耗,信號(hào)傳輸距離可達(dá)20米以上,使其成為各類(lèi)應(yīng)用甚至最為苛刻的應(yīng)用場(chǎng)合的最佳選則。產(chǎn)品為 4 針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。2.4.2 dht11數(shù)字溫濕度傳感器性能說(shuō)明表2-5 dht11數(shù)字溫濕度傳感器性能參數(shù)條件mintypmax單位濕度分辨率111%rh8bit重復(fù)性1%rh精度254%rh05

32、05%rh互換性可完全互換量程范圍03090%rh252090%rh502080%rh響應(yīng)時(shí)間1/e(63%)25,1m/s 空氣61015s遲滯1%rh長(zhǎng)期穩(wěn)定性典型值1%rh/yr溫度分辨率111888bit重復(fù)性1精度12量程范圍050響應(yīng)時(shí)間1/e(63%)630s圖2-10 典型應(yīng)用電路建議連接線長(zhǎng)度短于20米時(shí)用5k上拉電阻,大于20米時(shí)根據(jù)實(shí)際情況使用合適的上拉電阻。dht11的供電電壓為35.5v。傳感器上電后,要等待 1s 以越過(guò)不穩(wěn)定狀態(tài)在此期間無(wú)需發(fā)送任何指令。電源引腳(vdd,gnd)之間可增加一個(gè)100nf 的電容,用以去耦濾波。data 用于微處理器與 dht11之

33、間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時(shí)間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說(shuō)明,當(dāng)前小數(shù)部分用于以后擴(kuò)展,現(xiàn)讀出為零.操作流程如下:一次完整的數(shù)據(jù)傳輸為40bit,高位先出,數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù),+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗(yàn)和數(shù)據(jù)傳送正確時(shí)校驗(yàn)和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。用戶mcu發(fā)送一次開(kāi)始信號(hào)后,dht11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開(kāi)始信號(hào)結(jié)束后,dht11發(fā)送響應(yīng)信號(hào),送出40bit的數(shù)據(jù),并觸發(fā)一次信號(hào)采

34、集,用戶可選擇讀取部分?jǐn)?shù)據(jù).從模式下,dht11接收到開(kāi)始信號(hào)觸發(fā)一次溫濕度采集,如果沒(méi)有接收到主機(jī)發(fā)送開(kāi)始信號(hào),dht11不會(huì)主動(dòng)進(jìn)行溫濕度采集.采集數(shù)據(jù)后轉(zhuǎn)換到低速模式??偩€空閑狀態(tài)為高電平,主機(jī)把總線拉低等待dht11響應(yīng),主機(jī)把總線拉低必須大于18毫秒,保證dht11能檢測(cè)到起始信號(hào)。dht11接收到主機(jī)的開(kāi)始信號(hào)后,等待主機(jī)開(kāi)始信號(hào)結(jié)束,然后發(fā)送80us低電平響應(yīng)信號(hào).主機(jī)發(fā)送開(kāi)始信號(hào)結(jié)束后,延時(shí)等待20-40us后, 讀取dht11的響應(yīng)信號(hào),主機(jī)發(fā)送開(kāi)始信號(hào)后,可以切換到輸入模式,或者輸出高電平均可, 總線由上拉電阻拉高。總線為低電平,說(shuō)明dht11發(fā)送響應(yīng)信號(hào),dht11發(fā)送響

35、應(yīng)信號(hào)后,再把總線拉高80us,準(zhǔn)備發(fā)送數(shù)據(jù),每一bit數(shù)據(jù)都以50us低電平時(shí)隙開(kāi)始,高電平的長(zhǎng)短定了數(shù)據(jù)位是0還是1.格式見(jiàn)下面圖示.如果讀取響應(yīng)信號(hào)為高電平,則dht11沒(méi)有響應(yīng),請(qǐng)檢查線路是否連接正常.當(dāng)最后一bit數(shù)據(jù)傳送完畢后,dht11拉低總線50us,隨后總線由上拉電阻拉高進(jìn)入空閑狀態(tài)。測(cè)量分辨率分別為 8bit(溫度)、8bit(濕度)。2.4.3 dht11數(shù)字溫濕度傳感器使用注意事項(xiàng)表2-6 dht11電氣特性參數(shù)條件mintypmax單位供電 dc355.5v供電電流測(cè)量0.52.5ma平均0.21ma待機(jī)100150ua采樣周期秒1次dht11電器特性如表2-6所示,

36、超出建議的工作范圍可能導(dǎo)致高達(dá)3%rh的臨時(shí)性漂移信號(hào)。返回正常工作條后,傳感器會(huì)緩慢地向校準(zhǔn)狀態(tài)恢復(fù)。電阻式濕度傳感器的感應(yīng)層會(huì)受到化學(xué)蒸汽的干擾,化學(xué)物質(zhì)在感應(yīng)層中的擴(kuò)散可能導(dǎo)致測(cè)量值漂移和靈敏度下降。在一個(gè)純凈的環(huán)境中,污染物質(zhì)會(huì)緩慢地釋放出去。下文所述的恢復(fù)處理將加速實(shí)現(xiàn)這一過(guò)程。高濃度的化學(xué)污染會(huì)導(dǎo)致傳感器感應(yīng)層的徹底損壞。置于極限工作條件下或化學(xué)蒸汽中的傳感器,通過(guò)如下處理程序,可使其恢復(fù)到校準(zhǔn)時(shí)的狀態(tài)。在50-60和70%rh的濕度條件下保持 5小時(shí)以上。氣體的相對(duì)濕度,在很大程度上依賴(lài)于溫度。因此在測(cè)量濕度時(shí),應(yīng)盡可能保證濕度傳感器在同一溫度下工作。如果與釋放熱量的電子元件共用

37、一個(gè)印刷線路板,在安裝時(shí)應(yīng)盡可能將dht11遠(yuǎn)離電子元件,并安裝在熱源下方,同時(shí)保持外殼的良好通風(fēng)。為降低熱傳導(dǎo),dht11與印刷電路板其它部分的銅鍍層應(yīng)盡可能最小,并在兩者之間留出一道縫隙。長(zhǎng)時(shí)間暴露在太陽(yáng)光下或強(qiáng)烈的紫外線輻射中,會(huì)使性能降低。data信號(hào)線材質(zhì)量會(huì)影響通訊距離和通訊質(zhì)量,推薦使用高質(zhì)量屏蔽線。手動(dòng)焊接,在最高260的溫度條件下接觸時(shí)間須少于10秒。(1)避免結(jié)露情況下使用。(2)長(zhǎng)期保存條件:溫度1040,濕度60以下。2.5 溫度調(diào)節(jié)模塊設(shè)計(jì)1、方案一圖2-12 方案一電路圖 如圖2-12所示,由pwm控制溫度調(diào)節(jié)模塊,當(dāng)pwm端輸入高電平時(shí),電流經(jīng)q1放大,光耦導(dǎo)通,

38、光耦輸出電流經(jīng)q2放大后,使雙向可控硅導(dǎo)通,m4qa045電機(jī)運(yùn)轉(zhuǎn),當(dāng)pwm端輸入低電平時(shí),雙向可控硅控制端輸入電流為0,交流電過(guò)零以后,雙向可控硅截止,m4qa045電機(jī)停止運(yùn)轉(zhuǎn)4。2、方案二圖2-13 方案二電路圖如圖2-13所示,由pwm控制溫度調(diào)節(jié)模塊,當(dāng)pwm端輸入高電平時(shí),電流經(jīng)q4放大,常開(kāi)端5閉合,m4qa045電機(jī)運(yùn)轉(zhuǎn),當(dāng)pwm端輸入低電平時(shí),常開(kāi)端5斷開(kāi),m4qa045電機(jī)停止運(yùn)轉(zhuǎn)。3、方案比較 方案一采用光耦隔離強(qiáng)電,方案二采用繼電器隔離強(qiáng)電,但方案一沒(méi)有實(shí)現(xiàn)強(qiáng)電與直流源的隔離,且方案一環(huán)節(jié)復(fù)雜,計(jì)算難度大,過(guò)多的環(huán)節(jié)延長(zhǎng)響應(yīng)時(shí)間,從而影響溫度調(diào)整模塊的性能,所以選擇方案

39、二5。圖2-14 電熱器驅(qū)動(dòng)電路基于以上兩個(gè)方案的分析,加熱器驅(qū)動(dòng)電路也同樣選用繼電器隔離,當(dāng)溫度低于18時(shí),相應(yīng)引腳輸出高電平,電流經(jīng)過(guò)三極管放大,繼電器常開(kāi)端閉合,電熱器工作,當(dāng)溫度高于23時(shí),相應(yīng)引腳輸出低電平,繼電器常開(kāi)端關(guān)閉,電熱器不工作6。2.6 濕度報(bào)警模塊設(shè)計(jì)圖2-14 濕度報(bào)警模塊電路圖如圖2-14所示,由stc89c52單片機(jī)在buzzer端輸入信號(hào)控制濕度報(bào)警模塊。當(dāng)濕度大于65%rh或者小于45%rh時(shí),buzzer端輸入高電平,電流經(jīng)q3放大,使蜂鳴器工作;當(dāng)濕度處于45%rh和65%rh之間時(shí),buzzer端輸入低電平,蜂鳴器不工作7。第三章 溫室大棚控制系統(tǒng)軟件設(shè)

40、計(jì)3.1 keil c 軟件概述單片機(jī)開(kāi)發(fā)中除必要的硬件外,同樣離不開(kāi)軟件,我們寫(xiě)的匯編語(yǔ)言源程序要變?yōu)閏pu可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼,用于mcs-51單片機(jī)的匯編軟件有早期的a51,隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開(kāi)發(fā),單片機(jī)的開(kāi)發(fā)軟件也在不斷發(fā)展,keil軟件是目前最流行開(kāi)發(fā)mcs-51系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持keil即可看出。keil提供了包括c編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)

41、發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uvision)將這些部份組合在一起。運(yùn)行keil軟件需要pentium或以上的cpu,16mb或更多ram、20m以上空閑的硬盤(pán)空間、win98、nt、win2000、winxp等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的愛(ài)好者來(lái)說(shuō)是十分必要的,如果你使用c語(yǔ)言編程,那么keil幾乎就是你的不二之選(目前在國(guó)內(nèi)你只能買(mǎi)到該軟件、而你買(mǎi)的仿真機(jī)也很可能只支持該軟件),即使不使用c語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。keil c51開(kāi)發(fā)系統(tǒng)基本知識(shí)keil c51開(kāi)發(fā)系統(tǒng)基本知識(shí): 1. 系統(tǒng)概述 keil

42、 c51是美國(guó)keil software公司出品的51系列兼容單片機(jī)c語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,c語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用c來(lái)開(kāi)發(fā),體會(huì)更加深刻。 keil c51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到keil c51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。下面詳細(xì)介紹keil c51開(kāi)發(fā)系統(tǒng)各部分功能和使用。 2. keil c51單片機(jī)軟件開(kāi)發(fā)系統(tǒng)的整體結(jié)構(gòu) c51

43、工具包的整體結(jié)構(gòu),其中uvision與ishell分別是c51 for windows和for dos的集成開(kāi)發(fā)環(huán)境(ide),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程。開(kāi)發(fā)人員可用ide本身或其它編輯器編輯c或匯編源文件。然后分別由c51及a51編譯器編譯生成目標(biāo)文件(.obj)。目標(biāo)文件可由lib51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)l51連接定位生成絕對(duì)目標(biāo)文件(.abs)。abs文件由oh51轉(zhuǎn)換成標(biāo)準(zhǔn)的hex文件,以供調(diào)試器dscope51或tscope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫(xiě)入程序存貯器如eprom中。 使用獨(dú)立的ke

44、il仿真器時(shí),注意事項(xiàng): *仿真器標(biāo)配11.0592mhz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 *仿真器上的復(fù)位按鈕只復(fù)位仿真芯片,不復(fù)位目標(biāo)系統(tǒng)。 *仿真芯片的31腳已接至高電平,所以仿真時(shí)只能使用片內(nèi)rom,不能使用片外rom;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴(kuò)展有外部rom(其cpu的/ea引腳接至低電平)的目標(biāo)系統(tǒng)中使用。1、安裝好了keil軟件以后,我們打開(kāi)它。2、 我們先新建一個(gè)工程文件,點(diǎn)擊“project-newproject”菜單。3、選擇工程文件要存放的路徑 ,輸入工程文件名 xdch 最后單擊保存。4、在彈

45、出的對(duì)話框中選擇 cpu 廠商及型號(hào)。5、選擇好stc89c52芯片,接著點(diǎn)擊確定,彈出對(duì)話框。6、新建一個(gè) c51 文件, 單擊左上角的 new file,保存為ds18b20_4.c,(注意后綴名必須為.c),再單擊“保存”。7、存好后把此文件加入到工程中方法如下:用鼠標(biāo)在 source group1 上單擊右鍵, 然后再單擊 add files to group source group 1。8、 選擇要加入的文件, 找到 main.c后, 單擊 add, 然后單擊 close。9、在編輯框里輸入代碼。10、生成 .hex 燒寫(xiě)文件,先單擊options for target。11、在下

46、圖中,我們單擊 output, 選中 create hex f,再單擊“確定”。以上是keil軟件的基本應(yīng)用8。3.2 溫室大棚控制系統(tǒng)程序設(shè)計(jì)3.2.1整體系統(tǒng)框圖圖4-1 系統(tǒng)整體框圖首先,初始化單片機(jī)設(shè)置中斷,定義變量,然后初始化lcd1602顯示模塊,設(shè)置8位格式,2行,5*7矩陣顯示,整體顯示,關(guān)光標(biāo),不閃爍設(shè)定輸入方式,增量不移位,清除屏幕顯示。調(diào)用溫濕度采集程序進(jìn)行數(shù)據(jù)采集,經(jīng)過(guò)數(shù)據(jù)轉(zhuǎn)換程序,將十六進(jìn)制轉(zhuǎn)換成十進(jìn)制,將十進(jìn)制數(shù)據(jù)輸出到lcd1602顯示模塊進(jìn)行顯示,根據(jù)溫度調(diào)整電機(jī)轉(zhuǎn)速,根據(jù)濕度判斷是否報(bào)警,最后,進(jìn)行新一輪的溫濕度采集9。3.2.2 lcd1602顯示模塊程序設(shè)

47、計(jì)圖4-2 顯示程序框圖如圖4-2,初始化lcd1602顯示模塊,設(shè)置8位格式,2行,5*7矩陣顯示,整體顯示,關(guān)光標(biāo),不閃爍設(shè)定輸入方式,增量不移位,清除屏幕顯示,延時(shí)等待,將采集到的溫濕度數(shù)據(jù)進(jìn)行轉(zhuǎn)換,十六進(jìn)制轉(zhuǎn)換成十進(jìn)制,然后,判斷是否在第一行顯示,輸入相應(yīng)的地址數(shù)據(jù),延時(shí)等待,輸入需要顯示的數(shù)據(jù)。3.2.3 pwm程序設(shè)計(jì)圖4-3 pwm程序框圖如圖4-3所示,進(jìn)行中斷程序初始化,設(shè)置定時(shí)器t0中斷時(shí)間為1ms,中斷100次,即100ms作為一個(gè)脈沖周期,每中斷一次,由變量t0_number進(jìn)行計(jì)數(shù),當(dāng)變量t0_number大于100時(shí),給變量t0_number賦值0,重新開(kāi)始計(jì)數(shù),當(dāng)

48、變量t0_number小于變量pwm_width_h時(shí),輸出高電平,當(dāng)變量t0_number大于變量pwm_width_h時(shí),輸出低電平,以此控制脈寬10。第四章 調(diào)試中遇到的問(wèn)題在軟件的調(diào)試過(guò)程中,遇到的問(wèn)題有很多,下面就幾個(gè)比較突出的問(wèn)題進(jìn)行說(shuō)明。1)在對(duì)keil c的使用時(shí)不知道怎么才能讓它生成hex文件,從而進(jìn)行仿真,因?yàn)橐郧皼](méi)有用過(guò)類(lèi)似的軟件,不會(huì)并且也不知道需要生成hex文件,導(dǎo)致前期的工作很難進(jìn)行2 )因?yàn)橛玫氖莇ht11數(shù)字傳感器,在編程過(guò)程中需要對(duì)所測(cè)得溫度進(jìn)行處理,而且需要給定一個(gè)溫度范圍,建立一個(gè)溫度與電機(jī)轉(zhuǎn)速的數(shù)學(xué)模型,經(jīng)過(guò)反復(fù)的計(jì)算、實(shí)驗(yàn)才實(shí)現(xiàn)。3)因?yàn)榭紤]到經(jīng)濟(jì)實(shí)用

49、方面,所以在進(jìn)行實(shí)物操作之前,采用proteus軟件對(duì)程序和硬件電路進(jìn)行仿真,可是在仿真過(guò)程中,獨(dú)立按鍵總是不靈敏,這需要對(duì)延遲時(shí)間進(jìn)行調(diào)整,而程序中設(shè)置的延遲時(shí)間總是不能夠很符合實(shí)際操作,所以在這方面浪費(fèi)了大量的時(shí)間進(jìn)行反復(fù)的操作和實(shí)驗(yàn)4)在仿真過(guò)程中,因?yàn)橛玫降氖莑cd1602顯示模塊,這種顯示模塊是可以顯示字符的,并且這種模塊本身帶有字庫(kù),但事實(shí)仿真過(guò)程中,電路要求相對(duì)寬松,不需加上拉電阻,而實(shí)際的電路調(diào)試過(guò)程需要加上拉電阻。 結(jié) 論以上為畢業(yè)期間所設(shè)計(jì)的溫室大棚控制控制系統(tǒng),它經(jīng)過(guò)多次修改和整理,可以滿足設(shè)計(jì)的基本要求。采用stc89c52單片機(jī)、dht11數(shù)字溫濕度傳感器、lcd16

50、02液晶顯示模塊和m4qa045電機(jī)等器件設(shè)計(jì)溫室大棚控制系統(tǒng),實(shí)現(xiàn)溫濕度采集、英文顯示;溫度自動(dòng)調(diào)節(jié),濕度越限報(bào)警功能。因?yàn)楸救怂接邢?,此設(shè)計(jì)存在一定的問(wèn)題。譬如系統(tǒng)抗干擾能力差,且沒(méi)有實(shí)現(xiàn)自動(dòng)自動(dòng)復(fù)位。由于使用的是單片機(jī)作為核心的控制元件,配合其它器件,使本溫度控制系統(tǒng)具有功能強(qiáng)、性能可靠、電路簡(jiǎn)單、成本低的特點(diǎn),加上經(jīng)過(guò)優(yōu)化的程序,使其有很高的智能化水平。謝 辭經(jīng)過(guò)這段時(shí)間的忙碌和工作,本次畢業(yè)設(shè)計(jì)已經(jīng)接近尾聲,作為一個(gè)本科生的畢業(yè)設(shè)計(jì),由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不周全的地方,如果沒(méi)有導(dǎo)師的督促指導(dǎo),以及同學(xué)們的支持和幫助,想要完成這個(gè)設(shè)計(jì)是難以想象的。 在這里首先要感謝我的導(dǎo)師費(fèi)

51、繼友教授。費(fèi)教授平日里工作繁多,但在我做畢業(yè)設(shè)計(jì)的每個(gè)階段,從設(shè)計(jì)草案的確定和修改,中期檢查,后期詳細(xì)設(shè)計(jì),裝配草圖等整個(gè)過(guò)程中都給予了我悉心的指導(dǎo)。他的治學(xué)嚴(yán)謹(jǐn)和科學(xué)研究的精神也是我永遠(yuǎn)學(xué)習(xí)的榜樣,并將積極影響我今后的學(xué)習(xí)和工作。 然后,還要感謝大學(xué)四年來(lái)所有的老師,為我們打下測(cè)控技術(shù)與儀器專(zhuān)業(yè)知識(shí)的基礎(chǔ);同時(shí)還要感謝所有的同學(xué)以及研究生們,正是因?yàn)橛辛四銈兊闹С趾凸膭?lì),此次畢業(yè)設(shè)計(jì)才會(huì)順利完成。 最后感謝母校大連交通大學(xué)四年來(lái)對(duì)我的大力栽培。參考文獻(xiàn) 孫育才.mcs-51系列單片微型計(jì)算機(jī)及其應(yīng)用(第四版) m.南京:東南大學(xué)出版社,20042 康華光.電子技術(shù)基礎(chǔ)-模擬部分(第四版)m.

52、北京:高等教育出版社,19993 康華光.電子技術(shù)基礎(chǔ)-數(shù)字部分(第四版)m.北京:高等教育出版社,19994 石來(lái)德.機(jī)械參數(shù)電測(cè)技術(shù)m.上海:上??茖W(xué)技術(shù)出版社,19815 ernest o.doebelin. measurement systems: application and design m.america: mcgraw-hill book company,19766 曹繼松.測(cè)試電路m.上海:上海交通大學(xué)出版社,19957 謝自美.電子線路設(shè)計(jì)實(shí)驗(yàn)測(cè)試m.武漢:華中科技大學(xué)出版社,20008 馬靖善,秦玉平.c語(yǔ)言程序設(shè)計(jì)m.北京:清華大學(xué)出版社,20059 賴(lài)麒文.8051

53、 單片機(jī) c語(yǔ)言開(kāi)發(fā)環(huán)境實(shí)務(wù)與設(shè)計(jì) m.北京:科學(xué)出版社,200210 徐愛(ài)鈞.智能化測(cè)量控制儀表原理與設(shè)計(jì)m.北京:北京航空航天大學(xué)出版社,2004附 錄#include #include #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 char dat);unsigned char read_dht11_char(void);void control_temperature_humidity(void);void delay_xms(unsigned int time_xms);void delay_x10u

溫馨提示

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

評(píng)論

0/150

提交評(píng)論