養(yǎng)雞場(chǎng)的智能監(jiān)控系統(tǒng)設(shè)計(jì)_第1頁(yè)
養(yǎng)雞場(chǎng)的智能監(jiān)控系統(tǒng)設(shè)計(jì)_第2頁(yè)
養(yǎng)雞場(chǎng)的智能監(jiān)控系統(tǒng)設(shè)計(jì)_第3頁(yè)
養(yǎng)雞場(chǎng)的智能監(jiān)控系統(tǒng)設(shè)計(jì)_第4頁(yè)
養(yǎng)雞場(chǎng)的智能監(jiān)控系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、內(nèi) 容 摘 要養(yǎng)雞場(chǎng)在現(xiàn)代社會(huì)中占據(jù)著重要的作用,用它有效地控制溫度、光照、濕度、氣體濃度等是改變雞禽生長(zhǎng)環(huán)境、為雞禽生長(zhǎng)創(chuàng)造最佳條件、避免外界四季變化和惡劣氣候?qū)ζ溆绊懙那疤?。本設(shè)計(jì)以STC89C52單片機(jī)為核心完成了對(duì)空氣溫度、濕度、光照度進(jìn)行數(shù)據(jù)的采集、處理、顯示等系統(tǒng)的基本框圖和工作原理控制的設(shè)計(jì)的工作。主要內(nèi)容有:(1)通過(guò)數(shù)字溫濕度傳感器DHT11采集實(shí)時(shí)溫、濕度。(3)通過(guò)光敏電阻采集實(shí)時(shí)光照度。(4)通過(guò)氣體傳感器MQ-2檢測(cè)室內(nèi)是否有某種氣體濃度過(guò)量。通過(guò)以上設(shè)計(jì)可以對(duì)雞禽生長(zhǎng)過(guò)程中的環(huán)境溫度、濕度和光照度進(jìn)行了實(shí)時(shí)地、連續(xù)地檢測(cè)、直觀地顯示。克服了傳統(tǒng)的人工測(cè)量方法不能進(jìn)行

2、連續(xù)測(cè)量的弊端,節(jié)省了工作量,并避免了人為的疏漏或錯(cuò)誤造成的不必要的損失。關(guān)鍵詞單片機(jī);溫濕度傳感器;光敏電阻;氣體傳感器;LCD。第一章 概述11.1 選題背景11.2 國(guó)內(nèi)外的發(fā)展現(xiàn)狀11.3 課題內(nèi)容、目的及思路21.4 設(shè)計(jì)過(guò)程及工藝要求2第二章 系統(tǒng)的總體設(shè)計(jì)32.1系統(tǒng)設(shè)計(jì)目標(biāo)32.2 系統(tǒng)的組成和工作原理32.3 環(huán)境參數(shù)檢測(cè)方案的比較和選擇52.3.1 濕度傳感器的選擇52.3.2 溫度傳感器的選擇62.3.3 光亮度傳感器的選擇82.3.4 氣體傳感器的選擇82.3.5 方案選擇總結(jié)9第三章 硬件的設(shè)計(jì)93.1 MCU選型93.2 濕濕度測(cè)量電路103.3 光照度測(cè)量電路11

3、3.4 數(shù)據(jù)顯示電路123.5 復(fù)位電路133.6 氣體濃度檢測(cè)電路143.7 電源電路14總結(jié)致謝15參考文獻(xiàn)16附錄 系統(tǒng)源代碼17基于單片機(jī)的養(yǎng)雞場(chǎng)溫濕度亮度氣體監(jiān)控系統(tǒng)設(shè)計(jì)第一章 概述1.1 選題背景現(xiàn)代化禽類(lèi)養(yǎng)殖中的重要一環(huán)就是對(duì)養(yǎng)殖環(huán)境的一些重要參數(shù)進(jìn)行檢測(cè)和控制。例如:空氣的溫度、濕度、光照強(qiáng)度、二氧化碳含量、土壤的含水量等。養(yǎng)殖環(huán)境與生物的生長(zhǎng)、發(fā)育、能量交換密切相關(guān),進(jìn)行環(huán)境測(cè)控是實(shí)現(xiàn)禽類(lèi)養(yǎng)殖生產(chǎn)管理自動(dòng)化、科學(xué)化的基本保證,通過(guò)對(duì)監(jiān)測(cè)數(shù)據(jù)的分析,結(jié)合生物生長(zhǎng)發(fā)育規(guī)律,控制環(huán)境條件,使養(yǎng)殖達(dá)到優(yōu)質(zhì)、高產(chǎn)、高效的目的。以養(yǎng)殖雞禽為代表的現(xiàn)代養(yǎng)殖設(shè)施在現(xiàn)代化養(yǎng)殖生產(chǎn)中發(fā)揮著巨大的

