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

下載本文檔

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

文檔簡介

蔬菜大棚溫度控制系統(tǒng)設(shè)計蔬菜大棚溫度控制系統(tǒng)設(shè)計蔬菜大棚溫度控制系統(tǒng)設(shè)計資料僅供參考文件編號:2022年4月蔬菜大棚溫度控制系統(tǒng)設(shè)計版本號:A修改號:1頁次:1.0審核:批準:發(fā)布日期:目錄TOC\o"1-3"\h\u523摘要 I14748ABSTRACT II1531第1章緒論 126074選題背景 123740國內(nèi)發(fā)展現(xiàn)狀及水平 117478設(shè)計目的及意義 114858本章小結(jié) 224776第2章系統(tǒng)功能需求分析及方案選擇 327868設(shè)計要求

315975系統(tǒng)的功能需求分析 317508硬件功能需求分析 317508軟件功能需求分析 428355工作原理 430221控制方案 423209主控制系統(tǒng)方案 423209溫度采集系統(tǒng)方案 521596顯示模塊方案 527618機械控制系統(tǒng)方案 527618系統(tǒng)控制方案的確定 627618本章小結(jié) 726077第3章硬件電路設(shè)計 92803主控制器AT89C51單片機電路 99354AT89C51功能介紹 914187單片機最小系統(tǒng)電路說明 912617溫度采集電路 1030689DS18B20基本功能 1025713DS18B20的電路連接原理 111768顯示模塊電路 1111136LCD1602基本功能

123186顯示模塊電路連接原理 1225950鍵盤輸入模塊電路 1328541鍵盤功能及其電路連接 1314825機械控制電路模塊 1327137降溫模塊電路 1427137升溫模塊電路 153731蜂鳴器報警電路 156520電源輸入部分

162406本章小結(jié) 1722647第4章系統(tǒng)軟件設(shè)計 1923717系統(tǒng)主程序流程 1921034DS18B20測溫讀取子程序 2010459LCD1602顯示子程序 2128662機械控制子程序 2111498定時器子程序 2212153本章小結(jié) 2328536第5章系統(tǒng)調(diào)試與仿真 2515527系統(tǒng)調(diào)試 2516641系統(tǒng)仿真 2530194仿真結(jié)果 2628536第6章結(jié)論 2716403致謝 2928536參考文獻 3128536附錄 3328536附錄1硬件電路原理圖 3328536附錄2元件清單表 3423046附錄3源程序清單 35摘要本設(shè)計完成了蔬菜大棚溫度控制系統(tǒng)的系統(tǒng)設(shè)計。系統(tǒng)選用AT89C51單片機作為控制器,利用DS18B20數(shù)字溫度傳感器實時監(jiān)測大棚當前溫度,以加熱燈泡和電機作為執(zhí)行器,進行溫度控制。采用Proteus軟件繪制系統(tǒng)硬件電路圖,以C語言為編程語言,利用Keil平臺,完成了系統(tǒng)的軟件開發(fā),并進行了仿真。仿真結(jié)果表明,控制系統(tǒng)基本能夠?qū)崿F(xiàn)檢測溫度、降溫和升溫的功能,特別是以不同的工作模式工作時,通過PWM脈寬調(diào)制技術(shù)控制的電機以不同的轉(zhuǎn)速工作,滿足基本的設(shè)計需求。關(guān)鍵詞:AT89C51,DS18B20,溫度控制

ABSTRACTThedesigniscompletedthesystemdesignvegetablegreenhousetemperaturecontrolsystem.AT89C51microcontrollerasthecontrollersystemselected,usingdigitaltemperaturesensorDS18B20real-timemonitoringgreenhousecurrenttemperature,heatinglampandmotorsasactuatorsfortemperaturecontrol.Proteususessoftwarerenderingsystemhardwarecircuit,withClanguageprogramminglanguage,usingKeilplatformtocompletesoftwaredevelopmentsystem,andsimulation.Thesimulationresultsshowthatthecontrolsystemisbasicallypossibletodetectthetemperature,coolingandheatingfunction,especiallyinthedifferentoperatingmodesofwork,byamotorcontrolPWMpulsewidthmodulationtechnologyworkatdifferentspeedstomeetthebasicdesignrequirements.Keywords:AT89C51,DS18B20,temperaturecontrol第1章緒論選題背景在生活中,能量對于所有生物的重要性不言而喻,而溫度則是能量的一個很重要的體現(xiàn),所有生物跟溫度都有著密不可分的關(guān)系。自從第一次工業(yè)革命以來,溫度的控制對于工業(yè)的發(fā)展有著十分重要的作用,可以說掌控了溫度,就掌控了工業(yè)發(fā)展的命脈。中國是個農(nóng)業(yè)大國,而有農(nóng)作物的生長跟溫度有很大的關(guān)系,因此可以說溫度的控制在農(nóng)業(yè)的生產(chǎn)中也十分重要。限制我國農(nóng)業(yè)發(fā)展的兩個難題是耕地面積少和氣候條件復(fù)雜,雖然說中國地大物博,但人口眾多,耕地面積少,加上日益破壞嚴重的環(huán)境,人均占有的耕地面積就更少,這極大的制約了我國農(nóng)業(yè)的發(fā)展。溫室大棚技術(shù)的出現(xiàn)就是其中一個解決這兩個難題的好方法。溫室大棚通過溫度控制建立一個適合農(nóng)作物生長的人工氣候環(huán)境,從而大大提高農(nóng)作物產(chǎn)量。同時,溫室大棚幾乎可以建立在任何地方和任何環(huán)境,不用考慮地理因素和和環(huán)境因素,因此可以很好的解決制約農(nóng)業(yè)發(fā)展中耕地面積少和氣候條件差這兩個難題,為農(nóng)業(yè)的發(fā)展帶來巨大的貢獻。國內(nèi)發(fā)展現(xiàn)狀及水平隨著生活水平不斷提高,人們在解決溫飽之后對生活的質(zhì)量也有很高的要求,對綠色食物尤其是蔬菜的需求就在不斷的增加。傳統(tǒng)的農(nóng)業(yè)生產(chǎn)帶有很強季節(jié)性,即蔬菜的產(chǎn)量跟季節(jié)或自然環(huán)境有很大的關(guān)聯(lián),當季節(jié)不適合或自然環(huán)境不好時,其產(chǎn)量將大大降低,這就不能滿足人們的需求,而蔬菜大棚的出現(xiàn)則能很好的解決這一難題。蔬菜大棚的主要技術(shù)核心之一是溫度控制,目前我國最常用的蔬菜大棚溫度控制的方法是通過人工在蔬菜大棚內(nèi)裝上溫度計,然后通過讀取溫度計上顯示的溫度值得到大棚的當前溫度,再把得到的當前溫度與設(shè)定溫度進行比較,看當前溫度是過高還是過低,然后再進行相對應(yīng)的降溫還是升溫[10]。這種人工監(jiān)控方法不僅費時費力,成本高,而且誤差大,隨機性大,其調(diào)節(jié)措施也有很大的局限性。因此,我們需要一種造價低廉、測量準確以及控制方便的溫度控制系統(tǒng)來解決這些難題。設(shè)計目的及意義單片機控制技術(shù)的出現(xiàn)為我們解決蔬菜大棚中溫度控制的難題提供了很好的思路。單片機在現(xiàn)代的控制領(lǐng)域中被稱之為小電腦,被越來越多的應(yīng)用到現(xiàn)代的生活中[13]。在蔬菜大棚中進行溫度控制時,采用單片機來控制溫度的自動控制系統(tǒng),其具有可靠性高、精度高、功能強以及造價低廉等的優(yōu)點,這些優(yōu)點可以大幅度提高被控溫度的各項技術(shù)指標,給蔬菜提供一個適合生長的環(huán)境,從而大大提高蔬菜的生產(chǎn)質(zhì)量和數(shù)量[1]。除此之外,在傳統(tǒng)的大棚中,電機的轉(zhuǎn)速在不同的溫度下其轉(zhuǎn)速都是一樣的,當溫度超過上限設(shè)定溫度但不是很高的時候基本不會出現(xiàn)問題。但溫度超過上限設(shè)定溫度很多時,如果電機還是以較慢的轉(zhuǎn)速開始工作,則會因為降溫不及時而導(dǎo)致蔬菜生長受到影響。考慮到傳統(tǒng)蔬菜大棚的這一缺陷,在本設(shè)計中運用PWM脈寬調(diào)制技術(shù)控制電機的轉(zhuǎn)速[2],避免出現(xiàn)上述提到的問題。同時,自動控制也將節(jié)省大量的人力和財力,給農(nóng)民帶來更高的收入。因此,采用單片機控制蔬菜大棚溫度的自動控制系統(tǒng)比傳統(tǒng)的人工控制具有不可比擬的優(yōu)勢,它為現(xiàn)代農(nóng)業(yè)的發(fā)展提供了強大的技術(shù)支持,并指明了方向。本文的組織結(jié)構(gòu)如下:在第二章中分析了控制系統(tǒng)的硬件和軟件功能需求,提出問題。在第三章內(nèi)容中分模塊進行電路設(shè)計,完成系統(tǒng)的總體電路設(shè)計。在第四章中根據(jù)系統(tǒng)流程圖完成系統(tǒng)的軟件開發(fā)。第五章運用Proteus軟件和Keil程序編寫軟件對系統(tǒng)硬件和軟件進行仿真并分析仿真結(jié)果。第六章中是整個設(shè)計的結(jié)論,并對論文進行總結(jié)。本章小結(jié)本章節(jié)首先給出此次設(shè)計的選題背景和國內(nèi)發(fā)展現(xiàn)狀及水平,說明蔬菜大棚存在的問題,然后通過設(shè)計目的及意義闡明研究問題的技術(shù)要點和方向,為下一步的系統(tǒng)功能需求分析和方案選擇打好基礎(chǔ),并在本章節(jié)的最后給出論文的結(jié)構(gòu)。第2章系統(tǒng)功能需求分析及方案選擇完整的控制系統(tǒng)一般包含了多個部分的電路,每一部分電路可以由多種方案實現(xiàn),但每一種方案在實現(xiàn)所需要的功能時,其電路在精確度、復(fù)雜程度、可行性分析等方面都各有所不同。為了使整個系統(tǒng)電路變的簡單,制作成本低,精準度高,可行性好,本章將對整個系統(tǒng)的電路進行拆分,依次對每一部分電路的選擇方案進行論證,使用最優(yōu)的方案達到最優(yōu)控制的目的。設(shè)計要求

