版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
學(xué)號(hào):10417227常州大學(xué)畢業(yè)設(shè)計(jì)〔論文〕〔2023屆〕題目基于單片機(jī)和GSM的大棚溫濕度檢測系統(tǒng)的研究與設(shè)計(jì)學(xué)生楊達(dá)學(xué)院信息科學(xué)與工程學(xué)院專業(yè)班級(jí)自動(dòng)化102校內(nèi)指導(dǎo)教師王雪專業(yè)技術(shù)職務(wù)講師校外指導(dǎo)老師專業(yè)技術(shù)職務(wù)二○一四年五月基于單片機(jī)和GSM的大棚溫濕度檢測系統(tǒng)的研究與設(shè)計(jì)摘要:隨著我國農(nóng)業(yè)的迅速開展與農(nóng)業(yè)現(xiàn)代化進(jìn)程的逐步加快,大棚的應(yīng)用也逐漸普及,然而這也帶來了新的問題。植物生長需要適宜的環(huán)境,需要在一定溫度與濕度范圍內(nèi)才能正常地生長,因晝夜變化或者天氣驟變導(dǎo)致的溫濕度的巨大變化,對(duì)植物的生長造成了不小的負(fù)面影響。而大棚無法解決由各種原因造成的溫濕度的變化,所以對(duì)大棚的溫濕度進(jìn)行檢測與控制十分關(guān)鍵。因此為了讓大棚環(huán)境更適合植物的生長,提高大棚作物的產(chǎn)量和質(zhì)量,對(duì)大棚的溫濕度的監(jiān)測變得尤為重要。本文設(shè)計(jì)的基于單片機(jī)和GSM的大棚溫濕度檢測系統(tǒng),以STC89C52RC單片機(jī)為控制器,以數(shù)字式溫濕度傳感器DHT11作為溫濕度檢測模塊,與華為GSM通信模塊有機(jī)結(jié)合,構(gòu)成一個(gè)溫濕度實(shí)時(shí)檢測報(bào)警系統(tǒng)。本系統(tǒng)通過溫濕度檢測模塊實(shí)時(shí)檢測大棚的溫濕度,并通過LCD1602液晶屏顯示當(dāng)前溫濕度。假設(shè)溫濕度超過設(shè)定范圍,系統(tǒng)進(jìn)行聲光報(bào)警,同時(shí)通過GSM模塊將報(bào)警信息發(fā)至用戶的,實(shí)現(xiàn)遠(yuǎn)程報(bào)警。本文通過四個(gè)獨(dú)立按鍵實(shí)現(xiàn)溫濕度的閾值設(shè)置等功能。本文為我國溫室大棚自動(dòng)控制系統(tǒng)的研究與開發(fā)打下了良好的根底。關(guān)鍵詞:大棚溫濕度檢測系統(tǒng);單片機(jī);GSM;ResearchandDesignofthetemperatureandhumiditydetectionsystemingreenhousebasedonmicrocontrollerandGSMAbstract:WiththerapiddevelopmentofChina'sagricultureandtheaccelerationofagriculturalmodernizationprocess,greenhousehasbeenpopularized,butitalsobringsnewproblems.Plantsneedrightgrowingenvironment,andtheycanonlygrownormallywithinacertainrangeoftemperatureandhumidity.Greatchangesintemperatureandhumidityduetodiurnalvariationorthesuddenchangeoftheweatherhassignificantnegativeimpactonplants.However,greenhousecan’tsolvethisproblemwhichiscausedbyreasons.Sothedetectionandcontroloftemperatureandhumidityinthegreenhouseisveryimportant.Inordertomaketheenvironmentmoresuitableforplantingreenhouse,andimprovetheyieldandqualityofgreenhousecrops,monitoringtemperatureandhumidityofthegreenhousehasbecomeespeciallyimportant.Inthisarticle,thedesignoftemperatureandhumiditydetectionsystemingreenhouseisbasedonMCUandGSM,usingSTC89C52RCascontroller,takedigitaltemperatureandhumiditysensorcalledDHT11asatemperatureandhumiditydetectionmodule,andthencombinedwithHuaweiGSMcommunicationmodule,atemperatureandhumidityrealtimedetectionsystemwithwarningfunctionisconstituted.Thesystemcandetectthetemperatureandhumiditytemperaturewithhumiditydetectionmodule,anddisplaythecurrenttemperatureandhumiditythroughtheLCD1602LCDscreen.Ifthetemperatureexceedsthesetrange,soundlightalarmsystemwillalarm.Atthesametime,alarminformationissenttothepersoninchargethroughtheGSMmodule.Inthisdesign,thethresholdvalueoftemperatureandhumiditywillbesetbyfourindependentbuttons.ThispassagehaslaidagoodfoundationfortheresearchanddevelopmentoftheautomaticcontrolsystemofgreenhouseinChina.Keywords:Greenhousetemperatureandhumiditydetectionsystem;MCU;GSM;目錄摘要I目錄III1緒論11.1概述11.2課題的國內(nèi)外研究現(xiàn)狀與開展趨勢11.2.1國外開展情況與開展趨勢11.2.2國內(nèi)開展情況與開展趨勢21.3本文主要研究內(nèi)容22系統(tǒng)的總體方案32.1功能概述32.2總體設(shè)計(jì)方案簡述32.3方案選型42.3.1控制器選型42.3.2溫濕度傳感器選型42.3.3通信模塊選型5顯示模塊選型53系統(tǒng)硬件局部設(shè)計(jì)73.1單片機(jī)模塊硬件電路設(shè)計(jì)73.1.1STC89C52RC單片機(jī)簡介7單片機(jī)模塊最小系統(tǒng)硬件電路的設(shè)計(jì)93.2溫濕度檢測模塊硬件電路設(shè)計(jì)113.2.1DHT11簡介113.2.2DHT11硬件電路設(shè)計(jì)113.3GSM通訊模塊硬件電路設(shè)計(jì)123.3.1GSM開發(fā)板簡介123.3.2HUAWEI_GTM900通信模塊簡介123.3.3GSM通信模塊硬件電路設(shè)計(jì)123.4LCD顯示模塊硬件電路設(shè)計(jì)133.4.1LCD1602簡介133.4.2LCD1602硬件電路設(shè)計(jì)143.5按鍵與報(bào)警硬件電路設(shè)計(jì)153.5.1按鍵硬件電路設(shè)計(jì)15報(bào)警硬件電路設(shè)計(jì)164系統(tǒng)軟件設(shè)計(jì)174.1程序設(shè)計(jì)語言與軟件開發(fā)環(huán)境簡介174.2系統(tǒng)軟件總體設(shè)計(jì)174.3溫濕度采集模塊軟件設(shè)計(jì)204.4GSM通訊模塊軟件設(shè)計(jì)244.5LCD1602顯示模塊軟件設(shè)計(jì)254.6鍵盤軟件設(shè)計(jì)284.7報(bào)警軟件設(shè)計(jì)305系統(tǒng)調(diào)試及運(yùn)行325.1硬件調(diào)試325.2運(yùn)行結(jié)果326結(jié)論37參考文獻(xiàn)39致謝40附錄原理圖411緒論1.1概述我國是一個(gè)農(nóng)業(yè)大國,有幾千年的農(nóng)業(yè)文明。隨著控制技術(shù)、移動(dòng)通信技術(shù)的快速開展,設(shè)施農(nóng)業(yè)逐漸興起,反季節(jié)瓜果、蔬菜在人們消費(fèi)水平提高的前提下迅速開展[1]。為使人們在不同的季節(jié)都可以食用其喜愛的作物,溫室大棚的作物栽培起到了很大的作用[2]。但是,瓜果蔬菜在大棚里的生長受到很多因素的影響,包括陽光、空氣中各種氣體的含量、溫度和濕度等等[3]。在溫室大棚控制系統(tǒng)中,溫室中的溫度和濕度對(duì)各種蔬菜、花卉、苗圃等作物的生長和發(fā)育起著關(guān)鍵性的作用,與大自然中的普通作物相比要求精度較高。在關(guān)鍵時(shí)期,參數(shù)的微小變化可能會(huì)影響大棚內(nèi)作物的生長,造成不可預(yù)計(jì)的經(jīng)濟(jì)損失[4]。傳統(tǒng)大棚由農(nóng)民依據(jù)自己的經(jīng)驗(yàn)和簡單的溫度計(jì)進(jìn)行監(jiān)測并手動(dòng)進(jìn)行管理控制,很難到達(dá)預(yù)期的效果。為了使作物獲得比室外生長更優(yōu)的環(huán)境條件,到達(dá)優(yōu)質(zhì)、高產(chǎn)、高效的目的,人們對(duì)溫室大棚的性能提出了更高的要求[5]。因此,如何方便有效地對(duì)溫室大棚環(huán)境進(jìn)行檢測和控制,如何提高溫室大棚蔬果作物生產(chǎn)的產(chǎn)量與質(zhì)量水平是目前可控環(huán)境農(nóng)業(yè)研究的重點(diǎn)。由于不同蔬菜作物的適宜溫度和濕度不同,且需要穩(wěn)定在一定的范圍內(nèi)。僅僅依靠人工管理會(huì)出現(xiàn)調(diào)節(jié)不及時(shí)、不準(zhǔn)確等問題,不僅影響蔬菜正常生長,同時(shí)也會(huì)造成人力資源的浪費(fèi)。因此,需要一種能對(duì)大棚溫濕度檢測有足夠精度,并盡可能有效降低本錢的技術(shù)[6]。本文研究的蔬菜大棚溫度濕度監(jiān)測系統(tǒng)正是這種有效技術(shù),該系統(tǒng)旨在以更經(jīng)濟(jì)的方式實(shí)現(xiàn)對(duì)蔬菜大棚內(nèi)的溫度與濕度的監(jiān)測與控制,為蔬菜生長提供最有利的環(huán)境條件,從而保證蔬菜的健康生長。溫室大棚技術(shù)的開展帶來了良好的經(jīng)濟(jì)效益和社會(huì)效益,它可以提高農(nóng)民收入,提高產(chǎn)業(yè)化水平,提高抵御自然災(zāi)害能力,延長作物生長時(shí)間,提高作物產(chǎn)量[7]。本文研究的大棚溫度濕度監(jiān)測系統(tǒng)利用信息傳感技術(shù)和數(shù)據(jù)采集技術(shù)獲得大棚內(nèi)的溫濕度信息并進(jìn)行處理,有利于實(shí)現(xiàn)大棚溫濕度監(jiān)測的智能化與精確化,有助于提高農(nóng)業(yè)大棚的自動(dòng)化程度和生產(chǎn)效率。1.2課題的國內(nèi)外研究現(xiàn)狀與開展趨勢1.2.1國外開展情況與開展趨勢國外興旺國家在20世紀(jì)50年代已經(jīng)開始建造并管理溫室大棚[8],上個(gè)世紀(jì)70年代末,美國、日本、荷蘭等興旺國家陸續(xù)開始應(yīng)用計(jì)算機(jī)來控制溫濕度。1978年,國外已經(jīng)成功研制出溫室環(huán)境綜合控制微機(jī)系統(tǒng)。隨著計(jì)算機(jī)技術(shù)日新月異的開展,80年代末期出現(xiàn)了使用計(jì)算機(jī)進(jìn)行數(shù)據(jù)采集的分布式溫濕度控制系統(tǒng)。美國是進(jìn)行該項(xiàng)研究最早的國家之一,其開發(fā)的溫室計(jì)算機(jī)控制系統(tǒng)可以根據(jù)具體要求,對(duì)于溫度、濕度甚至光照度進(jìn)行自動(dòng)控制,該技術(shù)被廣泛運(yùn)用到日常生活、食品行業(yè)、工農(nóng)業(yè)生產(chǎn)等各個(gè)領(lǐng)域。目前,美國等興旺國家已經(jīng)將計(jì)算機(jī)、遙感技術(shù)、GPS全球定位等高新技術(shù)應(yīng)用到相應(yīng)的研究中[9]。總體來說,國外興旺國家的溫室系統(tǒng)已經(jīng)形成規(guī)模,并具備一定的行業(yè)標(biāo)準(zhǔn)。絕大多數(shù)溫室大棚工廠均以計(jì)算機(jī)系統(tǒng)為核心控制,并輔助以各種各樣的傳感器,對(duì)溫室環(huán)境進(jìn)行精確控制,并且根本完全取代人工勞作,直接基于智能化的控制系統(tǒng),已經(jīng)在向全自動(dòng)化的方向進(jìn)行開展。1.2.2國內(nèi)開展情況與開展趨勢最初,國內(nèi)對(duì)于溫濕度控制系統(tǒng)的研究也主要表達(dá)在溫室控制技術(shù)的研究上,總體來說起步較晚。自上世紀(jì)80年代以來,在引進(jìn)國外先進(jìn)溫濕度控制技術(shù)的根底上,我國開始著手研究溫室的溫度、濕度和二氧化碳等單項(xiàng)因子控制技術(shù)。但由于引進(jìn)的技術(shù)并不適合我國的國情開展,因此,國內(nèi)先后出現(xiàn)多家公司及工程師,對(duì)國外大棚技術(shù)進(jìn)行研究,并結(jié)合我國現(xiàn)狀,對(duì)大棚控制系統(tǒng)進(jìn)行開發(fā),逐步推出適合我國國情,適宜我國農(nóng)業(yè)工作者操作控制的系統(tǒng)。2000年之后,我國加大了在溫濕度控制方面的研究力度。結(jié)合目前的技術(shù)現(xiàn)狀,總體來看,相關(guān)研究工作已經(jīng)逐步從簡單應(yīng)用的階段向?qū)嵱眯?、綜合性、智能化的方向過渡與開展,研究的技術(shù)水平已經(jīng)相當(dāng)高。1.3本文主要研究內(nèi)容系統(tǒng)完成后可以通過溫濕度傳感器對(duì)大棚溫室內(nèi)的溫濕度進(jìn)行測量,通過單片機(jī)對(duì)采集到的數(shù)據(jù)進(jìn)行處理,并用顯示模塊顯示出當(dāng)前環(huán)境的溫濕度狀況,當(dāng)環(huán)境溫濕度超出了設(shè)定范圍時(shí),發(fā)出現(xiàn)場聲光報(bào)警,報(bào)警持續(xù)一段時(shí)間以后發(fā)送GSM短信報(bào)警。本文主要完成的任務(wù)為:〔1〕對(duì)現(xiàn)有的大棚溫濕度檢測系統(tǒng)進(jìn)行調(diào)研,從而確定溫度和濕度的監(jiān)測范圍及精度,再根據(jù)調(diào)研情況設(shè)計(jì)系統(tǒng)總體功能方案;〔2〕根據(jù)總體功能設(shè)計(jì)方案設(shè)計(jì)溫濕度檢測模塊電路、GSM通信模塊電路與單片機(jī)模塊硬件電路及其相應(yīng)的軟件;〔3〕制作設(shè)備,進(jìn)行調(diào)試。本文將要利用單片機(jī)及GSM通訊模塊、溫濕度傳感器,對(duì)大棚及溫室的溫濕度進(jìn)行監(jiān)控,并且將會(huì)根據(jù)溫濕度傳感器的工作原理,進(jìn)行硬件和軟件的方案設(shè)計(jì)。本文將進(jìn)行基于單片機(jī)與GSM通信模塊的大棚溫濕度監(jiān)控的設(shè)計(jì),利用溫濕度檢測模塊對(duì)大棚內(nèi)的溫度與濕度進(jìn)行實(shí)時(shí)監(jiān)測,制作出精度高、體積小、系統(tǒng)穩(wěn)定、價(jià)格低廉、功能強(qiáng)大的溫濕度檢測控制系統(tǒng),實(shí)現(xiàn)穩(wěn)定、精確的溫濕度檢測和控制,使之能很好的應(yīng)用于當(dāng)代的大棚生產(chǎn)活動(dòng),使得人們可以更好地控制大棚的溫濕度。希望能從一定程度上解決大棚溫濕度檢測不便的現(xiàn)狀,普及大棚溫濕度檢測,增加大棚的產(chǎn)出,進(jìn)而提高農(nóng)民的收益。2系統(tǒng)的總體方案2.1功能概述在大棚種植過程中,溫濕度對(duì)作物的生長起到了至關(guān)重要的作用,因此大棚溫濕度的控制是國內(nèi)外的研究熱點(diǎn)之一。國內(nèi)外已有相領(lǐng)先進(jìn)的環(huán)境監(jiān)測控制系統(tǒng),而且成熟應(yīng)用于大型農(nóng)場。然而,這類工業(yè)級(jí)的控制系統(tǒng)大都比擬昂貴,而且不夠簡單易用,雖然性能非常好,但卻不一定適應(yīng)國內(nèi)一些散戶農(nóng)民的大棚種植。而本文研究的方向那么是為散戶農(nóng)民提供針對(duì)小面積大棚的較為廉價(jià)高效的的溫濕度監(jiān)測系統(tǒng),以填補(bǔ)這一市場空缺。本文研究的主要內(nèi)容是運(yùn)用單片機(jī)和溫濕度采集模塊等等,對(duì)溫室內(nèi)的溫度和濕度進(jìn)行實(shí)時(shí)監(jiān)測與顯示,當(dāng)溫濕度處于警報(bào)范圍內(nèi)時(shí)進(jìn)行聲光警報(bào),并輔以GSM通信模塊,在聲光報(bào)警一段時(shí)間后仍未解除報(bào)警,通過GSM通信模塊將溫濕度相關(guān)信息發(fā)送到指定號(hào)碼,以此通知相關(guān)人員進(jìn)行相應(yīng)的控制,使得作物得以在適宜的環(huán)境中生長。本系統(tǒng)所具備的功能如下:〔1〕溫濕度實(shí)時(shí)采集并準(zhǔn)確顯示。通過溫濕度采集模塊進(jìn)行溫濕度的實(shí)時(shí)采集,并通過單片機(jī)對(duì)采集到的數(shù)據(jù)進(jìn)行處理,最后由顯示模塊顯示當(dāng)前的溫度值和濕度值。使得用戶可以實(shí)時(shí)查看當(dāng)時(shí)的溫濕度?!?〕通過按鍵更改溫濕度的上下限。用戶可根據(jù)不同作物在不同時(shí)期的最適宜生長環(huán)境,通過按鍵輸入溫度值和濕度值的范圍并由顯示器實(shí)時(shí)顯示。由于作物在不同生長期所適宜的溫濕度是變化的,此時(shí)調(diào)節(jié)溫濕度范圍可以使作物長時(shí)間處于較為理想的環(huán)境中,同時(shí)也滿足了不同作物的環(huán)境需求。〔3〕將測得的值與溫濕度范圍進(jìn)行比擬,超限時(shí)進(jìn)行報(bào)警。報(bào)警模塊具有兩項(xiàng)功能,即為聲光報(bào)警和GSM短信信息報(bào)警。當(dāng)采集到的溫度、濕度值超出設(shè)定范圍時(shí),啟動(dòng)報(bào)警裝置進(jìn)行報(bào)警,并通過發(fā)送GSM短信通知用戶采取相應(yīng)的措施。2.2總體設(shè)計(jì)方案簡述本文的大棚溫濕度監(jiān)測系統(tǒng)是由溫濕度傳感器、單片機(jī)最小系統(tǒng)、GSM通信模塊、顯示模塊、報(bào)警模塊等等組成,通過大棚溫濕度信號(hào)的采集與分析,進(jìn)行聲光警報(bào)及GSM短信警報(bào),使得人們可以及時(shí)發(fā)現(xiàn)大棚溫濕度的異狀。圖2.1系統(tǒng)設(shè)計(jì)整體框圖如圖2.1系統(tǒng)設(shè)計(jì)整體框圖所示,本系統(tǒng)以單片機(jī)與GSM模塊、溫濕度傳感器為核心,主要由溫濕度信號(hào)采集電路、GSM通信模塊、LCD顯示電路、時(shí)鐘復(fù)位電路、電源電路、按鍵電路、報(bào)警電路組成。系統(tǒng)通過溫濕度傳感器采集大棚的溫度與濕度,然后單片機(jī)對(duì)數(shù)據(jù)進(jìn)行處理,將實(shí)時(shí)測得的數(shù)據(jù)顯示在顯示模塊上,并將采集的數(shù)據(jù)與預(yù)先設(shè)置的適宜溫濕度的范圍進(jìn)行比照,假設(shè)不在范圍內(nèi),那么啟動(dòng)報(bào)警模塊,進(jìn)行聲光警報(bào),持續(xù)報(bào)警一段時(shí)間,當(dāng)系統(tǒng)處于報(bào)警狀態(tài)一定時(shí)間后仍未解除報(bào)警,通過GSM通信模塊將當(dāng)時(shí)的溫濕度發(fā)送到指定號(hào)碼,從而實(shí)現(xiàn)了大棚溫濕度的檢測,顯示與報(bào)警。2.3方案選型2.3.1控制器選型〔1〕8051單片機(jī)8051是一種由英特爾公司制造的8位元的單芯片微控制器,屬于MCS-51單芯片的一種。8051單芯片是同步式的順序邏輯系統(tǒng),整個(gè)系統(tǒng)的工作完全是依賴系統(tǒng)內(nèi)部的時(shí)脈信號(hào),用以來產(chǎn)生各種動(dòng)作周期及同步信號(hào)。在8051單片機(jī)中已內(nèi)建時(shí)鐘產(chǎn)生器,在使用時(shí)只需接上石英晶體諧振器〔或其它振蕩子〕及電容,就可以讓系統(tǒng)產(chǎn)生正確的時(shí)鐘信號(hào)?!?〕STC89C52RC單片機(jī)STC89C52是由宏晶公司生產(chǎn)的一種低功耗高性能的8位微控制器,指令代碼完全兼容傳統(tǒng)的8051,存儲(chǔ)器為8KFlash存儲(chǔ)器,內(nèi)核為MCS-51,擁有許多傳統(tǒng)51單片機(jī)所不具備的功能,是一款增強(qiáng)型的8051單片機(jī)。它的標(biāo)準(zhǔn)功能有:8KFlashROM,512ByteRAM,內(nèi)置4KBEEPROM,以及32位I/O口線,看門狗定時(shí)器,MAX810復(fù)位電路,3個(gè)16位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中斷結(jié)構(gòu)等等,而且具有ISP〔在系統(tǒng)可編程〕/IAP〔在應(yīng)用可編程〕功能,可極大的方便下載程序。另外STC89C52可降至0HZ靜態(tài)邏輯操作,支持2種節(jié)電模式??臻e模式下,CPU停止工作,但是允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。結(jié)合本系統(tǒng)的需求,與8051單片機(jī)相比,STC89C52RC功能更強(qiáng)大,下載程序更為方便,價(jià)格也相當(dāng)廉價(jià)。由于該芯片應(yīng)用廣泛,學(xué)習(xí)資料也可以更容易地獲得,所以本文選用的STC89C52RC芯片。溫濕度傳感器選型〔1〕方案一采用獨(dú)立溫度傳感器與濕度傳感器常用的溫度傳感器有熱電偶與熱電阻,常用的濕度傳感器有氯化鋰濕度傳感器、碳濕敏元件、氧化鋁濕度計(jì)、陶瓷濕度傳感器等等,采用這些傳感器時(shí),通常是將4-20mA模擬信號(hào)通過AD轉(zhuǎn)換電路轉(zhuǎn)換為數(shù)字信號(hào)進(jìn)行溫濕度的采集與處理,再通過單片機(jī)進(jìn)行判斷與相關(guān)的動(dòng)作。然而,這些傳感器價(jià)格較高,接線復(fù)雜,對(duì)環(huán)境要求也較高。譬如常用的溫度傳感器,熱電偶精度不高,而熱電阻雖然精度高,體積小,但是容易造成熱負(fù)載造成測量不準(zhǔn);濕敏傳感器那么對(duì)供電電壓要求很高,供電電壓假設(shè)有偏差,對(duì)濕度的檢測會(huì)造成很大的影響?!?〕方案二采用單片智能化濕度/溫度傳感器常用的單片智能化溫濕度傳感器有DHT11及SHT11等等,由于本系統(tǒng)的目的為監(jiān)測大棚的溫濕度,精度無需太高,因而DHT11數(shù)字溫濕度傳感器就足夠本系統(tǒng)的使用。DHT11內(nèi)含一個(gè)電阻式濕度傳感器、一個(gè)NTC溫度傳感器以及一個(gè)8位單片機(jī),采用專用的數(shù)字模塊進(jìn)行溫濕度采集,相對(duì)采用獨(dú)立的溫濕度傳感器而言,具有極高的可靠性與穩(wěn)定性。每一只DHT11在出廠前都經(jīng)過了精確的校準(zhǔn),而校準(zhǔn)系數(shù)會(huì)被編成相應(yīng)的程序存入校準(zhǔn)存儲(chǔ)器OTP中,從而在測量過程中傳感器會(huì)利用校準(zhǔn)系數(shù)進(jìn)行自動(dòng)校準(zhǔn)。DHT11采用單線制串行接口,使得系統(tǒng)集成更為便捷,同時(shí)它具有反響快、抗干擾能力強(qiáng)、性價(jià)比高的特點(diǎn),使得它更適合本系統(tǒng)使用,超小的體積與極低的功耗,更是獨(dú)立傳感器所無法相比的。由于本文采用單片機(jī)為控制器,為了節(jié)約本錢,選用單片智能化溫濕度傳感器DHT11可以省去溫度、濕度兩個(gè)傳感器及相應(yīng)的AD轉(zhuǎn)換電路,使系統(tǒng)更為簡單穩(wěn)定高效,所以本文選用DHT11溫濕度傳感器采集溫濕度信號(hào)。2.3.3通信模塊選型〔1〕SIEMENSTC35I通信模塊TC35I是德國西門子公司的一款支持900/1800MHZ雙頻的高度集成的GSM模塊。TC35IGSM模塊通過接口連接器和天線連接器分別連接SIM卡讀卡器和天線,是一種支持中文短信息的工業(yè)級(jí)GSM模塊,支持EGSM900和GSM1800雙頻段,可傳輸語音及數(shù)據(jù)信號(hào)。TC35I的數(shù)據(jù)接口通過AT命令可雙向傳輸指令和數(shù)據(jù),可選波特率為300b/s~115kb/s,自動(dòng)波特率為1.2kb/s~115kb/s。它支持Text和PDU格式的SMS,支持通過AT命令或關(guān)斷信號(hào)實(shí)現(xiàn)重啟和故障恢復(fù)。〔2〕HUAWEIGTM900B通信模塊華為GTM900B是GTM900C模塊的老版本,廣泛應(yīng)用于遠(yuǎn)程監(jiān)控、無線公共、無線POS終端等領(lǐng)域,是一款雙頻、高集成度的GSM/GPRS模塊。該模塊體積小,重量輕,功耗低,使用簡單,易于集成。同時(shí)GTM900B軟件、硬件兼容TC35I、MC39I,用戶可以花更短的時(shí)間更少的本錢開發(fā)新的產(chǎn)品。本文僅使用GSM通信模塊發(fā)送短信,華為GTM900B比TC35I價(jià)格低很多,在這兩種通信模塊都能滿足本系統(tǒng)的情況下,為了使系統(tǒng)更為經(jīng)濟(jì),本文采用華為GTM900B。顯示模塊選型〔1〕采用LED數(shù)碼管顯示。LED數(shù)碼管是由多個(gè)發(fā)光二極管封裝在一起“8〞字型的器件,通過對(duì)這七個(gè)條形發(fā)光二極管通以高/低電平使得相應(yīng)的發(fā)光二極管暗滅,顯示出相應(yīng)的字形。LED數(shù)碼管擁有兩種驅(qū)動(dòng)方式,靜態(tài)驅(qū)動(dòng)時(shí)編程簡單,LED亮度高,但是需要占用大量I/O口,動(dòng)態(tài)顯示應(yīng)用廣泛,但一般需用驅(qū)動(dòng)芯片進(jìn)行驅(qū)動(dòng)顯示?!?〕采用LCD液晶顯示器顯示。LCD1602是指可以顯示兩行,每行16個(gè)字符的液晶模塊。常用在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中,它具有功耗低、體積小、可視面積大、畫面好、抗干擾能力強(qiáng)、顯示內(nèi)容豐富且美觀的特點(diǎn),可以節(jié)省軟件中斷資源。相比以上兩種方案,由于本系統(tǒng)顯示模塊需要使用的字符較多,假設(shè)用LED數(shù)碼管需要較多I/O口,且電路較為復(fù)雜,所以本文使用LCD1602顯示器,相比于采用LED數(shù)碼管,具有電路簡單,畫面清晰易懂的優(yōu)點(diǎn)。3系統(tǒng)硬件局部設(shè)計(jì)如圖3.1所示,本文設(shè)計(jì)的大棚溫濕度檢測系統(tǒng),以STC89C52RC單片機(jī)為控制器,以數(shù)字式溫濕度傳感器DHT11作為溫濕度檢測模塊,與華為GSM通信模塊有機(jī)結(jié)合,構(gòu)成一個(gè)溫濕度實(shí)時(shí)檢測報(bào)警系統(tǒng)。本系統(tǒng)使用四個(gè)獨(dú)立按鍵實(shí)現(xiàn)溫濕度的閾值設(shè)置等功能,再通過溫濕度檢測模塊〔DHT11〕實(shí)時(shí)檢測大棚內(nèi)的溫濕度,并由LCD1602液晶屏實(shí)時(shí)顯示當(dāng)前溫濕度。當(dāng)溫濕度超過設(shè)定范圍時(shí),系統(tǒng)進(jìn)行聲光報(bào)警。當(dāng)系統(tǒng)處于報(bào)警狀態(tài)一定時(shí)間后仍未解除報(bào)警,那么通過GSM模塊將報(bào)警信息發(fā)至負(fù)責(zé)人,實(shí)現(xiàn)遠(yuǎn)程報(bào)警。圖3.1系統(tǒng)詳細(xì)功能框圖3.1單片機(jī)模塊硬件電路設(shè)計(jì)3.1.1STC89C52RC單片機(jī)簡介單片機(jī)是一種具有強(qiáng)大數(shù)據(jù)處理能力的超大規(guī)模的集成電路芯片,其內(nèi)部是由中央處理器〔CPU〕、隨機(jī)存儲(chǔ)器〔RAM〕、只讀存儲(chǔ)器〔ROM〕、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器等等組成,局部功能強(qiáng)大的單片機(jī)可能還具有顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器電路等。由于其強(qiáng)大的計(jì)算能力、較好的穩(wěn)定性、較低的價(jià)格,在工業(yè)控制領(lǐng)域得到了廣泛應(yīng)用。國內(nèi)使用最多的單片機(jī)是INTEL公司的51系列的單片機(jī),它是一種最為根底的單片機(jī),它具有品種齊全、兼容性強(qiáng)、軟件資源豐富、性價(jià)比擬高的特點(diǎn),在國內(nèi)得到了最為廣泛的應(yīng)用。本系統(tǒng)使用的STC89C52RC單片機(jī)是宏晶科技推出的新一代高速/低功耗/超強(qiáng)抗干擾的單片機(jī),它完全兼容8051單片機(jī)的代碼,可將8051的代碼直接應(yīng)用與該芯片。它擁有8K字節(jié)的用戶應(yīng)用程序空間,512字節(jié)片內(nèi)RAM,32個(gè)通用I/O口,看門狗定時(shí)器,內(nèi)置4KBEEPROM,3個(gè)16位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,此外,它無需專用編程器,無需專用仿真器,可通過串口〔RxD/P3.0,TxD/P3.1〕直接下載用戶程序,為本系統(tǒng)的設(shè)計(jì)與調(diào)試提供了巨大的方便。圖3.2STC89C52RC引腳圖圖3.2為STC89C52RC引腳圖,其功能說明如下:引腳40為VCC電源正腳,引腳20為電源電壓接地腳VSS。P0端口〔P0.0~P0.7,39~32引腳〕:P0口是一個(gè)漏極開路的8位雙向I/O口。P0口作為I/O口輸出的時(shí)候,輸出低電平為0,輸出高電平為高組態(tài)而非5V,相當(dāng)于懸空狀態(tài)。也就是說P0口不能真正的輸出高電平,給所接的負(fù)載提供電流,因此必須接上拉電阻〔一電阻連接到VCC〕,由電源通過這個(gè)上拉電阻給負(fù)載提供電流。P1端口〔P1.0~P1.7,1~8引腳〕:P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口。此外,P1.0和P1.1還可以作為定時(shí)器/計(jì)數(shù)器2的外部技術(shù)輸入〔P1.0/T2〕和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入〔P1.1/T2EX〕。P2端口〔P2.0~P2.7,21~28引腳〕:P2口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。3.1.2單片機(jī)模塊最小系統(tǒng)硬件電路的設(shè)計(jì)圖3.3最小系統(tǒng)硬件電路最小系統(tǒng)如圖3.3所示,其中復(fù)位電路與晶振電路的硬件設(shè)計(jì)詳細(xì)介紹如下所示。〔1〕復(fù)位電路的硬件設(shè)計(jì)單片機(jī)運(yùn)行程序時(shí),都是從地址0000H開始的,所以進(jìn)入系統(tǒng)時(shí)必須對(duì)CPU進(jìn)行復(fù)位,此外,當(dāng)程序運(yùn)行時(shí)由于程序錯(cuò)誤或者操作失誤導(dǎo)致系統(tǒng)進(jìn)入死鎖狀態(tài),也需要通過復(fù)位使系統(tǒng)恢復(fù)正常。在RST引腳上〔第9引腳〕加一個(gè)持續(xù)時(shí)間為24個(gè)振蕩周期的高電平,便可使單片機(jī)成功復(fù)位,本文采用按鍵復(fù)位,復(fù)位電路如圖3.4所示。當(dāng)電源剛接通時(shí),由于電容兩端電壓不能突變,所以RST端維持高電平一段時(shí)間,只要電容充電時(shí)間不超過1ms,就可以對(duì)單片機(jī)進(jìn)行通電自動(dòng)復(fù)位,即一接通電源便復(fù)位。同時(shí),在正常使用過程中,需要復(fù)位時(shí)按下按鈕,那么VCC的+5V電平就會(huì)直接加到RST端。由于正常按下按鈕時(shí)會(huì)保持接通達(dá)數(shù)十毫秒,完全能夠滿足復(fù)位的時(shí)間要求的24個(gè)機(jī)器周期,所以便能直接復(fù)位。圖3.4復(fù)位電路〔2〕晶振電路的硬件設(shè)計(jì)圖3.5晶振電路STC89C52RC單片機(jī)工作時(shí)需要時(shí)鐘電路產(chǎn)生控制信號(hào),單片機(jī)內(nèi)部的各個(gè)功能部件的運(yùn)行都是以時(shí)鐘控制信號(hào)為基準(zhǔn),來有序工作的。因此時(shí)鐘頻率直接影響單片機(jī)的速度,本系統(tǒng)采用內(nèi)部時(shí)鐘方式,如圖3.5所示,將XTAL1與XTAL2跨接石英晶體和微調(diào)電容,構(gòu)成了一個(gè)穩(wěn)定的自激振蕩器。3.2溫濕度檢測模塊硬件電路設(shè)計(jì)3.2.1DHT11簡介DHT11數(shù)字溫濕度傳感器是一款擁有數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù)的溫濕度復(fù)合傳感器,可靠且穩(wěn)定。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測溫元件,并與一個(gè)高性能8位單片機(jī)相連接。每個(gè)傳感器都經(jīng)過極為精確地校準(zhǔn)。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比高等優(yōu)點(diǎn)。產(chǎn)品為4針單排引腳封裝,單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號(hào)傳輸距離可達(dá)20米以上,使其在各類領(lǐng)域中都得到了廣泛的應(yīng)用。它的技術(shù)參數(shù)為:供電電壓范圍為3.3~5.5VDC,輸出信號(hào)為單總線數(shù)字信號(hào),濕度測量范圍為20-90%RH,精度±5%RH,溫度測量范圍為0~50℃,精度±2℃,濕度分辨率為1%,溫度分辨率為1℃,長期穩(wěn)定性為<±1%RH/年。DHT11溫濕度傳感器引腳說明如下所示:腳1為電源正腳〔VDD〕;腳4為接地腳〔GND〕。腳2為單總線形式串行數(shù)據(jù)線腳;腳3為空腳,懸空即可。由于連接線長度短于20米時(shí)需要用5K上拉電阻,大于20米時(shí)根據(jù)實(shí)際情況使用適宜的上拉電阻,而在本系統(tǒng)連線長度僅為幾厘米,所以采用連接5k上拉電阻的方案。DHT11的供電電壓為3~5.5V。傳感器上電后,需要等待1s,來越過不穩(wěn)定狀態(tài)。在此期間無需發(fā)送任何指令。電源引腳〔VDD,GND〕之間可增加一個(gè)100nF的電容,到達(dá)去耦濾波的目的。3.2.2DHT11硬件電路設(shè)計(jì)DHT11與單片機(jī)接線圖如圖3.6所示,DHT11腳1連接電源正腳VCC。腳2為穿心數(shù)據(jù)線腳,本文中,DHT11通訊口為P2.2,所以DHT11腳2連接P2.2口。腳3為空腳,無需連接懸空即可。腳4為接地腳,所以連接地。查DHT11產(chǎn)品說明書,查得DHT11連接線短于20m時(shí),需要用5K的上拉電阻,由于本系統(tǒng)中DHT11與單片機(jī)距離短于20m,所以按要求安裝5K的上拉電阻。按圖3.6連接,單片機(jī)便能與DHT11成功連接通訊。圖3.6DHT11硬件電路3.3GSM通訊模塊硬件電路設(shè)計(jì)3.3.1GSM開發(fā)板簡介SUNRISINGGSM/GPRS開發(fā)板是一款內(nèi)嵌TCP/IP協(xié)議的GPRS模塊,使用方便,簡單易學(xué)。單片機(jī)接口電平自動(dòng)適應(yīng),無需設(shè)置,解決了5v單片機(jī)和3.3v單片機(jī)等的連接問題,兼容性極好;同時(shí),使用單片機(jī)調(diào)試的時(shí)候可以同時(shí)連接電腦,無需跳線設(shè)置,便可使用電腦的串口調(diào)試助手實(shí)時(shí)的監(jiān)測單片機(jī)和模塊通信的數(shù)據(jù),可以很方便地進(jìn)行調(diào)試;其GPRS內(nèi)嵌TCP/IP協(xié)議,GPRS上網(wǎng)只需幾條簡單指令;它使用了插拔式SIM卡座,帶SIM卡保護(hù)電路,同時(shí)支持單片機(jī)控制啟動(dòng)和關(guān)機(jī),支持單片機(jī)檢測在線狀態(tài);GSM開發(fā)板有電源指示燈、信號(hào)指示燈,并留有語音接口,有音頻處理電路,可以后期進(jìn)行功能擴(kuò)展;它采用工業(yè)級(jí)低壓差芯片,大容量電容和合理的布線,擁有較高的可靠性。3.3.2HUAWEI_GTM900通信模塊簡介華為GTM900B是GTM900C模塊的老版本,廣泛應(yīng)用于遠(yuǎn)程監(jiān)控、無線公話、無線POS終端等領(lǐng)域,是一款900/1800MHZ雙頻、高集成度的GSM/GPRS模塊。該模塊體積小、重量輕、功耗低、使用簡單、易于集成。同時(shí)GTM900B支持標(biāo)準(zhǔn)的AT命令及增強(qiáng)AT命令,軟件、硬件兼容TC35I、MC39I,用戶可以花更短的時(shí)間更少的本錢開發(fā)新的產(chǎn)品。GTM900-B使用AT命令集,通過UART接口與外部MCU通信,主要實(shí)現(xiàn)無線發(fā)送和接收、基帶處理、音頻處理等功能。鍵盤、LCD等外部設(shè)備由外部MCU進(jìn)行控制,具有接口簡單的特點(diǎn),使得用戶能利用各種鍵盤和LCD開發(fā)各種類型的終端產(chǎn)品。GSM開發(fā)板引腳說明如下所示:〔1〕單片機(jī)通信只需要鏈接GND/TXD/RXD,其中電平自適應(yīng)?!?〕+引腳為電平匹配引腳,根據(jù)使用單片機(jī)引腳是否有上拉來選擇使用,一般不連接?!?〕其中IGT是啟動(dòng)控制腳?!?〕RESET是復(fù)位腳。〔5〕RI是來電信號(hào)引腳。3.3.3GSM通信模塊硬件電路設(shè)計(jì)華為GTM900-B無線模塊采用串口與單片機(jī)進(jìn)行通信(可以采用全功能串口也可以采用三線制:TXD,RXD和GND),接上1張SIM卡,通過AT指令集,就可以撥、聽,收發(fā)送短信。如圖3.7所示,將單片機(jī)的串口與開發(fā)板的串口相連接,便可使單片機(jī)與GSM開發(fā)板建立通信。開發(fā)板尾部有八根排針,在其旁邊絲印了一個(gè)小表格,上面標(biāo)注著TXD、RXD、GND,用杜邦線將其與單片機(jī)相應(yīng)的TXD、RXD、GND連接,便可建立通信。圖3.7GSM通信電路硬件設(shè)計(jì)3.4LCD顯示模塊硬件電路設(shè)計(jì)3.4.1LCD1602簡介LCD1602是指可以顯示兩行,每行16個(gè)字符的液晶模塊。它由假設(shè)干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用。常用在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中,它具有功耗低、體積小、可視面積大,畫面好,抗干擾能力強(qiáng)、顯示內(nèi)容豐富且美觀的特點(diǎn)。圖3.8LCD1602引腳圖如圖3.8所示,LCD1602引腳接口說明如下:第1腳:VSS為電源地。第2腳:VDD為電源正。第3腳:VL為LCD1602的比照度調(diào)整端,接正電源時(shí)比照度最弱,接地時(shí)比照度最高,比照度過高時(shí)會(huì)產(chǎn)生影子,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整比照度。第4腳:RS為存放器選擇,高電平1時(shí)選擇數(shù)據(jù)存放器、低電平0時(shí)選擇指令存放器。第5腳:R/W為讀寫信號(hào)線,高電平1時(shí)進(jìn)行讀操作,低電平0時(shí)進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負(fù)極。3.4.2LCD1602硬件電路設(shè)計(jì)圖3.9LCD1602硬件電路設(shè)計(jì)如圖3.9所示,P0口接上拉電阻,第1腳接地,第二腳接電源正,第三腳串接2K電阻接電源正,第四腳接P2.7,第5腳接地,第六腳接P2.6,P0.0~P0.7接LCD16028位雙向數(shù)據(jù)線第7~14腳,第15腳接電源正,第16腳接電源負(fù),LCD1602便能正常工作。3.5按鍵與報(bào)警硬件電路設(shè)計(jì)3.5.1按鍵硬件電路設(shè)計(jì)〔1〕按鍵原理鍵盤從結(jié)構(gòu)上分為獨(dú)立式鍵盤與矩陣式鍵盤。一般按鍵較少時(shí)采用獨(dú)立式鍵盤,按鍵較多時(shí)采用矩陣式鍵盤。在由單片機(jī)組成的測控系統(tǒng)及智能化儀器中,用的最多的是獨(dú)立式鍵盤。這種鍵盤具有硬件與軟件相對(duì)簡單的特點(diǎn),其缺點(diǎn)是按鍵數(shù)量較多時(shí),要占用大量I/O口。當(dāng)按鍵沒按下時(shí),CPU對(duì)應(yīng)的I/O接口由于內(nèi)部有上拉電阻,其輸入為高電平;當(dāng)某鍵被按下后,對(duì)應(yīng)的I/O接口變?yōu)榈碗娖健V灰诔绦蛑信袛郔/O接口的狀態(tài),即可知道哪個(gè)鍵處于閉合狀態(tài)。由于本系統(tǒng)只需要用到4個(gè)按鍵,按鍵數(shù)量少,為了更方便地編程與更簡單有效的電路,本文采用獨(dú)立按鍵方案,即將四個(gè)按鈕連接四個(gè)I/O口,按鈕的另一端接地。圖3.10按鍵電路硬件設(shè)計(jì)如圖3.10所示,按鍵S1,S2,S3,S4一端接地,另一端分別接單片機(jī)STC89C52RC的P1.0,P1.2,P1.3,P1.4口。其中,S1為菜單及切換鍵,S2為數(shù)值加鍵,S3為返回鍵,S4為數(shù)值減鍵。當(dāng)系統(tǒng)運(yùn)行時(shí)按下S1,那么進(jìn)入設(shè)置溫濕度閾值狀態(tài),此時(shí)假設(shè)繼續(xù)按S1,那么光標(biāo)會(huì)在4個(gè)限值之間循環(huán)切換,當(dāng)光標(biāo)移動(dòng)到一個(gè)限值上時(shí),按下S2那么該限值加一,按下S4那么該限值減一,繼續(xù)按S1可更改光標(biāo)位置,全部設(shè)置完成后按下S3可退出設(shè)置,此時(shí)進(jìn)入運(yùn)行狀態(tài)。3.5.2報(bào)警硬件電路設(shè)計(jì)當(dāng)溫濕度超過所設(shè)定溫濕度閾值范圍時(shí),系統(tǒng)進(jìn)行聲光報(bào)警,同時(shí)相應(yīng)的指示燈指示出四種不同的報(bào)警原因,以便用戶迅速發(fā)現(xiàn)問題。本系統(tǒng)有四種報(bào)警狀態(tài),分別為溫度低于溫度下限,溫度高于溫度上限,濕度低于濕度下限,濕度高于濕度上限,報(bào)警時(shí),設(shè)置四盞不同的LED燈代表四種報(bào)警狀態(tài),因此需要四個(gè)I/O口來分別控制四盞燈,以及兩個(gè)個(gè)I/O口來控制蜂鳴器與報(bào)警燈。圖3.11報(bào)警電路硬件設(shè)計(jì)如圖3.11所示,四個(gè)LED〔LED1,LED2,LED3,LED4〕陽極接電源,陰極分別連接1K限流電阻后連接單片機(jī)的P3.4,P3.2,P3.7,P3.6。通過軟件實(shí)現(xiàn)報(bào)警功能,設(shè)定溫度范圍為溫度下限~溫度上限,濕度范圍為濕度下限~濕度上限。當(dāng)溫度低于溫度下限時(shí),P3.4=0,LED1點(diǎn)亮;當(dāng)溫度高于溫度上限時(shí),P3.7=0,LED3點(diǎn)亮;當(dāng)濕度低于濕度下限時(shí),P3.2=0,LED2點(diǎn)亮;當(dāng)濕度高于濕度上限時(shí),P3.6=0,LED4點(diǎn)亮。而不管何種情況,只要溫濕度不在設(shè)定范圍內(nèi),都會(huì)進(jìn)行聲光報(bào)警,蜂鳴器發(fā)出滴滴聲,報(bào)警燈會(huì)閃爍,即P2.0=0,8550PNP三極管接通,蜂鳴器接通發(fā)出聲音,可通過軟件間斷使P2.0=0,使蜂鳴器發(fā)出滴滴聲,間斷使P1.1=0,使報(bào)警燈閃爍。4系統(tǒng)軟件設(shè)計(jì)4.1程序設(shè)計(jì)語言與軟件開發(fā)環(huán)境簡介由于使用匯編語言編本系統(tǒng)程序較為繁雜,且不易移植可讀性差,所以使用KeilμVision4進(jìn)行編程,編程語言為C語言。KeilC51是美國KeilSoftware公司出品的兼容51系列單片機(jī)的C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C語言編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境〔uVision〕將這些局部組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果使用C語言編程,那么Keil幾乎就是不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)事半功倍,Keil的優(yōu)點(diǎn)如下所示:〔1〕KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能表達(dá)高級(jí)語言的優(yōu)勢。〔2〕與匯編相比,C語言具有可讀性強(qiáng)、結(jié)構(gòu)性強(qiáng)、可維護(hù)性強(qiáng)、更易學(xué)的特點(diǎn),因而應(yīng)用更為廣泛。使用過匯編語言后再使用C來開發(fā),對(duì)此體會(huì)更加深刻。4.2系統(tǒng)軟件總體設(shè)計(jì)本系統(tǒng)主要功能為:
〔1〕溫濕度實(shí)時(shí)、準(zhǔn)確的顯示。通過單總線數(shù)字式溫濕度傳感器進(jìn)行溫濕度采集,再通過單片機(jī)對(duì)采集到的數(shù)據(jù)進(jìn)行處理,由液晶顯示屏對(duì)當(dāng)前的溫度值和濕度值進(jìn)行顯示?!?〕鍵盤輸入。操作人員可根據(jù)不同作物在不同時(shí)期的最適宜生長環(huán)境,將溫度范圍和濕度范圍由鍵盤輸入,使得系統(tǒng)更靈活,同時(shí)也滿足了不同用戶的需求?!?〕超限報(bào)警功能。報(bào)警模塊具有兩項(xiàng)功能,即為聲光報(bào)警和GSM短信信息報(bào)警。當(dāng)采集到的溫度、濕度值超過設(shè)定范圍時(shí),立即啟動(dòng)聲光報(bào)警?!?〕溫濕度控制功能。通過將測得的溫濕度與設(shè)定的范圍進(jìn)行比擬,當(dāng)溫濕度值某一值超出范圍時(shí),相應(yīng)的LED燈亮,可同時(shí)通過并接繼電器,可以控制其它設(shè)備進(jìn)而控制溫濕度。系統(tǒng)總流程圖如圖4.1所示,當(dāng)系統(tǒng)通電后,先將LCD1602等初始化,然后與GSM模塊進(jìn)行聯(lián)機(jī),屢次嘗試聯(lián)機(jī),直到握手成功。然后再設(shè)置文本短信通信方式,設(shè)置成功后進(jìn)入主循環(huán)。主循環(huán)第一步為讀取DHT11的溫濕度數(shù)值并顯示,再檢測按鍵,假設(shè)按鍵1按下那么進(jìn)入設(shè)置模式,來進(jìn)行對(duì)溫濕度閾值的修改。假設(shè)未進(jìn)入設(shè)置或者設(shè)置成功后,那么將測得的溫濕度與閾值相比擬,假設(shè)超出范圍那么進(jìn)行聲光警報(bào),聲光警報(bào)后一段時(shí)間仍未解除報(bào)警那么發(fā)送GSM短信警報(bào)。圖4.1系統(tǒng)總流程圖voidsystem() //系統(tǒng)功能實(shí)現(xiàn)函數(shù){ dht11_got(); //從DHT11中讀取數(shù)據(jù) tmp_do(); //數(shù)據(jù)處理 tmprh_display(); //LCD1602顯示}主函數(shù)如下所示intmain(void){ uint8aj=0; //按鍵檢測uint8wz=0; //光標(biāo)位置uint8js1=0,js2=0; //超限計(jì)數(shù) RW=0;lcd_ini(); Serial_Init();//初始化串口 CLR_Buf();//去除緩存內(nèi)容 Delay_ms(Delay_Time); Send_ASCII("AT");//發(fā)送聯(lián)機(jī)指令 while(!Hand("OK"))//判斷是否握手成功,如果不成功延時(shí)一會(huì),再發(fā)送AT握手指令 { Send_ASCII("AT");//發(fā)送聯(lián)機(jī)指令 lcd_str(0,0,"initgsm"); Delay_ms(Delay_Time);//延時(shí) lcd_str(0,0,"initgsm*"); Delay_ms(Delay_Time);//延時(shí) } CLR_Buf();//去除緩存內(nèi)容 Delay_ms(Delay_Time);//延時(shí) Send_ASCII("AT+CMGF=1");//文本(TEXT)模式 while(!Hand("OK")) //等待設(shè)置成功 { Send_ASCII("AT+CMGF=1");//文本(TEXT)模式 lcd_str(0,0,"initgsm*"); Delay_ms(Delay_Time);//延時(shí) lcd_str(0,0,"initgsm**"); Delay_ms(Delay_Time);//延時(shí) } CLR_Buf();//去除緩存內(nèi)容 Delay_ms(Delay_Time);//延時(shí) Delay_ms(Delay_Time);//延時(shí) lcd_order(0x01);while(1) { system();delay(12000); aj=keyscan(); if(aj==1) //按鍵1按下時(shí),進(jìn)入設(shè)置狀態(tài),此時(shí)可以更改溫濕度范圍 { …… }if(TH_TMP>w2)//當(dāng)溫濕度超限時(shí),啟動(dòng)聲光報(bào)警,此處四種超限對(duì)應(yīng)四種led指示燈{d3=0;d0=0;fm=0;Delay_ms(20);d0=1;fm=1;Delay_ms(20);}elseif(TH_TMP<w1) {d1=0;d0=0;fm=0;Delay_ms(20);d0=1;fm=1;Delay_ms(20);}else{d1=d3=1;js1=0;}if(TH_RH>s2) {d4=0;d0=0;fm=0;Delay_ms(20);d0=1;fm=1;Delay_ms(20);}elseif(TH_RH<s1) {d2=0;d0=0;fm=0;Delay_ms(20);d0=1;fm=1;Delay_ms(20);}else{d2=d4=1;js2=0;} js1++;js2++; if(js1>50||js2>50) //溫濕度長時(shí)間超限時(shí),啟動(dòng)GSM報(bào)警 { js1=0; js2=0; if(TH_TMP>w2||TH_TMP<w1||TH_RH>s2||TH_RH<s1) { ……………… ……………… } } } }4.3溫濕度采集模塊軟件設(shè)計(jì)DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,具有極高的可靠性與穩(wěn)定性。傳感器擁有一個(gè)電阻式感濕元件和一個(gè)NTC測溫元件,并與一個(gè)高性能8位單片機(jī)相連接。產(chǎn)品為4針單排引腳封裝,單線制串行接口,使系統(tǒng)集成變得簡易快捷。它的串行接口〔單線雙向〕用于微處理器與DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時(shí)間4ms左右,數(shù)據(jù)分小數(shù)局部和整數(shù)局部,一次完整的數(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位[10]。用戶MCU發(fā)送一次開始信號(hào)后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開始信號(hào)結(jié)束后,DHT11發(fā)送響應(yīng)信號(hào),送出40bit的數(shù)據(jù),并觸發(fā)一次信號(hào)采集,用戶可選擇讀取局部數(shù)據(jù)。從模式下,DHT11接收到開始信號(hào)觸發(fā)一次溫濕度采集,如果沒有接收到主機(jī)發(fā)送開始信號(hào),DHT11不會(huì)主動(dòng)進(jìn)行溫濕度采集。采集數(shù)據(jù)后換到低速模式。通信過程如圖4.2示。圖4.2DHT11通信過程總時(shí)序圖如圖4.3所示,總線空閑狀態(tài)為高電平,主機(jī)把總線拉低等待DHT11響應(yīng),主機(jī)把總線拉低必須大于18毫秒,保證DHT11能檢測到起始信號(hào)。DHT11接收到主機(jī)的開始信號(hào)后,等待主機(jī)開始信號(hào)結(jié)束,然后發(fā)送80us低電平響應(yīng)信號(hào)。主機(jī)發(fā)送開始信號(hào)結(jié)束后,延時(shí)等待20-40us后,讀取DHT11的響應(yīng)信號(hào),主機(jī)發(fā)送開始信號(hào)后,可以切換到輸入模式,或者輸出高電平均可,總線由上拉電阻拉高。流程圖如圖4.4所示。圖4.3DHT11通信過程詳細(xì)時(shí)序圖圖4.4DHT11通信過程流程圖總線為低電平,說明DHT11發(fā)送響應(yīng)信號(hào),DHT11發(fā)送響應(yīng)信號(hào)后,再把總線拉高80us,準(zhǔn)備發(fā)送數(shù)據(jù),每一bit數(shù)據(jù)都以50us低電平時(shí)隙開始,高電平的長短定了數(shù)據(jù)位是0還是1。格式見下列圖4.4示。如果讀取響應(yīng)信號(hào)為高電平,那么DHT11沒有響應(yīng),請(qǐng)檢查線路是否連接正常。當(dāng)最后1bit數(shù)據(jù)傳送完畢后,DHT11拉低總線50us,隨后總線由上拉電阻拉高進(jìn)入空閑狀態(tài)。數(shù)字0信號(hào)表示方法如圖4.5所示。圖4.5DHT11傳輸信號(hào)時(shí)數(shù)字0表示方法數(shù)字1信號(hào)表示方法如圖4.6所示。圖4.6DHT11傳輸信號(hào)時(shí)數(shù)字1表示方法函數(shù)名:dht11_ini。返回值:ans,為1時(shí)是指收到DHT11的應(yīng)答信號(hào),為0時(shí)是指未收到DHT11的應(yīng)答信號(hào)。功能:向溫濕度傳感器發(fā)送開始信號(hào)。uint8dht11_ini(){bitans;DHT11=1; //主機(jī)拉高電平delay(1);DHT11=0; //主機(jī)發(fā)送開始信號(hào)delay(1000);DHT11=1; //拉高并延時(shí)等待delay(3);if(!DHT11)//接收應(yīng)答信號(hào) ans=1; //接收到應(yīng)答信號(hào)時(shí)為1elseans=0;while(!DHT11); //等待應(yīng)答完成returnans;}函數(shù)名:dht11_read返回值:date,從DHT11中讀出的數(shù)據(jù)功能:從DHT11中讀一個(gè)字節(jié)的數(shù)據(jù)uint8dht11_read(){uint8i,date=0;DHT11=1;TMOD=0X01;TH0=0X00;while(DHT11);//等待從機(jī)發(fā)送80us的高電平完成for(i=0;i<8;i++){ TL0=0X00; //定時(shí)器初使化 while(!DHT11);//等待從機(jī)發(fā)送50us的低電平完成 TR0=1; //開啟定時(shí)器 while(DHT11); //等待從機(jī)發(fā)送的高電平完成 TR0=0; //關(guān)啟定時(shí)器 date<<=1; //數(shù)據(jù)左移以便接收數(shù)據(jù) if(TL0>35) //拫據(jù)高電平的時(shí)間來判斷從機(jī)發(fā)送的是0還是1 date|=0x01;//接收數(shù)據(jù) }returndate;}函數(shù)名:dht11_got功能:從DHT11中讀溫度的整小數(shù),濕度的整小數(shù),校驗(yàn)碼voiddht11_got(){if(dht11_ini()) //發(fā)送開始信號(hào) { TH_RH=dht11_read(); //濕度的整數(shù) TL_RH=dht11_read(); //濕度的小數(shù) TH_TMP=dht11_read(); //溫度的整數(shù) TL_TMP=dht11_read(); //溫度的小數(shù) CRC=dht11_read(); //讀較驗(yàn)碼 }}4.4GSM通訊模塊軟件設(shè)計(jì)華為GTM900-B無線模塊是一款兩頻段900/1800MHZ高度集成的GSM/GPRS無線模塊,內(nèi)嵌TCP/IP協(xié)議模塊,使用簡單,易于集成。它支持標(biāo)準(zhǔn)的AT命令及增強(qiáng)AT命令,提供豐富的語音和數(shù)據(jù)業(yè)務(wù)等功能,是高速數(shù)據(jù)傳輸?shù)雀鞣N應(yīng)用的理想解決方案,在遠(yuǎn)程監(jiān)控和無線公話以及無線POS終端等領(lǐng)域您都能看到GTM900B無線模塊在發(fā)揮作用。AT指令集是從終端設(shè)備〔TerminalEquipment,TE)或數(shù)據(jù)終端設(shè)備〔DataTerminalEquipment,DTE)向終端適配器(TerminalAdapter,TA)或數(shù)據(jù)電路終端設(shè)備(DataCircuitTerminalEquipment,DCE)發(fā)送的。其對(duì)所傳輸?shù)臄?shù)據(jù)包大小有定義:即對(duì)于AT指令的發(fā)送,除AT兩個(gè)字符外,最多可以接收1056個(gè)字符的長度〔包括最后的空字符〕。每個(gè)AT命令行中只能包含一條AT指令;對(duì)于由終端設(shè)備主動(dòng)向PC端報(bào)告的URC指示或者response響應(yīng),也要求一行最多有一個(gè),不允許上報(bào)的一行中有多條指示或者響應(yīng)。AT指令以回車作為結(jié)尾,響應(yīng)或上報(bào)以回車換行為結(jié)尾。標(biāo)準(zhǔn)AT命令如表1所示。表1常用AT命令[11]AT命令功能AT+CMGC發(fā)出一條短消息命令A(yù)T+CMGD刪除SIM卡內(nèi)存的短消息AT+CMGF選擇短消息信息格式:0-PDU;1-文本AT+CMGL列出SIM卡中的短消息AT+CMGR讀取短消息AT+CMGS發(fā)送短消息AT+CMGW向SIM內(nèi)存中寫入待發(fā)的短消息AT+CMSS發(fā)送存儲(chǔ)的消息AT+CNMI顯示新收到的短消息AT+CPMS選擇短消息內(nèi)存AT+CSCA短消息中心地址AT+CSCB選擇蜂窩播送消息AT+CSMP設(shè)置短消息文本模式參數(shù)AT+CSMS選擇短消息效勞其中對(duì)短消息的控制共有三種模式:BlockMode,基于AT命令的PDUMode,基于AT命令的TextMode。由于本系統(tǒng)采用短信通知的方式,僅僅使用了發(fā)短信通知,所以本文著重介紹一下發(fā)送消息:AT+CMGSif(TH_TMP>w2||TH_TMP<w1||TH_RH>s2||TH_RH<s1) { fm=1;d0=1; lcd_order(0x01); Serial_Init();//初始化串口 CLR_Buf();//去除緩存內(nèi)容 Delay_ms(Delay_Time);//延時(shí) while(!Hand(">")) { Delay_ms(Delay_Time);//延時(shí) } CLR_Buf();//去除緩存內(nèi)容 Delay_ms(Delay_Time);//延時(shí) lcd_str(0,0,"Sending..."); neirong(); while(!Hand("OK")) { Delay_ms(Delay_Time);//延時(shí) } CLR_Buf();//去除緩存內(nèi)容 lcd_order(0x01); lcd_str(0,0,"SendingOK"); fm=0;Delay_ms(20);fm=1;Delay_ms(20); Delay_ms(20);Delay_ms(20);Delay_ms(20);Delay_ms(20);Delay_ms(20);Delay_ms(20); }4.5LCD1602顯示模塊軟件設(shè)計(jì)LCD1602是指可以顯示兩行,每行16個(gè)字符的液晶模塊。它具有功耗低、體積小、可視面積大,畫面好,抗干擾能力強(qiáng),顯示內(nèi)容豐富且美觀的特點(diǎn)。1602液晶模塊內(nèi)部的控制器共有11條控制指令,1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。常用的LCD1602指令有清顯示、顯示開關(guān)控制,光標(biāo)返回及光標(biāo)或字符移位等等的命令LCD1602控制指令如表2所示,其中,1代表高電平,0代表低電平:表2LCD1602控制指令序號(hào)指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(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寫數(shù)到CGRAM或DDRAM〕10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平那么無效。指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(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)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號(hào)和光標(biāo)地址BF為忙標(biāo)志位,高電平表示忙,低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。與HD44780相兼容的芯片時(shí)序表見表3:表3與HD44780相兼容的芯片時(shí)序表讀狀態(tài)輸入RS=L,R/W=H,E=H輸出D0—D7=狀態(tài)字寫指令輸入RS=L,R/W=L,D0—D7=指令碼,E=高脈沖輸出無讀數(shù)據(jù)輸入RS=H,R/W=H,E=H輸出D0—D7=數(shù)據(jù)寫數(shù)據(jù)輸入RS=H,R/W=L,D0—D7=數(shù)據(jù),E=高脈沖輸出無1602LCD的一般初始化〔復(fù)位〕過程:延時(shí)15mS寫指令38H〔不檢測忙信號(hào)〕延時(shí)5mS寫指令38H〔不檢測忙信號(hào)〕延時(shí)5mS寫指令38H〔不檢測忙信號(hào)〕以后每次寫指令、讀/寫數(shù)據(jù)操作均需要檢測忙信號(hào)寫指令38H:顯示模式設(shè)置寫指令08H:顯示關(guān)閉寫指令01H:顯示清屏寫指令06H:顯示光標(biāo)移動(dòng)設(shè)置寫指令0CH:顯示開及光標(biāo)設(shè)置函數(shù)名:lcd_ini功能:LCD1602的初始化voidlcd_ini(){ lcd_order(0x38); //設(shè)置1602的顯示光標(biāo)功能 delay(150); lcd_order(0x0c); //顯示開及光標(biāo)設(shè)置 delay(150); lcd_order(0x06); //顯示光標(biāo)移動(dòng)設(shè)置 delay(150); lcd_order(0x01); //顯示清屏 delay(150);}函數(shù)名:lcd_order行參:date要定入的指令功能:向LCD1602的寫1個(gè)指令voidlcd_order(uint8date){RS=0; //選擇寫指令//RW=0;EN_LCD=0; //使能初使化P0=date; //發(fā)送指令EN_LCD=1; //開使能delay(300); //延時(shí)EN_LCD=0; //關(guān)使能}函數(shù)名:lcd_data行參:date要定入的數(shù)據(jù)功能:向LCD1602的寫1個(gè)數(shù)據(jù)voidlcd_data(uint8date){RS=1; //選擇寫數(shù)據(jù)//RW=0;EN_LCD=0; //使能初使化P0=date; //發(fā)送數(shù)據(jù)EN_LCD=1; //開使能delay(300); //延時(shí)EN_LCD=0; //關(guān)使能}函數(shù)名:tmprh_display()功能:溫濕度顯示處理voidtmprh_display(){ uint8i; lcd_order(0x80); for(i=0;i<16;i++) lcd_data(dis1[i]); lcd_order(0xc0); for(i=0;i<16;i++) lcd_data(dis2[i]);}voidlcd_str(uint8hang,uint8lie,uint8*s){ if(hang==0) { lcd_order(0x80+lie); } else { lcd_order(0xc0+lie); } while(*s) { lcd_data(*s); //寫入一個(gè)數(shù)據(jù) s++; //數(shù)據(jù)指針加1 }}4.6鍵盤軟件設(shè)計(jì)由于通常按鍵所用的開關(guān)是機(jī)械開關(guān),當(dāng)開關(guān)閉合、斷開時(shí)并不能馬上穩(wěn)定地接通和斷開,而是在閉合與斷開瞬間均伴隨有一連串的抖動(dòng)。為了確保CPU對(duì)鍵的一次閉合僅做一次處理,必須要在程序或硬件上進(jìn)行防抖處理。為節(jié)省硬件,通常在單片機(jī)系統(tǒng)中,一般不采用硬件方法消除鍵的抖動(dòng),而是用軟件消抖方法。常用的軟件消抖法一般為測得按鍵閉合后延時(shí)5-10ms,讓前延抖動(dòng)消失后再一次檢測鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,那么確認(rèn)真正有鍵按下。當(dāng)測得按鍵釋放后,也要延時(shí)5-10ms,待后延抖動(dòng)消失后才轉(zhuǎn)入該鍵處理程序。本文使用常用的軟件消抖法。例如按鍵1的檢測,進(jìn)入按鍵檢測程序時(shí),首先檢測按鍵1是否被按下,假設(shè)檢測到按鍵1已被按下,那么延時(shí)一定時(shí)間后再次檢測按鍵1是否被按下,假設(shè)檢測到按鍵1確實(shí)被按下時(shí),那么等待按鍵1松開后,返回值1,即返回按鍵1被按下這一信息。按鍵1檢測流程圖請(qǐng)見圖4.7。圖4.7按鍵1檢測流程圖uint8keyscan() //按鍵掃描程序 { if(k1==0) //檢測按鍵1是否被按下 { Delay_ms(5); //延時(shí) if(k1==0) //再次檢測按鍵1是否被按下{while(k1==0); //按鍵1松開后返回值1return1; }} elseif(k2==0) //檢測按鍵2是否被按下 {…………} elseif(k3==0) //檢測按鍵3是否被按下 {…………} elseif(k4==0) //檢測按鍵4是否被按下 {…………}elsereturn0;}4.7報(bào)警軟件設(shè)計(jì)當(dāng)溫濕度超過設(shè)定的溫濕度閾值范圍時(shí),系統(tǒng)進(jìn)行聲光報(bào)警,同時(shí)相應(yīng)的指示燈指示出四種不同的報(bào)警原因,以便用戶迅速發(fā)現(xiàn)問題。本系統(tǒng)有四種報(bào)警狀態(tài),分別為溫度低于溫度下限,溫度高于溫度上限,濕度低于濕度下限,濕度高于濕度上限,報(bào)警時(shí),設(shè)置四盞不同的LED燈代表四種報(bào)警狀態(tài),因此需要四個(gè)I/O口來分別控制四盞燈,以及兩個(gè)I/O口來控制蜂鳴器與報(bào)警燈。如圖4.8所示,系統(tǒng)讀取DHT11傳感器的溫濕度數(shù)據(jù)后,將溫度與濕度與溫濕度的上下限進(jìn)行比擬,當(dāng)溫度低于溫度下限時(shí),P3.4=0,LED1點(diǎn)亮;當(dāng)溫度高于溫度上限時(shí),P3.7=0,LED3點(diǎn)亮;當(dāng)濕度低于濕度下限時(shí),P3.2=0,LED2點(diǎn)亮;當(dāng)濕度高于濕度上限時(shí),P3.6=0,LED4點(diǎn)亮。而不管何種情況,只要溫濕度不在設(shè)定范圍內(nèi),系統(tǒng)都會(huì)進(jìn)行聲光報(bào)警,即P2.0=0,蜂鳴器接通發(fā)出聲音,P1.1=0,LED0亮??赏ㄟ^軟件延時(shí)間斷使P2.0=0,P1.1=0,使蜂鳴器發(fā)出滴滴聲,LED0閃爍?!睱ED1,LED2,LED3,LED4分別由P3.4,P3.2,P3.7,P3.6控制〕圖4.8聲光報(bào)警程序流程圖if(TH_TMP>w2) //溫度大于溫度上限時(shí){ d3=0;d0=0; //LED3亮fm=0; //蜂鳴器響Delay_ms(20); //延時(shí),蜂鳴器繼續(xù)響d0=1;fm=1; //蜂鳴器關(guān)Delay_ms(20);}elseif(TH_TMP<w1) {d1=0;d0=0;fm=0;Delay_ms(20);d0=1;fm=1;Delay_ms(20);}else{d1=d3=1;js1=0;//如果溫度在范圍內(nèi),那么LED1,LED3滅,報(bào)警計(jì)數(shù)js1清零if(TH_RH>s2) //濕度大于濕度上限{d4=0;d0=0;fm=0; //LED4亮,蜂鳴器響Delay_ms(20); //延時(shí),蜂鳴器繼續(xù)響d0=1;fm=1; //關(guān)蜂鳴器Delay_ms(20);}elseif(TH_RH<s1) {d2=0;d0=0;fm=0;Delay_ms(20);d0=1;fm=1;Delay_ms(20);}else{d2=d4=1;js2=0;} //如果濕度在范圍內(nèi),那么LED2,LED4滅,報(bào)警計(jì)數(shù)js2清零5系統(tǒng)調(diào)試及運(yùn)行5.1硬件調(diào)試在系統(tǒng)原理圖完成后,按原理圖焊接電路板,并連接GSM通信模塊。通電前認(rèn)真檢查電路有無錯(cuò)誤,對(duì)照電路圖,一個(gè)模塊一個(gè)模塊地檢查。由于之前焊接的時(shí)候一邊焊接一邊檢查,及時(shí)在焊接的時(shí)候糾正錯(cuò)誤,所以此時(shí)硬件電路完全和原理圖一致,沒有發(fā)現(xiàn)任何錯(cuò)誤。然后著重檢查三極管極性與二極管方向是否接反,芯片引腳是否接錯(cuò),輕輕拔一下器件看看是否牢固,沒有發(fā)現(xiàn)任何問題。然后用萬用表測量電源正與電源負(fù)是否短路,一切正常。但是最后在安裝銅柱的時(shí)候,發(fā)現(xiàn)由于板子較小,一開始布局的時(shí)候沒有考慮周全,發(fā)現(xiàn)有一個(gè)銅柱安裝時(shí)會(huì)與一個(gè)電阻擠到一起,無法很好地安裝,但此時(shí)電路已不方便修改,只能吸取教訓(xùn),以后焊接之前要考慮好布局。在確定電路不短路了以后,嘗試通電運(yùn)行,沒有發(fā)現(xiàn)冒煙,聲光等等的異常問題,所有功能正常,未發(fā)現(xiàn)任何問題。但是在屢次測試運(yùn)行之后,發(fā)現(xiàn)LCD1602經(jīng)常出現(xiàn)亮度忽明忽暗,整個(gè)系統(tǒng)會(huì)突然重啟的問題。于是我先檢查電路有無虛焊問題,有無元器件松動(dòng)問題,有無銅絲相互短路的問題。最后發(fā)現(xiàn)這些都沒有問題,但是在一次偶然的調(diào)試過程中,發(fā)現(xiàn)扭動(dòng)USB供電線的時(shí)候會(huì)直接造成LCD1602的通斷電,最后發(fā)現(xiàn)該USB供電線質(zhì)量問題,更換USB供電線即可。在最后進(jìn)行GSM通信調(diào)試時(shí),發(fā)現(xiàn)由于自己和周圍的同學(xué)都是小的SIM卡,無法將其安裝在GSM模塊上,于是在初期調(diào)試的時(shí)候只能用小卡直接按在SIM卡槽的金手指上,并且按住不動(dòng),再進(jìn)行調(diào)試。但是為了能夠更好地演示,最后購置了一張大卡進(jìn)行調(diào)試與演示。5.2運(yùn)行結(jié)果〔1〕大棚溫濕度檢測系統(tǒng)溫濕度的采集與顯示展示如圖5.1所示,本系統(tǒng)主要硬件由主電路板、GSM模塊、USB電源線、DC直流電源線組成。其中主電路由單片機(jī)最小系統(tǒng)、DHT11溫濕度傳感器、LCD1602液晶顯示、聲光報(bào)警系統(tǒng)、按鍵等等組成。圖5.1大棚溫濕度監(jiān)測系統(tǒng)總體展示首先將SIM卡插入GSM模塊SIM卡槽中,然后接通GSM模塊電源,接通后GSM模塊紅色電源指示燈常亮,黃色信號(hào)指示燈滅。此時(shí)按下GSM模塊復(fù)位按鍵,GSM模塊重新啟動(dòng),此時(shí)黃色指示燈常亮。啟動(dòng)完成后開始搜索信號(hào),同時(shí)黃色指示燈每一秒閃一下,待GSM模塊成功搜到信號(hào)并成功接入GSM網(wǎng)絡(luò)后,黃色指示燈滅3s閃75ms,此時(shí)表示接入網(wǎng)絡(luò)成功。假設(shè)遇到黃色指示燈一直每一秒閃爍一次時(shí),此時(shí)應(yīng)檢查SIM卡是否接反。GSM模塊如圖5.2所示。圖5.2GSM模塊然后接通主電路板電源,接通后主電路板會(huì)與GSM模塊進(jìn)行聯(lián)機(jī),并設(shè)置GSM模塊為文本短信工作方式。聯(lián)機(jī)成功后會(huì)顯示“initgsm**〞,設(shè)置文本短信工作方式成功后會(huì)清屏進(jìn)入溫濕度實(shí)時(shí)檢測與顯示階段。聯(lián)機(jī)成功畫面如圖5.3所示。圖5.3主電路與GSM模塊聯(lián)機(jī)成功時(shí)LCD1602顯示內(nèi)容進(jìn)入溫濕度實(shí)時(shí)檢查與顯示階段時(shí),DHT11會(huì)周期性檢測大棚的溫度與濕度,并由LCD1602實(shí)時(shí)顯示。如圖5.4所示,LCD1602顯示內(nèi)容的第一行為“#RH**:56./40-60〞,其中RH是指濕度,56為DHT11實(shí)時(shí)測得的濕度,40-60是指濕度的閾值。而“#TE**:31./20-35〞的TE是指溫度,31這一數(shù)值為DHT11實(shí)時(shí)測得的溫度,而20-35為溫度的閾值。此時(shí)可以通過按下菜單/切換按鍵進(jìn)入溫濕度閾值的設(shè)置,按下菜單/切換按鍵可以更改溫濕度的上下限值,如圖5.4所示,此時(shí)按下數(shù)值加或數(shù)值減,可對(duì)濕度的上限進(jìn)行更改,按下返回鍵可以退出更改。圖5.4溫濕度閾值設(shè)置界面〔2〕現(xiàn)場警報(bào)如圖5.5所示,此時(shí)溫度超過溫度上限,系統(tǒng)進(jìn)入聲光報(bào)警狀態(tài)。LED0閃爍,蜂鳴器滴滴響,同時(shí)與溫度上限對(duì)應(yīng)的LED3常亮,指出報(bào)警原因?yàn)闇囟瘸^上限。圖5.5現(xiàn)場警報(bào)畫面〔3〕遠(yuǎn)程報(bào)警當(dāng)現(xiàn)場報(bào)警一段時(shí)間后,溫濕度仍然不在設(shè)置閾值內(nèi)時(shí),啟動(dòng)GSM報(bào)警。系統(tǒng)發(fā)送短信到指定號(hào)碼,首先LCD1602會(huì)顯示指定的號(hào)碼。如圖5.6所示。圖5.4系統(tǒng)準(zhǔn)備發(fā)送短信時(shí)界面如
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度國際會(huì)議及展覽活動(dòng)宣傳推廣合同3篇
- 二零二五年度建筑管道系統(tǒng)安裝服務(wù)合同2篇
- 2025年度個(gè)人委托新能源儲(chǔ)能技術(shù)投資合同3篇
- 商鋪售后返租合同中的履約保障與爭議解決(2025年版)2篇
- 二零二五年度建筑玻璃幕墻工程勞務(wù)分包及安全評(píng)估協(xié)議3篇
- 2025年度氣體滅火系統(tǒng)研發(fā)與生產(chǎn)合作協(xié)議
- 二零二五年度城市綠化帶植物病蟲害防治合同3篇
- 2025版壓路機(jī)設(shè)備翻新改造與租賃合同范本3篇
- 二零二五年度商用機(jī)動(dòng)車買賣合同范本3篇
- 高速公路交通安全宣傳教育活動(dòng)合同(二零二五版)3篇
- 場地委托授權(quán)
- 2024年四川省成都市龍泉驛區(qū)中考數(shù)學(xué)二診試卷(含答案)
- 項(xiàng)目工地春節(jié)放假安排及安全措施
- 印染廠安全培訓(xùn)課件
- 紅色主題研學(xué)課程設(shè)計(jì)
- 胸外科手術(shù)圍手術(shù)期處理
- 裝置自動(dòng)控制的先進(jìn)性說明
- 《企業(yè)管理課件:團(tuán)隊(duì)管理知識(shí)點(diǎn)詳解PPT》
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(吳洪貴)任務(wù)二 軟文的寫作
- 英語詞匯教學(xué)中落實(shí)英語學(xué)科核心素養(yǎng)
- 《插畫設(shè)計(jì)》課程標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論