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

下載本文檔

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

文檔簡介

題目:溫室大棚溫濕度智能控制系統(tǒng)的設計姓名:學號:系別:物理與電子工程系專業(yè):電子信息工程年級班級:指導教師:畢業(yè)論文(設計)作者聲明本人鄭重聲明:所呈交的畢業(yè)論文是本人在導師的指導下獨立進行研究所取得的研究成果。除了文中特別加以標注引用的內容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。本人完全了解有關保障、使用畢業(yè)論文的規(guī)定,同意學校保留并向有關畢業(yè)論文管理機構送交論文的復印件和電子版。同意省級優(yōu)秀畢業(yè)論文評選機構將本畢業(yè)論文通過影印、縮印、掃描等方式進行保存、摘編或匯編;同意本論文被編入有關數(shù)據(jù)庫進行檢索和查閱。本畢業(yè)論文內容不涉及國家機密。論文題目:溫室大棚溫濕度智能控制系統(tǒng)的設計作者單位:作者簽名:年月日目錄13354摘要 溫室大棚溫濕度智能控制系統(tǒng)的設計摘要:鑒于目前溫室大棚耗費人力資源多的缺點,設計了基于單片機的溫室智能控制系統(tǒng)。該系統(tǒng)對溫室環(huán)境中的溫度、濕度進行檢測,并按照作物的需要自動進行通風、澆灌、加熱、散熱。系統(tǒng)的核心是由AT89S52單片機控制,通過溫濕度傳感器DHT11對外部環(huán)境數(shù)據(jù)進行采集,并用LCD實時顯示,以及蜂鳴器報警等,使得用戶能夠更方便地進行定時的溫濕度控制。該系統(tǒng)結構簡單,擴展性強,可靠性高,有助于降低農(nóng)民勞動量,提高農(nóng)作物產(chǎn)量。關鍵詞:AT89S52;DHT11;智能控制;溫濕度DesignofintelligentcontrolsystemofgreenhouseAbstract:Mostofthegreenhousesnowhasadisadvantagesuchasconsumptionofhumanresources.Thisarticleproposeagreenhouseauto—controlsystembasedonasinglechip.Thesystemmonitorstheenvironmentalfactorssuchastemperatureandhumidity,thenirrigating,heatingandcoolingautomaticallyinaccordancewiththerequirementsofcrops.ThecorecontrolofthesystemisAT89S52thatcollectsenvironmentaldatabythechipDHT11.ThedataisdisplayedbyLCDandalarmedbybuzzertimely.Thedesignbringsthesystemagreatconveniencetocontrolthetemperatureandhumidityregularly.Thesystemissimple,highreliability,scalability,andhelpfultoreducefarmers’laborandincreasecropyields.KeyWords:AT89S52;DHT11;Auto—control;Temperatureandhumidity引言溫室栽培技術是指在某種類型的保護設施內(如陽畦、溫室、大棚等),人為地創(chuàng)造適宜植被生長發(fā)育的最佳環(huán)境條件,在不同季節(jié)內,尤其是不利于植被生長的季節(jié)內進行植被栽培的一種措施,人類利用自然、改造自然的一種創(chuàng)造。由于設施內的條件是可以人為控制的,使得植物在反季生長得以實現(xiàn)。玻璃溫室和塑料薄膜溫室出現(xiàn)后,農(nóng)產(chǎn)品的生產(chǎn)出現(xiàn)了劃時代的變化?,F(xiàn)在人們可以根據(jù)自己的意愿,隨時生產(chǎn)出所需要的農(nóng)產(chǎn)品。在不利于植被生長的自然環(huán)境中,溫室能夠創(chuàng)造適宜植被生長發(fā)育的條件。溫室環(huán)境的調節(jié)主要包括日光、溫度、濕度三個方面。溫度:根據(jù)植被生長的適宜溫度進行溫室溫度調節(jié),若低于下限溫度則采取升溫措施,通常采取電熱增溫和火力增溫等,火力增溫比較方便。若高于上限溫度則采取降溫措施,通常通過水管降溫和風扇降溫,風扇降溫比較方便。日光:遮蔭是調節(jié)日照強度最好的辦法,其具體做法是加蓋遮陽網(wǎng)或草席,這種方法兼有降低溫度的效果。濕度:為滿足溫室植被對濕度的要求,可以在地上、臺階、盆壁灑水,還可以在空中懸掛濕布,以增加水分的蒸發(fā),最好的辦法是設置自動噴霧裝置,自動調節(jié)濕度。如果濕度過大,容易導致植被病害,可以采用通風的辦法來降低濕度,而且最好在室溫與氣溫相差不大的時候進行。本系統(tǒng)注重溫度和濕度的調節(jié),光照強度沒有考慮其中。溫室作為適合我國當前國情的一種農(nóng)業(yè)新技術,越來越廣泛地被運用到農(nóng)業(yè)生產(chǎn)中。環(huán)境控制高度自動化與智能化將是現(xiàn)代溫室發(fā)展的一個必然趨勢。溫室智能控制系統(tǒng)是近些年來逐步興起的高效、節(jié)能的農(nóng)業(yè)技術,該系統(tǒng)利用自然資源,自動調節(jié)外部環(huán)境中的濕度、溫度等因子,進而獲取農(nóng)作物生長的有利條件,從而達到農(nóng)作物品質的改善、生長周期的調節(jié)、產(chǎn)量的增加,最終達到提高農(nóng)作物經(jīng)濟收益的目的[1]。1.系統(tǒng)方案設計1.1本系統(tǒng)的主要功能本系統(tǒng)所要完成的功能是:首先用戶根據(jù)不同植被的生長需求由鍵盤輸入界限溫度值和濕度值并通過LCD顯示。其次能夠實時、準確的顯示采樣溫度值與濕度值。然后通過采集溫度及濕度值,準確的判斷標準值與當前值之間的差異,及時的啟動報警裝置進行報警,并采取相應的控制方案。最后能夠根據(jù)植被在不同時間段內對溫濕度的不同要求,用戶可隨機更改溫度及濕度值,以滿足用戶不同的需求。1.2系統(tǒng)的組成和工作原理1.2.1系統(tǒng)的組成溫度監(jiān)控:對溫室溫度進行測量,并通過升溫或降溫達到植被的最佳溫度。濕度監(jiān)控:對溫室濕度進行測量,并通過噴霧或去濕達到植被的最佳濕度??刂铺幚恚寒敎囟?、濕度越限時報警,并根據(jù)報警信號提示采取一定手段控制。顯示:LCD就地顯示輸入值和相應的溫濕度。1.2.2工作原理實際環(huán)境溫度與給定界限比較,低于界定溫度執(zhí)行加熱/高于界定溫度執(zhí)行制冷措施。實際環(huán)境濕度與給定界限比較,高于界定濕度執(zhí)行加濕/低于界定濕度執(zhí)行去濕措施。越限報警:當溫濕度越限時聲光報警。鍵盤顯示:負責用戶的輸入及相關數(shù)據(jù)的顯示,其中包括LCD顯示。1.3系統(tǒng)設計經(jīng)過對總體方案和實施措施的討論,可以開始硬件系統(tǒng)的設計,硬件系統(tǒng)是應用系統(tǒng)的基礎、軟件系統(tǒng)設計的依據(jù)。主機與主要部件的選擇:根據(jù)總體功能和性價比及其運行速度等因素的考慮,選用MCS-51系列的AT89S52為主機,滿足上面的要求而且設計方便,不需要再存儲擴展。對外部模擬量(溫度、濕度)采樣,選用DHT11能夠滿足要求。溫室溫濕度控制系統(tǒng)是以AT89S52單片機作為中央控制裝置,風扇,加熱設備,加濕設備,排潮設備,鍵盤,LCD顯示等構成外圍電路,其功能和原理如下:AT89S52作為中央控制裝置,負責中心運算和控制,協(xié)調系統(tǒng)各個模塊的工作[2]。用戶可以選擇系統(tǒng)的工作模式,還可以輸入溫度及濕度的界限數(shù)據(jù),顯示實時的溫度及濕度值等等。風扇:負責系統(tǒng)的降溫工作。加熱設備:負責系統(tǒng)的加熱工作。噴霧設備:負責系統(tǒng)的加濕工作。排潮設備:負責系統(tǒng)的去濕工作。音效模塊:負責系統(tǒng)的報警功能。系統(tǒng)框圖如圖1所示。復位電路LCD顯示AT89S52復位電路LCD顯示AT89S52報警電路溫濕度傳感器報警電路溫濕度傳感器控制電路時鐘震蕩控制電路時鐘震蕩圖1系統(tǒng)框圖該系統(tǒng)框圖總體上可以劃分為6個部分,分別為復位電路,溫濕度傳感器檢測電路,時鐘震蕩,LCD顯示,報警電路,控制電路組成。硬件電路的設計2.1系統(tǒng)器件選擇2.1.1單片機的選擇AT89S52是一種8位控制器,并且具有8K的在系統(tǒng)可編程的Flash存儲器,具有低功耗、高性能等特點。單芯片上,有靈活的8位MCU和在系統(tǒng)上可編程的Flash,使得AT89S52單片機為眾多控制應用系統(tǒng)提供了較好的解決方案。該單片機與80C51系列產(chǎn)品指令及其引腳兼容[3]。AT89S52單片機具有以下功能:1個6向量2級中斷結構,2個數(shù)據(jù)指針,3個16位的定時器/計數(shù)器,8k字節(jié)的Flash,32位的I/O口線,256字節(jié)的RAM,全雙工串行口,看門狗定時器,以及片內晶振和時鐘電路。另外,AT89S52可降至0Hz的靜態(tài)邏輯操作,支持兩種軟件,可選擇節(jié)電模式。掉電保護情況下,振蕩器被凍結,RAM的內容被保存,單片機工作停止,直至下一個中斷源或硬件復位到來為止[4]??臻e模式情況下,允許定時器/計數(shù)器、RAM、中斷、串口繼續(xù)工作,CPU工作停止。AT89S52共有四個8位的并行I/O口:P0、P1、P2、P3端口,對應的引腳分別是P0.0~P0.7,P1.0~P1.7,P2.0~P2.7,P3.0~P3.7,共32根I/O線[5]。每根線可以單獨用作輸入或輸出。P1口和P3口的主要功能,如表1和表2所示。表1AT89S52P1口第二功能表腳號第二功能P1.0T2(定時器/計數(shù)器),時鐘輸出P1.1T2EX(定時器/計數(shù)器T2的捕捉或重載)P1.5MOSI(在系統(tǒng)編程)P1.6MISO(在系統(tǒng)編程)P1.7SCK(在系統(tǒng)編程)表2AT89S52P3口第二功能表腳號第二功能P3.0RXD(串行輸入)P3.1TXD(串行輸出)P3.2INT0(外部中斷0)P3.3INT0(外部中斷0)P3.4T0(定時器0外部輸入)P3.5T1(定時器1外部輸入)P3.6WR(外部數(shù)據(jù)寫選通)P3.7RD(外部數(shù)據(jù)讀選通)2.1.2溫濕度傳感器的選擇DHT11溫濕度傳感器是一種已校準的數(shù)字信號輸出的溫度濕度復合型傳感器。該傳感器由NTC測溫元件和電阻式感濕元件構成,與8位的單片機連接可以構成溫濕度檢測裝置[6]。為了確保DHT11具有較好的可靠性和長期的穩(wěn)定性,配置了專用的溫濕度傳感技術和數(shù)字模塊采集技術。因此該產(chǎn)品具有較高的性價比、超快的響應、卓越的品質、極強的抗干擾能力。此外該傳感器還擁有單線制串行接口,使系統(tǒng)集成較為簡易;極低的功耗、超小的體積,使其成為應用場合中的最佳選擇;該傳感器為4針的單排引腳的封裝,連接較為方便。DHT11傳感器產(chǎn)品在出廠前,都在溫濕度校驗室中進行精確的校準。以程序的形式將校準參數(shù)存儲在OTP中,在檢測傳感器內部型號的處理中要經(jīng)常調用這些已經(jīng)校準過參數(shù)[7]。其主要技術指標為:供電電壓:3.3~5.5VDC;輸出:單總線數(shù)字信號;測量范圍:濕度20-90%RH,溫度0~50℃;測量精度:濕度±5%RH,溫度±2℃;分辨率:濕度1%RH,溫度1℃;互換性:可完全互換;長期穩(wěn)定性:<±1%RH/年。其技術參數(shù)如表3所示。表3技術參數(shù)表參數(shù) 條件 mintypmax單位供電DC355.5V供電測量0.52.5mA供電平均0.21mA供電待機100150uA采樣周期秒1次2.1.31602LCD液晶顯示屏LCD1602主要技術參數(shù):顯示容量為16×2個字符;芯片工作電壓為4.5~5.5V;工作電流為2.0mA(5.0V);模塊最佳工作電壓為5.0V;字符尺寸為2.95×4.35(W×H)mm。LCD1602的引腳說明:LCD1602采用標準的14腳接口,其中:第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:V0為液晶顯示器對比度調整端。第4腳:RS:寄存器選擇,當為低電平時,選擇指令寄存器;當為高電平時,選擇數(shù)據(jù)寄存器。第5腳:RW:讀寫信號,當為低電平時,進行寫操作;當為高電平時,進行讀操作。當RS與RW均為低電平時,既可以輸入指令,又可以顯示地址,當RW為高電平,RS為低電平時,可以讀取忙信號;當RW為低電平,RS為高電平時,可以寫入數(shù)據(jù)。第6腳:E端:使能端,當E端口由高電平變成低電平時,液晶模塊開始執(zhí)行命令操作。第7~14腳:D0~D7為8位雙向的數(shù)據(jù)線[8]。第15~16腳為空腳。2.2主控制電路單片機控制DHT11完成溫濕度轉換需經(jīng)過系統(tǒng)初始化、ROM操作指令的運行、存儲器操作指令存儲數(shù)據(jù)三個步驟,前提是必須要先啟動DHT11開始轉換,再讀出溫濕度轉換值。通過軟件實現(xiàn)數(shù)字溫濕度傳感器的工作,嚴格遵守單總線協(xié)議,流程大致如下:(1)主機發(fā)出一個復位脈沖,信號線上的DHT11器件被復位。(2)主機發(fā)送ROM命令,程序開始讀取單個在線的芯片ROM編碼并保存在單片機數(shù)據(jù)存儲器中,把用到的DHT11的ROM編碼離線讀出,最后用一個二維數(shù)組保存ROM編碼,數(shù)據(jù)保存在X25043中。(3)系統(tǒng)工作時,把讀取了編碼的DHT11掛在總線上。發(fā)溫濕度轉換命令,再總線復位。(4)然后就可以從剛才的二維數(shù)組匹配在線的溫度傳感器,隨后發(fā)溫度讀取命令就可以獲得對應的溫濕度值了[9]。其主控圖如圖2所示。圖2主控電路圖2.3溫濕度檢測電路溫濕度檢測電路主要由核心部件溫濕度傳感器DHT11構成,DHT11的1管腳外接電源VCC(5V左右),用于對其供電,2管腳與單片機AT89S52的P3.3口連接,用于檢測當前溫室溫濕度值,并傳送至單片機作分析處理。第4管腳接地,構成完整的通路。其應用電路如圖3所示。圖3DHT11應用電路2.4液晶顯示電路該顯示電路由LCD1602對當前溫濕度值進行顯示,電路連接如下:該液晶顯示屏的8個引腳分別與單片機的P0口的8個端口進行連接,再接上電源、地便可構成完整的LCD液晶顯示電路。其主要實現(xiàn)以下數(shù)據(jù)的顯示:第一行顯示RH:XX%H:XXL:XX;第二行顯示TH:XXCH:XXL:XX;(注:RH:濕度,TH:溫度,H:即high,溫濕度最高值,L:即low,溫濕度最小值)例如:當液晶顯示屏顯示為RH:48%H:55L:20;TH:23CH:28L:05表示:當前濕度值為48%,當前溫度為23C,當前設定的濕度上限為55%,下限為20%,當前設定的溫度值上限為28C,下限為05C。其液晶顯示電路如圖4所示。圖4液晶顯示電路圖2.5溫濕度報警電路本設計采用軟件處理報警,采用直流供電,利用有源蜂鳴器進行報警輸出。當所測溫度高于或低于所置的溫度時,數(shù)據(jù)口相應位高電平,進行報警輸出。(也可采用發(fā)光二級管報警電路,如果需要報警,則只需將相應位置1,當參數(shù)判斷完畢后,再看報警模型單元ALARM的內容是否與預設一樣,如果不一樣,則發(fā)光報警)。其報警條件如下:當檢測溫濕度低于用戶設定的溫濕度值時報警;當檢測的溫濕度高于用戶設定的溫濕度值時報警。其電路連接:蜂鳴器一端口接電源VCC,另一端口接三極管集電極,三極管的基極和P3.4端口連接,發(fā)射極接地,完成對單片機P3.4端口傳輸信號的放大,蜂鳴器發(fā)出響聲,進而實現(xiàn)報警功能。硬件設計如圖5所示。圖5報警電路圖2.6按鍵設置電路在電路設計中連接三個按鍵,標號為S2、S3、S4,分別與單片機的P1.0、P1.1、P1.2連接。S2為設置鍵,S3為增加鍵,S4為減少鍵,按下S2可以設置溫濕度的值,按下S3、S4鍵可以改變設定值。其硬件電路設計如圖6所示。圖6按鍵設置電路按鍵設置電路具體分析如下:P1.0、P1.1、P1.2口不斷對按鍵S2、S3、S4鍵進行掃描,當先按下S3或S4鍵時,無法直接調節(jié)溫濕度值;當按下S2鍵時,字符光標在濕度最高設定值的十位閃爍,此時再按S3、或S4鍵可以對濕度的最高值的十位數(shù)值進行設置;當?shù)诙伟聪耂2鍵時,字符光標跳至濕度最高設定值的個位,再按S3、或S4鍵可以對濕度的最高值的個位數(shù)值進行設置;同理隨著S2鍵的按下次數(shù)不同,可以對濕度的上下限,溫度的上下限進行對應的調節(jié);當所需要設置的溫濕度值均設置完畢后,再按下S2鍵,可以跳出設置模式,入正常工作狀態(tài)。2.7控制電路控制部分說明:本設計采用繼電器代替驅動,用電機MOTOR1、MOTOR2、MOTOR3、MOTOR4分別控制加熱器、散熱器、加濕設備、排潮設備。其加熱電路、散熱電路、加濕電路、排潮電路分別如圖7、圖8、圖9、圖10所示。工作原理說明:由單片機輸出控制信號,當溫度較低時,自動啟動加熱器;當溫度較高時,自動啟動散熱器;當濕度較低時,自動啟動排潮設備;當濕度較高時,自動啟動加濕設備。圖7加熱電路圖圖8散熱電路圖圖9加濕電路圖圖10排潮電路圖控制電路說明:以加熱電路圖7為例,該電路主要包括繼電器、交流電機、三極管等器件構成,由單片機的P1.3口控制,當溫度值低于當前溫度設定下限(植物生長最佳溫度)時,P1.3口輸出高電平,三極管導通,進而繼電器開光閉合,電機轉動,從而實現(xiàn)溫度的智能控制;散熱電路、加濕電路、排潮電路如加熱電路工作原理類似,在此就不一一論述。3.軟件設計3.1主程序模塊主程序需要調用5個子程序,分別為LCD顯示程序,溫濕度檢測及處理子程序,報警子程序,中斷設定子程序,控制部分子程序。各模塊程序功能如下:LCD顯示程序:向數(shù)碼管顯示器發(fā)送數(shù)據(jù),控制系統(tǒng)的顯示模塊。溫度檢測程序:對溫濕度傳感器發(fā)送的數(shù)據(jù)進行處理,并予以顯示。報警子程序:進行溫度上下限判斷及報警輸出。按鍵設置程序:設置最佳的溫濕度上下限??刂撇糠肿映绦颍簩崿F(xiàn)對溫濕度值的調節(jié),并加以控制。3.2主要模塊流程設計3.2.1按鍵程序流程圖開始S2鍵是否按下S1鍵是否按下開始S2鍵是否按下S1鍵是否按下 Y N NY設置報警上下限(S3為增加鍵,S4為減鍵)設置報警上下限(S3為增加鍵,S4為減鍵)返回返回圖11按鍵子程序流程圖按鍵程序流程圖說明:S1鍵為復位鍵,當按下復位鍵時,系統(tǒng)停止工作,在此時按設置鍵無效。只有在S1鍵沒有按下時,按下S2鍵才能進入設置模式。所以系統(tǒng)先對S1鍵掃描,當S1鍵沒有按下,再對S2鍵掃描。當掃描到S2鍵有按下時,再可以根據(jù)實際情況需要,按下S3或S4鍵進行溫濕度值的設置。當設置完畢后,返回繼續(xù)掃描。 3.2.21602顯示程序流程圖開始開始初始化,寫顯示地址初始化,寫顯示地址個位個位數(shù)能否顯示?NY十十位數(shù)能否顯示?YNY個位數(shù)顯示符號,個位數(shù)顯示符號,十位數(shù)顯示符號Y結束結束圖12LCD顯示程序流程圖1602顯示程序流程圖說明:開始進行初始化,清除原有數(shù)值,以便顯示當前數(shù)值,然后寫入顯示地址,確保正確、完整顯示溫濕度值,再判斷個位、十位能否正常顯示數(shù)值。該液晶顯示包括:當前溫度值,當前設定的溫度上下限;當前濕度值,當前設定的濕度上下限,共6部分內容。3.2.3控制部分流程圖控制部分流程圖說明:首先初始化清除原有數(shù)值,通過DHT11傳輸至AT89S52的溫濕度數(shù)值,判斷當前溫濕度值是否在用戶設定的溫濕度上下限的范圍內,如果不在范圍內,P1.3、P1.4、P1.6、P1.7口輸出高電平,對應的繼電器開關閉合,啟動相應的控制裝置;如果在范圍內,各控制裝置不工作。其流程圖如圖13所示。開始開始初始化初始化溫濕度在界限?溫濕度在界限?YNN繼電器開關閉合繼電器開關閉合啟動控制裝置啟動控制裝置返回返回 圖13控制部分流程圖4.系統(tǒng)調試4.1系統(tǒng)硬件調試首先是系統(tǒng)焊接的順序問題。本設計采用萬能板,把所有的元件焊上去之后,對于沒有調試過的板子,難以找到原因。因此焊接的先后順序顯得較為重要,個人認為應該按功能模塊一部分一部分進行焊接[10],在焊接過程中,本設計的焊接順序為:主控電路模塊、液晶顯示模塊、按鍵模塊、控制模塊、報警模塊、電源模塊。系統(tǒng)硬件調試步驟:首先仔細檢查原理圖中各模塊之間的連接是否正確;查看系統(tǒng)原理圖與焊接線路是否保持一致;檢查系統(tǒng)原理圖與各器件的數(shù)據(jù)清單上引腳是否一致;用萬能表檢測查是否有虛焊現(xiàn)象,是否構成完整通路;再次閱讀器件的數(shù)據(jù)清單,分析時序是否保持一致,還要分析命令字是否書寫正確;針對飛線,可以用其他口線進行隔離控制,探討其能否進行正常操作,經(jīng)過多次試驗后,才能找到出現(xiàn)的緣由問題[11]。系統(tǒng)調試過程常見問題的解決辦法:方法一:排除失效的元器件。造成此類錯誤主要由以下幾個原因造成:一是元器件本身已壞;另一個是錯誤的安裝,造成元器件的損壞。檢查器件與系統(tǒng)設計要求的規(guī)格和型號是否保持一致。在確保安裝正確后,可以用新的元器件代替,進而排除錯誤。方法二:排除電源故障。在通電前,務必要認真檢查電源幅值與極性,否則會造成不必要的損壞。通電后,載檢查各模塊引腳上的電位,先檢測VCC和GND間的電位差,若在4.8V~5V之間屬正常。若有高壓出現(xiàn),將會使應用系統(tǒng)中的集成模塊發(fā)熱損壞。4.2系統(tǒng)軟件調試軟件調試:系統(tǒng)軟件根據(jù)測試時所發(fā)現(xiàn)的錯誤,找出原因和具體的位置,進行改正[12]。其軟件調試結果如圖14所示。圖14實物仿真圖軟件調試方法與體會:分析錯誤的癥狀,猜測問題的所在位置,利用在程序中輸出語句,分析寄存器、存儲器的內容等手段來獲得錯誤的線索,一步步地試探分析出錯誤所在;從發(fā)現(xiàn)錯誤癥狀的位置開始,人工沿著程序的控制流程往跟蹤代碼,直到找出錯誤根源為止;縮小錯誤的范圍,如果已經(jīng)知道程序中的變量若干位置的正確取值,可以在這些位置上給這些變量以正確值,觀察程序運行輸出結果,如果沒有發(fā)現(xiàn)問題,則說明從賦予變量一個正確值開始到輸出結果的程序沒有出錯,問題可能在除此之外的程序中,否則錯誤就在所考察的這段程序中,對含有錯誤的程序段再使用這種方法,直到把故障范圍縮小為止;從測試所暴露的問題出發(fā),收集所有正確或不正確的數(shù)分析它們之間的關系;根據(jù)測試結果,列出所有可能的錯誤原因;分析已有的數(shù)據(jù),排除彼此矛盾的原因。對余下的原因,選擇可能性最大的。在調試過程中,遇到過這樣的一個問題,LCD無法進行正常顯示數(shù)據(jù),分析原因后,我找到LCD顯示子程序段,仔細閱讀后發(fā)現(xiàn)端口定義不一致,上下程序段中的P0口書寫錯誤,一個為P0,另一個為p0,沒有區(qū)分大小寫,結果導致錯誤。5.結束語本設計用AT89S52單片機作為核心控制部件,LCD1602作為顯示部分,同DHT11溫濕度采集電路,晶振電路,復位電路,報警電路及上下限濕度調整控制電路,組成了我的溫室大棚溫濕度智能控制系統(tǒng)。其次就是軟件部分,通過用C語言編程實現(xiàn)對器件的控制。綜合起來看,本設計具有以下特點:系統(tǒng)結構簡單,但實用性較好;用戶可以根據(jù)實際需要設置適宜的溫濕度值;越限報警并控制,和以往設計相比增加了控制功能;該系統(tǒng)成本較低,適用范圍較廣。但此設計也有不足之處,還沒有投入到實際生產(chǎn)中去。此外該設計還可以用于工廠車間,檢測車間內溫濕度值,為工作人員提供更好的工作環(huán)境??偟膩碚f,此設計具有一定的應用價值。參考文獻[1]丁欣.基于ARM的智能溫室控制系統(tǒng)[J].山西農(nóng)業(yè)大學學報,2010,01(14):1-10.[2]張鑫,華臻,陳書謙.單片機原理及應用[M].北京:電子工業(yè)出版社,2008:19-28.[3]張勁松.基于組態(tài)的無線節(jié)水灌溉監(jiān)控系統(tǒng)設計[J],東北農(nóng)業(yè)大學學報,2010,03(09):10-15.[4]李群芳.單片微型計算機與接口技術[M].北京:電子工業(yè)出版社,2008:36-48.[5]趙娜等.基于51單片機的溫度測量系統(tǒng)[J].微計算機信息,2007,2(05):13-19.[6]陳龍.基于AVR多功能報警系統(tǒng)的溫濕度模塊的設計[J].廣東技術師范學院天河學院2011,9(20):2-12.[7]王元慶.新型傳感器原理與應用[M].北京:機械工業(yè)出版社,2006:78-85.[8]楊金巖.8051單片機數(shù)據(jù)傳輸接口擴展技術與應用實例[M].北京:人民郵電出社,2005:19-40.[9]唐林林.蔬菜大棚的智能監(jiān)控系統(tǒng)的設計與實現(xiàn)[D].濟南:山東大學,2010:1-30.[10]周潤景,張麗娜.基于PROTEUS的電路及單片機系統(tǒng)設計與仿真[M].北京:航空航天大學出版社,2006:20-32.[11]陳世瓊.單片機教學多功能實驗開發(fā)板設計與實現(xiàn)[D].四川:西南交通大學,2010:1-30.[12]王海寧.基于單片機的溫度控制系統(tǒng)的研究[D].合肥工業(yè)大學,2008:10-20.附錄附錄1實物圖和電路圖圖15實物圖正面圖16實物圖反面圖17電路圖附錄2程序#include<reg51.h>#include<intrins.h>#include<key.h>#defineucharunsignedchar#defineuintunsignedinttypedefunsignedcharunint8;typedefunsignedcharunint16;sbitRS=P2^5;sbitRW=P2^6;sbitEN=P2^7;sbitBEEP=P3^5;//定義蜂鳴器unsignedcharstr1[]={""};unsignedcharstr2[]={""};sbitTRH=P3^4;//data數(shù)據(jù)端unint8TH_data,TL_data,RH_data,RL_data,CK_data;unint8TH_temp,TL_temp,RH_temp,RL_temp,CK_temp;unint8com_data,untemp,temp;unint8respond;bitbeep_st;//蜂鳴器間隔標志ucharx=0;//計數(shù)器intm;/*************************lcd1602程序**************************/voiddelay1ms(uintms)//延時1毫秒(不夠精確的){uinti,j;for(i=0;i<ms;i++)for(j=0;j<100;j++);}voidDelayUs(unsignedcharus)//delayus{unsignedcharuscnt;uscnt=us>>1;/*Crystalfrequencyin12MHz*/while(--uscnt);}voidDelayMs(unsignedcharms)//delayMs{while(--ms){DelayUs(250);DelayUs(250); DelayUs(250); DelayUs(250);}}voidInitTimer(void){TMOD=0x1;TH0=0x4c;TL0=0x00;//50ms(晶振11.0592M)EA=1;//全局中斷開關TR0=1;ET0=1;//開啟定時器0}/*****定時器0中斷服務程序*****/voidtimer0(void)interrupt1{TH0=0x4c;TL0=0x00;x++;}unsignedcharrolmove(unsignedcharm){unsignedchara,b,c,d,e,f,g,h;a=(m&0x01)<<7;b=(m&0x02)<<5;c=(m&0x04)<<3;d=(m&0x08)<<1;e=(m&0x10)>>1;f=(m&0x20)>>3;g=(m&0x40)>>5;h=(m&0x80)>>7;m=a|b|c|d|e|f|g|h;returnm;}voidwr_com(ucharcom)//寫指令//{delay1ms(1);RS=0;RW=0;EN=0;P0=rolmove(com);delay1ms(1);EN=1;delay1ms(1);EN=0;}voidwr_dat(uchardat)//寫數(shù)據(jù)//{delay1ms(1);;RS=1;RW=0;EN=0;P0=rolmove(dat);delay1ms(1);EN=1;delay1ms(1);EN=0;}voidlcd_init()//初始化設置//{ delay1ms(15);wr_com(0x38);delay1ms(5);wr_com(0x08);delay1ms(5);wr_com(0x01);delay1ms(5);wr_com(0x06);delay1ms(5);wr_com(0x0c);delay1ms(5);wr_com(0x80);wr_dat('R');//Awr_com(0x81);wr_dat('H');//Hwr_com(0x82);wr_dat(':');wr_com(0x85);wr_dat('%');wr_com(0x89);wr_dat('T');wr_com(0x8a);wr_dat('H');wr_com(0x8b);wr_dat(':');wr_com(0x8e);wr_dat('C'); }charreceive(){unint8i;com_data=0;for(i=0;i<=7;i++){respond=2;while((!TRH)&&respond++);DelayUs(5);DelayUs(5);DelayUs(5);if(TRH){temp=1;respond=2;while((TRH)&&respond++);}elsetemp=0;com_data<<=1;com_data|=temp;}return(com_data);}//濕度讀取子程序//溫度高8位==TL_data//溫度低8位==TH_data//濕度高8位==RH_data//濕度低8位==RH_data//校驗8位==CK_data//調用的程序有delay();,Delay_5us();,RECEIVE();voidread_TRH(){//主機拉低18msTRH=0;DelayMs(18);TRH=1;//DATA總線由上拉電阻拉高主機延時20usDelayUs(5);DelayUs(5);DelayUs(5);DelayUs(5);//主機設為輸入判斷從機響應信號TRH=1;//判斷DHT11是否有低電平響應信號如不響應則跳出,響應則向下運行if(!TRH){respond=2;//判斷DHT11發(fā)出80us的低電平響應信號是否結束while((!TRH)&&respond++);respond=2;//判斷從機是否發(fā)出80us的高電平,如發(fā)出則進入數(shù)據(jù)接收狀態(tài)while(TRH&&respond++);//數(shù)據(jù)接收狀態(tài)RH_temp=receive();RL_temp=receive();TH_temp=receive();TL_temp=receive();CK_temp=receive();TRH=1;//數(shù)據(jù)校驗untemp=(RH_temp+RL_temp+TH_temp+TL_temp);if(untemp==CK_temp){RH_data=RH_temp;RL_data=RL_temp;TH_data=TH_temp;TL_data=TL_temp;CK_data=CK_temp;}}//濕度整數(shù)部分str1[0]=(char)(0X30+RH_data/10);str1[1]=(char)(0X30+RH_data%10);//溫度整數(shù)部分str2[0]=(char)(0X30+TH_data/10);str2[1]=(char)(0X30+TH_data%10);m=(int)(RH_data);}voidbaojing(){ wr_com(0xc5);wr_dat(tab[0]+0x30); wr_com(0xc6);wr_dat(tab[1]+0x30); wr_com(0xc7);wr_dat('%'); wr_com(0xc8);

溫馨提示

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

評論

0/150

提交評論