本次設(shè)計需要設(shè)計一個蔬菜大棚溫度控制系統(tǒng),其具體要求如下:

蔬菜大棚設(shè)定的初始上下限溫度值分別為30℃和20℃,也可以由人為調(diào)控設(shè)定,并通過顯示器顯示出上下限溫度值和實時溫度值,其最小的區(qū)分度為1℃。當實時溫度在上下限溫度之間時,表示系統(tǒng)溫度處于正常狀態(tài),機械控制模塊不工作;當實時溫度高于上限溫度時,蜂鳴器發(fā)出聲音進行報警,機械控制模塊控制降溫設(shè)備進行散熱降溫,同時要求當實時溫度超過上限溫度越多,散熱越快。當溫度回降到上下限的中間值即25℃時,降溫設(shè)備停止工作。當實時溫度低于下限溫度時,蜂鳴器發(fā)出聲音進行報警,機械控制模塊控制升溫設(shè)備進行加熱升溫;當溫度回升到上下限的中間值即25℃時,升溫設(shè)備停止工作。系統(tǒng)的功能需求分析系統(tǒng)的功能需求分析包括硬件功能需求分析和軟件功能需求分析。根據(jù)設(shè)計要求和系統(tǒng)的功能需求分析,得到系統(tǒng)的功能需求。硬件功能需求分析首先,需要選擇一個主控制器來進行數(shù)據(jù)的檢測和處理,在大棚溫度控制的過程中需要加熱以及散熱,所以在硬件系統(tǒng)中需要一個加熱燈泡和電風(fēng)扇,電風(fēng)扇用電機代替。當通過主控制器檢測到溫度低于設(shè)定的溫度下限時,則啟動加熱燈泡開始對空氣溫度進行加熱升溫,讓系統(tǒng)的溫度保持在所設(shè)定溫度上下限值的范圍內(nèi)。在此過程中用到的溫度傳感裝置為DS18B20,主控制器通過接收傳感器傳回的溫度數(shù)據(jù),判斷是否在所設(shè)定溫度上下限值的范圍內(nèi)。在本設(shè)計中當溫度超過設(shè)定溫度上限越多,電機轉(zhuǎn)動的越快,這就需要控制電機速度[2],根據(jù)電機所學(xué)知識,電機的轉(zhuǎn)速與施加在電機兩端的電壓大小成正比,但是電機在接入電壓后轉(zhuǎn)速不會立即到最大值,而使在經(jīng)過一段時間的加速后才會到達當前電壓下的最大轉(zhuǎn)速。在電機的速度控制程序中,通過控制輸出高低電平占空比進而控制電機兩端的平均電壓,即通過PWM脈寬調(diào)試改變電機輸入電壓的占空比來實現(xiàn)的。軟件功能需求分析軟件就是對主控制器的編程,在軟件編寫的過程中以軟件流程圖為依據(jù),然后根據(jù)硬件系統(tǒng)的設(shè)計要求按步編寫。系統(tǒng)開始運行后,主控制器將檢測到的溫度信息進行分析,檢測溫度是否在所設(shè)定溫度上下限值的范圍內(nèi),若不在則主控制器與加熱燈泡或電機相連的引腳輸出高電平,使加熱燈泡或電機工作開始對空氣溫度進行升溫或降溫。同時通過程序的編寫,讓主控制器能輸出相應(yīng)的PWM波信號,完成電機調(diào)速的功能。在本設(shè)計中用到的溫度檢測元件是DS18B20溫度檢測器,這就需要在程序中引入DS18B20的基本讀寫程序。按照上述對蔬菜大棚溫度控制系統(tǒng)要求的分析,通過硬件系統(tǒng)和軟件系統(tǒng)的配合工作來達到本設(shè)計的控制要求。工作原理本次設(shè)計的蔬菜大棚溫度控制系統(tǒng)主要的工作原理過程是:溫度采集模塊對溫度進行采集,在顯示模塊上顯示出來的同時傳給主控制模塊,通過主控制模塊的整合處理,最后通過主控模塊輸出的電平信號來使機械控制模塊進行相對應(yīng)的工作,使蔬菜大棚的溫度達到所要求控制的目標。控制方案控制方案的選擇關(guān)系到控制系統(tǒng)的成敗,完整的控制方案一般包含了多個小的模塊方案,每一小模塊方案功能的實現(xiàn),則控制系統(tǒng)將能完成所需要的功能。為了使整個控制方案合理可行,下面將進行收集分析各模塊資料信息的工作,最終選出最合理的控制方案。主控制系統(tǒng)方案隨著科技的進步發(fā)展,目前常見的的溫度控制器有很多種,其中單片機和PLC是最先進的兩種,以這兩種為主控制系統(tǒng)的設(shè)計方案十分符合蔬菜大棚溫度自動控制的要求。方案一:單片機控制系統(tǒng)由于要對系統(tǒng)內(nèi)的溫度進行檢測和控制,因此選用AT89C51型號的單片機在控制性能要求上是可以完成主控制任務(wù)。AT89C51型號的單片機的電路的連接比較簡單,其與其他設(shè)備很容易就可以實現(xiàn)雙向數(shù)據(jù)傳輸交換[8]。同時,單片機控制系統(tǒng)的優(yōu)點是單片機的價格便宜,使用靈活;其缺點是單片機的編程比較難,而且必須得到電路板技術(shù)的支持。方案二:PLC控制系統(tǒng)PLC的控制方式主要是根據(jù)所需求的環(huán)境條件,設(shè)置目標參數(shù),然后PLC控制器根據(jù)已設(shè)置的目標參數(shù)自動進行相對應(yīng)的動作,以達到所要完成的自動控制的任務(wù)。PLC的控制方式優(yōu)點是穩(wěn)定性和可靠性很高,能在各種復(fù)雜環(huán)境下穩(wěn)定工作。但是,其缺點也比較明顯,就是PLC本身的價格昂貴,類型不同的PLC不能兼容使用,其相對應(yīng)的編程語言和指令系統(tǒng)也不兼容。綜上所述,雖然PLC控制系統(tǒng)能很好的在復(fù)雜的環(huán)境中工作,其可靠性能也比單片機的要高,但是單片機也能通過編程完成自動控制的目的,而且更加經(jīng)濟實惠。所以,主控制系統(tǒng)選用單片機控制系統(tǒng),即選擇方案一。溫度采集系統(tǒng)方案方案一:使用熱敏電阻。使用熱敏電阻所測量的溫度,不能直接顯示被測溫度,需要進行A/D轉(zhuǎn)換,因此電路設(shè)計復(fù)雜,而且測溫精度低,抗干擾能力差,不利于完成控制任務(wù)。

