版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、航空工業(yè)管理學(xué)院畢業(yè)論文設(shè)計(jì)2012屆電氣工程及其自動化專業(yè)班級題目基于單片機(jī)的大棚溫濕度亮度自動控制系統(tǒng)設(shè)計(jì)姓名學(xué)號指導(dǎo)教師職稱二0二年_五月二十日 # i內(nèi)容摘要溫室是現(xiàn)代農(nóng)業(yè)生產(chǎn)所必需的基本設(shè)備,用它有效地控制溫度、光照、濕度、二氧化碳濃度等是改變植物生長環(huán)境、為植物生長創(chuàng)造最正確條件、防止外界四季變化和惡劣氣候?qū)ζ溆绊懙那疤?。矚慫潤厲釤瘞睞櫪廡賴。本設(shè)計(jì)以STC89C52單片機(jī)為核心完成了對空氣溫度、土壤濕度、光照度進(jìn)行數(shù)據(jù)的采集、處理、顯示等系統(tǒng)的基本框圖、工作原理和繼電器控制的設(shè)計(jì)的工作。主要內(nèi)容有:1通過數(shù)字溫度傳感器DS18B20采集實(shí)時(shí)溫度。2通過濕度傳感器HS1101采集實(shí)
2、時(shí)濕度。3通過光敏電阻采集實(shí)時(shí)光照度。4判斷采集到的參數(shù)值與設(shè)置值是否一致,并進(jìn)行繼電器控制。聞創(chuàng)溝燴鐺險(xiǎn)愛氌譴凈。通過以上設(shè)計(jì)可以對植物生長過程中的土壤濕度、環(huán)境溫度、光照度進(jìn)行了實(shí)時(shí)地、連續(xù)地檢測、直觀地顯示并進(jìn)行自動地控制。克服了傳統(tǒng)的人工測量方法不能進(jìn)行連續(xù)測量的弊端,節(jié)省了工作量,并防止了人為的疏漏或錯(cuò)誤造成的不必要的損失。殘騖樓諍錈瀨濟(jì)溆塹籟。關(guān)鍵詞單片機(jī);濕敏傳感器;數(shù)字溫度傳感器;光敏電阻;繼電器控制 # DesignofSCM-basedTemperatureandHumidityandLightIlluminationAutomaticControlSystemforGre
3、enhouse100697216LiMingjieTeacher:SuYanpingAbstractGreenhouseisthebasicequipmentnecessaryfortheproductionofmodernagriculture,Useitcaneffectivelycontrolthetemperature,humidityandilluminationofthegreenhouse,anditisthepremiseofchangedforplantgrowthtocreatethebestconditions,avoidchangingseasonsandseverew
4、eatheroutsideofitsimpact.彈貿(mào)攝爾霽斃攬磚鹵廣Thethesismainlyfocuson:thebaseblockdiagram,workingprincipleandthedesignofrelaycontrolwhichusetheSCMSTC89C52asthecoreofthesystemtocollect,handle,displaythedataoftheairtemperature,soilhumidityandlightilluminance.Themaincontents:(1)collectedreal-timetemperaturebydigit
5、altemperaturesensorDS18B20.(2)collectedreal-timehumiditybyhumiditysensorHS1101.(3)collectedreal-timelightilluminationbyphotoresistor.(4)judgethecollectedparametervaluesandthesettingvalueswhethersameornot,andcontroltherelay.謀蕎摶篋飆鐸對類蔣薔ThesystemuseReal-timeandcontinuousdetection,displayintuitivelyandco
6、ntrolautomaticallyonsoilmoisture,ambienttemperature,lightilluminanceintheprocessofplantgrowth.Thesystemcanovercomethedefectsfromthetraditionalmanualmethodsofmeasurementwhichcannotmeasurecontinuously,andsavetheamountofwork,avoidomissionsorunnecessarylossesthatcausedbyerrors.廈礴懇蹣駢時(shí)盡繼價(jià)騷【Keywords】SCM;hu
7、miditysensors;digitaltemperaturesensors;lightdependentresistor;relaycontrol煢楨廣鰳鯡選塊網(wǎng)羈淚。 ii i目錄TOC o 1-5 h z第一章概述11.1選題背景11.2國內(nèi)外的發(fā)展現(xiàn)狀21.3課題內(nèi)容、目的及思路21.4設(shè)計(jì)過程及工藝要求2第二章系統(tǒng)的總體設(shè)計(jì)3系統(tǒng)設(shè)計(jì)目標(biāo)32.2系統(tǒng)的組成和工作原理3環(huán)境參數(shù)檢測方案的比較和選擇82.3.1濕度傳感器的選擇82.3.2溫度傳感器的選擇102.3.3光亮度傳感器的選擇112.3.4方案選擇總結(jié)12第三章硬件的設(shè)計(jì)12MCU選型123.2濕度測量電路133.3溫度測量電
8、路153.4光照度測量電路1722數(shù)據(jù)顯示電路19復(fù)位電路22鍵盤電路23繼電器控制電路23電源電路24第四章軟件設(shè)計(jì)25主程序流程圖25參數(shù)測量子程序流程圖27鍵盤掃描子程序流程27總結(jié)致謝29參考文獻(xiàn)30附錄1系統(tǒng)總體電路圖31附錄2系統(tǒng)源代碼32 基于單片機(jī)的大棚溫濕度亮度自動控制系統(tǒng)設(shè)計(jì)學(xué)號:100697216:李明杰指導(dǎo)老師:蘇艷蘋職稱:講師第一章概述選題背景現(xiàn)代化農(nóng)業(yè)生產(chǎn)中的重要一環(huán)就是對農(nóng)業(yè)生產(chǎn)環(huán)境的一些重要參數(shù)進(jìn)行檢測和控制。例如:空氣的溫度、濕度、光照強(qiáng)度、二氧化碳含量、土壤的含水量等。溫室環(huán)境與生物的生長、發(fā)育、能量交換密切相關(guān),進(jìn)行環(huán)境測控是實(shí)現(xiàn)溫室生產(chǎn)管理自動化、科學(xué)化
9、的基本保證,通過對監(jiān)測數(shù)據(jù)的分析結(jié)合作物生長發(fā)育規(guī)律,控制環(huán)境條件,使作物到達(dá)優(yōu)質(zhì)、高產(chǎn)、高效的栽培目的。以蔬菜大棚為代表的現(xiàn)代農(nóng)業(yè)設(shè)施在現(xiàn)代化農(nóng)業(yè)生產(chǎn)中發(fā)揮著巨大的作用,所以對大棚內(nèi)的溫度、濕度與光照強(qiáng)度等參數(shù)的控制就顯的非常重要了。穎芻莖蛺餑億頓裊賠瀧。傳統(tǒng)的方法是用毛發(fā)濕度表、酒精溫度計(jì)等進(jìn)行人工測量,再對不符合的溫度、濕度、光照度通過在溫室大棚進(jìn)行灌溉、降溫、遮光等控制操來調(diào)節(jié),這種人工測控的方法費(fèi)時(shí)費(fèi)力、效率低、且無法保證測量的連續(xù)性,測量的誤差大、隨機(jī)性大,隨意性強(qiáng)。為了克服以上幾點(diǎn)不足,我們需要一種造價(jià)低廉,使用方便且測量準(zhǔn)確的自動測控系統(tǒng)。國內(nèi)外的發(fā)展現(xiàn)狀國外的溫室設(shè)施己經(jīng)發(fā)展
10、到比較完備的程度,并形成了一定的標(biāo)準(zhǔn),但是價(jià)格非常昂貴,缺乏與我國氣候特點(diǎn)相適應(yīng)的測控軟件,不利于在我國廣泛地推廣,而當(dāng)今在我國大多數(shù)地方對大棚溫度、濕度、二氧化碳含量,光照強(qiáng)度的檢測與控制都采用人工管理,存在著測控精度低、勞動強(qiáng)度大及由于測控不及時(shí)等弊端,容易造成不可彌補(bǔ)的損失,結(jié)果不但大大增加了成本浪費(fèi)了人力資源,而且很難到達(dá)預(yù)期的效果。本系統(tǒng)主要針對溫室大棚內(nèi)溫度、濕度,光照強(qiáng)度研制了單片機(jī)控制的溫室大棚自動控制系統(tǒng),綜合考慮系統(tǒng)的精度、效率以及經(jīng)濟(jì)性要求三個(gè)方面因素之后,最終確定以單片機(jī)為控制核心,選用性價(jià)比比較高的傳感器,實(shí)現(xiàn)對溫濕度的精確測量與準(zhǔn)確控制同時(shí)又具有價(jià)格低等優(yōu)點(diǎn),便于在
11、我國推廣。銚銻縵嚌鰻鴻鋟謎諏涼。課題內(nèi)容、目的及思路本系統(tǒng)主要采用單片機(jī)作為系統(tǒng)的控制核心,由溫室內(nèi)的空氣溫度傳感器、土壤濕度傳感器、光照度傳感器采集數(shù)據(jù),經(jīng)過模數(shù)轉(zhuǎn)換后送入單片機(jī)由單片機(jī)根據(jù)采集的數(shù)據(jù)做出相應(yīng)的控制,例如控制繼電器的開合,使換氣風(fēng)扇、滴灌設(shè)備、遮陽幕等設(shè)備的啟動或停止,到達(dá)控制溫室各項(xiàng)參數(shù)的目的。同時(shí)在外接的LCD液晶上顯示實(shí)時(shí)參數(shù),便于觀察。外接的鍵盤可以設(shè)定系統(tǒng)控制的溫度值,以滿足不同條件下對溫度的不同要求。擠貼綬電麥結(jié)鈺贖嘵類。設(shè)計(jì)過程及工藝要求在本系統(tǒng)中為了保證對溫度、濕度和光照度的檢測的實(shí)時(shí)性和準(zhǔn)確性,采用了數(shù)字溫度傳感器來檢測溫度。采用濕度傳感器來檢測土壤濕度。采
12、用光敏電阻檢測光照度。最后通過單片機(jī)處理后顯示在LCD液晶顯示屏上,并通過控制繼電器的開合控制相應(yīng)的調(diào)節(jié)部件對植物的生長環(huán)境的各項(xiàng)參數(shù)進(jìn)行調(diào)節(jié),以到達(dá)適合植物生長的環(huán)境條件。賠荊紳諮侖驟遼輩襪錈。本系統(tǒng)的基本功能有:檢測空氣溫度、土壤濕度、環(huán)境光照度。顯示以上各項(xiàng)參數(shù)并自動調(diào)節(jié)。第二章系統(tǒng)的總體設(shè)計(jì)系統(tǒng)設(shè)計(jì)目標(biāo)本設(shè)計(jì)的要求是以單片機(jī)為控制核心,以濕度傳感器、溫度傳感器、光敏電阻完成對溫室大棚內(nèi)的各項(xiàng)參數(shù)進(jìn)行測量,并將數(shù)據(jù)輸入到單片機(jī)中,有單片機(jī)根據(jù)所編寫的程序,通過繼電器控制電路控制相應(yīng)的設(shè)備到達(dá)自動調(diào)控溫室大棚內(nèi)各項(xiàng)參數(shù)的目的,同時(shí)將通過各種傳感器測的數(shù)據(jù)實(shí)時(shí)地顯示在液晶屏上。系統(tǒng)可通過按鍵
13、人為地設(shè)定合適的參數(shù),便于根據(jù)不同的植被的環(huán)境中使用。塤礙籟饈決穩(wěn)賽釙冊庫。系統(tǒng)的組成和工作原理硬件系統(tǒng)主要有信號采集、信號分析、信號處理三個(gè)部分組成。(1)信號采集由濕度傳感器、溫度傳感器、光敏電阻組成。(2)信號分析由單片機(jī)基本系統(tǒng)組成。(3)信號處理由并行口LCD液晶顯示屏和繼電器控制電路組成。 硬件系統(tǒng)的原理方框圖如圖2-1:單片機(jī)通過濕度傳感器檢測土壤的濕度,假設(shè)土壤的濕度過低,單片機(jī)就打開滴灌設(shè)備的電磁閥一分鐘,對作物進(jìn)行滴灌作業(yè),增加土壤濕度,經(jīng)過一段時(shí)間,單片機(jī)再次檢測土壤濕度,如果濕度過高,就關(guān)閉滴灌設(shè)備的電磁閥,停止滴灌作業(yè)。如果開始檢測的土壤濕度在適宜的范圍,單片機(jī)則維持
14、現(xiàn)有狀態(tài)不變。土壤濕度控制部分流程如圖2-2:開始YNYNYN結(jié)束濕度是否髙于設(shè)定的適宜范圍上限?濕度是否低于設(shè)定的適宜范圍下限?濕度是否在設(shè)定的適宜范圍內(nèi)?滴灌設(shè)備開始工作滴灌設(shè)備繼電器吸合一分鐘滴灌設(shè)備繼電器斷開滴灌設(shè)備停止工作圖2-2土壤濕度控制流程圖單片機(jī)通過溫度傳感器檢測溫室的空氣溫度,當(dāng)空氣溫度過髙時(shí),就通過控制電路,打開排氣扇配合設(shè)置在溫室大棚頂部的噴霧設(shè)備的進(jìn)行一段時(shí)間的溫室大棚的降溫作業(yè),而當(dāng)溫室溫度過低時(shí),則通過單片機(jī)自動關(guān)閉降溫設(shè)備的工作,使溫度值到達(dá)適宜的范圍。假設(shè)一開始檢測的光照度在適宜范圍,單片機(jī)將維持現(xiàn)有狀態(tài)??諝鉁囟瓤刂屏鞒倘缦铝袌D2-3:YNYNYNW結(jié)束溫度
15、是否髙于設(shè)定的適宜范圍上限?溫度是否低于設(shè)定的適宜范圍下限?溫度是否在設(shè)定的適宜范圍內(nèi)?開始排風(fēng)扇及噴霧設(shè)備停止工作排風(fēng)扇及噴霧設(shè)備繼電器吸合排風(fēng)扇及噴霧設(shè)備開始工作排風(fēng)扇及噴霧設(shè)備繼電器斷開圖2-3空氣溫度控制流程圖光照度的控制主要靠遮陽幕的開關(guān),光照度過髙時(shí),系統(tǒng)通過關(guān)閉大棚頂部的遮陽幕,防止陽光直射作物,減小光照度,及減少強(qiáng)光對作物生長的影響。當(dāng)光照度過低時(shí),就打開遮陽幕,增加光照度。如果檢測的光照度在適宜范圍,單片機(jī)將維持現(xiàn)狀。光照度控制部分流程如下列圖2-4:開始YNYNYN結(jié)束光照度是否低于設(shè)定的適宜范圍下限?光照度是否在設(shè)定的適宜范圍內(nèi)?光照度是否髙于設(shè)定的適宜范圍上、限?,遮陽
16、幕打開遮陽幕繼電器吸合遮陽幕關(guān)閉遮陽幕繼電器斷開圖2-4光照度控制流程圖環(huán)境參數(shù)檢測方案的比較和選擇濕度傳感器的選擇單片機(jī)作為控制核心,要有被檢測信號輸入,由單片機(jī)處理。如何準(zhǔn)確確實(shí)定外圍環(huán)境的各項(xiàng)參數(shù)就顯的非常重要。轡燁棟剛殮攬瑤麗鬮應(yīng)。傳感器是實(shí)現(xiàn)測量與控制的首要環(huán)節(jié),是測控系統(tǒng)的關(guān)鍵部件,如果沒有傳感器對原始信號進(jìn)行準(zhǔn)確可靠的捕捉和轉(zhuǎn)換,系統(tǒng)就無法實(shí)現(xiàn)要求的各項(xiàng)功能。工業(yè)生產(chǎn)過程中的自動化的測量和控制,大部分主要依靠各種傳感器來檢測和控制生產(chǎn)過程中的各項(xiàng)參量,使系統(tǒng)工作在最正確的狀態(tài)下。峴揚(yáng)測量土壤濕度的方法有很多種,其原理是根據(jù)某種物質(zhì)從其周圍的土壤中吸收水分后引起的物理或化學(xué)的性質(zhì)的
17、變化,間接的獲得土壤的濕度。電容式、電阻式和濕漲式濕敏元件分別是根據(jù)其高分子材料吸水后的介電常數(shù)電阻率和體積發(fā)生的變化進(jìn)行濕度的測量。詩叁撻訥燼憂毀厲鋨驁。方案一:采用HOS-201濕敏傳感器。HOS-201濕敏傳感器為髙濕度開關(guān)傳感器,它的工作電壓為交流IV以下,頻率為50HZ1KHZ,測量范圍為0%100%RH,工作溫度為0501,阻抗在75%RH(25C)時(shí)為1MQ。這種傳感器主要用于開關(guān)的傳感器,不能在寬頻域內(nèi)檢測濕度。這種傳感器只限于一定范圍內(nèi)使用時(shí)具有良好的線性度。則鯤愜韋瘓賈暉園棟瀧。方案二:采用HS1100/HS110113顯度傳感器。HS1100/HS1101濕度傳感器,在電
18、路結(jié)構(gòu)上等效于一個(gè)電容器,其電容量隨著土壤濕度的增大而增大,不需要校準(zhǔn)的完全互換性,髙可靠性和長期穩(wěn)定性,快速響應(yīng),專利設(shè)計(jì)的固態(tài)聚合物結(jié)構(gòu)由頂端接觸HS1100和側(cè)面接觸HS1101兩種封裝產(chǎn)品,適用于線性電壓輸出和頻率輸出兩種電路。綜合比較方案一和方案二,方案一雖然滿足精度和測量溫度的要求,但是只是限定于一定的范圍內(nèi)使用時(shí)具有良好的線性度。因此,我們選擇方案二作為本設(shè)計(jì)的濕度傳感器。鰓躋峽禱紉誦幫廢掃減。濕度傳感器HS1101的特點(diǎn):相對濕度在1%100%RH范圍內(nèi):電容量有16pf變到200pf,其誤差不大于w。稟虛嬪賑維嚌妝擴(kuò)踴糶由此可以看出HS1101具有測量精度髙,反應(yīng)速度髙的優(yōu)點(diǎn)
19、,其濕度一電容響應(yīng)曲線如圖2-5:HS1101的一些常用參數(shù)如表2-1:表2-1HS1101常用參數(shù)參數(shù)符號參數(shù)值單位工作溫度Ta-40100C儲存溫度Tstg-40125C供電電壓Vs10Vac濕度范圍RH0100%RH焊接時(shí)間=2601t10S # 溫度傳感器的選擇方案一:采用AD590溫度傳感器。AD590溫度傳感器是美國模擬器件公司生產(chǎn)的單片集成兩端感溫電流源。AD590性能描述:測量范圍在-501+1501,滿刻度范圍誤差為土0.31,當(dāng)電源電壓在510V之間,穩(wěn)定度為1%時(shí),誤差只有土0.01C。AD590為電流型傳感器溫度每變化1C其電流變化1uA在35C和95C時(shí)輸出電流分別為
20、308.2uA和368.2uA。陽窶埡鮭罷規(guī)嗚舊巋方案二:采用DS18B20溫度傳感器。美國DALLAS公司的產(chǎn)品可編程單總線數(shù)字式溫度傳感器DS18B20可實(shí)現(xiàn)室內(nèi)溫度信號的采集,有很多優(yōu)點(diǎn):如直接輸出數(shù)字信號,故省去了后繼的信號放大及模數(shù)轉(zhuǎn)換部分,外圍電路簡單,成本低;單總線接口,只有一根信號線作為單總線與CPU連接,且每一只都有自己唯一的64位系列號存儲在其內(nèi)部的ROM存儲器中,故在一根信號線上可以掛接多個(gè)DS18B20,便于多點(diǎn)測量且易于擴(kuò)展。溈氣嘮戇萇鑿鑿櫧諤應(yīng)。綜合比較方案一和方案二,兩方案都可以滿足設(shè)計(jì)所要求的精度溫度要求,但方案一的后續(xù)電路復(fù)雜,需要經(jīng)過放大,數(shù)模轉(zhuǎn)換等步驟,增
21、加了設(shè)計(jì)的復(fù)雜度和成本,并需要占用單片機(jī)較多的I/O口。方案二的后續(xù)電路簡單,占用的1/0口數(shù)量少,為整體設(shè)計(jì)留出了足夠的I/O口資源。故我們采用方案二作為本系統(tǒng)的溫度傳感器。鋇嵐縣緱虜榮產(chǎn)濤團(tuán)藺。DS18B20的溫度值格式如表2-2:表2-2DS18B20的溫度值格式位7位6位5位4位3位2位1位0低字節(jié)232221202-12-22-32-4位15位14位13位12位11位10位9位8髙字節(jié)SSSSS262524DS18B20中的溫度傳感器完成對溫度的測量,用16位二進(jìn)制形式提供,iiii形式表達(dá),其中S為符號位。例如+1251的數(shù)字輸出為07D0H正溫度直接把16進(jìn)制數(shù)轉(zhuǎn)成10進(jìn)制即得到
22、溫度值;懨俠劑鈍觸樂鷴燼觶騮。-551的數(shù)字輸出為FC90H。負(fù)溫度把得到的16進(jìn)制數(shù)取反后1再轉(zhuǎn)成10進(jìn)制數(shù)。數(shù)字輸出格式如表2-3:表2-3DS18B20的數(shù)字輸出格式表溫度數(shù)字輸出(二進(jìn)制)數(shù)字輸出(十六進(jìn)制)+125000001111101000007D0h+8500000101010100000550h00000001100100010191h000000001010001000A2h00000000000010000008h000000000000000000000h1111111111111000FFF8h1111111101011110FF5Eh1111111001101111
23、FE6Fh-551111110010010000FC90h2.3.3光亮度傳感器的選擇方案一:采用光照度傳感器M124749,該光照度傳感器采用先進(jìn)的電路模塊技術(shù)開發(fā)變送器,用于實(shí)現(xiàn)對環(huán)境光照度的測量,輸出標(biāo)準(zhǔn)的電壓及電流信號,體積小,安裝方便,線性度好,傳輸距離長,抗干擾能力強(qiáng),量程可調(diào)。但價(jià)格昂貴,性價(jià)比不高,且不易購買。謾飽兗爭詣繚鮐癩別瀘。方案二:采用光敏電阻。光敏電阻的工作原理是當(dāng)有光線照射時(shí),電阻內(nèi)原本處于穩(wěn)定狀態(tài)的電子受到激發(fā),成為自由電子,所以光線越強(qiáng),產(chǎn)生的自由電子也就越多,電阻就會越小。光敏電阻的優(yōu)點(diǎn)有內(nèi)部的光電效應(yīng)和電極無關(guān)光電二極管才有關(guān),即可以使用直流電源。靈敏度和半
24、導(dǎo)體材料、以及入射光的波長有關(guān),價(jià)格低廉,性價(jià)比高。 比較以上兩個(gè)方案,方案一雖然具有更好的設(shè)計(jì)精度和線性度,但性價(jià)比不如光敏電阻好。方案二具有較高的性價(jià)比且同時(shí)也能滿足系統(tǒng)的設(shè)計(jì)要求,故采用光敏電阻作為光照度傳感器?,撝C齷蘄賞組靄縐嚴(yán)減。2.3.4方案選擇總結(jié)1濕度傳感器采用HS1101。2溫度傳感器采用DS18B20。3光亮度傳感器采用光敏電阻。第三章硬件的設(shè)計(jì)MCU選型STC89C52是一種低功耗、髙性能CM0S8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供髙靈活、超有效的解決
25、方案。麩肅鵬鏇轎騍鐐縛縟糶。具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,內(nèi)置4KBEEPROM,MAX810復(fù)位電路,三個(gè)16位定時(shí)器/計(jì)數(shù)器,全雙工串行口,最髙運(yùn)作頻率35MHZ。它是MCS-51系列單片機(jī)的派生產(chǎn)品,在指令系統(tǒng)、硬件結(jié)構(gòu)和片內(nèi)資源上與標(biāo)準(zhǔn)8052單片機(jī)完全兼容,DIP40封裝系列與8051兼容均為Pin-to-Pin,使用時(shí)容易掌握;納疇鰻吶鄖禎銣膩鰲錟髙速、低功耗、價(jià)格低、穩(wěn)定可靠、應(yīng)用廣泛、通用性強(qiáng),在系統(tǒng)/在應(yīng)用可編程(ISP,IAP),不占用戶資源。STC89C52單片機(jī)管腳如圖3-1:圖3-1STC89C52單片機(jī)管腳定
26、義圖濕度測量電路HS1101濕度傳感器,在電路中等效于一個(gè)電容器件,其電容量隨著所測的土壤濕度增大而增大,如何將電容的變化量準(zhǔn)確的轉(zhuǎn)換成單片機(jī)易于接受的信號,常有兩種方法:一是將該濕敏傳感器置于運(yùn)放與阻容組成的橋式振蕩電路中,所產(chǎn)生的正弦波電壓信號經(jīng)整流、直流放大、再經(jīng)過A/D轉(zhuǎn)換成為數(shù)字信號;另一種是將該濕敏傳感器置于555振蕩電路中,將電容值的變化轉(zhuǎn)化為與之成反比的電壓頻率信號,可直接被單片機(jī)所采集。本系統(tǒng)采用的是測量555輸出的振蕩的方法,電路如圖3-2所示:11_I1iL1lrI二II圖3-2濕度測量電路圖此電路為典型的555雙穩(wěn)態(tài)電路。HS1101/HS1100作為電容變量接在555
27、的TRIG與THRES兩引腳上,引腳7用作電阻R9的短路。鐒鸝餉飾鐔閌貲諢癱騮等量電容HS1101/HS1100通過R8與R9充電到門限電壓約0.67Vcc,通過R8放電到觸發(fā)電平約0.33Vcc,然后R9通過引腳7短路到地。傳感器由不同的電阻R8與R9充放電。攙閿頻嶸陣澇諗譴隴瀘。電壓輸出典型參數(shù)VCC=5V,25C如表3-1表3-1HS1101濕度傳感器電壓輸出典型參數(shù)VCC=5V,25CRH0102030405060708090100Vout溫度測量電路因?yàn)樵诒鞠到y(tǒng)中采用了DS18B20數(shù)字溫度傳感器,所以后續(xù)電路簡單,只需將傳感器的數(shù)據(jù)輸入/輸出管腳直接接到單片機(jī)I/O口,通過單片機(jī)的
28、控制DS18B20傳感器并實(shí)時(shí)讀取空氣溫度。數(shù)字溫度傳感器的測量電路如圖3-3所示:圖3-3溫度測量電路圖DS18B20數(shù)字溫度計(jì)是DALLAS公司生產(chǎn)的1Wire,即單總線器件,具有線路簡單,體積小的特點(diǎn)。因此用它來組成一個(gè)測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。DS18B20產(chǎn)品的特點(diǎn)1只要求一個(gè)端口即可實(shí)現(xiàn)通信。2在DS18B20中的每個(gè)器件上都有獨(dú)一無二的序列號。3實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測溫。4測量溫度范圍在一55oC到+125oC之間。5數(shù)字溫度計(jì)的分辨率用戶可以從9位到12位選擇。6內(nèi)部有溫度上、下限告警設(shè)置。DS18B20的管腳
29、圖如圖3-4所示:FR對封裝0刃封裝VccNCNCNC圖3-4DS18B20管腳及封裝圖GND:地信號DQ:數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。VDD:可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。DS18B20的ROM指令如表3-2所示:表3-2DS18B20的ROM指令表指令約定代碼功能讀ROM33H讀DS1820溫度傳感器ROM中的編碼即64位地址符合ROM55H發(fā)出此命令之后,接著發(fā)出64位ROM編碼,訪問單總線上與該編碼相對應(yīng)的DS1820使之作出響應(yīng),為下一步對該DS1820的讀寫作準(zhǔn)備。搜索ROM0FOH用于確定掛接在同一
30、總線上DS1820的個(gè)數(shù)和識別64位ROM地址。為操作各器件作好準(zhǔn)備。跳過ROM0CCH忽略64位ROM地址,直接向DS18B20發(fā)溫度變換命令。適用于單片工作。告警搜索命令0ECH執(zhí)行后只有溫度超過設(shè)定值上限或下限的片子才做出響應(yīng)。DS18B20的RAM指令如表3-3所示:表3-3DS18B20的RAM指令表指令約定代碼功能溫度變換44H啟動DS18B20進(jìn)行溫度轉(zhuǎn)換,12位轉(zhuǎn)換時(shí)最長為750ms9位為93.75ms。結(jié)果存入內(nèi)部9字節(jié)RAM中。讀暫存器0BEH讀內(nèi)部RAM中9字節(jié)的內(nèi)容寫暫存器4EH發(fā)出向內(nèi)部RAM的3、4字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。復(fù)制
31、暫存器48H將RAM中第3、4字節(jié)的內(nèi)容復(fù)制到EEPROM中。重調(diào)EEPROM0B8H將EEPROM中內(nèi)容恢復(fù)到RAM中的第3、4字節(jié)。讀供電方式0B4H讀DS18B20的供電模式。寄生供電時(shí)DS18B20發(fā)送“0”,外接電源供電DS18B20發(fā)送“1”。光照度測量電路系統(tǒng)采用價(jià)格低廉的光敏電阻5測量光照度,因其沒有良好的線性度,所以只能大致的測量。根據(jù)光敏電阻在不同的光照下有不同的阻值,經(jīng)過A/D轉(zhuǎn)換后輸入到單片機(jī)內(nèi)進(jìn)行處理。其與ADC08043的連接電路如圖3-5:圖3-5ADC0804與單片機(jī)的連接電路圖ADC0804為8bit一路的A/D轉(zhuǎn)換器,其輸入電壓范圍在05v,轉(zhuǎn)換速度小于10
32、0us,轉(zhuǎn)換精度0.39%,滿足設(shè)計(jì)的精度要求。偽澀錕攢鴛擋緬鐒鈞錠。ADC0804管腳圖如圖3-6所示:V1H閔一G7如2GNDADC06O415VCCGLKRDEODE1065DB4DE5D66DA7圖3-6ADC0804管腳定義圖CS:ChipSelect,與RD、WR接腳的輸入電壓髙低一起判斷讀取或?qū)懭肱c否,當(dāng)其為低位準(zhǔn)(low)時(shí)會active。緦徑銚膾齲轎級鏜撟廟RD:Read。當(dāng)CS、RD皆為低位準(zhǔn)(low)時(shí),ADC0804會將轉(zhuǎn)換后的數(shù)字訊號經(jīng)由DB7DB0輸出至其它處理單元。騅憑鈳銘僥張礫陣軫藹。WR:啟動轉(zhuǎn)換的控制訊號。當(dāng)CS、WR皆為低位準(zhǔn)(low)時(shí)ADC0804做清
33、除的動作,系統(tǒng)重置。當(dāng)WR由0-1且CS=0時(shí),ADC0804會開始轉(zhuǎn)換信號,此時(shí)INTR設(shè)定為髙位準(zhǔn)(high)。癘騏鏨農(nóng)剎貯獄顥幗騮CLKIN、CLKR:頻率輸入/輸出。頻率輸入可連接處理單元的訊號頻率范圍為100kHz至800kHz。而頻率輸出頻率最大值無法大于640KHz,般可選用外部或內(nèi)部來提供頻率。假設(shè)在CLKR及CLKIN加上電阻及電容,則可產(chǎn)生ADC工作所需的時(shí)序。鏃鋝過潤啟婭澗駱讕濾。INTR:中斷請求。轉(zhuǎn)換期間為髙位準(zhǔn)(high),等到轉(zhuǎn)換完畢時(shí)INTR會變?yōu)榈臀粶?zhǔn)(low)告知其它的處理單元已轉(zhuǎn)換完成,可讀取數(shù)字?jǐn)?shù)據(jù)。榿貳軻謄壟該檻鯔塏賽。VIN(+)、VIN(-):差動
34、模擬訊號的輸入端。輸入電壓VIN=VIN(+)VIN(-),通常使用單端輸入,而將VIN(-)接地。邁蔦賺陘賓唄擷鷦訟湊。AGND:模擬電壓的接地端。VREF/2:模擬參考電壓輸入端。VREF為模擬輸入電壓VIN的上限值。假設(shè)PIN9空接,則VIN的上限值即為VCC。嶁硤貪塒廩袞憫倉華糲DGND:數(shù)字電壓的接地端。DB7DB0:轉(zhuǎn)換后之?dāng)?shù)字?jǐn)?shù)據(jù)輸出端。Vcc:驅(qū)動電壓輸入端。數(shù)據(jù)顯示電路系統(tǒng)采用了LCD1602液晶顯示屏,LCD1602液晶是一款很常用,也很易用的字符液晶??梢燥@示2行每行16個(gè)字符,比照度可調(diào)、黃綠色背光。與單片機(jī)的鏈接電路如圖3-7:該櫟諼碼戇沖巋鳧薩錠。圖3-7LCD16
35、02與單片機(jī)的連接電路圖16028液晶也叫1602字符型液晶它是一種專門用來顯示字母、數(shù)字、符號等的點(diǎn)陣型液晶模塊它有假設(shè)干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。每位之間有一個(gè)點(diǎn)距的間隔每行之間也有間隔起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒茱@示圖形。LCD1602的管腳定義圖如圖3-8所示:圖3-8LCD1602管腳定義圖VSS:為電源地VDD:接5V電源正極V0:為液晶顯示器比照度調(diào)整端,接正電源時(shí)比照度最弱,接地電源時(shí)比照度最髙比照度過髙時(shí)會產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整比照度。臠龍訛驄椏業(yè)變墊羅蘄。RS:為寄存器選擇,髙電
36、平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。RW:為讀寫信號線,髙電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。E:(或EN)端為使能(enable)端。D0D7:為8位雙向數(shù)據(jù)端。BLABLK:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表3-4所示:表3-4控制命令表序號指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L*6置功能00001DLNF*7置字符發(fā)生存貯
37、器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到CGRAMM或DDRAM10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。說明:1為高電平、0為低電平鰻順褸悅漚縫囅屜鴨騫。指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置I/D:光標(biāo)移動方向,髙電平右移,低電平左移S:屏幕上所有文字是否左移或者右移。髙電平表示有效,低電平則無效。穡釓指令4:顯示開關(guān)控制。D:控制整體
38、顯示的開與關(guān),髙電平表示開顯示,低電平表示關(guān)顯示;C:控制光標(biāo)的開與關(guān),髙電平表示有光標(biāo),低電平表示無光標(biāo);B:控制光標(biāo)是否閃爍,髙電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位S/C髙電平時(shí)移動顯示的文字,低電平時(shí)移動光標(biāo)。指令6:功能設(shè)置命令DL:髙電平時(shí)為4位總線,低電平時(shí)為8位總線N:低電平時(shí)為單行顯示,髙電平時(shí)雙行顯示F:低電平時(shí)顯示5x7的點(diǎn)陣字符,髙電平時(shí)顯示5x10的點(diǎn)陣字符。浹績膩叢著駕驃構(gòu)碭湊。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號和光標(biāo)地址BF:為忙標(biāo)志位,髙電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。鈀燭罰櫝箋
39、礱颼畢韞糲。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。復(fù)位電路為了確保系統(tǒng)中的電路溫度可靠工作,復(fù)位電路是必不可少的部分,其第一功能就是髙電平復(fù)位,髙電平復(fù)位是在通電瞬間通過充電來實(shí)現(xiàn)的。手動復(fù)位是指通過接通一按鍵開關(guān),使單片機(jī)進(jìn)入復(fù)位狀態(tài)。系統(tǒng)上電運(yùn)行后如果需要復(fù)位,只需通過手動復(fù)位就可以實(shí)現(xiàn)。本系統(tǒng)使用的復(fù)位電路如圖3-9所示:鍵盤電路本設(shè)計(jì)采用的鍵盤掃面電路采用簡單的低電平掃描方式,即采用開關(guān)的一端與單片機(jī)I/O口相連,另一端接地的方式,用單片機(jī)檢測I/O口是否是低電平來判斷鍵盤是否被按下。這樣的方式可以方便鍵盤掃描部分的的編程鍵盤電路如圖3-10:oo圖3-10鍵盤電路圖繼電器控制電路單片機(jī)
40、是一個(gè)弱電器件,一般情況下它們大都工作在5V甚至更低。驅(qū)動電流在mA級以下。而要把它用于一些大功率場合,比方控制電動機(jī),顯然是不行的.所以,就要有一個(gè)環(huán)節(jié)來銜接,這個(gè)環(huán)節(jié)就是所謂的功率驅(qū)動。繼電器驅(qū)動就是一個(gè)典型的、簡單的功率驅(qū)動環(huán)節(jié)。在這里,繼電器驅(qū)動含有兩個(gè)意思:一是對繼電器進(jìn)行驅(qū)動,因?yàn)槔^電器本身對于單片機(jī)來說就是一個(gè)功率器件;還有就是繼電器去驅(qū)動其他負(fù)載,比方繼電器可以驅(qū)動中間繼電器,可以直接驅(qū)動接觸器,所以,繼電器驅(qū)動就是單片機(jī)與其他大功率負(fù)載接口。嚌鯖級廚脹鑲銦礦毀蘄。本設(shè)計(jì)采用的繼電器控制電路如圖3-11:圖3-11繼電器控制電路圖圖中的三極管起開關(guān)的作用,當(dāng)單片機(jī)輸出高電平時(shí),
41、三極管導(dǎo)通,繼電器吸合。單片機(jī)輸出低電平時(shí),繼電器斷開。二極管起保護(hù)作用,防止繼電器產(chǎn)生的感應(yīng)電動勢燒壞三極管或繼電器。薊鑌豎牘熒浹醬籬鈴騫。電源電路由于STC89C51的工作電壓為+5V,所以電源需要輸出+5V穩(wěn)定電壓可以使單片機(jī)可以穩(wěn)定正常的工作,穩(wěn)壓芯片選用7805,電源電路如圖3-12所示:第四章軟件設(shè)計(jì)系統(tǒng)的程序設(shè)計(jì)包括以下幾個(gè)方面:1鍵盤掃描。2各項(xiàng)參數(shù)的采集。3各項(xiàng)參數(shù)在液晶上的顯示。4各項(xiàng)參數(shù)的繼電器控制。主程序流程圖主程序的流程如圖4-1:圖4-1主程序流程圖當(dāng)單片機(jī)上電后,主程序開始運(yùn)行,程序以開始初始化各參數(shù)的設(shè)置和端口定義后,清各標(biāo)志位和LCD1602的顯示,然后進(jìn)行鍵
42、盤掃描,再利用各傳感器進(jìn)行數(shù)據(jù)的采集,將采集的數(shù)據(jù)和設(shè)置好的參數(shù)進(jìn)行比照,如果比照結(jié)果顯示需要調(diào)節(jié),啟動相應(yīng)的繼電器控制電路對溫室中需要調(diào)節(jié)的參數(shù)進(jìn)開始YN結(jié)束各參數(shù)與設(shè)置比較,是否需要調(diào)節(jié)?一啟動繼電器控制電路,調(diào)節(jié)參數(shù)清顯示初始化和位定義各參數(shù)采集清標(biāo)志掃描鍵盤各參數(shù)顯示行調(diào)節(jié)并顯示在LCD1602上,如果比較結(jié)果顯示不需要調(diào)節(jié),則不啟動繼電器控制電路,直接顯示參數(shù),然后對鍵盤進(jìn)行循環(huán)掃描。烴斃潛籬賢擔(dān)視蠶賁粵。參數(shù)測量子程序流程圖參數(shù)測量子程序流程如圖4-2:圖4-2參數(shù)測量子程序流程圖子程序開始先聲明變量和調(diào)用的函數(shù)后,調(diào)用顯示函數(shù),啟動模數(shù)轉(zhuǎn)換器ADC0804進(jìn)行模數(shù)轉(zhuǎn)換,轉(zhuǎn)化如果未
43、完成,單片機(jī)進(jìn)行等待。當(dāng)轉(zhuǎn)換完成后,單片機(jī)讀取轉(zhuǎn)換后的數(shù)據(jù),然后循環(huán)調(diào)用顯示函數(shù)和進(jìn)行模數(shù)轉(zhuǎn)換。鍵盤掃描子程序流程鍵盤掃描子程序流程如圖4-3:N?YNYNNYY次YNN判斷SI按下的次數(shù)判斷是否有鍵按S2是否按下?S1是否按下?S4是否按下?S3是否按下?是否真有按鍵按下?判斷S4按下的次數(shù)二次二次開始結(jié)束進(jìn)入設(shè)置模式顯示溫度顯示光照度顯示濕度進(jìn)入切換顯示模式掃描鍵盤當(dāng)前設(shè)置參數(shù)不變稍作延遲三次設(shè)置光照度設(shè)置濕度當(dāng)前設(shè)置的參數(shù)加一設(shè)置溫度當(dāng)前設(shè)置的參數(shù)減一圖4-3鍵盤掃描流程圖鍵盤掃描子程序一開始先掃描按鍵,判斷是否有按鍵被按下,確定有按鍵被按下時(shí)判斷被按下的是哪個(gè)按鍵,如果是按鍵S1,系統(tǒng)
44、將進(jìn)入設(shè)置模式,這時(shí)按鍵S2和S3被啟用,進(jìn)入那個(gè)參數(shù)的設(shè)置取決于按鍵S1被按下的次數(shù),S1被按下一次,進(jìn)行溫度值設(shè)置,S1被按下兩次,進(jìn)行濕度值設(shè)置,S1被按下三次,進(jìn)行光照度設(shè)置,當(dāng)按下第四次,返回正常顯示,按鍵S2和S3被禁用。按鍵S2和S3作用是調(diào)節(jié)參數(shù)值,每次按下S2,當(dāng)前設(shè)置的參數(shù)值就加一。每次按下S3,當(dāng)前設(shè)置的參數(shù)值就減一。S4是切換顯示按鍵,當(dāng)S4被按下,判斷S4被按下的次數(shù),一次是顯示溫度值,兩次是顯示濕度值,三次是顯示光度值。擷偽氫鱧轍冪聹諛詼龐??偨Y(jié)致謝通過對本系統(tǒng)的研究和設(shè)計(jì),使我對單片機(jī)的使用有了更深一層次的理解和掌握,同時(shí)也很好的鍛煉了自己ProtelDXP200
45、4和仿真軟件Proteus的使用技巧。蹤飯夢摻釣貞綾賁發(fā)蘄。整個(gè)系統(tǒng)設(shè)計(jì)過程用到的主要硬件有STC89C52,溫度傳感器DS18B20,濕度傳感器HS1101,光照度傳感器光敏電阻,數(shù)模轉(zhuǎn)換器ADC0804,555定時(shí)器。通過對這些硬件的學(xué)習(xí)和了解,不僅擴(kuò)展了自己的知識面,也是自己對單片機(jī)的外圍電路有了進(jìn)一步的學(xué)習(xí)。設(shè)計(jì)過程中也鍛煉了自己獨(dú)立思考問題的能力,并增強(qiáng)了自己的動手操作能力,對自己將來的工作有很大的幫助在此要感謝我得指導(dǎo)老師蘇艷蘋老師在設(shè)計(jì)過程中給予我得幫助,使我能更好的完成畢業(yè)設(shè)計(jì)。參考文獻(xiàn)梅曉榕,柏桂珍,張卯瑞自動控制元件及線路M.北京:科學(xué)出版社,2007張義和,王敏男,許宏昌
46、,余長春例說51單片機(jī)C語言版M.北京:人民郵電出版社,2010,6濕度傳感器HS1101的原理與應(yīng)用EB/0L.中國電子科技信息網(wǎng).胡漢才單片機(jī)原理與接口技術(shù)M.清華大學(xué)出版社,1996.黃賢斌,鄭筱霞傳感器原理與應(yīng)用M.北京:高等教育出版社.成都:電子科技大學(xué)出版社,2004,3(2009.1重印)儔聹執(zhí)償閏號燴鈿膽賾。何立民單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)M.北京:北京航天航空出版社.1990,50-490劉篤仁,韓保君傳感器原理及應(yīng)用技術(shù)M機(jī)械工業(yè)出版社.2003,81985趙亮液晶顯示模塊LCD1602應(yīng)用J.電子制作,2007(3)王勇等凌陽單片機(jī)原理及其畢業(yè)設(shè)計(jì)精選M.科學(xué)出版社童詩白模擬電路
47、基礎(chǔ)M,北京:高等教育出版社,2001馬忠梅,籍順心,張凱等單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)M北京航天航空大學(xué)出版社,2003縝電悵淺靚蠐淺錒鵬凜。美汕考夫曼,AH塞得電子計(jì)算手冊M國防科技出版社.王毅.單片機(jī)器件應(yīng)用手冊M.北京:人民郵電出版社,1994附錄1系統(tǒng)總體電路圖 /i+fordelay小延時(shí)一下 附錄2系統(tǒng)源代碼#include#include#include#include#defineucharunsignedchar#defineuintunsignedint#defineT_cont0.0625;#defineDataPortP0/LCD接口#defineReadPortP2/
48、AD讀取ucharcodetemp=temp:;ucharcodetempset=tempset:;ucharcodehun=hun:;ucharcodehunset=hunset:;ucharcodeinte=inte:;ucharcodeinteset=inteset:;ucharcodeset=stepinset!;uchartempset1,s1num,s4num,hunset1,hun1,hun2,inteset1,inte1;bitT_sign;floattemp1=0;uchart_bai,t_shi,t_ge,t_feng,t_miao,sshi,sge,h_bai,h_shi
49、,h_ge,hshi,hge,i_bai,i_shi,i_ge,ishi,ige;sbitsi二P0;sbits2二P1;sbits3二P2;sbits4二P3;sbitrelay仁Pi入5;sbitrelay2=P16;sbitrelay3二P1入7;sbitcs仁P3S;sbitlcdrs=P31;sbitDS二P3八2;sbitIcdrw二P3八3;sbitIcden二P3入4;sbitcs2二P3八5;sbitwr二P3入6;sbitrd二P3八7;/癱voiddelay(uintz)/延時(shí)函數(shù)uintx,y;for(x二z;xO;x)forgllOyOy一);voiddsreset(
50、void)uinti;DS=O;i=103;while(iO)i-;DS=1;i=4;while(iO)i-;bittmpreadbit(void)/sendresetandinitializationcommand/DS18B20初始化/readabit讀位uinti;bitdat;DSmi+t;DS=1;i+;i+;dat=DS;i=8;while(i0)i-;return(dat);uchartmpread(void)/readabytedate讀個(gè)字節(jié)uchari,j,dat;dat=0;for(i=1;i=8;i+)j=tmpreadbit();dat=j1);/讀出的數(shù)據(jù)最低位在最
51、前面,這樣剛好/一個(gè)字節(jié)在DAT里return(dat);/將一個(gè)字節(jié)數(shù)據(jù)返回voidtmpwritebyte(uchardat)/writeabytetods18b20遜輸吳貝義鰈國鳩猶騸。/寫一個(gè)字節(jié)到DS18B20里uinti;ucharj;bittestb;for(j=1;j1;if(testb)/write1寫1部分DS=0;i+;i+; # if(k=0 x08) DS=1;i=8;while(i0)i-;else寫0部分/讀溫度函數(shù)DS=0;/write0i=8;while(i0)i-;DS=1;i+;i+;voidreadtemperature()uinty;ucharT_L=
52、0;ucharT_H=0;uchark;dsreset();delay(1);tmpwritebyte(0 xcc);tmpwritebyte(0 x44);dsreset();delay(1);tmpwritebyte(0 xcc);tmpwritebyte(0 xbe);T_L=tmpread();T_H=tmpread();k=T_H&0 x08;T_sign=1;elseT_sign=0;T_H=T_H&0 x07;temp1=(T_H*256+T_L)*T_cont;temp1=temp1*100;t_bai=(uint)temp1/10000;y=(uint)temp1%10000
53、;t_shi=y/1000;y=(uint)y%1000;t_ge=y/100;y=(uint)y%100;t_feng=y/10;t_miao=(uint)y%10;/voidinteadc0804()/光照度adc轉(zhuǎn)換子程序與數(shù)據(jù)處理rd=1;wr二1;/讀ADCReadPort二0 xff;/P1置位cs1=0;wr=0;wr二1;/啟動ADCrd=0;/開始讀轉(zhuǎn)換后數(shù)據(jù)_nop_();_nop_();/稍延時(shí),等待讀完數(shù)inte1二ReadPort;/讀出的光照度數(shù)據(jù)賦與inte1rd=1;cs1=1;/讀數(shù)完畢i_bai=inte1/100;/百位數(shù)write_com(0 x06);
54、 #write_com(0 x06); P0=com; i_shi=(inte1%100)/10;/十位數(shù)i_ge=(inte1%10);/個(gè)位數(shù)voidhunadc0804()/濕度adc轉(zhuǎn)換子程序與數(shù)據(jù)處理rd=1;wr二1;/讀ADCReadPort二0 xff;/P1置位cs2=0;wr=0;wr二1;/啟動ADCrd=0;/開始讀轉(zhuǎn)換后數(shù)據(jù)_nop_();_nop_();/稍延時(shí),等待讀完數(shù)delay(20);hun2=ReadPort;/讀出的濕度數(shù)據(jù)賦與hun1rd=1;cs2=1;/讀數(shù)完畢hun1=hun2/2.55;h_bai=hun1/100;/百位數(shù)h_shi=(hun
55、1%100)/10;/十位數(shù)h_ge=(hun1%10);/個(gè)位數(shù)/voidwrite_com(ucharcom)/lcd寫命令函數(shù)lcdrs=0;lcdrw=0;lcden=0;delay(10);/延時(shí)Icden=1;/下三行表示E高脈沖到來就開始轉(zhuǎn)換delay(10);lcden=0;voidwrite_data(uchardate)/led寫數(shù)據(jù)函數(shù)lcdrs=1;lcdrs=1;lcdrw=0;lcden=0;P0=date;delay(10);lcden=1;delay(10);lcden=0;voidinit()/初始化函數(shù)s1=1;tempset1=25;hunset1=50;
56、inteset1=15;lcdrw=0;lcden=0;write_com(0 x38);delay(10);write_com(0 x0f);delay(10);if(s1num=3) #if(s1num=3) rd=0; delay(10);write_com(0 x01);delay(10);voidprint(uchara,uchar*str)/輸出字符write_com(a);while(*str!=0)write_data(*str+);*str=0;voidprint1(uchara,uchart)/輸出18b20數(shù)據(jù)到1602write_com(a);write_data(t)
57、;voidprint2(uchara1,uchart1)/輸出設(shè)置溫度數(shù)據(jù)到1602ucharsshi,sge;sshi=t1/10;sge=t1%10;write_com(0 x80+a1);write_data(sshi+0 x30);write_data(sge+0 x30);/voidkeyscan()/鍵盤掃描函數(shù)if(s1=0)delay(5);if(s1=0)s1num+;while(!s1);if(s1num=1)write_com(0 x01);print(0 x80,tempset);print1(0 x8e,0 x43);print1(0 x80+11,0 x2e);pr
58、int1(0 x80+12,0+0 x30);print1(0 x80+13,0+0 x30);write_com(0 x80+9);write_com(0 x0f);delay(20);if(s1num=2)write_com(0 x01);print(0 x80,hunset);print1(0 x8b,0 x30);print1(0 x8d,0 x25);print1(0 x8e,0 x20);write_com(0 x80+11);write_com(0 x80+11);if(s1num=2) #if(s1num=2) if(s1num=1) write_com(0 x01);prin
59、t(0 x80,inteset);print1(0 x8b,0 x30);print1(0 x80+12,0+0 x30);print1(0 x80+13,0+0 x30);print1(0 x8d,0 x4d);print1(0 x8e,0 x56);write_com(0 x80+11);if(s1num=5)s1num=0;write_com(0 x01);s4num=1;if(s1num!=0)if(s1num=1)if(s2=0)delay(5);if(s2=0)while(!s2);tempset1+;write_com(0 x80+10);print2(9,tempset1);if(tempset1=40)tempset1=15;if(s3=0)delay(5);if(s3=0)while(!s3);if(s1num=1)tempset1-;write_com(0 x80+11);print2(9,tempset1);if(tempset1=15)tempset1=40;delay(5);if(s3=0) #delay(5);if(s3=0) if(hunse
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蔬菜種植技術(shù)指導(dǎo)居間合同
- 建筑公司總經(jīng)理的職責(zé)與使命
- 軌道交通建設(shè)中的綠色施工方案
- 仁愛版英語教學(xué)資源整合計(jì)劃
- 圖書館安全管理措施研究
- 公共事業(yè)管理專業(yè)實(shí)習(xí)項(xiàng)目評估報(bào)告
- 科研和學(xué)術(shù)交流制度
- 資產(chǎn)盤點(diǎn)與管理制度
- 爆破員崗位安全管理制度
- 舞蹈學(xué)專業(yè)實(shí)習(xí)報(bào)告范文
- 諒解書(標(biāo)準(zhǔn)樣本)
- 2022年浙江省事業(yè)編制招聘考試《計(jì)算機(jī)專業(yè)基礎(chǔ)知識》真題試卷【1000題】
- 認(rèn)養(yǎng)一頭牛IPO上市招股書
- GB/T 3767-2016聲學(xué)聲壓法測定噪聲源聲功率級和聲能量級反射面上方近似自由場的工程法
- GB/T 23574-2009金屬切削機(jī)床油霧濃度的測量方法
- 西班牙語構(gòu)詞.前后綴
- 動物生理學(xué)-全套課件(上)
- 河北省衡水市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細(xì)
- DB32-T 2665-2014機(jī)動車維修費(fèi)用結(jié)算規(guī)范-(高清現(xiàn)行)
- 智能消防設(shè)備公司市場營銷方案
- 最新6000畝海帶筏式養(yǎng)殖投資建設(shè)項(xiàng)目可行性研究報(bào)告
評論
0/150
提交評論