4、作用,所以對(duì)養(yǎng)殖場(chǎng)的溫度、濕度與光照強(qiáng)度等參數(shù)的控制就顯的非常重要了。傳統(tǒng)的方法是用毛發(fā)濕度表、酒精溫度計(jì)等進(jìn)行人工測(cè)量,再對(duì)不符合的溫度、濕度、光照度通過(guò)在養(yǎng)殖場(chǎng)進(jìn)行降溫、遮光等控制來(lái)調(diào)節(jié),這種人工測(cè)控的方法費(fèi)時(shí)費(fèi)力、效率低、且無(wú)法保證測(cè)量的連續(xù)性,測(cè)量的誤差大、隨機(jī)性大,隨意性強(qiáng)。為了克服以上幾點(diǎn)不足,我們需要一種造價(jià)低廉,使用方便且測(cè)量準(zhǔn)確的自動(dòng)測(cè)控系統(tǒng)。1.2 國(guó)內(nèi)外的發(fā)展現(xiàn)狀國(guó)外的養(yǎng)殖設(shè)施己經(jīng)發(fā)展到比較完備的程度,并形成了一定的標(biāo)準(zhǔn),但是價(jià)格非常昂貴,缺乏與我國(guó)氣候特點(diǎn)相適應(yīng)的測(cè)控軟件,不利于在我國(guó)廣泛地推廣,而當(dāng)今在我國(guó)大多數(shù)地方對(duì)養(yǎng)殖場(chǎng)溫度、濕度、光照強(qiáng)度的檢測(cè)與控制都采用人工管

5、理,存在著測(cè)控精度低、勞動(dòng)強(qiáng)度大及由于測(cè)控不及時(shí)等弊端,容易造成不可彌補(bǔ)的損失,結(jié)果不但大大增加了成本,浪費(fèi)了人力資源,而且很難達(dá)到預(yù)期的效果。本系統(tǒng)主要針對(duì)養(yǎng)殖場(chǎng)內(nèi)溫度、濕度,光照強(qiáng)度研制了單片機(jī)控制的養(yǎng)殖場(chǎng)自動(dòng)控制系統(tǒng),綜合考慮系統(tǒng)的精度、效率以及經(jīng)濟(jì)性要求三個(gè)方面因素之后,最終確定以單片機(jī)為控制核心,選用性?xún)r(jià)比比較高的傳感器,實(shí)現(xiàn)對(duì)溫濕度的精確測(cè)量與準(zhǔn)確控制,同時(shí)又具有價(jià)格低等優(yōu)點(diǎn),便于在我國(guó)推廣。1.3 課題內(nèi)容、目的及思路本系統(tǒng)主要采用單片機(jī)作為系統(tǒng)的控制核心,由養(yǎng)殖場(chǎng)內(nèi)的空氣溫度濕度傳感器、光照度傳感器采集數(shù)據(jù),經(jīng)過(guò)模數(shù)轉(zhuǎn)換后送入單片機(jī),由單片機(jī)根據(jù)采集的數(shù)據(jù)做出相應(yīng)的控制,例如控