方案二:溫度采集電路可以使用DS18B20溫度傳感器。DS18B20溫度傳感器的精度高,工作穩(wěn)定性好,具有很好的抗干擾能力,而且價格適中,其測溫方式簡單,能直接讀取被測溫度值,不用經(jīng)過各種復(fù)雜的轉(zhuǎn)換。因此,DS18B20溫度傳感器能很好的完成測溫任務(wù)。

綜上所述,采用DS18B20溫度傳感器的測溫電路連接比較簡單,而采用熱敏電阻之類器件的測溫電路比較復(fù)雜,測溫精度及穩(wěn)定性也不高,因此測溫方式采用方案二的。顯示模塊方案由設(shè)計要求所知在顯示器上所要顯示的內(nèi)容為實時溫度值和設(shè)定的溫度上下限值,要完成這個要求就需要合理選擇顯示器,因此在本小節(jié)中將通過對比分析選擇大棚溫度的顯示模塊。方案一:采用LED數(shù)碼管顯示。數(shù)碼管使用簡單,但一個數(shù)碼管只能顯示一個字符,要顯示多位數(shù)據(jù)時就要使用多個數(shù)碼管,這就增加了硬件電路的復(fù)雜度和額外功耗,而且LED數(shù)碼管也無法顯示字[12]。而本次設(shè)計顯示模塊需要顯示出實時溫度值和設(shè)定的溫度上下限值,顯示內(nèi)容比較復(fù)雜,而LED數(shù)碼管也無法顯示字母,即LED數(shù)碼管沒辦法顯示這么多的內(nèi)容,因此排除使用數(shù)碼管。方案二:采用LCD1602液晶顯示。LCD1602液晶具有功耗低,顯示內(nèi)容豐富清晰,顯示信息量大,顯示速度較快,使用簡單等特點且得到了廣泛的應(yīng)用。并且與單片機連接電路簡單,容易控制。綜上所述,通過以上方案論述且由于LCD1602可以滿足本設(shè)計的基本要求,因此選擇方案二。機械控制系統(tǒng)方案在本次設(shè)計中,當系統(tǒng)的溫度不在所設(shè)定溫度范圍內(nèi)時,就需要機械控制系統(tǒng)進行相對應(yīng)的動作使溫度能夠維持在所設(shè)定的范圍內(nèi)。機械控制系統(tǒng)包括升溫模塊和降溫模塊,其中升溫設(shè)備是使用大功率電燈泡來加熱空氣溫度進行升溫,這種升溫方式既快捷又方便,所以主要考慮的是降溫的方案。降溫最簡單的方式是打開大棚的天窗進行自然通風(fēng),但當溫度過高時,自然通風(fēng)不能達到降溫要求時,就需要機械控制通風(fēng)進行降溫,而機械控制通風(fēng)最好的方式是采用風(fēng)扇通風(fēng)。蔬菜大棚溫度控制系統(tǒng)是個模擬系統(tǒng),所以使用電機來代替風(fēng)扇來進行模擬實驗。根據(jù)設(shè)計要求里的溫度越高,降溫越快的要求,這就涉及到電機的調(diào)速問題。目前,最常應(yīng)用于調(diào)速的電機主要有步進電機和直流電機。根據(jù)對電機的分析,就可以選擇合適的電機。方案一:采用步進電機。步進電機可以準確的控制電機的轉(zhuǎn)動角度,但是如果控制不當就容易產(chǎn)生共振,難以獲得較大的轉(zhuǎn)矩和轉(zhuǎn)速,而且調(diào)速范圍小,耗電量也大,所以不適合使用在調(diào)速系統(tǒng)中。方案二:采用直流電機。直流電機可以在精確控制的情況下得到加大的轉(zhuǎn)矩和較大的轉(zhuǎn)速。同時,直流電機具有調(diào)速范圍廣、易于使用和安裝,耗電量低,壽命長,抗干擾能力強等優(yōu)點,所以被廣泛應(yīng)用在調(diào)速系統(tǒng)中。綜上所述,因為直流電機能夠?qū)崿F(xiàn)平滑調(diào)速,而且控制更加方便,能耗少,符合控制任務(wù)要求,所以選擇直流電機即方案二。系統(tǒng)控制方案的確定綜上所述,得到系統(tǒng)的基本組成結(jié)構(gòu)框圖如圖所示。電源模塊AT89C51單片機主控模塊電源模塊AT89C51單片機主控模塊顯示電路模塊鍵盤輸入模塊鍵盤輸入模塊機械控制模塊機械控制模塊溫度采集模塊溫度采集模塊報警電路模塊報警電路模塊晶振和復(fù)位模塊晶振和復(fù)位模塊圖系統(tǒng)的基本組成結(jié)構(gòu)框圖本次設(shè)計系統(tǒng)的基本組成結(jié)構(gòu)其由八個小部分組成,分別是:使用AT89C51單片機芯片為控制核心的主控制模塊;使用DS18B20溫度傳感器的溫度采集模塊;使用電燈泡升溫和電機降溫的機械控制模塊;使用LCD1602液晶顯示器的顯示模塊;使用按鍵的上下限可調(diào)控的鍵盤輸入模塊;蜂鳴器報警電路模塊;單片機的最小系統(tǒng)即晶振和復(fù)位模塊以及電源模塊。本章小結(jié)本章內(nèi)容是通過對控制系統(tǒng)的硬件和軟件的系統(tǒng)功能分析,對此次設(shè)計的蔬菜大棚溫度控制系統(tǒng)的各部分電路在方案選擇上做了選擇,并詳細介紹所選擇的每一部分電路的最優(yōu)方案,為接下來的硬件電路設(shè)計和軟件設(shè)計提供了基礎(chǔ),以系統(tǒng)的硬件和軟件的功能要求逐步進行設(shè)計。

