![畢業(yè)課程設(shè)計—蔬菜大棚自動控制系統(tǒng)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/3bbbc049-592d-457c-bcca-3ce462891092/3bbbc049-592d-457c-bcca-3ce4628910921.gif)
![畢業(yè)課程設(shè)計—蔬菜大棚自動控制系統(tǒng)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/3bbbc049-592d-457c-bcca-3ce462891092/3bbbc049-592d-457c-bcca-3ce4628910922.gif)
![畢業(yè)課程設(shè)計—蔬菜大棚自動控制系統(tǒng)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/3bbbc049-592d-457c-bcca-3ce462891092/3bbbc049-592d-457c-bcca-3ce4628910923.gif)
![畢業(yè)課程設(shè)計—蔬菜大棚自動控制系統(tǒng)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/16/3bbbc049-592d-457c-bcca-3ce462891092/3bbbc049-592d-457c-bcca-3ce4628910924.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、( 此文檔為 word 格式,下載后您可任意編輯修改!)檢測課程設(shè)計蔬菜大棚智能控制系統(tǒng)學(xué)院:電氣學(xué)院專業(yè)班級:電儀093 班姓名:朱學(xué)政指導(dǎo)教師:董愛華李良- 1 -目錄1. 摘要隨著單片機和傳感技術(shù)的迅速發(fā)展,自動檢測領(lǐng)域發(fā)生了巨大變化,溫室環(huán)境自動監(jiān)測控制方面的研究有了明顯的進展,并且必將以其優(yōu)異的性能價格比,逐步取代傳統(tǒng)的溫濕度與光照強度的控制措施。但是,目前應(yīng)用于溫室大棚的溫濕度檢測系統(tǒng)大多采用模擬溫度傳感器、多路模擬開關(guān)、 AD 轉(zhuǎn)換器及單片機等組成的傳輸系統(tǒng)。這種溫濕度度采集系統(tǒng)需要在溫室大棚內(nèi)布置大量的測溫電纜,才能把現(xiàn)場傳感器的信號送到采集卡上,安裝和拆卸繁雜,成本也高。同時
2、線路上傳送的是模擬信號,易受干擾和損耗,測量誤差也比較大。為了克服這些缺點,本系統(tǒng)采用單片機做下位機,計算機做上位機并采用無線傳輸技術(shù)實現(xiàn)蔬菜大棚的自動控制,同時,本系統(tǒng)所選的溫濕度傳感器采用單總線方式傳輸數(shù)據(jù),使數(shù)據(jù)采集更加準(zhǔn)確。本系統(tǒng)采用單總線傳感器能夠?qū)Υ笈飪?nèi)的溫濕度進行采集,利用溫濕度傳感器將溫室大棚內(nèi)溫濕度的變化,變換成數(shù)字量,其值由單片機處理,最后由單片機傳輸給上位機顯示,顯示溫室大棚內(nèi)的實際溫濕度,同時上位機預(yù)設(shè)目標(biāo)量傳輸給下位機,由下位機將采集量同預(yù)設(shè)量比較,對大棚內(nèi)的溫度進行自動調(diào)節(jié)。再利用光敏電阻對當(dāng)前光照強度進行檢測,同理實施自動控制。同時,在該系統(tǒng)中加入了熱釋電用于防盜
3、報警,使經(jīng)濟作物更安全!這種溫濕度及光照強度的測控系統(tǒng)可應(yīng)用于農(nóng)業(yè)生產(chǎn)的溫室大棚,實現(xiàn)對溫度,濕度,光照強度的實時控制,是一種比較智能、經(jīng)濟的方案,適于大力推廣,以便促進農(nóng)作物的生長,從而提高溫室大棚的畝產(chǎn)量,以帶來很好的經(jīng)濟效益和社會效益。2. 實驗所需元器件ATmega16單片機最小系統(tǒng)( 1 個),電加熱絲( 1 個),繼電器 (2 只) ,風(fēng)扇( 1 個),三極管 8050(4 只),熱釋電模塊( 1 個),光敏電阻( 2 只),DS18B20溫度傳感器(1 只),DHT11溫濕度傳感器( 1 只),ZigBee 無線通信模塊 (2 個),MAX232(1個) 。3. 實驗整體結(jié)構(gòu)圖圖
4、 3.1 整體實物圖圖 3.2 下位機控制系統(tǒng)圖 3.3 上位機控制外圍硬件本系統(tǒng)由如圖 1、圖 2 所示,DS18B20 溫度傳感器與 DHT11 溫濕度傳感器及光敏電阻采集數(shù)據(jù), ATmega16 單片機進行數(shù)據(jù)處理, 上位機顯示溫濕度并設(shè)定目標(biāo)溫度與光照強度。由 PWM 控制光照強度,當(dāng)溫度小于設(shè)定目標(biāo)溫度時,加熱起開始加熱,當(dāng)溫度等于目標(biāo)溫度時,加熱器停止加熱,當(dāng)溫度超過目標(biāo)溫度 +1 時,通風(fēng)散熱扇開始工作降溫,以此循環(huán),控制溫度恒定。補光燈的控制是通過檢測當(dāng)前光照與設(shè)定目標(biāo)光照的差值,再通過 PID 算法控制 PWM 的產(chǎn)生來控制燈光的強度。由熱釋電紅外傳感器來檢測外界環(huán)境的變化,
5、輸出信號給單片機,由單片機將信號傳送給上位機,上位機判斷信號,從而做出是否報警的動作。圖 3.4 傳感器使用幾部分驅(qū)動電路圖圖 3.5 無線通訊模塊與加熱模塊電路圖圖 3.6 ATmega16 單片機最小系統(tǒng)4. 傳感器簡介簡介圖 4.1 DS18B20 不同封裝與管腳圖DS18B20 數(shù)字溫度傳感器采用 DS18B20 可組網(wǎng)數(shù)字溫度傳感器芯片封裝而成,具有耐磨耐碰,體積小,使用方便,封裝形式多樣等優(yōu)點,適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。的性能特點適應(yīng)電壓范圍更寬, 電壓范圍: 3.05.5V ,在寄生電源方式下可由數(shù)據(jù)線供電獨特的單線接口方式, DS18B20 在與微處理器連接時僅
6、需要一條口線即可實現(xiàn)微處理器與 DS18B20 的雙向通訊DS18B20 支持多點組網(wǎng)功能,多個 DS18B20 可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫DS18B20 在使用中不需要任何外圍元件, 全部 傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)溫范圍 55 125,在 -10+85時精度為± 0.5可編程的分辨率為 9 12 位,對應(yīng)的可分辨溫度分別為 0.5、 0.25、0.125和 0.0625,可實現(xiàn)高精度測溫在 9 位分辨率時最多在 93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字, 12 位分辨率時最多在 750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快測量結(jié)果直接輸出數(shù)字溫度信號,
7、以 "一 線總線 "串行傳送給 CPU ,同時可傳送 CRC 校驗碼,具有極強的抗干擾糾錯能力負壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。簡介圖 4.2 DHT11 實物圖DHT11 數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個 NTC 測溫元件,并與一個高性能 8 位單片機相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強、性價比極高等優(yōu)點。每個 DHT11 傳感器都在極為精確的濕度校驗室中進行校準(zhǔn)。校準(zhǔn)系
8、數(shù)以程序的形式儲存在 OTP 內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20 米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場合的最佳選則。產(chǎn)品為 4 針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。的性能特點DATA 用于微處理器與 DHT11 之間的通訊和同步 ,采用單總線數(shù)據(jù)格式 ,一次通訊時間 4ms 左右 ,數(shù)據(jù)分小數(shù)部分和整數(shù)部分 ,具體格式在下面說明 ,當(dāng)前小數(shù)部分用于以后擴展 ,現(xiàn)讀出為零 .操作流程如下 : 一次完整的數(shù)據(jù)傳輸為 40bit,高位先出。數(shù)據(jù)格式 :8bit
9、 濕度整數(shù)數(shù)據(jù) +8bit 濕度小數(shù)數(shù)據(jù) +8bi 溫度整數(shù)數(shù)據(jù) +8bit 溫度小數(shù)數(shù)據(jù) +8bit 校驗和數(shù)據(jù)傳送正確時校驗和數(shù)據(jù)等于“8bit 濕度整數(shù)數(shù)據(jù) +8bit 濕度小數(shù)數(shù)據(jù)+8bi 溫度整數(shù)數(shù)據(jù) +8bit 溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8 位。用戶 MCU 發(fā)送一次開始信號后 ,DHT11 從低功耗模式轉(zhuǎn)換到高速模式,等待主機開始信號結(jié)束后 ,DHT11 發(fā)送響應(yīng)信號 ,送出 40bit 的數(shù)據(jù) ,并觸發(fā)一次信號采集 , 用戶可選擇讀取部分數(shù)據(jù) .從模式下 ,DHT11 接收到開始信號觸發(fā)一次溫濕度采集 ,如果沒有接收到主機發(fā)送開始信號 ,DHT11 不會主動進行溫濕度采集 .采
10、集數(shù)據(jù)后轉(zhuǎn)換到低速模式。1.通訊過程如圖 4.3 所示圖 4.3總線空閑狀態(tài)為高電平 ,主機把總線拉低等待 DHT11 響應(yīng) ,主機把總線拉低必須大于 18 毫秒 ,保證 DHT11 能檢測到起始信號。 DHT11 接收到主機的開始信號后 , 等待主機開始信號結(jié)束 ,然后發(fā)送 80us 低電平響應(yīng)信號 .主機發(fā)送開始信號結(jié)束后 ,延時等待 20-40us后, 讀取 DHT11 的響應(yīng)信號 ,主機發(fā)送開始信號后 ,可以切換到輸入模式 ,或者輸出高電平均可 , 總線由上拉電阻拉高。圖 4.4總線為低電平 ,說明 DHT11 發(fā)送響應(yīng)信號 ,DHT11 發(fā)送響應(yīng)信號后 ,再把總線拉高80us,準(zhǔn)備發(fā)
11、送數(shù)據(jù) ,每一 bit 數(shù)據(jù)都以 50us低電平時隙開始 ,高電平的長短定了數(shù)據(jù)位是 0 還是 1.格式見下面圖示 .如果讀取響應(yīng)信號為高電平,則 DHT11 沒有響應(yīng) ,請檢查線路是否連接正常 .當(dāng)最后一 bit 數(shù)據(jù)傳送完畢后, DHT11 拉低總線50us,隨后總線由上拉電阻拉高進入空閑狀態(tài)。數(shù)字 0 信號表示方法如圖4.5 所示圖 4.5數(shù)字 1 信號表示方法 .如圖 4.6 所示圖 4.64.3 熱釋電傳感器模塊簡介及特性圖 4.7熱釋電傳感器模塊實物圖熱釋電紅外線傳感器由探測元、濾光片和場效應(yīng)管阻抗變換器等三大部分組成,如圖 4.8 所示。對不同的傳感器來說,探測元的制造材料有所不
12、同。如 SD02 的敏感單元由鋯鈦酸鉛制成; P2288 由 LiTaO3 制成。將這些材料做成很薄的薄片,每一片薄片相對的兩面各引出一根電極,在電極兩端則形成一個等效的小電容。因為這兩個小電容是做在同一硅晶片上的,因此形成的等效小電容能自身產(chǎn)生極化,在電容的兩端產(chǎn)生極性相反的正、負電荷。傳感器中兩個電容是極性相反串聯(lián)的。圖 4.8 雙探測元熱釋電紅外傳感器當(dāng)傳感器沒有檢測到人體輻射出的紅外線信號時,在電容兩端產(chǎn)生極性相反、電量相等的正、負電荷,所以,正負電荷相互抵消,回路中無電流,傳感器無輸出。當(dāng)人體靜止在傳感器的檢測區(qū)域內(nèi)時,照射到兩個電容上的紅外線光能能量相等,且達到平衡,極性相反、能量
13、相等的光電流在回路中相互抵消,傳感器仍然沒有信號輸出。當(dāng)人體在傳感器的檢測區(qū)域內(nèi)移動時,照射到兩個電容上的紅外線能量不相等,光電流在回路中不能相互抵消,傳感器有信號輸出。綜上所述,傳感器只對移動或運動的人體和體溫近似人體的物體起作用。4.4 光敏電阻傳感器原理及特性圖 4.9光敏電阻實物圖光敏電阻的工作原理是基于內(nèi)光電效應(yīng)。在半導(dǎo)體光敏材料兩端裝上電極引線,將其封裝在帶有透明窗的管殼里就構(gòu)成光敏電阻。為了增加靈敏度,兩電極常做成梳狀。構(gòu)成光敏電阻的材料有金屬的硫化物、硒化物、碲化物等半導(dǎo)體。半導(dǎo)體的導(dǎo)電能力取決于半導(dǎo)體導(dǎo)帶內(nèi)載流子數(shù)目的多少。當(dāng)光敏電阻受到光照時,價帶中的電子吸收光子能量后躍遷
14、到導(dǎo)帶,成為自由電子,同時產(chǎn)生空穴,電子 空穴對的出現(xiàn)使電阻率變小。光照愈強,光生電子 空穴對就越多,阻值就愈低。當(dāng)光敏電阻兩端加上電壓后,流過光敏電阻的電流隨光照增大而增大。入射光消失,電子 -空穴對逐漸復(fù)合,電阻也逐漸恢復(fù)原值,電流也逐漸減小。光敏電阻的應(yīng)用光敏電阻屬半導(dǎo)體光敏器件,除具靈敏度高, 反應(yīng)速度快,光譜特性及 r 值一致性好等特點外, 在高溫,多濕的惡劣環(huán)境下, 還能保持高度的穩(wěn)定性和可靠性,可廣泛應(yīng)用于照相機,太陽能庭院燈,草坪燈,驗鈔機,石英鐘,音樂杯,禮品盒,迷你小夜燈,光聲控開關(guān),路燈自動開關(guān)以及各種光控玩具,光控?zé)麸?,燈具等光自動開關(guān)控制領(lǐng)域。4.5 ZigBee無線
15、模塊簡介圖 4.10 ZigBee 無線通訊模塊實物圖Zigbee 是基于標(biāo)準(zhǔn)的低功耗個域網(wǎng)協(xié)議。 根據(jù)這個協(xié)議規(guī)定的技術(shù)是一種短距離、低功耗的無線通信技術(shù)。其特點是近距離、低復(fù)雜度、自組織、低功耗、低數(shù)據(jù)速率、低成本。主要適合用于自動控制和遠程控制領(lǐng)域,可以嵌入各種設(shè)備。簡而言之, ZigBee 就是一種便宜的,低功耗的近距離無線組網(wǎng)通訊技術(shù)。5. 溫室大棚控制系統(tǒng)軟件設(shè)計下位機軟件設(shè)計本系統(tǒng)所使用的下位機為 AVR 單片機系列的 ATmega16 單片機,使用的下位機編程軟件為 ICCV7 。整體程序框圖如下:圖 5.1由圖可以看出,下位機的程序模塊主要包括:1. 數(shù)據(jù)采集單片機通過對 D
16、S18B20,DHT11 的驅(qū)動,讀出當(dāng)前棚內(nèi)的實時溫度和濕度,對單片機內(nèi) AD 的控制,實施對內(nèi)外光敏電阻電壓的采樣, 反映出當(dāng)前時刻的光照強度。再通過對熱釋電的檢測程序,讀取熱釋電的當(dāng)前狀態(tài),完成數(shù)據(jù)的采集。2數(shù)據(jù)處理對采集回來的數(shù)據(jù)進行進一步處理,如將小數(shù)與整數(shù)合并,超過一字節(jié)的數(shù)分成若干字節(jié)存儲操作,完成對上位機發(fā)送過來的數(shù)比較操作等。3. 數(shù)據(jù)發(fā)送將處理過的數(shù)通過無線傳輸模塊發(fā)送給上位機。4. 數(shù)據(jù)接收5. 實施控制將接收回來的數(shù)據(jù)及操作命令進行處理,并且同實時采集回來的數(shù)據(jù)進行比較,然后對系統(tǒng)完成控制操作。6. 狀態(tài)記憶當(dāng)下位機的數(shù)據(jù)發(fā)生改變時, 單片機就會將數(shù)據(jù)寫入 EEPROM
17、 中,確保下位機系統(tǒng)在非正常情況恢復(fù)后能繼續(xù)先前狀態(tài)運行。軟件程序流程圖如下:圖 5.2 程序流程圖編程軟件簡介ICCA VR 是 AVR 單片機的C 語言開發(fā)軟件,軟件集成有編輯,代碼生成,編譯,程序下載等功能,是目前國內(nèi)用的最廣泛的AVR 單片機開發(fā)軟件。我們用它來編輯,編譯avr 軟件 。上位機軟件設(shè)計本系統(tǒng)的上位機系統(tǒng)是利用 Microsoft Visual Studio 2008軟件編寫的 VB 操作平臺,軟件平臺截圖為:圖 5.3 上位機軟件截圖由該軟件平臺截圖可以看出,該上位機控制平臺的功能主要有:下位機系統(tǒng)主要參數(shù)顯示,手動控制參數(shù)設(shè)置,自動控制參數(shù)設(shè)置,通信端口設(shè)置,以及軟件
18、幫助部分。每部分的具體功能如下:1. 顯示部分:該部分主要用來顯示系統(tǒng)的溫度,濕度,內(nèi)外光照等數(shù)據(jù),使得下位機系統(tǒng)的狀太實時掌握。2. 手動控制參數(shù)設(shè)置部分:該部分主要用來設(shè)置手動控制時的狀態(tài),例如確定當(dāng)前補光燈的開關(guān)狀態(tài),通風(fēng)散熱扇的開關(guān)狀態(tài)等。單擊手動控制,即可完成對下位機的手動控制。3. 自動控制參數(shù)部分完成對下位機系統(tǒng)的精確控制,如輸入設(shè)定目標(biāo)溫度,輸入設(shè)定棚內(nèi)光強等,單擊自動控制,即可完成對下位機的自動控制精確。4. 通信端口設(shè)置部分該端口主要用來設(shè)定串口通信時所用 PC 機的端口以及通信波特率等,單擊連接串口,即完成數(shù)據(jù)通信,這是軟件操作的開始。5. 軟件幫助部分該部分主要用來顯示
19、一些幫助信息。此平臺除了完成以上部分外,還可以對軟件最后一次狀態(tài)進行記錄,寫入text 文件中保存,而且可以記錄報警信息,同樣是以text 文件保存。編程軟件簡介Microsoft Visual Studio 2008是面向 Windows Vista、Office 2007、Web 2.0的下一代開發(fā)工具, 代號 “Orcas”是對, Visual Studio 2005一次及時、全面的升級。VS2008 引入了 250 多個新特性,整合了對象、關(guān)系型數(shù)據(jù)、 XML 的訪問方式 ,語言更加簡潔。使用 Visual Studio 2008 可以高效開發(fā) Windows 應(yīng)用。設(shè)計器中可以實時反
20、映變更 ,XAML 中智能感知功能可以提高開發(fā)效率。同時Visual Studio 2008支持項目模板、調(diào)試器和部署程序。 Visual Studio 2008可以高效開發(fā) Web 應(yīng)用,集成了 AJAX 1.0,包含 AJAX 項目模板,它還可以高效開發(fā) Office 應(yīng)用和 Mobile 應(yīng)用。開發(fā)智能客戶端應(yīng)用程序。 Visual Studio 2008 為開發(fā)人員生成智能客戶端提供了新穎且容易的方式。它提供了一組綜合性的工具和類,從而簡化了將智能客戶端與新的或現(xiàn)有 Web 應(yīng)用程序進行集成的過程, 并且為在斷開連接的情況下本地緩存數(shù)據(jù)提供了支持。創(chuàng)建 Microsoft Office
21、 應(yīng)用程序。Visual Studio Tools for Office (VSTO) 完全集成到 Visual Studio 2008 專業(yè)版中。開發(fā)人員現(xiàn)在可以自定義各種 Office 應(yīng)用程序(例如, Outlook? 和 PowerPoint?),從而提高用戶的工作效率,簡化部署過程。生 成Windows Vista 應(yīng)用程序 。 通過將新的Windows PresentationFoundation 功能融合到現(xiàn)有 Windows 窗體應(yīng)用程序和新的應(yīng)用程序中,開發(fā)人員可以輕松地利用新的平臺技術(shù),并且向其客戶提供更具吸引力的應(yīng)用程序。更加富有成效地處理數(shù)據(jù)。由于引入了語言集成查詢(L
22、INQ)和其他數(shù)據(jù)訪問改進功能,開發(fā)人員能夠應(yīng)用一致的編程方法進行數(shù)據(jù)處理,使用新的數(shù)據(jù)設(shè)計圖面執(zhí)行數(shù)據(jù)訪問,以及使用內(nèi)置類來實施偶爾連接的設(shè)計模式。實現(xiàn)新的Web 體驗。開發(fā)人員可以使用Visual Studio 2008 輕松創(chuàng)建高效的交互式Web 應(yīng)用程序。為人熟悉的ASP.NET AJAX 編程模型的無縫集成實現(xiàn)了更為高效的客戶端執(zhí)行, 從而為最終用戶提供了響應(yīng)能力更強的Web 界面。 JavaScript IntelliSense 和調(diào)試進一步改善了開發(fā)體驗。獲得經(jīng)過改善的總體開發(fā)人員體驗。 Visual Studio 2008 進行了重大產(chǎn)品質(zhì)量改進,并且更改了最流行的設(shè)計圖面向用
23、戶返回錯誤的方式,這兩個方面結(jié)合起來,為開發(fā)人員帶來了更好的總體體驗。此外, Visual Studio 2008 通過使開發(fā)人員能夠面向不同的 .NET Framework 平臺,提高了用戶在開發(fā)工作中分別采用不同工具集和框架的能力。改善應(yīng)用程序生命周期管理 (ALM) 。 Visual Studio 中的 ALM 功能不僅為管理整個軟件開發(fā)生命周期提供了良好的支持,而且為與企業(yè)應(yīng)用程序的最終用戶及其利益相關(guān)者進行關(guān)鍵性交互提供了絕佳的支持。6. 總 結(jié)以上為我們所設(shè)計的蔬菜大棚自動控制系統(tǒng),它經(jīng)過多次修改和整理,可以滿足設(shè)計的基本要求。采用 ATmega16 AVR 單片機, DHT11
24、數(shù)字溫濕度傳感器, DS18B20 溫度傳感器,熱釋電傳感器,散熱扇,加熱器等器件設(shè)計蔬菜大棚控制系統(tǒng),實現(xiàn)溫濕度采集,溫度自動調(diào)節(jié),光照強度自動調(diào)節(jié),防盜報警等功能。因為水平有限,此設(shè)計存在一定的問題。譬如系統(tǒng)數(shù)據(jù)傳輸數(shù)據(jù)出錯,控制還不夠十分精確等。由于使用的是單片機作為核心的控制元件,配合其它器件,使本溫度控制系統(tǒng)具有功能強、性能可靠、電路簡單、成本低的特點,加上經(jīng)過優(yōu)化的程序,使其有很高的智能化水平,同時有上位機控制操作,使控制更加方便簡潔,更節(jié)省人力物力,更智能更人性化。附錄:PORTA=0XFF;ADCSRA=0xe6;下位機程序代碼:主程序:unsignedintAD_read(u
25、nsigned#include<iom16v.(void)char a)Init_DS18B20();unsigned int zhi=0;AD_init();ADMUX=a;motor_init();while(!ADIF);time0_init();zhi=ADC;nokia5110_init();return zhi;PWM_init();USART_Init();void AD_chuli(void)SEI();control_init();shiyan0=AD_read(0);read_date();delay_ms(20);while(1)shiyan1=AD_read(1)
26、;delay_ms(20);AD_chuli();shiyan2=AD_read(2);if(zishoudong=1)a3=shiyan0253;a4=shiyan0%253;內(nèi)光照dianresi();a5=shiyan1253;tongfeng();a6=shiyan1%253;外光照buguang();a7=shiyan2253;a8=shiyan2%253;卷簾度else if(zishoudong=2)buguangdeng.(void)kongwen();buguangdeng();if(TN>=(cunshuzi0+1)reshidian();PORTC&=0X7
27、F;關(guān)加熱PORTC|=0X40;關(guān)加熱AD.Helse if(TN>=(cunshuzi0)void AD_init(void)PORTC&=0X3F; 關(guān)加熱DDRA=0x00;PORTC&=0XbF; 關(guān)風(fēng)扇else if(TN<(cunshuzi0)PORTC|=0X80;開加熱PORTC&=0XbF; 關(guān)風(fēng)扇void buguangdeng(void)if(shiyan1>(cunshuzi3)PORTC&=0XDF;elseif(shiyan1<(cunshuzi4)PORTC|=0X20;void reshidian(voi
28、d)if(PINB&0X80)=0X80)a10=1;else if(PINB&0X80)=0x00)a10=0;Ds18b20.(flag);返回檢測成功標(biāo)志*函數(shù)功能:從 DS18B20 讀取一個字節(jié)數(shù)據(jù)出口參數(shù): dat*unsigned char ReadOneChar(void)unsigned char i=0;unsigned char dat,flag1;儲存讀出的一個字節(jié)數(shù)據(jù)for (i=0;i<8;i+)PORTB|=0X40;先將數(shù)據(jù)線拉高NOP();等待一個機器周期PORTB&=0XBF; 單片機從 DS18B20 讀書據(jù)時 ,將數(shù)據(jù)線從高
29、拉低即啟動讀時序dat>>=1;NOP();等待一個機器周期PORTB|=0X40;將數(shù)據(jù)線"人為 " 拉高 ,為單片機檢測 DS18B20 的輸出電平作準(zhǔn)備DDRB&=0XBF;for(time=0;time<2;time+);延時約 6us,使主機在15us 內(nèi)采樣 2flag1=PINB&0X40;if(flag1=0X40)dat|=0x80;如果讀到的數(shù)據(jù)是 1,則將 1 存入 datelsedat|=0x00; 如果讀到的數(shù)據(jù)是0,則將 0 存入 dat將單片機檢測到的電平信號DQ 存入 rifor(time=0;time<
30、;8;time+);延時 3us,兩個讀時序之間必須有大于 1us 的恢復(fù)期 8DDRB|=0X40;return(dat);返回讀出的十進制數(shù)據(jù)*函數(shù)功能:向 DS18B20 寫入一個字節(jié)數(shù)據(jù)入口參數(shù): dat*void WriteOneChar(unsigned int dat)unsigned char i=0;dat<<=6;for (i=0; i<8; i+)PORTB|=0X40;先將void wendu(void)數(shù)據(jù)線拉高NOP();等待一個機器周期ReadyReadTemp();讀溫度準(zhǔn)備TL=ReadOneChar();先讀的是溫PORTB&=0x
31、BF;將數(shù)度值低位據(jù)線從高拉低時即啟動寫時序TH=ReadOneChar();NOP();TN=TH*16+TL16;實際溫度值PORTB=dat&0x40;利用與運=(TH*256+TL)16, 即: TH*16+TL16算取出要寫的某位二進制數(shù)據(jù),并將其送到這樣得出的是溫度的整數(shù)部分,小數(shù)部分被數(shù)據(jù)線上等待 DS18B20 采樣丟棄了for(time=0;time<10;time+); 延 時TD=(TL%16)*1016;計算溫 度的約 30us, DS18B20 在拉低后的約1560us小數(shù)部分 ,將余數(shù)乘以 10 再除以 16 取整,期間從數(shù)據(jù)線上采樣10這樣得到的是溫
32、度小數(shù)部分的第一位數(shù)字PORTB|=0X40;釋放(保留 1 位小數(shù) )數(shù)據(jù)線a1=TN;for(time=0;time<1;time+);延 時a2=TD;3us,兩個寫時序間至少需要1us 的恢復(fù)期 1dat>>=1;將 dat 中的各二SCI.H進制位數(shù)據(jù)右移 1 位unsigned char void USART_Init(void)for(time=0;time<4;time+);稍作延時 ,給硬件一點反應(yīng)時間 4*函數(shù)功能:做好讀溫度的準(zhǔn)備*void ReadyReadTemp(void)Init_DS18B20();將 DS18B20初始化WriteOne
33、Char(0xCC);跳 過 讀序號列號的操作WriteOneChar(0x44);啟動溫度轉(zhuǎn)換Init_DS18B20();將 DS18B20初始化WriteOneChar(0xCC);跳過讀序號列號的操作WriteOneChar(0xBE); 讀取溫度寄存器 ,前兩個分別是溫度的低位和高位*DDRD|=0X02;TX:D1;RX:D0DDRD&=0Xfe;TX:D1;RX:D0UCSRB|=0X98;接收中斷使能,接收發(fā)送時能UCSRC|=0X86;寄存器選著,八位數(shù)據(jù)發(fā)送UBRR=47;*設(shè)置波特率 9600*void USART_TX(unsigned char data)*
34、等待發(fā)送緩沖器為空*while ( !TXC );* 將數(shù)據(jù)放入緩沖器,發(fā)送數(shù)據(jù)*UDR = data;void fasong(unsigned char *str,unsigned char m)unsigned char i=0,b10;for(i=0;i<10;i+)bi=(ai+1+1)%10;zishoudong=1;PWM_init1();a11=b0+b1+b2+b3+b4+b5+b6+b7+b8+b9+a1;else if(shou7=0&&shou8=1)for(i=0;i<m;i+)自動控制USART_TX(stri);for(i=0;i<
35、10;i+)delay_ms(10);zhancuni=shoui%10;#pragma interrupt_chuan=0) 數(shù)據(jù)開始if(shou10=(zhancun0+zhancun1kaiguan_chuan=1;+zhancun2+zhancun3+zhancun4+zhanxunhuani=0;cun5+zhancun6+zhancun7+zhancun8+zhancun9)else if(kaiguan_chuan=1) 數(shù)據(jù)接收for(i=0;i<11;i+)shouxunhuani=shuju;xunhuani+;cunshuzii=shoui;if(xunhuani
36、=11) 數(shù)據(jù)接收完成for(i=0;i<11;i+)kaiguan_chuan=0;xunhuani=0;EEPROM_write(i,cunshuzii);if(shou7=1&&shou8=0) 手動控制EEPROM_write(11,2);zishoudong=2;if(shou10=(shou0+shou1+shou2PWM_init();+shou3+shou4+shou5+shou6+shou7+shou8+shou9)TIMSK|=0X01; 溢出中斷使能for(i=0;i<11;i+)Shidu.0);cunshushoui=shoui;for(i
37、=0;i<11;i+)Canshu.=0;unsigned char 十二位數(shù)據(jù), a0,a11為校驗, a11=a1+a2+a9;EEPROM_write(i,cunshushoui);*a0 為開始標(biāo)志, a1a2 存放溫度數(shù)據(jù),a3a4 存放內(nèi)光照數(shù)據(jù), a5a6 存放外光EEPROM_write(11,1);照數(shù)據(jù), a7a8 存放卷簾度數(shù)據(jù), a9存放濕度數(shù)據(jù) *unsigned char shou12;接收數(shù)據(jù)存放數(shù)組 unsigned char cunshushou12; unsigned char cunshuzi12; unsigned char zhancun10;u
38、nsigned int shiyan3;AD 采集數(shù)據(jù)存放數(shù)組,shiyan0為內(nèi)光照, shiyan1為外光照,shiyan2為卷簾度unsigned char kaiguan_chuan=0,xunhuani=0,kaiguan=0; unsigned char zishoudong=0; *time. EEDR;void read_date(void)unsigned char j=0;for(j=0;j<12;j+)read_prej=EEPROM_read(j);if(read_pre11=1)for(j=0;j<11;j+)cunshushouj=read_prej;z
39、ishoudong=1;else if(read_pre11=2)for(j=0;j<11;j+)cunshuzij=read_prej;zishoudong=2;Pid. As BytePublic wendu As DoublePublic wendu1 As DoublePublic wenduz As IntegerPublic wendux As IntegerPublic shidu As IntegerPublic neiguang As IntegerPublic waiguang As IntegerPublic juanlian As IntegerPublic zh
40、i As IntegerPublic wenjian As BytePublic kaishi As Byte' Public kaishi1 As Byte Public i As Byte' Public j As BytePublic shuju(0 To 10) As Byte 'jieshoushuju' Public shuju1(0 To 10) As Byte Public juankai As BytePublic baokai As Byte' Public fasong As BytePublic biaozhi As Byte P
41、ublic baojin As Byte Public baojinkong As Byte Public jieshoujian(0 To 9) As Byte Public shoudongbian(0 To 5) As Byte Private Function chushihua() AsIntegerzi = 0shou = 0chuan = 0i = 0biaozhi = 0wenjian = 0kaishi = 0zidong.Checked = Falseshoudong.Checked = FalseIftongxun1.PortOpen=TrueThentongxun1.P
42、ortOpen = False End IfEnd FunctionPrivate Function chuanshuzi() As IntegerDim aa(0 To 11) As ByteDim bb(0 To 9)If zi = 1 Thenaa(0) = 255aa(1) = shedingwendu.Textaa(2) = shedingshidu.Textaa(3) = shedingguanqiang.Textaa(4) = TextBox1.Textaa(5) = TextBox2.Textaa(6) = juankaiaa(7) = baokaiaa(8) = shouaa
43、(9) = ziaa(10) = 0For p = 0 To 9bb(p) = aa(p + 1) Mod 10Nextaa(11) = bb(0) + bb(1) + bb(2) + bb(3) + bb(4) + bb(5) + bb(6) + bb(7) + bb(8) + bb(9)If tongxun1.PortOpen = TrueThentongxun1.Output = aaEnd IfEnd IfEnd FunctionPrivate Function chuanshushou() As IntegerDim aa(0 To 11) As ByteIf shou = 1 Th
44、enaa(0) = 255aa(1) = shoudongbian(0)aa(2) = shoudongbian(1)aa(3) = shoudongbian(2)aa(4) = shoudongbian(3)aa(5) = shoudongbian(4)aa(6) = shoudongbian(5)aa(7) = 0aa(8) = shouaa(9) = ziaa(10) = 0aa(11) = aa(1) + aa(2) + aa(3) + aa(4) + aa(5) + aa(6) + aa(7) + aa(8) + aa(9) + aa(10)If tongxun1.PortOpen
45、= TrueThentongxun1.Output = aaEnd IfEnd IfEnd FunctionPrivate Function yinyue() As IntegerAudioPlayMode.Background)End FunctionPrivateSub蔬 菜 大 棚 控 制 平 臺_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadLabel2.Text = DateString + " " + TimeStringRadioButto
46、n6.Checked = True RadioButton8.Checked = True RadioButton10.Checked = True RadioButton12.Checked = True RadioButton14.Checked = TrueRadioButton16.Checked = True tongxun1.InBufferSize = 20 '設(shè)置緩沖區(qū)接收數(shù)據(jù)為20 字節(jié)tongxun1.InputLen=1'設(shè)置Input 一次從接收緩沖讀取字節(jié)數(shù)為1tongxun1.RThreshold = 1 ' 設(shè)置接收 10 個字節(jié)就產(chǎn)生 OnComm 事件tongxun1.InputMode = 1 '設(shè)置數(shù)據(jù)接收模式為二進制形式tongxun1.InBufferCount = 0 ' 清除接收緩沖區(qū)tongxun1.OutBufferCount = 0 ' 清除發(fā)送緩沖區(qū)數(shù)據(jù)Iftongxun1.PortOpen=TrueThentongxun1.PortOpen = False End IfComboBox1.Text = "COM1"ComboBox2.Text = "9600"C
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度北京零售業(yè)店長勞動合同續(xù)簽與終止
- 海運合同不可抗力條款應(yīng)用
- 電子商務(wù)運營實務(wù)操作指南
- 合伙購車協(xié)議書
- 民營醫(yī)院勞動合同書
- 酒店運營管理入門指南
- 游戲開發(fā)與優(yōu)化指南
- 電子商務(wù)平臺用戶體驗優(yōu)化與營銷推廣方案
- 勞務(wù)分包合同個人
- 勞動合同安全管理制度
- DBJ-T 15-98-2019 建筑施工承插型套扣式鋼管腳手架安全技術(shù)規(guī)程
- (全新)中職單招衛(wèi)生類技能考試復(fù)習(xí)試題庫(含答案)
- 醫(yī)院收費窗口服務(wù)禮儀培訓(xùn)
- 2024年全國初中數(shù)學(xué)聯(lián)合競賽試題參考答案及評分標(biāo)準(zhǔn)
- 食品加工企業(yè)安全培訓(xùn)課件
- 團隊管理能力提升培訓(xùn)課件
- 快修店營銷方案
- 報價單(報價單模板)
- 刑事案件模擬法庭劇本完整版五篇
- 2014教師事業(yè)單位工作人員年度考核登記表1
- 烏海周邊焦化企業(yè)概況
評論
0/150
提交評論