6、制繼電器的開(kāi)合,使換氣風(fēng)扇、滴灌設(shè)備、遮陽(yáng)幕等設(shè)備的啟動(dòng)或停止,達(dá)到控制養(yǎng)殖場(chǎng)內(nèi)各項(xiàng)參數(shù)的目的。同時(shí)在外接的LCD液晶上顯示實(shí)時(shí)參數(shù) ,便于觀察。 1.4 設(shè)計(jì)過(guò)程及工藝要求 在本系統(tǒng)中為了保證對(duì)溫度、濕度和光照度的檢測(cè)的實(shí)時(shí)性和準(zhǔn)確性,采用了數(shù)字溫濕度傳感器來(lái)檢測(cè)溫、濕度。采用光敏電阻檢測(cè)光照度。最后通過(guò)單片機(jī)處理后顯示在LCD液晶顯示屏上,對(duì)養(yǎng)殖場(chǎng)的各個(gè)參數(shù)進(jìn)行實(shí)時(shí)監(jiān)控,以便及時(shí)作出調(diào)整,以達(dá)到雞禽生長(zhǎng)的環(huán)境條件。 本系統(tǒng)的基本功能有:檢測(cè)空氣溫度、濕度、環(huán)境光照度和各氣體濃度情況并顯示以上各項(xiàng)參數(shù)。第二章 系統(tǒng)的總體設(shè)計(jì)2.1系統(tǒng)設(shè)計(jì)目標(biāo)本設(shè)計(jì)的要求是以單片機(jī)為控制核心,以濕度傳感器、溫

7、度傳感器、光敏電阻完成對(duì)養(yǎng)殖場(chǎng)內(nèi)的各項(xiàng)參數(shù)進(jìn)行測(cè)量,并將數(shù)據(jù)輸入到單片機(jī)中,有單片機(jī)根據(jù)所編寫(xiě)的程序,及時(shí)將通過(guò)各種傳感器測(cè)的數(shù)據(jù)實(shí)時(shí)地顯示在液晶屏上。2.2 系統(tǒng)的組成和工作原理硬件系統(tǒng)主要有信號(hào)采集、信號(hào)分析、信號(hào)處理三個(gè)部分組成。(1) 信號(hào)采集 由濕度傳感器、溫度傳感器、光敏電阻組成。(2) 信號(hào)分析 由單片機(jī)基本系統(tǒng)組成。(3) 信號(hào)處理 由并行口LCD液晶顯示屏。 單片機(jī)通過(guò)濕度傳感器檢測(cè)土壤的濕度,若土壤的濕度過(guò)低,單片機(jī)就打開(kāi)滴灌設(shè)備的電磁閥一分鐘,對(duì)作物進(jìn)行滴灌作業(yè),增加土壤濕度,經(jīng)過(guò)一段時(shí)間,單片機(jī)再次檢測(cè)土壤濕度,如果濕度過(guò)高,就關(guān)閉滴灌設(shè)備的電磁閥,停止滴灌作業(yè)。如果開(kāi)

8、始檢測(cè)的土壤濕度在適宜的范圍,單片機(jī)則維持現(xiàn)有狀態(tài)不變。設(shè)計(jì)的原理框圖:2.3 環(huán)境參數(shù)檢測(cè)方案的比較和選擇2.3.1 濕度傳感器的選擇單片機(jī)作為控制核心,要有被檢測(cè)信號(hào)輸入,由單片機(jī)處理。如何準(zhǔn)確的確定外圍環(huán)境的各項(xiàng)參數(shù)就顯的非常重要。傳感器是實(shí)現(xiàn)測(cè)量與控制的首要環(huán)節(jié),是測(cè)控系統(tǒng)的關(guān)鍵部件,如果沒(méi)有傳感器對(duì)原始信號(hào)進(jìn)行準(zhǔn)確可靠的捕捉和轉(zhuǎn)換,系統(tǒng)就無(wú)法實(shí)現(xiàn)要求的各項(xiàng)功能。工業(yè)生產(chǎn)過(guò)程中的自動(dòng)化的測(cè)量和控制,大部分主要依靠各種傳感器來(lái)檢測(cè)和控制生產(chǎn)過(guò)程中的各項(xiàng)參量,使系統(tǒng)工作在最佳的狀態(tài)下。測(cè)量空氣濕度的方法有很多種,其原理是根據(jù)某種物質(zhì)從其周?chē)目諝庵形账趾笠鸬奈锢砘蚧瘜W(xué)的性質(zhì)的變化,間