第3章硬件電路設(shè)計本章主要是基于第二章選擇的最優(yōu)控制方案,選擇相關(guān)的電路控制方案,并且說明電路的基本原理,再通過合理的電路搭建完成硬件電路的設(shè)計。主控制器AT89C51單片機電路本次設(shè)計中選擇AT89C51單片機為主控制器,本節(jié)中將對AT89C51的功能進行簡介,同時也將對連接單片機的基本外圍電路進行簡要說明。AT89C51功能介紹單片機類型的不同將導(dǎo)致功能不同,作為能與MSC-51系列單片機兼容切換使用的單片機,下面將對AT89C51單片機的功能進行簡介,其主要功能特性如表3-1所示。表3-1AT89C51單片機主要功能特性表主要功能特性兼容MCS51指令系統(tǒng)4K字節(jié)可編程閃爍存儲器32可編程I/O線128x8bit內(nèi)部RAM1000寫/擦循環(huán)時鐘頻率0-24MHz兩個16位定時器/計數(shù)器可編程UART串行通道三級加密位5個中斷源單片機最小系統(tǒng)電路說明AT89C51型單片機的最小系統(tǒng)由復(fù)位電路和時鐘電路組成,以下將對單片機的最小系統(tǒng)電路進行具體說明。如圖所示為單片機最小系統(tǒng)電路,其中復(fù)位電路的復(fù)位輸入引腳為單片機提供了初始化的手段。當系統(tǒng)運行時,如果電路中某一部分電路發(fā)生故障或出現(xiàn)程序錯誤等情況時,單片機就會出現(xiàn)故障,這時就需要單片機的最小系統(tǒng)的復(fù)位電路來清除錯誤的運行狀態(tài)。按下復(fù)位電路的復(fù)位按鈕,單片機就會停止當前的運行狀態(tài),內(nèi)部的程序就會從頭開始執(zhí)行,使單片機內(nèi)部的所有參數(shù)重新處于起始的位置,并清除單片機錯誤的運行狀態(tài),最后重新開始執(zhí)行程序。圖單片機的最小系統(tǒng)電路本電路中需要實現(xiàn)手動復(fù)位功能,則頻率選用12MHZ時C5取10uF,R取10k。手動復(fù)位原理如圖3-1所示,單片機的復(fù)位按鍵K1按下后,單片機就接入高電平,單片機的RST引腳接高電平被時序電阻R1拉低后進行復(fù)位,單片機運行的程序就會重頭開始[6]。單片機運行時需要有晶振產(chǎn)生基本的時鐘信號,目的是讓各個小部分的運行工作能保持同步。單片機經(jīng)12MHZ的晶振分頻之后,用于程序的每一步執(zhí)行,晶振電路主要由電阻和電容的并聯(lián)組成,晶振可以看做是一個電感,再并連上一個大小適當?shù)碾娙荩徒M成了并聯(lián)諧振電路。該電路用在負反饋中就可以構(gòu)成正弦波振蕩電路,由于其頻率比較窄,不會受其它元件的影響。本電路原理上選擇的晶振,電容典型值在20pF到100pF之間選擇,典型值通常為20pF。故本電路的C1、C2都選擇20pF的電容值。溫度采集電路本節(jié)主要是說明利用DS18B20溫度傳感器進行測量溫度的電路原理,用到的主要器件是DS18B20芯片,故本節(jié)中主要對DS18B20溫度傳感器的功能進行簡介以及電路連接原理的說明。DS18B20基本功能傳感器類型的不同將導(dǎo)致功能不同,下面將對DS18B20溫度傳感器的基本技術(shù)性能進行簡介,其基本技術(shù)性能如表3-2所示。表3-2DS18B20溫度傳感器的基本技術(shù)性能表技術(shù)指標基本技術(shù)性能測溫范圍-55℃~+125℃,在-10~+85℃時精度為±℃工作電源~DC可分辨率分別為℃、℃、℃和℃接口方式單線接口即可實現(xiàn)微處理器的雙向通訊電路接線在使用時不需要任何外圍元件測溫方式支持多點組網(wǎng)功能負壓特性電源極性接反時,芯片不會因發(fā)熱而燒毀工作特性具有極強的抗干擾糾錯能力DS18B20的電路連接原理此次設(shè)計的DS18B20溫度傳感器測溫電路具有工作穩(wěn)定可靠、抗干擾能力強、而且電路也較簡單的優(yōu)點,能很好的完成測量溫度的任務(wù)。因為DS18B20溫度傳感器的電路連接要求符合1-Wire協(xié)議內(nèi)容[4],因此在連接其測溫電路時,把DQ口接入到單片機的端口,而DQ口再外接一個5V電源電壓的10kΩ上拉電阻,就可完成其測量溫度電路的連接。此次設(shè)計的DS18B20測溫電路圖如圖

所示。圖DS18B20測溫電路圖顯示模塊電路顯示模塊主要是利用LCD1602液晶顯示器顯示實時溫度值和上下限溫度值,以下將對LCD1602液晶顯示器功能進行簡述以及對顯示模塊電路的連接進行分析說明。LCD1602基本功能

本次設(shè)計的顯示電路采用的是LCD1602液晶顯示器。下面將對LCD1602液晶顯示器的基本技術(shù)性能進行簡介,其基本技術(shù)性能如表3-3所示。表3-3LCD1602的技術(shù)性能參數(shù)表技術(shù)指標技術(shù)性能參數(shù)顯示容量16×2個字符工作電壓—工作電流最佳工作電壓

字符尺寸×(W×H)mm

顯示模塊電路連接原理LCD1602可以顯示2行16個字符,有8位數(shù)據(jù)總線D0-D7,分別連接到單片機的數(shù)據(jù)端口上,進行數(shù)據(jù)傳輸;管腳RS、RW、E為三個控制端口,而3管腳VEE上連接的滑動變阻器具有可以調(diào)節(jié)字符的對比度和顯示器的背光功能[9]。顯示模塊電路連接原理圖如圖所示。圖顯示模塊電路連接原理圖鍵盤輸入模塊電路當系統(tǒng)溫度要求控制在不同的范圍內(nèi)時,需要重新調(diào)節(jié)溫度上下限的范圍,而這個過程就用到鍵盤輸入信號進行調(diào)節(jié)。通過對溫度上下限調(diào)節(jié)功能的分析,就得到鍵盤電路的設(shè)計思路。鍵盤功能及其電路連接本次設(shè)計的溫度控制系統(tǒng)在工作時,具備溫度上下限可由人為設(shè)定調(diào)控的功能。因此,可以通過鍵盤輸入電路來實現(xiàn)該功能。由于本設(shè)計的系統(tǒng)使用到4個按鍵,按鍵的使用比較少,因此可選用獨立式按鍵,按鍵采用輕觸開關(guān)[3]。4個按鍵的功能分別為:

