




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
本科畢業(yè)論文〔設計〕論文題目:基于單片機的農(nóng)業(yè)大棚溫濕度監(jiān)測系統(tǒng)設計姓名:學號:班級:年級:專業(yè):學院:指導教師:完成時間:作者聲明本畢業(yè)論文〔設計〕是在導師的指導下由本人獨立撰寫完成的,沒有剽竊、抄襲、造假等違反道德、學術標準和其他侵權行為。對本論文〔設計〕的研究做出重要奉獻的個人和集體,均已在文中以明確方式標明。因本畢業(yè)論文〔設計〕引起的法律結(jié)果完全由本人承當。畢業(yè)論文〔設計〕成果歸武昌工學院所有。特此聲明。作者專業(yè):作者學號:作者簽名:2023年3月26日基于單片機的農(nóng)業(yè)大棚溫濕度監(jiān)測系統(tǒng)設計XXXTheDesignofAgriculturalGreenhouseTemperatureAndHumidityMonitoringSystemBasedonSingleChipMicrocomputerX,XX2023年03月26日摘要在大棚種植術里,溫濕度是影響作物產(chǎn)量的關鍵因素,傳統(tǒng)的溫濕度測量采集方式具有精度不高,操作費時費力的問題,不能夠動態(tài)監(jiān)測,很容易造成由于環(huán)境因素突變而造成的減產(chǎn)甚至無產(chǎn)的慘痛損失。本設計以AT89S52單片機為控制核心,用SHT11數(shù)字式溫濕度傳感器作為數(shù)據(jù)采集,并把數(shù)據(jù)顯示在LCD顯示屏上,能任意時刻觀測到大棚內(nèi)部的實時環(huán)境參量;用戶可自己設定溫濕度上下限,當系統(tǒng)檢測到的溫濕度在平安閥值之外立即通過報警電路報警。這樣設計出來的系統(tǒng)具有實時性、精度高、穩(wěn)定性、低能耗、低本錢、操作簡單等諸多優(yōu)點,可廣泛應用與大棚種植的環(huán)境之中。關鍵詞:AT89C52單片機;SHT11;大棚;溫濕度;傳感器AbstractTemperatureandhumidityinthegreenhouseplantingtechnique,isthekeyfactorthatinfluencetheyieldofcrops,traditionalwayoftemperatureandhumiditymeasurementcollectionhastheaccuracyisnothigh,laboriousoperationproblem,dynamicmonitoring,willnotbeabletoeasilycausedbyenvironmentalfactorsmutationscausedbyproductionandevendangerouspainfullosses.ThisdesignbyAT89S52singlechipmicrocomputerasthecontrolcore,usingdigitaltemperatureandhumiditysensorSHT11asdataacquisition,anddatadisplayontheLCDscreen,canbeobservedatanytimeinsidethegreenhouseenvironmentparametersinrealtime;Userscansettemperatureandhumidityonthelowerlimit,whenthesystemdetectsthetemperatureandhumidityinthereliefvalvevaluesthroughthealarmcircuitalarmimmediately.Thisdesignedsystemwithreal-time,highprecision,stability,lowenergyconsumption,lowcost,simpleoperation,andmanyotheradvantages,canbewidelyusedandgreenhousecultivationenvironment.Keywords:AT89C52SingleChipMicrocomputer;SHT11;Greenhouses;TemperatureAndHumidity;Sensor目錄TOC\o"1-2"\h\z\u1引論11.1選題背景11.2國內(nèi)外研究現(xiàn)狀11.3系統(tǒng)主要設計內(nèi)容22系統(tǒng)硬件設計32.1系統(tǒng)性能概述32.2單片機模塊32.3單片機最小系統(tǒng)52.4傳感器模塊62.5顯示模塊82.6按鍵電路122.7報警電路133系統(tǒng)軟件設計153.1系統(tǒng)主程序設計方法153.2LCD1602顯示子程序153.3DHT11溫濕度采集子程序164系統(tǒng)測試184.1軟件測試184.2硬件測試18結(jié)語22致謝23主要參考文獻24附錄251引論1.1選題背景近期,我國溫室的總種植面積位于世界前列,產(chǎn)業(yè)的開展迅猛。但是,我國的溫室自動控制技術遠遠跟不上溫室數(shù)量的增長,農(nóng)業(yè)生產(chǎn)還在使用大量的人力勞動,不僅勞累,而且因為無法對溫室環(huán)境進行精確監(jiān)測,不僅浪費了大量的資源,還使作物產(chǎn)量受到了影響,降低了收入。同現(xiàn)代化農(nóng)業(yè)興旺的國家相比,我國在這一方面還是有比擬大的差距,特別在是對溫室生產(chǎn)環(huán)境的各個因素的自動監(jiān)測與控制方面。本課題目的在于研究一個基于單片機為主控芯片下的大棚溫濕度自動監(jiān)測系統(tǒng),由于單片機及相關附加部件的經(jīng)濟性,使得其能廣泛應用于廣闊農(nóng)民之中,從而通過對大棚溫濕度的科學量化實時監(jiān)測調(diào)整對作物的環(huán)境從而提高農(nóng)業(yè)產(chǎn)量,造福廣闊農(nóng)民,其實用性使得這個研究很有必要。1.2國內(nèi)外研究現(xiàn)狀上個世紀70年代開始,國外就利用當時開展的模擬技術對溫室環(huán)境因子控制開展研究,辭別了之前人工測量的落后時代,隨著研究的深入和進步,分布式控制系統(tǒng)便進一步在此領域開展起來了。隨著世界各國的溫室自動控制技術的迅猛開展,如以色列、荷蘭、日本美國等西方興旺國家,都實現(xiàn)了根據(jù)所植入和采集到的溫室生物的特點與要求,對溫室所處的多方面因素進行自動控制,包括溫度、濕度、光照強度、水分、氣體濃度、肥料等各個方面。在荷蘭,其玻璃溫室已經(jīng)可以通過計算機控制,實行全自動無人化控制生產(chǎn);在日本,其溫室自動控制在溫室生產(chǎn)的各項作業(yè)中都逐步實現(xiàn)了無人化、全自動化。通過熱電技術的使用,荷蘭實現(xiàn)了精確控制成熟期的水果和蔬菜,鮮花和其他植物的開花期,滿足在各種節(jié)日的時間需求的人;在英國,倫敦大學農(nóng)業(yè)學院研制出來的溫室自動控制技術,可以對超過50公里的溫室內(nèi)環(huán)境進行監(jiān)控,包括溫度和濕度,光照強度,氣體濃度和水等環(huán)境因素。比國外大概晚十年,也就是在80年代之后,中國相關科研人員不斷學習西方興旺國家在溫室控制領域取得的成果,并且積累總結(jié)出自身經(jīng)驗,內(nèi)化為適應中國外鄉(xiāng)的技術,在研究初始階段,只能對單一環(huán)境因子實現(xiàn)自動控制,但在隨后快速開展的微機技術、傳感技術等高新技術的驅(qū)動下,自動控制的領域有了翻天覆地的變化,通過溫室生產(chǎn),可利用計算機對生物生長所需的局部或者全部的環(huán)境因素進行自動控制,使農(nóng)業(yè)生產(chǎn)方式有了巨大的改變,生產(chǎn)信息化、工廠化等已經(jīng)成為了世界上農(nóng)業(yè)廣泛生產(chǎn)的新途徑。1.3系統(tǒng)主要設計內(nèi)容系統(tǒng)框圖控制單元控制單元AT89S52復位電路1602顯示電路復位電路1602顯示電路溫濕度傳感器溫濕度傳感器報警電路報警電路鍵盤輸入鍵盤輸入電源電路電源電路圖1.1系統(tǒng)框圖元器件的選擇利用AT89S52單片機控制單元的設計,傳感器采用SHT11數(shù)字溫濕度傳感器,1602A雙液晶顯示器實時顯示溫度和濕度,蜂鳴器報警電路,并用三極管驅(qū)動,LED報警信息電路。在單片機中,ATMEL公司生產(chǎn)的C51系列單片機具有本錢低廉、運行穩(wěn)定、開發(fā)周期短、易操作使用等優(yōu)點,但是每次寫程序的時候都要進行拔插,不僅在調(diào)試的時候比擬繁瑣,而且對芯片也會造成一定的損害;而S系列的AT89S52單片機彌補了這一缺陷,不僅支持在線ISP編程,免除繁瑣的編程拔插,還比89C51多了一倍的內(nèi)存,因此可以支持更大的程序,這樣有利于該系統(tǒng)日后的功能拓展。在數(shù)據(jù)采集模塊上面,為了使得整體電路更加精簡,減少繁雜的外圍電路,A/D轉(zhuǎn)換電路,使用集成式的數(shù)字式溫濕度傳感器SHT11。同樣的道理,1602液晶顯示器可以顯示雙行字符,滿足了設計的顯示要求。2系統(tǒng)硬件設計2.1系統(tǒng)性能概述作為一個大棚溫濕度監(jiān)測系統(tǒng),其核心任務是對棚內(nèi)環(huán)境進行自動測量。該系統(tǒng)上電初始化后,通過SHT11感應并檢測大棚內(nèi)的溫濕度值,傳送給AT89S52核心處理單元,此時處理器調(diào)出內(nèi)部設定好的溫濕度上下限,據(jù)此比照判斷對應數(shù)據(jù)是否異常,然后做出報警與否的反響;確定是否異常超過預設的時間,如果超過預定時間,異常信號從報警電路輸出;然后繼續(xù)確定異常處理,如果解決了,然后就會解除報警。這樣一來,通過單片機的核心處理控制功能來采集實時環(huán)境信息,讓用戶可以實時高效地獲取大棚內(nèi)部的環(huán)境狀態(tài),從而能夠及時實施管理。2.2單片機模塊單片機作為一種微型計算機,廣泛應用在工業(yè)自動化、自動控制、智能儀器儀表等領域,具有體積小、本錢低的特性,功能齊全,簡單方便,開展迅速,嵌入容易。本設計采用AT89S52單片機,單片機是一種低功耗,高性能CMOS8位微控制器,有8K的系統(tǒng)內(nèi)可編程閃存。它兼容MCS-51系列的引腳,適用于所有標準80C51指令集。從而使該器件進行編程,因此它能夠在進行程序燒錄是不進行屢次拔插,可防止不必要的繁瑣程序以及對裝置的損耗甚至損壞。2.2.1AT89S52主要功能概述AT89s52提供以下標準功能:8K字節(jié)的Flash閃速存儲器,256字節(jié)內(nèi)部RAM,擁有32個I/O口線、3個16位定時器/計數(shù)器、一個6向量兩級中斷結(jié)構(gòu)、1個全雙工串行通信口以及片內(nèi)振蕩器及時鐘電路。與此同時,AT89S52可將至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的結(jié)點工作模式??臻e方式停止CPU工作,但允許RAM和定時器/計數(shù)器、串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式下會保存RAM中的內(nèi)容,但是振蕩器停止工作并且禁止其它所有部件工作,直到下一個硬件復位。2.2.2AT89S52封裝結(jié)構(gòu)圖2.1AT89S52PDIP封裝結(jié)構(gòu)2.2.3AT89S52引腳功能VCC:電源引腳GND:邏輯地P0口:8位的地址和總線復用I/O口。P1口:I/O端口,8位,具有內(nèi)部上拉電阻。P2口:P2口是一個帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口:端口P3是具有內(nèi)部上拉電阻的8位雙向I/O口。P3口依然和AT89C51一樣提供了它的第二功能。RST:復位輸入端口,復位方式是當其工作是在RST引腳接入持續(xù)時間長達兩個機器周期以上高電平。ALE/:地址鎖存允許。:片外程序存儲器的讀選通信號。/VPP:外部訪問允許端口。第二功能,即VPP功能,在對片內(nèi)Flash進行編程的時候,要在這個引腳上接入12V的編程電壓。XTAL1:片內(nèi)振蕩器反相放大器和內(nèi)部時鐘發(fā)生器的輸入端。XTAL2:片內(nèi)振蕩器反相放大器的輸出端。2.3單片機最小系統(tǒng)單片機最小系統(tǒng)就是單片機能夠運行程序,正常工作最簡單電路系統(tǒng),是保證單片機的正常啟動和開始工作的必須電路,組成這局部的東西缺一不可,單片機最小系統(tǒng)應該有單片機、晶振電路、復位電路。2.3.1單片機在上節(jié)已經(jīng)作了闡述。2.3.2晶振電路在Proteus仿真環(huán)境里如圖2.2。圖2.2單片機振蕩電路系統(tǒng)在執(zhí)行程序的時候需要一個穩(wěn)定的時鐘信號,一切的指令都需要這樣的時鐘信號才能夠有條不紊地執(zhí)行。單片機系統(tǒng)所需的時鐘信號由晶振提供,并且其運行速度與頻率的上下息息相關,呈現(xiàn)出正比的規(guī)律,單片機產(chǎn)生的頻率越高其運行速度就越快,反之那么越慢。在一般環(huán)境下,晶體振蕩器的頻率五十的絕對精度可以到達百萬,足夠一般使用,先進的水晶會更精確。STC89S52采用11.0592MHz的晶振作為振動源,單片機內(nèi)部含振蕩器電路,所以震蕩電路的連接跟8051單片機一樣,所連接的電容容量為22pF即可。復位電路如同計算機,單片機在執(zhí)行程序的時候可能會遇到各種各樣的意外情況而使系統(tǒng)癱瘓或者軟件跑飛,因此就需要一個復位機制。就好比計算機的重啟局部,單片機復位電路使得其具有恢復正常運作的功能,當按下復位按鍵的時候,內(nèi)部的程序會重新從頭開始執(zhí)行。圖2.3復位電路單片機的復位電路由兩種方式,分別是上電自動復位和按鍵復位,本設計采用的是上電自動復位電路,實現(xiàn)原理如圖2.3。2.4傳感器模塊2.4.1SHT11簡介目前在電容式溫濕度傳感器的開展中,以盛世瑞恩公司制造的SHTXX系列的產(chǎn)品占主要份額,即集成的單片智能數(shù)字化溫濕度傳感器。這種產(chǎn)品在工業(yè)CMOS過程中采用了微加工技術,從而使其有長期的穩(wěn)定性和比擬高的可靠性。它的外觀和引腳如圖2.4所示。圖2.4SHT11外觀和引腳這個溫度和濕度傳感器由一個濕度傳感器探頭式溫度測量元件和電容器體,還包含了A/D轉(zhuǎn)換器,這樣一來就能夠免去復雜的外圍電路而使該裝置直接輸出數(shù)字信號。對于傳感器的系數(shù)校準方面,它會在對外界檢測到相應信號的時候自動調(diào)用存儲在OTP內(nèi)存里的校準系數(shù)程序。其濕度測量范圍為0%~100%RH,測量精度為±0.1%RH;溫度測量范圍為-40~123.8℃,測量精度為±0.01℃。2.4.2SHT11端口介紹VDD:電源引腳。SHT11的額定電壓為5V。一般在3.3V就可以正常工作,上電后電源引腳可以接上一個100nF的電容。SHT11的串行接口優(yōu)化傳感器讀出和有效的電力消耗。傳感器可以連接到一個I2C總線,不干擾其他設備連接到總線,控制器必須在協(xié)議之間進行切換。GND:地。SCK:串行時鐘輸入。DATA:串行數(shù)據(jù)引腳。這個傳感器的三態(tài)串行數(shù)據(jù)引腳用來收發(fā)數(shù)據(jù)。傳感器發(fā)送命令到串行數(shù)據(jù)時鐘〔SCK〕的有效前沿,并且必須保持穩(wěn)定在較高的水平時,SCK,SCK邊緣的數(shù)據(jù)值可能倒臺后發(fā)生改變。為了保持平安通訊數(shù)據(jù)有效,應當延長在TSU上升和THO下降沿的SCK后,分別見圖2.5。圖2.5SHT11收發(fā)數(shù)據(jù)時序用于讀取數(shù)據(jù)傳感器、數(shù)據(jù)SCK已經(jīng)是低電平,后是有效的電平SCK仍然有效,直到下一個下降沿到來。為了防止信號爭用單片機必須唯一用低電平驅(qū)動數(shù)據(jù)位,所以通常在該引腳外部接上10k大小的上拉電阻。2.4.3SHT11典型應用電路圖2.6SHT11典型應用電路2.5顯示模塊2.5.1LCD1602概述本系統(tǒng)選擇的字符型顯示器是一種用5*7點陣圖形顯示字符的顯示器,根據(jù)可以顯示的字數(shù)多少可以分為2行20字、2行16字、1行16字等。通常我們所用的是2行16字,也就是本系統(tǒng)采用的LCD1602模塊。液晶顯示器具有體積小,功耗低,微薄而輕,使用方便,顯示內(nèi)容豐富等優(yōu)點,已應用于許多低功率器件。這個裝置的引用使得這些電子設備的人機界面變的越來越形象和直觀。圖2.7是該模塊的實物圖。圖2.7LCD1602實物圖2.5.2LCD1602特性該類型液晶顯示模塊內(nèi)部有字符發(fā)生器CGROM,也就是字符庫。可以顯示192個5*7點陣字符。如圖2.8。因此,每個字母和數(shù)字都有唯一的一個代碼至,而且恰好與ASCII碼中的字母和數(shù)字相同。因此在顯示字母和數(shù)字的時候,向LCD1602送入對應的ASCII碼就行了。圖2.8LCD1602ROM字符庫的內(nèi)容2.5.3LCD1602引腳說明字符型LCD通常有14條引腳〔無背光〕線或16條引腳線〔帶背光〕兩種接口形式,其中16條引腳的多出了背光電源線VCC(15腳)和地線GND(16腳),各引腳定義如表2.1所示。表2.1LCD1602引腳功能定義編號符號引腳說明編號符號引腳說明1VSS電源地9DB2Data2VDD電源正極1DB3Data3VL液晶顯示偏壓11DB4Data4RS數(shù)據(jù)/命令選擇12DB5Data5R/ ̄W讀/寫選擇13DB6Data6E使能信號14DB7Data7DB0數(shù)據(jù)15BLA背光源正極8DB1數(shù)據(jù)16BLK背光源負極2.5.4命令格式及功能說明(1)清屏。下面是命令格式:表2.2清屏命令RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000000001這條命令將屏幕顯示去除,光標歸位。(2)返回。表2.3返回命令RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000000001X該指令將DDRAM和顯示RAM的地址置0,將顯示返回到原來的位置。(3)輸入方式設置。命令格式如下:表2.4輸入方式設置命令RSR/WDB7DB6DB5DB4DB3DB2DB1DB000000001I/DS這段指令的功能室設置光標的移動方向,并且指定是不是將整體顯示移動。I/D=1增量方式I/D=0減量方式S=0移位S=1不移位(4)顯示開關控制指令。表2.5顯示開關指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000001DCB功能:控制整體顯示器的開/關、光標的開/關、光標所處字符閃爍與否。D=0顯示器關;D=1顯示器開;C=0光標關;C=1光標開;B=0字符不閃爍;B=1字符閃爍。(5)光標移位指令。表2.6光標移位指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB0000001S/CR/LXX功能:讓光標移位或者整體顯示移位。S/C=0光標移位;S/C=1顯示移位;R/L=0向左移位;R/L=1向右移位。(6)功能設置指令。表2.7功能設置指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB000001DLNFXX功能:設置數(shù)據(jù)總線位數(shù)和顯示的行數(shù)及其字型。DL=04位數(shù)據(jù)接口;DL=18位數(shù)據(jù)接口;N=0單行顯示;DL=1雙行顯示;F=05*7點陣;F=15*10點陣。(7)CGRAM地址設置指令。表2.8CGRAM設置指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB00001CGRAMD的地址〔低6位〕設置CGRAM〔數(shù)據(jù)顯示存儲器〕的地址,范圍為0-36。(8)DDRAM地址設置指令。表2.9DDRAM設置指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB0001CGRAMD的地址〔低7位〕設置DDRAM〔數(shù)據(jù)顯示存儲器〕的地址,范圍為0-127。(9)讀忙信號及地址計數(shù)器。表2.10讀忙信號指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB001BFAC內(nèi)容〔低7位〕指令解釋如下:BF=0LCD不忙〔此時可以接收命令和數(shù)據(jù)〕;BF=1LCD忙;AC是地址計數(shù)器值,范圍是0-127。(10)向CGRAM或DDRAM寫入數(shù)據(jù)指令。表2.11寫數(shù)據(jù)指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB0010要寫入的數(shù)據(jù)D7~D0功能:向DDRAM寫入字符碼以顯示對應字符。(11)從CGRAM或者DDRAM中讀出數(shù)據(jù)指令。表2.12讀數(shù)據(jù)指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB0011要讀出的數(shù)據(jù)D7~D02.6按鍵電路按鍵電路要完成的任務有:判別是否有按鍵按下,如果有就進入下一步工作;然后識別哪一個鍵被按下,求出相應的鍵值;依據(jù)鍵值找到相應的處理程序入口。在單片機系統(tǒng)中我們常用的鍵盤是按鍵式鍵盤,那個按鍵實際上就是一個開關。圖2.9是按鍵按下時行線電壓輸出波形圖。圖2.9按鍵抖動現(xiàn)象由圖可知按鍵在開閉的一瞬間都有抖動期,根本上在5-10ms左右,在鍵盤被按下的穩(wěn)定期內(nèi),電平狀態(tài)呈現(xiàn)出低電平。因此判定按鍵是否按下實質(zhì)上就是檢測行線輸出的電壓時低電平還是高電平。假設為高電平,那么按鍵斷開;假設低電平,按鍵閉合。但是由于其機械特性導致的抖動現(xiàn)象,我們必須消除按鍵的抖動從而消除對按鍵閉合與否的判斷障礙,提高判別的準確性。消去按鍵抖動的方式有兩種:軟件延遲和采用專門的鍵盤接口芯片??紤]到使用系統(tǒng)的本錢和簡單消除抖動的角度,我們采用的是軟件延時的設計方法。利用軟件延時的方法消除按鍵抖動的思想:當檢測到按鍵按下時,行線電平狀態(tài)為低電平,此時執(zhí)行一段延時為10ms的子程序,再確認電平是否為低電平,如果此時真有按鍵按下,那么應仍為低電平。反之,當按鍵松開是,該按鍵所在的行線跳變?yōu)楦唠娖剑瑯訄?zhí)行一段延時10ms的延時子程序后,再看是不是高電平,如果為高電平,那么表示按鍵已經(jīng)釋放。這樣的操作可以到達消除兩個抖動期的影響,大大提高可靠性。本設計采用四個機械按鍵,接在單片機的P3口,四個按鍵滿足對系統(tǒng)溫濕度上下限值的設定。連接方式如圖2.10:圖2.10鍵盤電路SET鍵的作用是選擇調(diào)整工程,即溫度上限、溫度下限、濕度上限、濕度下限四個可選,OK是確定鍵,UP和DOWN分別是加和減的操作。通過這幾個按鍵和對該裝置設定允許的溫濕度上下限,超過該設定值就會啟動報警電路發(fā)出警報。2.7報警電路為了讓電路在檢測到環(huán)境溫濕度超過預設值的時候做出反響,本設計采用了聲光報警電路,蜂鳴器發(fā)出聲音提醒大棚農(nóng)戶,通過8050晶體管來驅(qū)動蜂鳴器;四個LED燈分別對應溫度過高、溫度過低、濕度過高、濕度過低的異常狀態(tài),好讓用戶一眼看出發(fā)生了哪一個具體的異常情況。連接圖如下:圖2.11聲報警電路圖2.12光報警電路3系統(tǒng)軟件設計3.1系統(tǒng)主程序設計方法本系統(tǒng)使用的是Keil軟件,它是C51系列兼容單片機C語言軟件開發(fā)系統(tǒng),能夠應用通俗易懂的高級C語言對單片機進行軟件開發(fā)。當然,在寫程序之前必須要對系統(tǒng)的電路有足夠的了解,各個接口,還有系統(tǒng)各個芯片或者模塊的時序,在編程過程中都要對其遵守,那樣才能將你所預設的功能付諸實現(xiàn)。在搞清楚了硬件的特性之后,根據(jù)該特性首先要做的就是畫出流程圖,組織好每個模塊的處理先后順序。另外,也要善于利用軟件去替代局部硬件做的事情,比方在此設計里,消除鍵盤按鍵抖動現(xiàn)象就使用了軟件除抖,使得硬件電路更簡潔,也降低了系統(tǒng)總體本錢。所有的程序,使用C51編程語言,在keil開發(fā)環(huán)境中編譯和調(diào)試,整個程序利用了中斷技術、數(shù)字濾波技術、系數(shù)補償技術以及其他先進技術。程序設計都分了模塊,模塊化的程序結(jié)構(gòu)清晰,易于修改。由以下主要模塊組成:主程序模塊、溫濕度采集模塊,報警模塊、數(shù)據(jù)顯示模塊、按鍵模塊和其他的附加模塊。3.2LCD1602顯示子程序首先要對LCD模塊進行初始化,另外由于該器件是慢顯器件,在對其進行操作前要先讀忙標示,為低電平時操作才有效,這個讀忙標示也可以用延時操作來替代,作用是一樣的。這些都可以放在LCD_init(void)里面去實現(xiàn)。根據(jù)程序功能思路,結(jié)合硬件特性,得出下面程序流圖:圖3.1系統(tǒng)主程序流圖LCD1602初始化代碼見附件3.3DHT11溫濕度采集子程序首先要對LCD模塊進行初始化,另外由于該器件是慢顯器件,在對其進行操作前要先讀忙標示,為低電平時操作才有效,這個讀忙標示也可以用延時操作來替代,作用是一樣的。這些都可以放在LCD_init(void)里面去實現(xiàn)。根據(jù)程序功能思路,結(jié)合硬件特性,得出下面程序流圖:圖3.2LCD1602顯示子程序流圖溫濕度測量程序見附件。4系統(tǒng)測試4.1軟件測試本設計的程序局部采用KeilC51編寫,它是在標準C語言根底上開展起來的針對51單片機的實用高級編程語言。首先根據(jù)設計的主要思想在Keil界面上把完整的程序輸入,在保證語法、格式正確的情況下對源程序進行編譯,生成可執(zhí)行的目標代碼。當然這個過程中遇到了很多困難,比方一些變量沒定義好,或者有其他的一些語法錯誤,在進行檢查調(diào)試后,順利通過。下列圖是Keil程序界面的截圖:圖4.1Keil程序界面在經(jīng)過屢次調(diào)試修改之后,所有程序都通過編譯,并生成了需要的目標執(zhí)行文件。在這個過程中,我發(fā)現(xiàn)很多由于個人疏忽導致的細節(jié)問題使得很屢次掙扎在程序編譯頻繁出錯的邊緣。并且通過細心調(diào)試,請教同學和老師,最后一一解決了這些問題,也收獲了不少。4.2硬件測試4.2.1系統(tǒng)硬件仿真在硬件實現(xiàn)方面,利用Proteus軟件實現(xiàn)電路圖的連接、程序?qū)懭胍约肮δ芊抡?。下列圖是系統(tǒng)完整電路:圖4.2系統(tǒng)整體電路在實現(xiàn)好軟件局部的撰寫并且編譯后沒有報錯之后,在Proteus環(huán)境里把Keil生成的可執(zhí)行文件寫入到單片機里面,點擊仿真按鈕,系統(tǒng)開始工作。在初始階段,默認給定SHT11的值如圖。圖4.3SHT11初始值此時液晶顯示如圖4.4。圖4.4液晶顯示數(shù)據(jù)由于本系統(tǒng)默認設置的溫度上限為40攝氏度,對SHT11把溫度調(diào)至41度的時候,液顯如圖4.5,蜂鳴器開始發(fā)聲,溫度過高的LED指示燈也被點亮,如圖4.6。圖4.5溫度過高時液顯內(nèi)容圖4.6光報警電路同樣,對該系統(tǒng)傳感器的濕度分別調(diào)到80%以上、30%以下,相應報警電路都被激活,因此在硬件測試下獲得了與預期一樣的功能。另外,對按鍵的測試也通過,因此在實際應用中可以自行通過按鍵根據(jù)作物的特點改變報警的閥值,科學的進行動態(tài)監(jiān)測。硬件測試總結(jié)在電路仿真調(diào)試的過程中,同樣遇到很多困難。從開始的Proteus仿真軟件的學習,到對它操作的熟悉,后來連好電路圖之后,把前面生成的可執(zhí)行文件寫入開始仿真,發(fā)現(xiàn)按鍵沒反響,經(jīng)過觀察代碼才發(fā)現(xiàn)原來在軟件局部定義的按鍵端口和電路圖的連接端口不吻合,修改正來便解決了這個問題。另外,在通過對傳感器調(diào)節(jié)輸入數(shù)據(jù),在溫濕度超過限度的時候,蜂鳴器不報警,通過觀察電路才知道報警電路與單片機連接的端口處電平取反了。這樣的問題遇到了很多,在一次又一次的修改后,終于完成了硬件局部的仿真,實現(xiàn)了所有預設功能。結(jié)語這項設計在單片機技術、傳感器技術、C語言編程等科學知識完成了基于單片機控制的大棚溫濕度自動檢測系統(tǒng)的設計,實現(xiàn)了環(huán)境溫濕度自動實時檢測顯示,并且在溫濕度過限發(fā)出警報。由于單片機的經(jīng)濟和開發(fā)本錢低廉,操作簡便,在農(nóng)業(yè)自動控制領域具有很強的實用性。致
謝這次的設計和論文是在各位老師的悉心指導下完成的。你們嚴肅的科學態(tài)度,嚴謹?shù)闹螌W精神,精益求精的工作作風,深深地感染和鼓勵著我。從課題的選擇到工程的最終完成,你們都始終給予我細心的指導和不懈的支持。在此謹向老師們致以誠摯的謝意和崇高的敬意。感謝武昌工學院來對我的大力栽培;感謝大學所有的老師給予我諄諄教誨,為我打下堅實的知識根底;同時還要感謝所有同學們。撰寫論文也使我的知識體系也在不斷地拓展和成熟,希望在未來的工作和生活過程中,亦能一直保持不斷的學習,不斷的完善自我,走向成熟。最后,希望在以后的學習和研究中能以更加優(yōu)異的成績來答謝所有關心和幫助過我的老師和同學!再次謝謝您們!主要參考文獻王明喜,崔世茂,王紅彬,李志鑫,李海濤,張鑫,胡博,張雪冰,張曉蒙.大棚型日光溫室光照、溫度及濕度等性能的初步研究.農(nóng)業(yè)工程技術(溫室園藝),2023,05:19-21.褚福強,董學仁.單片機的網(wǎng)絡接入技術研究.儀器儀表用戶,2006,05:4-5.楊承帥.蒸化工藝中溫濕度測量裝置的研制.蘇州大學,2023.陳英俊.基于單片機的溫濕度監(jiān)測和報警系統(tǒng)設計.廣東石油化工學院學報,2023,04:42-46.林嘉.基于89S52的LCD1602程序設計.電腦知識與技術,2023,26:6376-6378.張迎輝.單片微型計算機鍵盤接口設計.信息技術,2004,07:68-69+91.韓毓.基于單片機的蔬菜大棚溫度控制系統(tǒng).山東:中國海洋大學學位論文.2023:27-2趙芝蕓.溫室智能監(jiān)控系統(tǒng).江蘇:江蘇科技大學學位論文,2023:1-3沈慶陽.單片機實踐與應用.北京:清華大學出版社,2002劉光偉.基于單片機的溫室溫濕度監(jiān)測系統(tǒng)設計與實現(xiàn).燕山大學,2023.彭宏麗.溫室環(huán)境智能監(jiān)測與控制系統(tǒng)設計.山西:太原理工大學學位論文,2007:1-4廖麗媛.基于應變式扭矩傳感器的測量系統(tǒng)的設計.上海:東華大學,2023劉九慶.溫室環(huán)境工程技術.吉林:東北林業(yè)大學出版社,2002張友德,趙志英,涂時亮.單片微型機原理應用與實驗.上海:復旦大學出版社,2003沈慶陽.單片機實踐與應用.北京:清華大學出版社,2002杜深慧.溫濕度檢測裝置的設計與實現(xiàn).北京:機械工業(yè)出版社,2004LiHai-Xia,ZengJie-Hui,ThedesignofenvironmentaltemperatureandhumidityremotemonitoringsystembasedonAT89S52MCU,AppliedMechanicsandMaterials,v496-500,p1595-1602,2023 DingLibo,WangXuehui,Designofaweb-basedtemperatureandhumiditymonitoringsystem[C],20232ndInternationalConferenceonManagementScienceandElectronicCommerce(AIMSEC),2028-2030,2023 YongHuang,DesignandRealizationofWirelessSensorNetworkforVegetableGreenhouseInformationAcquisition[C],20236thInternationalConferenceonWirelessCommunicationsNetworkingandMobileComputing(WiCOM),1-4,2023WuZiYue,ZhangShuai,GaoTing,Designoftemperatureandhumiditymonitoringsystemformarineworkingplatform[C],AppliedMechanicsandMaterials,v300-301,p453-457,2023.附錄主函數(shù)程序voidmain()//主函數(shù){ k1=k2=k3=k4=1;temp_humi_cache[0]=4;//以下八行預設溫濕度閥值temp_humi_cache[1]=0; temp_humi_cache[2]=0; temp_humi_cache[3]=7; temp_humi_cache[4]=8; temp_humi_cache[5]=7; temp_humi_cache[6]=3; temp_humi_cache[7]=0; temp_high=temp_humi_cache[0]*10+temp_humi_cache[1]; temp_low=temp_humi_cache[2]*10+temp_humi_cache[3]; humi_high=temp_humi_cache[4]*10+temp_humi_cache[5]; humi_low=temp_humi_cache[6]*10+temp_humi_cache[7]; LCD_Initial();//液晶初始化 GotoXY(0,0);//光標移位函數(shù),第一個參數(shù)表示行,第二個表示列Print_slow(word1); GotoXY(0,1); Print_slow(word2); LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);//清屏 GotoXY(0,0); Print_slow(word3); LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);//清屏 while(1) { key();if(presskeynum==0){ s_connectionreset();//測量溫濕度error=0;//初始化error=0,即沒有錯誤error+=s_measure((unsignedchar*)&temp_val.i,&checksum,TEMP);//溫度測量error+=s_measure((unsignedchar*)&humi_val.i,&checksum,HUMI);//濕度測量if(error!=0) s_connectionreset();//如果發(fā)生錯誤,系統(tǒng)復位else{humi_val.f=(float)humi_val.i;//轉(zhuǎn)換為浮點數(shù)temp_val.f=(float)temp_val.i;//轉(zhuǎn)換為浮點數(shù)calc_sth10(&humi_val.f,&temp_val.f);//修正相對濕度及溫度temp=temp_val.f*10;humi=humi_val.f*10;GotoXY(0,0);//選擇溫度顯示位置Print("Temp:C");//5格空格GotoXY(0,1);//選擇濕度顯示位置Print("Humi:%");//5格空格GotoXY(5,0);//設置溫度顯示位置TEMP_data[0]=temp/1000+'0';//溫度百位if(TEMP_data[0]==0x30)TEMP_data[0]=0x20; TEMP_data[1]=temp%1000/100+'0';//溫度十位if(TEMP_data[1]==0x30&&TEMP_data[0]!=0x30)TEMP_data[1]=0x20;TEMP_data[2]=temp%100/10+'0';//溫度個位TEMP_data[3]=0x2e;//小數(shù)點TEMP_data[4]=temp%10+'0';//溫度小數(shù)點后第一位TEMP_data[5]=0xdf;//顯示溫度符號℃TEMP_data[6]='\0';Print(TEMP_data);//輸出溫度GotoXY(5,1);//設置濕度顯示位置HUMI_data[0]=humi/1000+'0';//濕度百位if(HUMI_data[0]==0x30)HUMI_data[0]=0x20;HUMI_data[1]=humi%1000/100+'0';//濕度十位HUMI_data[2]=humi%100/10+'0';//濕度個位HUMI_data[3]='.';//小數(shù)點HUMI_data[4]=humi%10+'0';//濕度小數(shù)點后第一位HUMI_data[5]='\0';Print(HUMI_data);//輸出濕度if((temp/10)<temp_low)led1=0;elseled1=1;if((temp/10+1)>temp_high)led2=0;elseled2=1;if((humi/10)<humi_low)led3=0;elseled3=1;if((humi/10+1)>humi_high)led4=0;elseled4=1;if(((temp/10)<temp_low)|((temp/10+1)>temp_high)|((humi/10)<humi_low)){for(nn=0;nn<50;nn++) { beep=0; delay(1);beep=1;delay(1); }}if((humi/10)>humi_high){for(nn=0;nn<10;nn++){ beep=0;delay(1);beep=1;delay(1);}}}
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 一對一合伙合同范例
- 債務轉(zhuǎn)讓房產(chǎn)合同范本
- 儲蓄油罐采購合同范例
- 2025安全生產(chǎn)法律法規(guī)知識培訓
- 湘南學院寢室設計大賽策劃
- 關于提成合同范例
- 公司采購空調(diào)合同范例
- 幼兒教師師德警示教育
- fidic標準合同范例
- 老年人泌尿系感染的護理
- 提高感染性休克集束化治療完成率工作方案
- 返家鄉(xiāng)社會實踐分享
- 山東省汽車維修工時定額(T-SDAMTIA 0001-2023)
- 廣東省佛山市2022年中考一模數(shù)學試題(含答案與解析)
- 一元一次方程應用題-順流逆流問題專項訓練(含解析)
- 江蘇省小學語文教師基本功大賽試題及答案
- 安全風險分級管控與-隱患排查治理雙重預防制度
- 亞洲的人文環(huán)境
- 普通診所污水、污物、糞便處理方案及周邊環(huán)境情況說明
- 醫(yī)院病歷體格檢查表范本
- 二次供水設備保養(yǎng)維修方案(完整)
評論
0/150
提交評論