9、接的獲得空氣的濕度。電容式、電阻式和濕漲式濕敏元件分別是根據(jù)其高分子材料吸水后的介電常數(shù)、電阻率和體積發(fā)生的變化進(jìn)行濕度的測(cè)量。方案一:采用HOS-201濕敏傳感器。HOS-201濕敏傳感器為高濕度開(kāi)關(guān)傳感器,它的工作電壓為交流1V以下,頻率為50HZ1KHZ,測(cè)量范圍為0%100%RH,工作溫度為050,阻抗在75%RH(25)時(shí)為1M。這種傳感器主要用于開(kāi)關(guān)的傳感器,不能在寬頻域內(nèi)檢測(cè)濕度。這種傳感器只限于一定范圍內(nèi)使用時(shí)具有良好的線性度。方案二:采用DHT11濕度傳感器。DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫

10、元件并與一個(gè)高性能8位單片機(jī)相連接,因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性?xún)r(jià)比極高等優(yōu)點(diǎn)。綜合比較方案一和方案二,方案一雖然滿足精度和測(cè)量溫度的要求,但是只是限定于一定的范圍內(nèi)使用時(shí)具有良好的線性度。因此,我們選擇方案二作為本設(shè)計(jì)的濕度傳感器。2.3.2 溫度傳感器的選擇方案一:采用AD590溫度傳感器。AD590溫度傳感器是美國(guó)模擬器件公司生產(chǎn)的單片集成兩端感溫電流源。AD590性能描述:測(cè)量范圍在-50- +150,滿刻度范圍誤差為0.3,當(dāng)電源電壓在510V之間,穩(wěn)定度為1時(shí),誤差只有0.01 。AD590為電流型傳感器溫度每變化1其電流變化1uA在35和95時(shí)輸出電流分別為

11、308.2uA 和368.2uA 。方案二:采用DHT11濕度傳感器。DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件并與一個(gè)高性能8位單片機(jī)相連接,因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性?xún)r(jià)比極高等優(yōu)點(diǎn)。綜合比較方案一和方案二,兩方案都可以滿足設(shè)計(jì)所要求的精度溫度要求,但方案一的后續(xù)電路復(fù)雜,需要經(jīng)過(guò)放大,數(shù)模轉(zhuǎn)換等步驟,增加了設(shè)計(jì)的復(fù)雜度和成本,并需要占用單片機(jī)較多的I/O口。方案二的后續(xù)電路簡(jiǎn)單,占用的I/O口數(shù)量少,為整體設(shè)計(jì)留出了足夠的I/O口資源。故我們采用方案二作為本系統(tǒng)的溫度傳感器。1、傳感器性

12、能說(shuō)明參數(shù)條件MinTypMax單位濕度分辨率111%RH16Bit重復(fù)性1%RH精度254%RH0505%RH互換性可完全互換量程范圍03090%RH252090%RH502080%RH響應(yīng)時(shí)間1/e(63%)25,1m/s 空氣61015S遲滯1%RH長(zhǎng)期穩(wěn)定性典型值1%RH/yr溫度分辨率111161616Bit重復(fù)性1精度12量程范圍050響應(yīng)時(shí)間1/e(63%)630S2、 接口說(shuō)明 建議連接線長(zhǎng)度短于20米時(shí)用5K上拉電阻,大于20米時(shí)根據(jù)實(shí)際情況使用合適的上拉電阻。3、電源引腳DHT11的供電電壓為35.5V。傳感器上電后,要等待 1s 以越過(guò)不穩(wěn)定狀態(tài)在此期間無(wú)需發(fā)送任何指令。

13、電源引腳(VDD,GND)之間可增加一個(gè)100nF 的電容,用以去耦濾波2.3.3 光亮度傳感器的選擇方案一:采用光照度傳感器M,該光照度傳感器采用先進(jìn)的電路模塊技術(shù)開(kāi)發(fā)變送器,用于實(shí)現(xiàn)對(duì)環(huán)境光照度的測(cè)量,輸出標(biāo)準(zhǔn)的電壓及電流信號(hào),體積小,安裝方便,線性度好,傳輸距離長(zhǎng),抗干擾能力強(qiáng),量程可調(diào)。但價(jià)格昂貴,性?xún)r(jià)比不高,且不易購(gòu)買(mǎi)。方案二:采用光敏電阻。光敏電阻的工作原理是當(dāng)有光線照射時(shí),電阻內(nèi)原本處于穩(wěn)定狀態(tài)的電子受到激發(fā),成為自由電子,所以光線越強(qiáng),產(chǎn)生的自由電子也就越多,電阻就會(huì)越小。光敏電阻的優(yōu)點(diǎn)有內(nèi)部的光電效應(yīng)和電極無(wú)關(guān)(光電二極管才有關(guān)),即可以使用直流電源。靈敏度和半導(dǎo)體材料、以及