K2:選擇鍵,可以切換需要更改的溫度上限與溫度下限;K3:增加鍵,當需要增大溫度上下限時,按此鍵一次則可以讓上限溫度和下限溫度增加1;

K4:減小鍵,當需要減小溫度上下限時,按此鍵一次則可以讓上限溫度和下限溫度減小1;K5:確定鍵,當重新調(diào)節(jié)好溫度上下限后,按下確定鍵可將此時重新設(shè)定好的溫度上下限的值進行保存,并在顯示器上顯示出來。按鍵電路圖如圖所示,其中按鍵K2-K5分別連入單片機的端口,同時接地。圖按鍵電路圖機械控制電路模塊機械控制電路模塊主要包括降溫和升溫電路,當環(huán)境溫度需要發(fā)生變化時,單片機就會控制降溫模塊電路或升溫模塊電路開始進行相對應(yīng)的降溫或升溫工作。在實際應(yīng)用中,升溫用的大功率電燈泡和降溫用的電風(fēng)扇的工作電源是220V交流電源電壓,但是因為單片機的引腳的驅(qū)動能力有限,所以考慮用繼電器來驅(qū)動燈泡和風(fēng)扇。利用單片機控制大功率電燈泡和電風(fēng)扇的工作原理為:利用一只三極管的基集連接到單片機的I/O口,通過單片機輸出的電平連接控制三極管的通斷,然后用三極管的集電極電流Ic來控制5V繼電器開關(guān)的吸合[7],而繼電器上連接著用220V電源電壓驅(qū)動的燈泡或風(fēng)扇。當繼電器開關(guān)閉合時,220V電源電壓與燈泡或風(fēng)扇的電路形成回路,燈泡或風(fēng)扇就開始工作;而當繼電器開關(guān)斷開時,220V電源電壓與燈泡或風(fēng)扇的電路沒有形成回路,燈泡或風(fēng)扇不工作。這樣,單片機就可以通過電平的輸出來控制燈泡或風(fēng)扇的升溫或降溫工作。在本次設(shè)計的系統(tǒng)中,為安全起見,所以使用5V的直流電來代替模擬220V的交流電,相對應(yīng)的燈泡和風(fēng)扇也使用用5V驅(qū)動的小燈泡和直流電機來代替。降溫模塊電路當溫度高于上限時,降溫設(shè)備開始工作。當溫度超過上限太多時,就需要進行快速降溫散熱,否則會影響蔬菜的生長;而當溫度稍微超過上限時,緩慢降溫散熱就可以,這樣既能達到很好的降溫效果又能節(jié)約成本。因此,這就需要用到電機的調(diào)速來控制降溫的快慢。本次設(shè)計的蔬菜大棚溫度控制系統(tǒng)能自動控制溫度,因此連接好電機的驅(qū)動電路后,通過編寫程序來控制單片機端口產(chǎn)生的PWM波來控制電機的轉(zhuǎn)速,達到自動控制的目的要求。其調(diào)速原理為:在單位時間(T)內(nèi)PWM波產(chǎn)生高電平的時間(T1)占單位時間的百分比為占空比,即當占空比為50%時,電機的實際轉(zhuǎn)速是按電機額定轉(zhuǎn)速的50%來轉(zhuǎn)動,這樣就達到電機調(diào)速的目標要求。在本次設(shè)計的系統(tǒng)中,為了方便觀察調(diào)速后電機轉(zhuǎn)動的速度,用一個發(fā)光二極管并聯(lián)到繼電器的電路中去,發(fā)光二極管閃亮的快慢就是電機轉(zhuǎn)動的快慢。其具體工作過程為:當實時溫度低于上限溫度時,管腳的輸出信號為1,電機不轉(zhuǎn)動;當溫度超過上限溫度且不超過5℃時,管腳的輸出信號為0,

電機開始轉(zhuǎn)動,在單位時間(T)內(nèi)PWM波產(chǎn)生高電平的時間(T1)占單位時間的百分比為50%,即占空比為50%,則電機按額定轉(zhuǎn)速的50%轉(zhuǎn)動;當溫度超過上限大于5℃時,在單位時間(T)內(nèi)PWM波產(chǎn)生高電平的時間(T1)占單位時間的百分比約為100%,即占空比約為100%,則電機接近于按額定轉(zhuǎn)速轉(zhuǎn)動;當溫度降到上下限溫度的中間值即25℃時,管腳的輸出信號為1,電機停止轉(zhuǎn)動。因此溫度越高,電機轉(zhuǎn)速越快。降溫電路原理圖如圖所示。圖降溫電路原理圖升溫模塊電路當溫度低于下限時,升溫設(shè)備開始工作,與單片機連接的管腳輸入低電平,三極管導(dǎo)通,繼電器有電流通過將吸合,則升溫設(shè)備即大功率電燈泡開始對空氣進行加熱升溫。當溫度上升到上下限溫度的中間值即25℃時,與單片機連接的管腳輸入高電平,三極管截止,繼電器沒有電流通過將斷開,則升溫設(shè)備停止工作。升溫設(shè)備使用大功率電燈泡,仿真時用5V的小電燈泡代替,小燈泡發(fā)光時可能看的不是很清楚,所以再用一個發(fā)光二極管并聯(lián)到繼電器的電路中去,以便于觀察升溫的工作過程。升溫電路原理圖如圖所示。圖升溫電路原理圖蜂鳴器報警電路蜂鳴器電路存在的目的是報警,提醒環(huán)境溫度已經(jīng)發(fā)生變化,需要啟動機械控制設(shè)備進行相對應(yīng)的工作。蜂鳴器電路的工作原理是:蜂鳴器需要一只PNP9012三極管來驅(qū)動,三極管的基級b經(jīng)過限流電阻為10k的R3后由單片機的端口,通過單片機端口輸出的電平來控制三極管的導(dǎo)通與截止。當單片機端口輸出高電平時,三極管截止,蜂鳴器電路沒有形成回路,則蜂鳴器不發(fā)出聲;當單片機端口輸出低電平時,三極管導(dǎo)通,蜂鳴器的電流形成回路,這樣蜂鳴器就會發(fā)出聲音進行報警。本次設(shè)計的蜂鳴器報警電路在環(huán)境溫度高于上限或低于下限時都會發(fā)出聲音進行報警,只有在環(huán)境溫度正常或人為主動停止的情況下,蜂鳴器電路才不會發(fā)出聲音。蜂鳴器電路圖如圖所示。圖蜂鳴器電路圖

電源輸入部分