14、入射光的波長(zhǎng)有關(guān),價(jià)格低廉,性?xún)r(jià)比高。比較以上兩個(gè)方案,方案一雖然具有更好的設(shè)計(jì)精度和線性度,但性?xún)r(jià)比不如光敏電阻好。方案二具有較高的性?xún)r(jià)比且同時(shí)也能滿足系統(tǒng)的設(shè)計(jì)要求,故采用光敏電阻作為光照度傳感器。2.3.4 氣體傳感器的選擇 MQ-2氣體傳感器所使用的氣敏材料是在清潔空氣中電導(dǎo)率較低的二氧化錫(SnO2)。當(dāng)傳感器所處環(huán)境中存在可燃?xì)怏w時(shí),傳感器的電導(dǎo)率隨空氣中可燃?xì)怏w濃度的增加而增大。使用簡(jiǎn)單的電路即可將電導(dǎo)率的變化轉(zhuǎn)換為與該氣體濃度相對(duì)應(yīng)的輸出信號(hào)。以檢測(cè)空氣中co的含量是否在一般情況下。 基于本次只是檢測(cè)空氣中一氧化碳含量是否超標(biāo),我們經(jīng)過(guò)詳細(xì)的探討最終決定使用氣體傳感器MQ-2。

15、2.3.5 方案選擇總結(jié)(1) 濕度傳感器采用DHT11。(2) 溫度傳感器采用DHT11。(3) 光亮度傳感器采用光敏電阻。(4) 氣體傳感器采用MQ-2。第三章 硬件的設(shè)計(jì)3.1 MCU選型STC89C52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線,看門(mén)狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,三個(gè)16 位 定時(shí)器/

16、計(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-1 STC89C52單片機(jī)管腳定義圖3.2 濕濕度測(cè)量電路DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專(zhuān)用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性。傳感

17、器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性?xún)r(jià)比極高等優(yōu)點(diǎn)。每個(gè)DHT11傳感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲(chǔ)存在OTP內(nèi)存中,傳感器內(nèi)部在檢測(cè)信號(hào)的處理過(guò)程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡(jiǎn)易快捷。超小的體積、極低的功耗,信號(hào)傳輸距離可達(dá)20米以上,使其成為各類(lèi)應(yīng)用甚至最為苛刻的應(yīng)用場(chǎng)合的最佳選則。產(chǎn)品為 4 針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。 圖3-2 溫濕度測(cè)量電路3.3 光照度測(cè)量電路系統(tǒng)采用價(jià)格低廉的光敏電阻5測(cè)量光照度,因其沒(méi)

18、有良好的線性度,所以只能大致的測(cè)量。根據(jù)光敏電阻在不同的光照下有不同的阻值,經(jīng)過(guò)A/D轉(zhuǎn)換后輸入到單片機(jī)內(nèi)進(jìn)行處理。 圖3-3 光敏傳感器連接電路3.4 數(shù)據(jù)顯示電路12864引腳說(shuō)明:1 VSS-模塊的電源地2 VDD-模塊的電源正端3 V0-LCD驅(qū)動(dòng)電壓輸入端4 RS(CS)H/L并行的指令/數(shù)據(jù)選擇信號(hào);串行的片選信號(hào)5 R/W(SID)H/L并行的讀寫(xiě)選擇信號(hào);串行的數(shù)據(jù)口6 E(CLK)H/L并行的使能信號(hào);串行的同步時(shí)鐘7 DB0H/L數(shù)據(jù)08 DB1H/L數(shù)據(jù)19 DB2H/L數(shù)據(jù)210 DB3H/L數(shù)據(jù)311 DB4H/L數(shù)據(jù)412 DB5H/L數(shù)據(jù)513 DB6H/L數(shù)據(jù)6

19、14 DB7H/L數(shù)據(jù)715 PSBH/L并/串行接口選擇:H-并行;L-串行16 NC空腳17 /RETH/L復(fù)位低電平有效18 NC空腳19 LED_A-背光源正極(LED+5V)20 LED_K-背光源負(fù)極(LED-OV)邏輯工作電壓(VDD):4.55.5V電源地(GND):0V 圖3-4 LCD12864與單片機(jī)的連接電路圖3.5 復(fù)位電路 為了確保系統(tǒng)中的電路溫度可靠工作,復(fù)位電路是必不可少的部分 ,其第一功能就是高電平復(fù)位,高電平復(fù)位是在通電瞬間通過(guò)充電來(lái)實(shí)現(xiàn)的。手動(dòng)復(fù)位是指通過(guò)接通一按鍵開(kāi)關(guān),使單片機(jī)進(jìn)入復(fù)位狀態(tài)。系統(tǒng)上電運(yùn)行后,如果需要復(fù)位,只需通過(guò)手動(dòng)復(fù)位就可以實(shí)現(xiàn)。本系統(tǒng)

20、使用的復(fù)位電路如圖3-7所示: 圖3-5 復(fù)位電路圖3.6 氣體濃度檢測(cè)電路 圖3-6 氣體檢測(cè)電路3.7 電源電路由于STC89C52的工作電壓為+5V,所以電源需要輸出+5V穩(wěn)定電壓可以使單片機(jī)可以穩(wěn)定正常的工作,電源電路如圖3-9所示: 圖3- 電源電路總體電路圖: 參考文獻(xiàn)1 梅曉榕,柏桂珍,張卯瑞.自動(dòng)控制元件及線路M.北京:科學(xué)出版社,20072 張義和,王敏男,許宏昌,余長(zhǎng)春.例說(shuō)51單片機(jī)(C語(yǔ)言版)M.北京:人民郵電出版社,2010,63 胡漢才.單片機(jī)原理與接口技術(shù)M.清華大學(xué)出版社,1996.4 黃賢斌,鄭筱霞.傳感器原理與應(yīng)用M.北京:高等教育出版社. 成都:電子科技大

21、學(xué)出版社,2004,3(2009.1重印)5 何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)M.北京:北京航天航空出版社.1990,50-4906 劉篤仁,韓保君.傳感器原理及應(yīng)用技術(shù)M.機(jī)械工業(yè)出版社.2003,8 7 王勇等.凌陽(yáng)單片機(jī)原理及其畢業(yè)設(shè)計(jì)精選M.科學(xué)出版社8 童詩(shī)白.模擬電路基礎(chǔ)M,北京:高等教育出版社,20019 馬忠梅,籍順心,張凱等.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)M.北京航天航空大學(xué)出版社,200310 M考夫曼,AH塞得.電子計(jì)算手冊(cè)M.國(guó)防科技出版社.11 王毅.單片機(jī)器件應(yīng)用手冊(cè)M.北京:人民郵電出版社,199412 譚浩強(qiáng) C程序設(shè)計(jì)(第二版) 清華大學(xué)出版社,1999年12月。附錄

22、系統(tǒng)源代碼 #include #include /Keil library #include /Keil library#include #include 12864.h#include bh1750.h#include main.h#include DHT11.h#define BCD2DEC(X) (X&0x70)4)*10+(X&0x0f)#define DEC2BCD(X) (X/10)4|(X%10)code unsigned char wendu= 溫度: ;code unsigned char shidu= 濕度: RH;code unsigned char guangzhao=

23、光照: LM;code unsigned char Aboutme= 智能養(yǎng)雞場(chǎng);U16 a,b,t;U8 flag,i;U8 temp_fordh112; void delay_nms(unsigned int k);void GUI_init(void);/毫秒延時(shí)*void delay_nms(unsigned int k)unsigned int i,j;for(i=0;ik;i+)for(j=0;j121;j+);void wendu_fuhao(void) WriteCommandLCD(0x86 ,0); WriteDataLCD(0xa1); WriteDataLCD(0xe6

24、);void GUI_init(void)DisplayListChar(0,1,wendu);DisplayListChar(0,2,shidu);DisplayListChar(0,3,guangzhao);DisplayListChar(0,4,Aboutme);wendu_fuhao();void main() float temp; unsigned char temp_for_gz5; t=0;flag=0; P1_0=1;P2=0xff;Delay(40); delay_nms(200); /延時(shí)200ms /初始化LCD Init_BH1750(); /初始化BH1750 LC