本次設(shè)計的蔬菜大棚溫度控制系統(tǒng)所需要用到的元器件都是使用5V的直流電源供電,因此得把220V的單相交流電壓轉(zhuǎn)換為5V直流電壓。其轉(zhuǎn)換的主要工作原理是利用電源變壓器和整流電路把交流電變?yōu)榇笮『线m的直流電,再經(jīng)過濾波電路和穩(wěn)壓電路把其轉(zhuǎn)換成穩(wěn)定的直流電壓[5]。穩(wěn)壓電路使用穩(wěn)壓芯片7805,其電路原理圖如圖所示。圖5V直流電壓轉(zhuǎn)換電路圖由于輸入電壓為電網(wǎng)電壓,一般情況下所需直流電壓的數(shù)值和電網(wǎng)電壓的有效值相差較大,因而電源變壓器的作用就顯現(xiàn)出來,起到降壓的作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉(zhuǎn)換成直流電壓。由于經(jīng)整流電路整流后的電壓含有較大的交流分量,會影響到負載電路的正常工作。因此需通過低通濾波電路濾波,使輸出電壓平滑。穩(wěn)壓電路的功能是使輸出直流電壓基本不受電網(wǎng)電壓波動和負載電阻變化的影響,從而獲得穩(wěn)定性足夠高的直流電壓。本章小結(jié)本章主要對硬件電路部分進行了設(shè)計。通過對系統(tǒng)不同模塊的功能分析完成硬件電路的搭建,并采用Protues軟件繪制系統(tǒng)總電路圖,結(jié)合下一章內(nèi)容的軟件設(shè)計,為最后的系統(tǒng)仿真工作做好準備。蔬菜大棚的整體硬件電路圖和原件清單將在附錄中給出。

第4章系統(tǒng)軟件設(shè)計控制系統(tǒng)不僅需要設(shè)計最優(yōu)的硬件電路,而且需要精確的程序來指引各部分電路的運行,使各部分電路能準確的實現(xiàn)其功能。本章將根據(jù)所設(shè)計出的硬件電路,編寫使其能按所需功能進行運行的程序。

本系統(tǒng)是以AT89C51單片機為控制核心,采用C語言編程。系統(tǒng)程序主要由主程序,DS18B20測溫讀取子程序,LCD1602顯示子程序,機械控制子程序和定時器子程序等組成。系統(tǒng)主程序流程本系統(tǒng)的總工作流程是:系統(tǒng)開始并初始化后,啟動溫度傳感器讀取溫度值,讀取成功后線性擬合數(shù)據(jù),然后由顯示器顯示數(shù)據(jù)。用讀取顯示的溫度值與設(shè)定的溫度上下限進行比較,如果溫度過限,則蜂鳴器發(fā)出聲音報警并啟動機械控制設(shè)備;如果溫度在上下限范圍內(nèi),則顯示當前溫度值。系統(tǒng)主程序流程圖如圖所示。開始開始系統(tǒng)初始化系統(tǒng)初始化 設(shè)定溫度上下限設(shè)定溫度上下限讀取并顯示溫度值讀取并顯示溫度值Y蜂鳴器發(fā)出聲音報警Y蜂鳴器發(fā)出聲音報警判斷溫度是否過限N啟動機械控制設(shè)備N啟動機械控制設(shè)備顯示溫度顯示溫度圖系統(tǒng)主程序流程圖DS18B20測溫讀取子程序DS18B20溫度傳感器在測量溫度時,由于DS18B20轉(zhuǎn)換后的代碼并不是實際的溫度值,所以要進行數(shù)據(jù)處理。同時,本程序采用的是的精度,因此小數(shù)部分的值,可以用后四位代表的實際數(shù)值乘以,得到真正的數(shù)值,數(shù)值可能帶幾個小數(shù)位,所以采取四舍五入,保留一位小數(shù)即可。也就說,本系統(tǒng)的溫度精確到了度[15]。

程序每次對DS18B20操作時都要按照DS18B20工作過程中的協(xié)議進行,其過程為:初始化->

ROM操作命令->

存儲器操作命令->

數(shù)據(jù)處理->讀取溫度值

。DS18B20測溫讀取程序流程如圖所示。開始開始初始化初始化DS18B20DS18B20是否存在NNYYROMROM操作指令存儲操作指令存儲操作指令數(shù)據(jù)處理數(shù)據(jù)處理返回讀取溫度值返回讀取溫度值圖DS18B20測溫讀取程序流程如圖LCD1602顯示子程序LCD1602顯示器在顯示字符時,經(jīng)過寫函數(shù)命令和寫數(shù)據(jù)函數(shù)過程后,需要一個延遲程序,其顯示程序流程圖如圖所示。開始開始初始化初始化Y檢查到忙信號Y檢查到忙信號NN寫函數(shù)命令寫函數(shù)命令寫數(shù)據(jù)函數(shù)寫數(shù)據(jù)函數(shù)延遲延遲圖LCD1602顯示程序流程圖機械控制子程序機械控制的子程序是根據(jù)機械控制設(shè)備所要實現(xiàn)的功能而編寫的,單片機通過程序達到對機械控制設(shè)備的自動控制功能。其具體過程為:實時溫度不超出上下限溫度時,機械控制的子程序處于準備調(diào)用狀態(tài);當溫度高于上限時,機械控制的子程序處于正在調(diào)用狀態(tài),蜂鳴器發(fā)出聲音進行報警的同時機械控制設(shè)備進行降溫調(diào)節(jié);當溫度降到指定值時,機械控制的子程序回到準備調(diào)用狀態(tài)。當溫度低于下限時,機械控制的子程序處于正在調(diào)用狀態(tài),蜂鳴器發(fā)出聲音進行報警的同時機械控制設(shè)備進行加熱升溫。當溫度上升到指定值時,機械控制的子程序回到準備調(diào)用狀態(tài)。溫度控制子程序流程圖如圖所示。調(diào)用調(diào)用讀取溫度值讀取溫度值進行溫度處理進行溫度處理Y溫度>上限Y溫度>上限N報警并啟動降溫設(shè)備N報警并啟動降溫設(shè)備Y溫度<下限Y溫度<下限N報警并啟動升溫設(shè)備N報警并啟動升溫設(shè)備調(diào)用調(diào)用圖溫度控制子程序流程圖定時器子程序利用單片機的定時器來產(chǎn)生PWM波,然后通過驅(qū)動電路控制電機實現(xiàn)調(diào)速功能。以下將對定時器中斷流程圖進行設(shè)計,定時器中斷流程圖如所示。在圖中,定時器中斷流程圖中開始先將定時器初始化,使用定時器來模擬PWM波輸出,進而控制電機實現(xiàn)調(diào)速功能。首先將定時器設(shè)定定時時間為1ms,定義兩個變量用于計數(shù),每到1ms時將變量加1,如果變量加到了所設(shè)值使PWM輸出管腳輸出高電平,如果沒到則輸出低電平。由此原理來模擬PWM波輸出。故在此流程圖中首先設(shè)定計數(shù)變量和占空比變量,由變量值和占空比值的不同輸出不同的高低電平,因為設(shè)定的PWM周期為100故當變量加到100時令變量值為0,重新開始計數(shù)[16]。開始開始定時器初始化定時器初始化設(shè)定計數(shù)量t1,t2設(shè)定計數(shù)量t1,t2設(shè)定占空比變量a,b計數(shù)值<占空比設(shè)定變量N計數(shù)值<占空比設(shè)定變量NYY輸出高電平輸出高電平

輸出低電平t1t1=t1+1t2=t2+1YYNt1或t2>=100Nt1或t2>=100t1=0t2=0結(jié)束結(jié)束圖定時器中斷流程圖本章小結(jié)通過對本章內(nèi)容各階段程序的分析,采用Keil軟件對整個控制系統(tǒng)的程序進行編寫,在下一章內(nèi)容中將運用編寫好的程序結(jié)合Proteus軟件對控制系統(tǒng)進行模擬仿真。