25、DInit(); Single_Write_BH1750(0x01); / power on Single_Write_BH1750(0x10); GUI_init(); while(1) /循環(huán) RH(); WriteCommandLCD(0x83,0); temp_fordh110=(U8T_data_H)/10; temp_fordh111=(U8T_data_H)%10; WriteDataLCD(0x30+temp_fordh110); WriteDataLCD(0x30+temp_fordh111); WriteCommandLCD(0x93,0); temp_fordh110=(

26、U8RH_data_H)/10; temp_fordh111=(U8RH_data_H)%10; WriteDataLCD(0x30+temp_fordh110); WriteDataLCD(0x30+temp_fordh111); delay_nms(180); /延時(shí)180ms Multiple_Read_BH1750(); /連續(xù)讀出數(shù)據(jù),存儲(chǔ)在BUF中 dis_data=BUF0; dis_data=(dis_data0;a-)for(b=110;b0;b-);void Delay5Ms128(void) unsigned int TempCyc = 5552; while(TempC

27、yc-);void Delay400Ms(void) unsigned char TempCycA = 5; unsigned int TempCycB; while(TempCycA-) TempCycB=7269; while(TempCycB-); /*寫(xiě)數(shù)據(jù)*/void WriteDataLCD(unsigned char WDLCD) /ReadStatusLCD(); /檢測(cè)忙 LCD_RW = 0; LCD_Data = WDLCD; LCD_RS = 1; LCD_E=0;delay_for12864(20);LCD_E=1;delay_for12864(20); LCD_E

28、= 0;/*寫(xiě)指令*/void WriteCommandLCD(unsigned char WCLCD,BuysC) /BuysC為0時(shí)忽略忙檢測(cè) /if (BuysC) ReadStatusLCD(); /根據(jù)需要檢測(cè)忙 LCD_RW = 0; LCD_Data = WCLCD; LCD_RS = 0; LCD_E=0; delay_for12864(20); LCD_E =1; delay_for12864(20); LCD_E=0; /*讀數(shù)據(jù)*/unsigned char ReadDataLCD(void)unsigned char LCDDA; LCD_RS = 1; LCD_RW

29、= 1; LCD_E = 1; LCD_E = 1;LCDDA=LCD_Data; LCD_E = 0; return(LCDDA);/*讀狀態(tài)*/unsigned char ReadStatusLCD(void) LCD_Data = 0xFF; LCD_RS = 0; LCD_RW = 1;LCD_E = 1;LCD_E = 1; while (LCD_Data & Busy); /檢測(cè)忙信號(hào) LCD_E = 0; return(1);/*初始化*/void LCDInit(void)Delay5Ms128();LCD_E=1;LCD_E=0;LCD_E=1; WriteCommandLC

30、D(0x30,0); /顯示模式設(shè)置,開(kāi)始要求每次檢測(cè)忙信號(hào) Delay5Ms128(); WriteCommandLCD(0x30,0); Delay5Ms128(); WriteCommandLCD(0x0C,1); / 顯示開(kāi)及光標(biāo)設(shè)置 Delay5Ms128();Delay5Ms128(); WriteCommandLCD(0x01,1); /顯示清屏 WriteCommandLCD(0x06,1); / 顯示光標(biāo)移動(dòng)設(shè)置 /*清屏*/void LCDClear(void) WriteCommandLCD(0x01,1); /顯示清屏 WriteCommandLCD(0x34,1);

31、/ 顯示光標(biāo)移動(dòng)設(shè)置 WriteCommandLCD(0x30,1); / 顯示開(kāi)及光標(biāo)設(shè)置/*閃爍效果*/void LCDFlash(void) WriteCommandLCD(0x08,1); /顯示清屏 Delay400Ms(); WriteCommandLCD(0x0c,1); / 顯示開(kāi)及光標(biāo)設(shè)置 Delay400Ms(); WriteCommandLCD(0x08,1); /顯示清屏 Delay400Ms(); WriteCommandLCD(0x0c,1); / 顯示開(kāi)及光標(biāo)設(shè)置 Delay400Ms(); WriteCommandLCD(0x08,1); /顯示清屏 Delay

32、400Ms();/*按指定位置顯示一個(gè)字符*/void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData1, unsigned char DData2)if(Y4) /DisplayOneChar(0,1,0xD0) Y=4;X &= 0x0F; /限制X不能大于16,Y不能大于1switch(Y)case 1:X|=0X80;break;case 2:X|=0X90;break;case 3:X|=0X88;break;case 4:X|=0X98;break;WriteCommandLCD(X, 0);

33、 /這里不檢測(cè)忙信號(hào),發(fā)送地址碼WriteDataLCD(DData1);WriteDataLCD(DData2);/*按指定位置顯示一串字符*/void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)unsigned char ListLength,X2;ListLength = 0;X2=X;if(Y4) Y=4; X &= 0x0F; /限制X不能大于16,Y在1-4之內(nèi) switch(Y)case 1:X2|=0X80;break;/根據(jù)行數(shù)來(lái)選擇相應(yīng)地址case 2:X2|=0X

34、90;break;case 3:X2|=0X88;break;case 4:X2|=0X98;break; WriteCommandLCD(X2, 1); /發(fā)送地址碼 while (DDataListLength=0x20) /若到達(dá)字串尾則退出 if (X = 0x0F) /X坐標(biāo)應(yīng)小于0xF WriteDataLCD(DDataListLength); ListLength+; X+; Delay5Ms128(); #endif#ifndef _BH1750_H#define _BH1750_H#define SlaveAddress 0x46 #define uchar unsigne

35、d char#define uint unsigned intsbit SCL=P23; /IIC時(shí)鐘引腳定義sbit SDA=P24; /IIC數(shù)據(jù)引腳定義typedef unsigned char BYTE;typedef unsigned short WORD;BYTE BUF8;uchar ge,shi,bai,qian,wan; /顯示變量int dis_data; void conversion(int temp_data);void Init_BH1750(void);void Single_Write_BH1750(uchar REG_Address); /單個(gè)寫(xiě)入數(shù)據(jù)void

36、 Multiple_Read_BH1750(); /連續(xù)的讀取內(nèi)部寄存void BH1750_Start(); /起始信號(hào)void BH1750_Stop(); /停止信號(hào)void BH1750_SendACK(bit ack); /應(yīng)答ACKbit BH1750_RecvACK(); /讀ackvoid BH1750_SendByte(BYTE dat); /IIC單個(gè)字節(jié)寫(xiě)B(tài)YTE BH1750_RecvByte(); /IIC單個(gè)字節(jié)讀void conversion(int temp_data) / 數(shù)據(jù)轉(zhuǎn)換出 個(gè),十,百,千,萬(wàn) wan=temp_data/10000+0x30 ; t

37、emp_data=temp_data%10000; /取余運(yùn)算qian=temp_data/1000+0x30 ; temp_data=temp_data%1000; /取余運(yùn)算 bai=temp_data/100+0x30 ; temp_data=temp_data%100; /取余運(yùn)算 shi=temp_data/10+0x30 ; temp_data=temp_data%10; /取余運(yùn)算 ge=temp_data/1+0x30; void Delay5ms() WORD n = 560; while (n-);void Delay5us() _nop_();_nop_();_nop_(

38、);_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();/*起始信號(hào)*/void BH1750_Start() SDA = 1; /拉高數(shù)據(jù)線 SCL = 1; /拉高時(shí)鐘線 Delay5us(); /延時(shí) SDA = 0; /產(chǎn)生下降沿 Delay5us(); /延時(shí) SCL = 0; /拉低時(shí)鐘線/*停止信號(hào)*/void BH1750_Stop() SDA = 0; /拉低數(shù)據(jù)線 SCL = 1; /拉高時(shí)鐘線 Delay5us(); /延時(shí) SDA = 1; /產(chǎn)生上升沿 Delay5us(); /延時(shí)/*發(fā)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論