第5章系統(tǒng)調(diào)試與仿真本章結(jié)合第三章硬件電路的搭建以及第四章軟件程序的控制完成設(shè)計,完成對蔬菜大棚溫度控制系統(tǒng)所需具備各功能的仿真實驗,并確定所設(shè)計產(chǎn)品是否符合要求及有需改進的地方。系統(tǒng)調(diào)試調(diào)試的過程其實就是硬件系統(tǒng)和軟件系統(tǒng)的查錯過程。盡管調(diào)試方法和步驟有許多種,然而不同系統(tǒng)在這方面基本是相同的,只是具體的細節(jié)會有細微的差別,同時還和所選用的單片機型號有很大的關(guān)系。在進行硬件系統(tǒng)調(diào)試時,先給硬件電路進行通電,之后需要檢查I/O端口的電位,測量每個電位從而可以看出是哪里出現(xiàn)了錯誤,尤其需要注意輸出口的電位以確保正確。完成后將單片機信號的輸出接口和外部仿真電路接口相連接,之后準備進行軟件調(diào)試。進行軟件調(diào)試時,不僅需要把每個程序模塊都調(diào)節(jié)好,在每個程序模塊調(diào)試好之后,還得把與每個程序模塊相關(guān)的各功能模塊都聯(lián)合起來,整理好之后才可以進行綜合調(diào)試。綜合調(diào)試最終顯示出正確的結(jié)果則軟件調(diào)試才結(jié)束。同時,還需要進行多次連續(xù)調(diào)試,確保每次調(diào)試結(jié)果都正確后,即為調(diào)試成功。系統(tǒng)仿真把調(diào)試好的軟件程序即程序下載到硬件電路中即為系統(tǒng)仿真。打開系統(tǒng)仿真軟件Proteus的開始按鈕,觀察和記錄仿真的運行過程和結(jié)果。下面將展示蔬菜大棚溫度控制系統(tǒng)各個模塊的仿真結(jié)果圖。(1)蔬菜大棚通過LCD1602顯示器顯示實時溫度和上下限溫度如圖所示。圖LCD1602溫度顯示圖(2)蔬菜大棚的升溫工作圖如圖所示。圖升溫工作圖(3)蔬菜大棚的電機調(diào)速圖如圖所示。圖電機調(diào)速圖仿真結(jié)果通過進行仿真實驗以及不斷地改進,所設(shè)計的基于單片機的蔬菜大棚溫度控制系統(tǒng)基本具備了設(shè)計要求的各功能。具體的功能如下:顯示器顯示系統(tǒng)實時溫度和設(shè)定的溫度上下限值,而溫度的上下限也可以通過按鍵進行修改;當實時溫度在設(shè)定的溫度上下限之間時,機械控制設(shè)備不工作,即加熱燈泡不亮、電機不轉(zhuǎn);當實時溫度高于30℃時,蜂鳴器發(fā)出聲音進行報警,電機開始轉(zhuǎn)動進行降溫調(diào)節(jié),當溫度超過上限35℃時,通過PWM波控制電機按額度轉(zhuǎn)速運轉(zhuǎn);當溫度超過上限在35℃之內(nèi)時,通過PWM波控制電機轉(zhuǎn)速按額度速度的50%進行轉(zhuǎn)動。當溫度降到25℃時,電機停止轉(zhuǎn)動。當溫度低于20℃時,蜂鳴器發(fā)出聲音進行報警,燈泡開始發(fā)光進行升溫調(diào)節(jié)。當溫度上升到25℃時,燈泡停止發(fā)光。

第6章結(jié)論本次設(shè)計的蔬菜大棚溫度控制系統(tǒng)達到設(shè)計的要求,具備設(shè)計要求所需的溫度檢測、降溫、升溫以及電機可調(diào)速的全部功能。論文主要討論了蔬菜大棚的設(shè)計結(jié)構(gòu),對各個模塊的設(shè)計方案進行分析的同時選擇了實現(xiàn)蔬菜大棚各功能的最優(yōu)方案,并通過Proteus軟件畫出硬件原理圖。在軟件設(shè)計方面,利用C語言進行編程,使得程序具有可讀性,并畫出主程序流程圖及各功能實現(xiàn)時的流程圖。通過后期對系統(tǒng)硬件和軟件的不斷整理和調(diào)試仿真,使得整個系統(tǒng)的工作狀態(tài)和工作時序基本滿足設(shè)計要求。本次設(shè)計的系統(tǒng)是一個模擬適合生物生長氣候條件的系統(tǒng)。在實際生活中,該系統(tǒng)可以應(yīng)用到農(nóng)業(yè)的生產(chǎn)中,它能創(chuàng)造一個人工氣象環(huán)境,來消除溫度對農(nóng)作物生長的約束,讓農(nóng)作物能在最適宜的環(huán)境溫度下生長。而且,該系統(tǒng)的精確度很高,能很好的完成控制任務(wù)要求。同時,此系統(tǒng)是自動控制的系統(tǒng),能耗少,效率高,能在很大的程度上減少人力、財力和物力的浪費,為農(nóng)業(yè)帶來可觀的經(jīng)濟效益。

致謝本設(shè)計從選題、資料查閱、設(shè)計方法到論文定稿,歷時一個學(xué)期。在畢業(yè)設(shè)計論文即將完成之際,在此向我的老師、同學(xué)以及所有幫助過我的朋友們致以誠摯的謝意。同時,主要感謝指導(dǎo)我進行畢業(yè)設(shè)計的導(dǎo)師金坤善老師。至始至終,所有的設(shè)計工作都是在金老師的悉心指導(dǎo)和嚴格要求下完成的。畢業(yè)設(shè)計過程中遇到的很多問題,都得到了金老師細心的指導(dǎo)。在此,向金老師表示衷心的感謝!謝謝!

參考文獻[1]李朝青.單片機原理及接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2005.[2]袁戰(zhàn)軍.直流電機PWM調(diào)速系統(tǒng)研究[J],電子設(shè)計工程,2013.[3]侯媛彬.凌陽單片機原理及其畢業(yè)設(shè)計精選[M].科學(xué)出版社,2006.[4]李建忠.單片機原理及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2008.[5]霍孟友.單片機原理與應(yīng)用[M].北京:機械工業(yè)出版社,2004.[6]高惠芳.單片機原理及系統(tǒng)設(shè)計[J].杭州電子科技大學(xué)電子信息學(xué)校,2009.[7]張培仁等.MCS-51單片機原理與應(yīng)用[M].北京.清華大學(xué)出版社,2003.[8]李麗.單片機復(fù)位電路的抗干擾設(shè)計[J].遼寧師專學(xué)報:自然科學(xué)版,2009.[9]彭偉.單片機C語言程序設(shè)計設(shè)計實訓(xùn)[M].西安:電子工業(yè)出版社,2009.[10]康華光.電子技術(shù)基礎(chǔ)(模擬部分)[M].北京:高等教育出版社.[11]何希才.傳感器及其應(yīng)用.國防工業(yè)出版社,2001.[12]刁文興.自行車電子里程表的初步設(shè)計.南京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報,2004.[13]安宗權(quán).電動電子車速里程表分頻電路設(shè)計.自動化與儀器儀表,2001.[14]閻煥忠.王長濤,馬斌.單片機控制里程轉(zhuǎn)速表的設(shè)計.沈陽建筑工程學(xué)院學(xué)報(自然科學(xué)版),2002.[15]謝自美.電子線路設(shè)計.實驗.測試[M].武漢:華中科技大學(xué)出版社,2000.[16]張福學(xué).傳感器使用電路[M].中國技術(shù)出版社.1992.

附錄附錄1蔬菜大棚溫度控制系統(tǒng)的硬件電路圖

附錄2元件清單表序號器件名稱規(guī)格型號數(shù)量備注1最小系統(tǒng)AT89C5112溫度器DS18B2013驅(qū)動模塊繼電器24鍵盤模塊觸動按鍵55顯示器LCD160216三極管PNP901237喇叭8歐18電源電壓5V19燈泡5V110直流電機5V直流電機111排阻RESPACK-81

附錄3源程序清單//程序頭函數(shù)#include<>//顯示函數(shù)#include<>//宏定義#defineuintunsignedint#defineucharunsignedchar//管腳聲明sbitjdq=P2^4; //繼電器sbitFeng=P1^1;//蜂鳴器//按鍵sbitKey1=P1^3; //設(shè)置sbitKey2=P1^4; //加sbitKey3=P1^5; //減sbitKey4=P1^6; //確定sbitpwm=P1^2;ucharf_pwm_l; sbitDQ=P1^0; //定義DS18B20總線I/Osignedcharw,bj,bjx,bjd; //溫度值全局變量uintc; //溫度值全局變量bitbdataflag=0,flag_BJ,flag_off=1;//時間計算#defineImax14000//此處為晶振為時的取值,#defineImin8000//如用其它頻率的晶振時,#defineInum11450//要改變相應(yīng)的取值。#defineInum2700#defineInum33000//解碼變量unsignedcharIm[4]={0x00,0x00,0x00,0x00};//全局變量ucharf;unsignedlongm,Tc;unsignedcharIrOK;//設(shè)置變量ucharxx=20;//下限ucharsx=30;//上限intds=0;ucharMode=0;voiddelay(uintz){ uinti,j; for(i=0;i<z;i++) for(j=0;j<121;j++);}/*****延時子程序*****/voidDelay_DS18B20(intnum){while(num--);}/*****初始化DS18B20*****/voidInit_DS18B20(void){unsignedcharx=0;DQ=1;//DQ復(fù)位Delay_DS18B20(8);//稍做延時DQ=0;//單片機將DQ拉低Delay_DS18B20(80);//精確延時,大于480usDQ=1;//拉高總線Delay_DS18B20(14);x=DQ;//稍做延時后,如果x=0則初始化成功,x=1則初始化失敗Delay_DS18B20(20);}/*****讀一個字節(jié)*****/unsignedcharReadOneChar(void){unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i--){DQ=0;//給脈沖信號dat>>=1;DQ=1;//給脈沖信號if(DQ)dat|=0x80;Delay_DS18B20(4);}return(dat);}/*****寫一個字節(jié)*****/voidWriteOneChar(unsignedchardat){unsignedchari=0;for(i=8;i>0;i--){DQ=0;DQ=dat&0x01;Delay_DS18B20(5);DQ=1;dat>>=1;}}/*****讀取溫度*****/unsignedintReadTemperature(void){unsignedchara=0;unsignedcharb=0;unsignedintt=0;floattt=0;Init_DS18B20();WriteOneChar(0xCC);//跳過讀序號列號的操作WriteOneChar(0x44);//啟動溫度轉(zhuǎn)換Init_DS18B20();WriteOneChar(0xCC);//跳過讀序號列號的操作WriteOneChar(0xBE);//讀取溫度寄存器a=ReadOneChar();//讀低8位b=ReadOneChar();//讀高8位t=b;t<<=8;t=t|a;tt=t*;t=tt*10+;//放大10倍輸出并四舍五入return(t);}/*****讀取溫度*****/voidcheck_wendu(void){ c=ReadTemperature()-5; //獲取溫度值并減去DS18B20的溫漂誤差 w=c/10; //計算得到整數(shù)位 if(w<0){w=0;} //設(shè)置溫度顯示上限 if(w>99){w=99;} //設(shè)置溫度顯示上限}voidKey(){ //模式選擇 if(Key1==0) { while(Key1==0); Feng=0; Mode++; Display_wd(); if(Mode==4) { Mode=1; Feng=1; } write_com(0x38);//屏幕初始化 write_com(0x0d);//打開顯示無光標光標閃爍 write_com(0x06);//當讀或?qū)懸粋€字符是指針后一一位 switch(Mode) { case1: { write_com(0x80+15);//位置 Feng=1; break; } case2: { write_com(0x80+0x40+5);//位置 Feng=1; break; } case3: { write_com(0x80+0x40+14);//位置 Feng=1; break; } } } if(Key2==0&&Mode!=0) { while(Key2==0); Feng=0; switch(Mode) { case1: { if(ds<999) { ds++; write_com(0x80+13); write_data('0'+ds/100); write_data('0'+ds/10%10); write_data('0'+ds%10); write_com(0x80+15);//位置 } Feng=1; break; } case2: { if(sx<99-1) { sx++; write_com(0x80+0x40+4); write_data('0'+sx/10%10); write_data('0'+sx%10); write_com(0x80+0x40+5);//位置 } Feng=1; break; } case3: { if(xx<sx-1) { xx++; write_com(0x80+0x40+13); write_data('0'+xx/10%10); write_data('0'+xx%10); write_com(0x80+0x40+14);//位置 } Feng=1; break; } } } if(Key3==0&&Mode!=0) { while(Key3==0); Feng=0; switch(Mode) { case1: { if(ds>0) { ds--; write_com(0x80+13); write_data('0'+ds/100); write_data('0'+ds/10%10); write_data('0'+ds%10); write_com(0x80+15);//位置 } Feng=1; break; } case2: { if(sx>xx+1) { sx--; write_com(0x80+0x40+4); write_data('0'+sx/10%10); write_data('0'+sx%10); write_com(0x80+0x40+5);//位置 } Feng=1; break; } case3: { if(xx>0) { xx--; write_com(0x80+0x40+13); write_data('0'+xx/10%10); write_data('0'+xx%10); write_com(0x80+0x40+14);//位置 } Feng=1; break; } } } if(Key4==0) { while(Key4==0); Feng=0; Mode=0; // write_com(0x38);//屏幕初始化 // write_com(0x0c);//打開顯示無光標無光標閃爍 Init1602(); if(ds>0) { flag=1; jdq=1; TR1=1; } Feng=1; } if(IrOK==1) { elseif(Im[2]==0x40) { if(Mode!=0) { Feng=0; switch(Mode) { case1: { if(ds<999) { ds++; write_com(0x80+13); write_data('0'+ds/100); write_data('0'+ds/10%10); write_data('0'+ds%10); write_com(0x80+15);//位置 } Feng=1; break; } case2: { if(sx<99-1) { sx++; write_com(0x80+0x40+4); write_data('0'+sx/10%10); write_data('0'+sx%10); write_com(0x80+0x40+5);//位置 } Feng=1; break; } case3: { if(xx<sx-1) { xx++; write_com(0x80+0x40+13); write_data('0'+xx/10%10); write_data('0'+xx%10); write_com(0x80+0x40+14);//位置 } Feng=1; break; } } } } //-鍵 elseif(Im[2]==0x19) { if(Mode!=0) { Feng=0; switch(Mode) { case1: { if(ds>0) { ds--; write_com(0x80+13); write_data('0'+ds/100); write_data('0'+ds/10%10); write_data('0'+ds%10); write_com(0x80+15);//位置 } Feng=1; break; } case2: { if(sx>xx

溫馨提示

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

最新文檔

評論

0/150

提交評論