版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 1. 引言</b></p><p> 1.1 溫室控制系統(tǒng)設(shè)計(jì)背景</p><p> 中國(guó)農(nóng)業(yè)的發(fā)展必須走現(xiàn)代化農(nóng)業(yè)這條道路,隨著國(guó)民經(jīng)濟(jì)的迅速增長(zhǎng),農(nóng)業(yè)的研究和應(yīng)用技術(shù)越來越受到重視,特別是溫室大棚已經(jīng)成為高效農(nóng)業(yè)的一個(gè)重要組成部分?,F(xiàn)代化農(nóng)業(yè)生產(chǎn)中的重要一環(huán)就是對(duì)農(nóng)業(yè)生產(chǎn)環(huán)境的一些重要參數(shù)進(jìn)行檢測(cè)和控制。例如:空氣的溫度、濕度、
2、二氧化碳含量、土壤的含水量等。在農(nóng)業(yè)種植問題中,溫室環(huán)境與生物的生長(zhǎng)、發(fā)育、能量交換密切相關(guān),進(jìn)行環(huán)境測(cè)控是實(shí)現(xiàn)溫室生產(chǎn)管理自動(dòng)化、科學(xué)化的基本保證,通過對(duì)監(jiān)測(cè)數(shù)據(jù)的分析,結(jié)合作物生長(zhǎng)發(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)的溫度和濕度參數(shù),直接關(guān)系到蔬菜和水果的生長(zhǎng)。國(guó)外的溫室設(shè)施己經(jīng)發(fā)展到比較完備的程度,并形成了一定的標(biāo)準(zhǔn),但是價(jià)格非常昂貴
3、,缺乏與我國(guó)氣候特點(diǎn)相適應(yīng)的測(cè)控軟件。而當(dāng)今大多數(shù)對(duì)大棚溫度、濕度的檢測(cè)與控制都采用人工管理,這樣不可避免的有測(cè)控精度低、勞動(dòng)強(qiáng)度大及由于測(cè)控不及時(shí)等弊端,容易造成不可彌補(bǔ)的損失,結(jié)果不但大大增加了成本,浪費(fèi)了人力資源,而且很難達(dá)到預(yù)期的效果。因此,為了實(shí)現(xiàn)高效農(nóng)業(yè)生產(chǎn)的科學(xué)化并提高農(nóng)業(yè)研究的準(zhǔn)確性,推動(dòng)我國(guó)農(nóng)</p><p> 影響作物生長(zhǎng)發(fā)育的環(huán)境條件主要包括:溫度、濕度、光照、CO2濃度、土壤等。所有這些
4、環(huán)境條件之間是相互作用、相互聯(lián)系、相互耦合的,某個(gè)控制變量發(fā)生改變,會(huì)影響其它控制變量的變化。作物的生長(zhǎng)發(fā)育是所有這些環(huán)境條件綜合作用的結(jié)果。溫度和濕度一直是人類關(guān)注的對(duì)象,這兩種環(huán)境因素時(shí)刻影響著人們的生產(chǎn)和生活,下面主要就溫度和濕度對(duì)作物的影響進(jìn)行簡(jiǎn)略說明。</p><p> (1)溫度 溫室內(nèi)氣溫、地溫對(duì)作物的光合作用、呼吸作用、根系的生長(zhǎng)和水分、養(yǎng)分的吸收有著顯著的影響,因此影響作物生長(zhǎng)發(fā)育的環(huán)境條件
5、中,以溫度最為敏感,也最為重要,對(duì)溫室環(huán)境控制的研究也是最先從溫度控制開始的。不同種類的作物對(duì)溫度的要求是不同的,同一作物在不同發(fā)育階段對(duì)溫度的要求亦有所不同,而且在同一發(fā)育期階段內(nèi)對(duì)溫度的要求也會(huì)隨著晝夜變化而呈周期性地變化。一般說來在白天作物進(jìn)行光合作用需要的溫度較高,晚上維持呼吸作用所需的溫度要低一些。</p><p> 作物生長(zhǎng)發(fā)育適宜的溫度,隨種類、品種、生育階段及生理活動(dòng)的變化而變化。為了增加光合產(chǎn)
6、物的生成,抑制不必要的呼吸消耗,在一天中,隨著光照強(qiáng)度的變化,實(shí)行變溫管理是一種很有效的管理方法[1]。</p><p> ?。?)濕度 溫室內(nèi)作物對(duì)水分的要求體現(xiàn)為對(duì)溫室內(nèi)空氣濕度和土壤濕度的要求。空氣濕度用相對(duì)濕度來表示,因?yàn)橄鄬?duì)濕度更能反應(yīng)事實(shí)。根據(jù)有關(guān)研究記載,除了陰雨天以外,溫室內(nèi)午后過低的空氣濕度會(huì)導(dǎo)致作物發(fā)生光合作用的午休現(xiàn)象,因此空氣相對(duì)濕度的大小直接影響到作物的光合作用,這時(shí)就需要增加溫室內(nèi)的
7、空氣濕度。當(dāng)溫室內(nèi)的空氣濕度較高時(shí),可能會(huì)誘發(fā)一些病蟲害。溫室中空氣濕度的管理包括增濕和降濕。</p><p> 土壤濕度對(duì)作物的影響也很大。如果土壤中水分過剩,濕度過高,導(dǎo)致土壤中的氧氣含量減少,作物根部呼吸困難,進(jìn)而危害作物的生長(zhǎng)發(fā)育。相反,當(dāng)土壤中含水量減少時(shí),作物根部吸收的水分就相應(yīng)的減少,從而阻礙作物的生長(zhǎng),嚴(yán)重時(shí)作物出現(xiàn)萎蔫現(xiàn)象。不同的作物對(duì)濕度的要求不同,即使是同一種類在不同發(fā)育階段對(duì)濕度的要求也
8、不盡相同。</p><p> 土壤濕度的管理就是把包括滲灌、滴灌、微灌等灌溉技術(shù)應(yīng)用到溫室中來。傳統(tǒng)的大水漫灌既浪費(fèi)水資源,又容易使土壤發(fā)生板結(jié),提高了室內(nèi)濕度。在溫室中應(yīng)用滲灌技術(shù)具有灌水均勻,提高地溫,保持土壤疏松,降低室內(nèi)濕度,減輕病害發(fā)生,生育期提前等優(yōu)點(diǎn)。</p><p> 從很久以前人類就想出各種方法控制溫度和濕度,以滿足人們生產(chǎn)生活的需要。從古代人們通過扇子、雨傘、毛巾等
9、試圖去控制溫度和濕度到今天高科技發(fā)展迅速的社會(huì)所發(fā)明出的各種工具,如風(fēng)扇、空調(diào)、加熱器等,表明人類一直努力去控制這兩種和人類密切相關(guān)的環(huán)境因素?,F(xiàn)代科技的發(fā)展,使得溫度和濕度的控制更容易,更高效,特別是傳感器和單片機(jī)的應(yīng)用,使得溫度和濕度控制系統(tǒng)性能有了根本性的提高,精度更高,而且實(shí)現(xiàn)了自動(dòng)化[2]。</p><p> 人們使用溫度計(jì)、濕度計(jì)來采集溫度和濕度,通過人工操作加熱、加濕、通風(fēng)和降溫設(shè)備來控制溫濕度,
10、這樣不但控制精度低、實(shí)時(shí)性差,而且操作人員的勞動(dòng)強(qiáng)度大。即使有些用戶采用半導(dǎo)體二極管作溫度傳感器,但由于其互換性差,效果也不理想。在某些行業(yè)中對(duì)溫濕度的要求較高,特別是在大型的電力系統(tǒng)中,由于溫度過高或過低引起的元器件失效或由于環(huán)境濕度過高而引起的漏電事故時(shí)有發(fā)生。對(duì)電力系統(tǒng)的可靠運(yùn)行造成影響,甚至危及到電力系統(tǒng)局部及操作人員的安全。為了避免這些故障,需要在電力設(shè)備柜體內(nèi)安裝控溫、除濕設(shè)備。</p><p>
11、1.2 本設(shè)計(jì)的內(nèi)容及意義</p><p> 1.2.1 本設(shè)計(jì)的主要內(nèi)容</p><p> 本設(shè)計(jì)以STC89C51單片機(jī)的溫度、濕度測(cè)量和控制系統(tǒng)為核心來對(duì)溫濕度進(jìn)行實(shí)時(shí)巡檢。單片機(jī)能獨(dú)立完成各自功能,同時(shí)能根據(jù)主控機(jī)的指令對(duì)溫度進(jìn)行定時(shí)采集。測(cè)量結(jié)果不僅能在本地顯示,而且可以利用單片機(jī)的串行口和 RS-232總線通信協(xié)議能把溫室中的溫度、濕度等參數(shù)及時(shí)上傳至上位機(jī),并與設(shè)定值進(jìn)
12、行比較,與設(shè)定值不符時(shí)采取相應(yīng)的處理措施,以實(shí)現(xiàn)恒溫恒濕環(huán)境。</p><p> 在設(shè)計(jì)的過程中充分考慮到性價(jià)比和精度,在選用低價(jià)格、通用元件的的基礎(chǔ)上,盡量滿足設(shè)計(jì)要求,并使系統(tǒng)具有高的精度。本控制系統(tǒng)以單片機(jī)的控制為核心,實(shí)時(shí)監(jiān)測(cè)環(huán)境的溫度和濕度,并設(shè)定了這兩個(gè)參數(shù)的上下限定值,并具有相應(yīng)的報(bào)警系統(tǒng),當(dāng)超過設(shè)定的限定值時(shí),單片機(jī)控制報(bào)警系統(tǒng)進(jìn)行報(bào)警,而且同時(shí)驅(qū)動(dòng)繼電器打開相應(yīng)的開關(guān)使相應(yīng)的執(zhí)行機(jī)構(gòu)運(yùn)行。當(dāng)參
13、數(shù)值恢復(fù)到設(shè)定值范圍內(nèi)時(shí),單片機(jī)控制執(zhí)行機(jī)構(gòu)停止運(yùn)行。從而使環(huán)境的溫濕度在一定的范圍內(nèi)得到控制。</p><p> 本設(shè)計(jì)主要內(nèi)容包括以下幾個(gè)方面:</p><p> (1)掌握STC89C51單片機(jī)的主要功能和特性,以其為核心設(shè)計(jì)控制系統(tǒng)。</p><p> ?。?)設(shè)計(jì)簡(jiǎn)單的人機(jī)對(duì)話接口系統(tǒng),如鍵盤、顯示、報(bào)警等。</p><p>
14、?。?)利用RS232實(shí)現(xiàn)單片機(jī)與上位機(jī)的通信。</p><p> ?。?)實(shí)現(xiàn)系統(tǒng)的可靠性和抗干擾性。</p><p> (5)選擇適合的傳感器,設(shè)計(jì)相應(yīng)的信號(hào)采集和處理電路。</p><p> 1.2.2本設(shè)計(jì)的意義</p><p> 傳統(tǒng)的方法,人們主要采用溫度計(jì)、濕度計(jì)來采集溫度值和濕度值,通過人工操作加熱、加濕、通風(fēng)和降溫設(shè)備
15、來控制溫濕度。但是由于溫度計(jì)、濕度計(jì)精度比較低,以及人工讀數(shù)的人為因素等原因,溫濕度檢測(cè)不僅速度慢,精度低,實(shí)時(shí)性差,而且操作人員的勞動(dòng)強(qiáng)度大。隨著科技的發(fā)展,采用各種傳感器、模數(shù)轉(zhuǎn)換器、報(bào)警器等組成的溫濕度監(jiān)測(cè)系統(tǒng)的出現(xiàn),可對(duì)環(huán)境內(nèi)的各個(gè)測(cè)點(diǎn)進(jìn)行巡回檢測(cè),檢測(cè)速度、精度有了一定的提高,降低了勞動(dòng)強(qiáng)度,但由于所采用的傳感器靈敏度比較低、穩(wěn)定性比較差,致使檢測(cè)精度、系統(tǒng)可靠性還不夠理想,同時(shí)在農(nóng)業(yè)生產(chǎn)和農(nóng)業(yè)科研過程中的很多場(chǎng)合需要對(duì)上面提
16、到的物理量進(jìn)行精確的檢測(cè)和控制。由于現(xiàn)在基本沿用人工的測(cè)控方法,這就不可避免的存在著勞動(dòng)強(qiáng)度大、繁瑣、測(cè)量精度低,并且由于檢測(cè)報(bào)警不及時(shí),給生產(chǎn)和科研工作造成了一定的損失[2]。</p><p> 近年來,隨著單片機(jī)功能的日益強(qiáng)大和計(jì)算機(jī)的廣泛應(yīng)用,人們對(duì)參數(shù)監(jiān)測(cè)的準(zhǔn)確性、穩(wěn)定性要求也越來越高。本設(shè)計(jì)就是針對(duì)此問題,設(shè)計(jì)相對(duì)精度高、性能穩(wěn)定的、的溫度濕度控制裝置。該儀器可廣泛應(yīng)用于大棚、倉(cāng)庫(kù)、體育場(chǎng)等領(lǐng)域。&l
17、t;/p><p> 2. 溫室控制系統(tǒng)總體設(shè)計(jì)</p><p> 2.1 測(cè)控系統(tǒng)的設(shè)計(jì)要求</p><p> ?。?) 能夠?qū)崟r(shí)采集與顯示室內(nèi)環(huán)境溫度、濕度等參數(shù)。主要參數(shù)的監(jiān)測(cè)范圍和檢測(cè)精度如表2.1所示:</p><p> 表2.1 主要環(huán)境參數(shù)</p><p> ?。?) 能夠根據(jù)每天各個(gè)階段以及季節(jié)等
18、的外部環(huán)境變化通過鍵盤輸入改變對(duì)參數(shù)的設(shè)置,以滿足不同的要求達(dá)到最佳效益;</p><p> ?。?) 聲音報(bào)警功能;</p><p> ?。?) 根據(jù)檢測(cè)到的信號(hào),實(shí)時(shí)控制執(zhí)行機(jī)構(gòu)的開啟與關(guān)斷。</p><p> (5) 自帶+5 V和+12 V直流穩(wěn)壓電源。</p><p><b> 2.2 設(shè)計(jì)目標(biāo)</b>&
19、lt;/p><p> 本設(shè)計(jì)是基于STC89C51單片機(jī)的溫濕度智能控制采集系統(tǒng),主要完成一下主要任務(wù):</p><p> ?。?)選擇STC89C51單片機(jī),了解其基本特性和功能,使用STC89C51實(shí)現(xiàn)對(duì)溫濕度的智能控制。</p><p> ?。?)使用溫度傳感器測(cè)量環(huán)境的溫度,進(jìn)行數(shù)據(jù)的采集并傳送到單片機(jī)進(jìn)行數(shù)據(jù)處理,實(shí)現(xiàn)范圍為-30℃~+50℃溫度采集和控制。
20、</p><p> ?。?)使用濕度傳感器對(duì)現(xiàn)場(chǎng)環(huán)境濕度數(shù)據(jù)采集,由單片機(jī)進(jìn)行數(shù)據(jù)處理和控制,實(shí)現(xiàn)范圍為10%~100%RH的濕度控制。</p><p> (4)采用串行總線RS-232實(shí)現(xiàn)單片機(jī)和上位機(jī)通訊。</p><p> (5)設(shè)計(jì)人機(jī)對(duì)話接口,鍵盤、顯示和報(bào)警系統(tǒng)。</p><p> (6)設(shè)計(jì)執(zhí)行機(jī)構(gòu)電路,使單片機(jī)能自動(dòng)控制
21、執(zhí)行機(jī)構(gòu)工作。</p><p> 使系統(tǒng)完成特定功能的同時(shí),要保證系統(tǒng)的可靠性和穩(wěn)定性,使系統(tǒng)能夠長(zhǎng)期穩(wěn)定的工作。還要盡量實(shí)現(xiàn)系統(tǒng)的低成本、低功耗和高精度。</p><p> 2.3 測(cè)控系統(tǒng)的組成及控制原理</p><p> 本設(shè)計(jì)是以STC89C51單片機(jī)為核心的自動(dòng)控制系統(tǒng),硬件系統(tǒng)由鍵盤輸入電路、LCD顯示電路、傳感器和A/D轉(zhuǎn)換電路、和執(zhí)行電路、報(bào)
22、警電路等組成。</p><p> 硬件系統(tǒng)原理框圖如圖2.1所示:</p><p> 圖2.1 測(cè)控系統(tǒng)硬件組成原理框圖</p><p> 傳感器一般輸出的為模擬量,需要通過A/D轉(zhuǎn)換,轉(zhuǎn)換為單片機(jī)能夠接收的數(shù)字信號(hào),若模擬信號(hào)太弱,還需經(jīng)過運(yùn)算放大器放大信號(hào)。鍵盤輸入的是系統(tǒng)參數(shù)的上、下限極限值,若檢測(cè)到的信號(hào)值出現(xiàn)不在此極限區(qū)間的情況,單片機(jī)就會(huì)驅(qū)動(dòng)蜂鳴器
23、產(chǎn)生報(bào)警,此時(shí)就需要執(zhí)行機(jī)構(gòu)控制室內(nèi)環(huán)境相應(yīng)的改變,使得環(huán)境參數(shù)重新回到設(shè)定的理想?yún)^(qū)間。</p><p><b> 3. 硬件設(shè)計(jì)</b></p><p> 硬件元器件的選擇,必須考慮到功能的實(shí)現(xiàn)、器件的適時(shí)性、價(jià)格和通用性等幾個(gè)方面。在電路的設(shè)計(jì)中,在實(shí)現(xiàn)所要求功能的基礎(chǔ)上,盡量使電路簡(jiǎn)單。</p><p> 3.1 單片機(jī)的選擇及
24、其特性</p><p> 計(jì)算機(jī)的產(chǎn)生加快了人類改造世界的步伐,但是它畢竟體積龐大。單片機(jī)(微控制器)就是在這種情況下誕生的。微控制器,亦稱單片機(jī)或者單片微型計(jì)算機(jī)。它是把中央處理器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、輸入/輸出端口(1/0) 等主要計(jì)算機(jī)功能部件都集成在一塊集成電路芯片上的微型計(jì)算機(jī)。它的結(jié)構(gòu)與指令功能都是按照工業(yè)控制的要求設(shè)計(jì)的,在智能控制系統(tǒng)中,微控制器得到了廣泛的
25、應(yīng)用。</p><p> 單片機(jī)目前己被廣泛地應(yīng)用于家電、醫(yī)療、儀器儀表、工業(yè)自動(dòng)化、航空航天等領(lǐng)域。市場(chǎng)上比較流行的單片機(jī)種類主要有Intel公司、Atmel公司和Philip公司的8951系列單片機(jī),Motorola公司的M6800系列單片機(jī),Intel公司的MCS96系列單片機(jī),Microchip公司的PIC系列單片機(jī)等。各個(gè)系列的單片機(jī)各有所長(zhǎng),在處理速度、穩(wěn)定性、I/O能力、功耗、功能、價(jià)格等方面各有
26、優(yōu)劣。這些種類繁多的單片機(jī)家族,給我們單片機(jī)的選擇也提供了很大的余地。本設(shè)計(jì)選用STC89C51單片機(jī),它是一種低功耗、低價(jià)格,高性能8位微處理器[3]。</p><p> 3.2 STC89C51系列單片機(jī)介紹</p><p> STC89C51 是美國(guó)ATMEL 公司生產(chǎn)的低電壓,高性能CMOS 8 位單片機(jī),片內(nèi)含4k bytes 的可反復(fù)擦寫的Flash 只讀程序存儲(chǔ)器和25
27、6 bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL 公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51 指令系統(tǒng)及8051產(chǎn)品引腳兼容,片內(nèi)置通用8 位中央處理器(CPU)和Flash 存儲(chǔ)單元,功能強(qiáng)大的STC89C51 單片機(jī)適合于許多較為復(fù)雜控制應(yīng)用場(chǎng)合。</p><p> 3.2.1 STC89C51基本特性</p><p> STC89C51系列單片機(jī)主要
28、性能參數(shù)如下:</p><p> ·與MCS-51產(chǎn)品指令和引腳完全兼容</p><p> ·4k字節(jié)可重擦寫Flash閃速存儲(chǔ)器</p><p> ·1000次擦寫周期</p><p> ·全靜態(tài)操作:0Hz-24MHz</p><p> ·三級(jí)加密程序存儲(chǔ)
29、器</p><p> ·256字節(jié)內(nèi)部RAM</p><p> ·32個(gè)可編程I/O口線</p><p> ·3個(gè)16位定時(shí)/計(jì)數(shù)器</p><p><b> ·8個(gè)中斷源</b></p><p> ·可編程串行UART通道</p&
30、gt;<p> ·低功耗空閑和掉電模式。</p><p> STC89C51 提供以下標(biāo)準(zhǔn)功能:</p><p> 4k字節(jié)Flash 閃速存儲(chǔ)器,256字節(jié)內(nèi)部RAM,32 個(gè)I/O 口線,3 個(gè)16 位定時(shí)/計(jì)數(shù)器,一個(gè)6 向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),STC89C52 可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的
31、節(jié)電工作模式。空閑方式停止CPU 的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。 </p><p> 3.2.2 STC89C51單片機(jī)的內(nèi)部組成結(jié)構(gòu)</p><p> STC89C51單片機(jī)的內(nèi)部結(jié)構(gòu)如圖3.1所示:</p><p> 圖3.1 STC
32、89C51單片機(jī)的內(nèi)部結(jié)構(gòu)</p><p> 3.2.3 STC89C51的引腳功能</p><p> 引腳功能說明如圖3.2:</p><p><b> ·Vcc:電源電壓</b></p><p><b> ·GND:地</b></p><p>
33、 ·P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口P0寫“1”時(shí),可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。</p><p> 在Flash 編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外
34、接上拉電阻。</p><p> 圖3.2 STC89C52單片機(jī)封裝圖</p><p> ·P1口:P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL 邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。與ST
35、C89C51 不同之處是,P1.0 和P1.1 還可分別作為定時(shí)/計(jì)數(shù)器2 的外部計(jì)數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),參見表3.1。</p><p> 表3.1 引腳P1.0和P1.1的第二功能</p><p> Flash 編程和程序校驗(yàn)期間,P1 接收低8位地址。</p><p> ·P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的
36、8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口P2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。</p><p> 在訪問外部程序存儲(chǔ)器或16 位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX @DPTR 指令)時(shí),P2口送出高8 位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲(chǔ)器(
37、如執(zhí)行MOVX @RI 指令)時(shí),P2口輸出P2 鎖存器的內(nèi)容。</p><p> Flash 編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號(hào)。</p><p> ·P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL 邏輯門電路。對(duì)P3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3口將用上
38、拉電阻輸出電流(IIL)。</p><p> P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表3.2所示:</p><p> 表3.2 引腳P3口的第二功能</p><p> 此外,P3 口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。</p><p> ·RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),R
39、ST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。</p><p> ·ALE/PROG: 當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6 輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。對(duì)Flash 存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PRO
40、G)。</p><p> 如有必要,可通過對(duì)特殊功能寄存器(SFR)區(qū)中的8EH 單元的D0 位置位,可禁止ALE 操作。該位置位后,只有一條MOVX 和MOVC指令才能將ALE 激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE 禁止位無效。</p><p> ·PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52 由外部程序
41、存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次PSEN信號(hào)。</p><p> ·EA/VPP:外部訪問允許。欲使CPU 僅訪問外部程序存儲(chǔ)器(地址為0000H—FFFFH),EA 端必須保持低電平(接地)。需注意的是:如果加密位LB1 被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU 則執(zhí)行內(nèi)部程序存儲(chǔ)器中的
42、指令。Flash 存儲(chǔ)器編程時(shí),該引腳加上+12V 的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12V 編程電壓Vpp。</p><p> ·XTAL1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。</p><p> ·XTAL2:振蕩器反相放大器的輸出端[4]。</p><p> 3.2.4 STC89C51的存儲(chǔ)器</p>
43、<p><b> ·中斷寄存器:</b></p><p> STC89C51有6個(gè)中斷源,2個(gè)中斷優(yōu)先級(jí),IE寄存器控制各中斷位,IP寄存器中6個(gè)中斷源的每一個(gè)可定為2個(gè)優(yōu)先級(jí)。</p><p><b> ·數(shù)據(jù)存儲(chǔ)器:</b></p><p> STC89C51有256個(gè)字節(jié)的內(nèi)
44、部RAM,80H-FFH高128個(gè)字節(jié)與特殊功能寄存器(SFR)地址是重疊的,也就是高128字節(jié)的RAM和特殊功能寄存器的地址是相同的,但物理上它們是分開的。當(dāng)一條指令訪問7FH 以上的內(nèi)部地址單元時(shí),指令中使用的尋址方式是不同的,也即尋址方式?jīng)Q定是訪問高128 字節(jié)RAM還是訪問特殊功能寄存器。如果指令是直接尋址方式則為訪問特殊功能寄存器。</p><p> 例如,下面的直接尋址指令訪問特殊功能寄存器0A0H
45、(即P2 口)地址單元。</p><p> MOV 0A0H,#data</p><p> 間接尋址指令訪問高128 字節(jié)RAM,例如,下面的間接尋址指令中,R0 的內(nèi)容為0A0H,則訪問數(shù)據(jù)字節(jié)地址為0A0H,而不是P2口(0A0H)。</p><p> MOV @R0,#data</p><p> 堆棧操作也是間接尋址方式,所以,
46、高128 位數(shù)據(jù)RAM 亦可作為堆棧區(qū)使用。</p><p> ·定時(shí)器0和定時(shí)器1:</p><p> STC89C51的定時(shí)器0和定時(shí)器1的工作方式與STC89C51的相同。</p><p><b> ·定時(shí)器2:</b></p><p> 定時(shí)器2 是一個(gè)16 位定時(shí)/計(jì)數(shù)器。它既可當(dāng)定
47、時(shí)器使用,也可作為外部事件計(jì)數(shù)器使用,其工作方式由特殊功能寄存器T2CON的C/T2 位選擇。定時(shí)器2 有三種工作方式:捕獲方式,自動(dòng)重裝載(向上或向下計(jì)數(shù))方式和波特率發(fā)生器方式,工作方式由T2CON 的控制位來選擇。</p><p><b> ·波特率發(fā)生器:</b></p><p> 當(dāng)T2CON中的TCLK 和RCLK 置位時(shí),定時(shí)/計(jì)數(shù)器2 作
48、為波特率發(fā)生器使用。如果定時(shí)/計(jì)數(shù)器2 作為發(fā)送器或接收器,其發(fā)送和接收的波特率可以是不同的,定時(shí)器1 用于其它功能。若RCLK 和TCLK 置位,則定時(shí)器2工作于波特率發(fā)生器方式。</p><p> 波特率發(fā)生器的方式與自動(dòng)重裝載方式相仿,在此方式下,TH2 翻轉(zhuǎn)使定時(shí)器2 的寄存器用RCAP2H 和RCAP2L 中的16位數(shù)值重新裝載,該數(shù)值由軟件設(shè)置。</p><p><b&
49、gt; ·中斷:</b></p><p> STC89C51 共有6 個(gè)中斷向量:兩個(gè)外中斷(INT0 和INT1),3 個(gè)定時(shí)器中斷(定時(shí)器0、1、2)和串行口中斷。這些中斷源可通過分別設(shè)置專用寄存器IE 的置位或清0 來控制每一個(gè)中斷的允許或禁止。IE 也有一個(gè)總禁止位EA,它能控制所有中斷的允許或禁止。定時(shí)器2 的中斷是由T2CON 中的TF2 和EXF2 邏輯或產(chǎn)生的,當(dāng)轉(zhuǎn)向中斷
50、服務(wù)程序時(shí),這些標(biāo)志位不能被硬件清除,事實(shí)上,服務(wù)程序需確定是TF2 或EXF2 產(chǎn)生中斷,而由軟件清除中斷標(biāo)志位。定時(shí)器0 和定時(shí)器1 的標(biāo)志位TF0 和TF1 在定時(shí)器溢出那個(gè)機(jī)器周期的S5P2 狀態(tài)置位,而會(huì)在下一個(gè)機(jī)器周期才查詢到該中斷標(biāo)志。然而,定時(shí)器2 的標(biāo)志位TF2 在定時(shí)器溢出的那個(gè)機(jī)器周期的S2P2 狀態(tài)置位,并在同一個(gè)機(jī)器周期內(nèi)查詢到該標(biāo)志[5]。</p><p> ·STC89C
51、51的直流參數(shù)有一定的溫度適用范圍,見表3.3: 表3.3 T=-40℃~+85℃ 和 Vcc=5.0V±20%下的直流參數(shù)</p><p> ·Flash存儲(chǔ)器的編程:STC89C51單片機(jī)內(nèi)部有4k字節(jié)的Flash PEROM,這個(gè)Flash存儲(chǔ)陣列出廠時(shí)已處于擦除狀態(tài)(即所有存儲(chǔ)單元的內(nèi)容均為FFH),用戶隨時(shí)可對(duì)其進(jìn)行編程。編程接口可接收高電
52、壓(+12V)或低電壓(Vcc)的允許編程信號(hào)。低電壓編程模式適合于用戶在線編程系統(tǒng),而高電壓編程模式可與通用EPROM編程器兼容。STC89C51單片機(jī)中,有些屬于低電壓編程方式,而有些則是高電壓編程方式,用戶可從芯片上的型號(hào)和讀取芯片內(nèi)的簽名字節(jié)獲得該信息,見表3.4。</p><p> 表3.4 頂面標(biāo)記及簽名字節(jié)</p><p> STC89C51的程序存儲(chǔ)器陣列是采用字節(jié)寫
53、入方式編程的,每次寫入一個(gè)字節(jié),要對(duì)整個(gè)芯片內(nèi)的PEROM程序存儲(chǔ)器寫入一個(gè)非空字節(jié),必須使用片擦除的方式將整個(gè)存儲(chǔ)器的內(nèi)容清除。</p><p> 圖3.5 STC89C51編程電路</p><p> ·程程序序校驗(yàn):如果加密位LB1、LB2沒有進(jìn)行編程,則代碼數(shù)據(jù)可通過地址和數(shù)據(jù)線讀回原編寫的數(shù)據(jù),采用如圖3.5的電路。加密位不可直接校驗(yàn),加密位的校驗(yàn)可通過對(duì)存儲(chǔ)器的
54、校驗(yàn)和寫入狀態(tài)來驗(yàn)證。</p><p><b> ·編程方法:</b></p><p> ?。?)在地址線上加上要編程單元的地址信號(hào)。</p><p> ?。?)在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié)。</p><p> ?。?)激活相應(yīng)的控制信號(hào)。</p><p> ?。?)在高電壓編程方式
55、時(shí),將EA/Vpp端加上+12V編程電壓。</p><p> ?。?)每對(duì)Flash存儲(chǔ)陣列寫入一個(gè)字節(jié)或每寫入一個(gè)程序加密位,加上一個(gè)ALE/PROG編程脈沖。每個(gè)字節(jié)寫入周期是自身定時(shí)的,通常約為1.5ms。重復(fù)1—5步驟,改變編程單元的地址和寫入的數(shù)據(jù),直到全部文件編程結(jié)束。</p><p> ·Ready/Busy:字節(jié)編程的進(jìn)度可通過“RDY/BSY輸出信號(hào)監(jiān)測(cè),編程
56、期間,ALE變?yōu)楦唠娖健癏”后,P3.4(RDY/BSY)端電平被拉低,表示正在編程狀態(tài)(忙狀態(tài))。編程完成后,P3.4變?yōu)楦唠娖奖硎緶?zhǔn)備就緒狀態(tài)。</p><p> ·芯片擦除:利用控制信號(hào)的正確組合并保持ALE/PROG引腳10mS的低電平脈沖寬度即可將PEROM陣列(4k字節(jié))和三個(gè)加密位整片擦除,代碼陣列在片擦除操作中將任何非空單元寫入“1”,這步驟需再編程之前進(jìn)行[11]。</p>
57、;<p> 3.3 傳感器的選型及其性能特征</p><p> 用于測(cè)溫的傳感器種類繁多,但大多是模擬傳感器,在以往組建溫度采集系統(tǒng)時(shí),由于經(jīng)傳感器輸出的是模擬信號(hào),系統(tǒng)必須接入A/D轉(zhuǎn)換器,由此增加了構(gòu)件系統(tǒng)的復(fù)雜性且成本較高。</p><p> 溫度的檢測(cè)方法,一般采用熱電偶、熱敏電阻以及集成溫度傳感器等測(cè)溫元件。熱電偶的工作原理: 兩種不同成份的導(dǎo)體兩端經(jīng)焊接,
58、形成回路,直接測(cè)溫端叫工作端 ,接線端叫冷端,也稱參比端。當(dāng)工作端和參比端之間存在溫差時(shí),就會(huì)在回路中產(chǎn)生熱電動(dòng)勢(shì),接上顯示儀表,儀表上就會(huì)指示出熱電偶所產(chǎn)生的熱電動(dòng)勢(shì)的對(duì)應(yīng)溫度值。熱敏電阻的工作原理:熱敏電阻的阻值隨溫度的升高而成非線性急劇變化,一般具有負(fù)的溫度系數(shù),其阻值隨溫度升高而急劇減小,只有少數(shù)具有正的溫度系數(shù)。集成溫度傳感器的工作原理:集成溫度傳感器實(shí)質(zhì)上是一種半導(dǎo)體集成電路,它是利用晶體管的b一e結(jié)壓降的不飽和值Vbe與熱
59、力學(xué)溫度T和通過發(fā)射極電流I的關(guān)系實(shí)現(xiàn)對(duì)溫度的檢測(cè)[12]。</p><p> 熱電偶和熱敏電阻的測(cè)量精度都比較高,成本比較低,而且測(cè)量的范圍也比較寬,但是它容易受到測(cè)量場(chǎng)所以及環(huán)境的限制,高溫或長(zhǎng)期使用時(shí)由于環(huán)境的影響會(huì)使其性能下降,需要定期檢查與更換,給實(shí)際應(yīng)用帶來了很大不便。經(jīng)過論證及多次實(shí)驗(yàn),本設(shè)計(jì)決定采用SHT11傳感器[6]。</p><p> 3.3.1溫度傳感器SHT1
60、1</p><p> SHT11的內(nèi)部結(jié)構(gòu)和工作原理:</p><p> 溫濕度傳感器SHT11將溫度感測(cè)、濕度感測(cè)、信號(hào)變換、A/D轉(zhuǎn)換和加熱器等功能集成到一個(gè)芯片上,其內(nèi)部結(jié)構(gòu)如圖七所示。該芯片包括一個(gè)電容性聚合體濕度敏感元件和一個(gè)用能隙材料制成的溫度敏感元件。這兩個(gè)敏感元件分別將濕度和溫度轉(zhuǎn)換成電信號(hào),該電信號(hào)首先進(jìn)入微弱信號(hào)放大器進(jìn)行放大;然后進(jìn)入一個(gè)14位的A/D轉(zhuǎn)換器;最后
61、經(jīng)過二線串行數(shù)字接口輸出數(shù)字信號(hào)。SHT11在出廠前,都會(huì)在恒濕或恒溫環(huán)境巾進(jìn)行校準(zhǔn),校準(zhǔn)系數(shù)存儲(chǔ)在校準(zhǔn)寄存器中;在測(cè)量過程中,校準(zhǔn)系數(shù)會(huì)自動(dòng)校準(zhǔn)來自傳感器的信號(hào)。此外,SHT11內(nèi)部還集成一個(gè)加熱元件,加熱元件接通后能將SHT11的溫度升高5℃左右,同時(shí)功耗也會(huì)有所增加。此功能主要為了比較加熱前后的溫度和濕度值,能綜合驗(yàn)證兩個(gè)傳感器元件的性能。在高濕(>95%RH)環(huán)境中,加熱傳感器可預(yù)防傳感器結(jié)露,同時(shí)縮短響應(yīng)時(shí)間,提高精度。
62、加熱后SHT11溫度升高、相對(duì)濕度降低,較加熱前,測(cè)量值會(huì)略有差異[7]。</p><p> 圖3.6 SHT11內(nèi)部結(jié)構(gòu)</p><p> 微處理器是通過二線串行數(shù)字接口和SHT11進(jìn)行通信的。通信協(xié)議和通用的I2C總線協(xié)議是不兼容的,因此需要用通用微處理器I/O口模擬該通信時(shí)序。微處理器對(duì)SHT11的控制是通過5個(gè)5位命令代碼來實(shí)現(xiàn)的,命令代碼的含義如表3.7所列。 </p&
63、gt;<p> 表3.7 SHT11控制命令代碼</p><p> SHT11應(yīng)用設(shè)計(jì): </p><p> 微處理器采用二線串行數(shù)字接口和溫濕度傳感器芯片SHT11進(jìn)行通信,所以硬件接門設(shè)計(jì)非常簡(jiǎn)單;然而,通信協(xié)議是芯片廠家自己定義的,所以在軟件設(shè)計(jì)中,需要用微處理器通用I/O口模擬通道。SHT11通過二線數(shù)字串行接口來訪問,所以硬件接口電路非常簡(jiǎn)單。需要注意的地方是
64、:DATA數(shù)據(jù)線需要外接上拉電阻,時(shí)鐘線SCK用于微處理器和SHT11之間通信同步,由于接口包含了完全靜態(tài)邏輯,所以對(duì)SCK最低頻率沒有需求;當(dāng)工作電壓高于4.5V時(shí),SCK頻率最高為10 MHz,而當(dāng)工作電壓低于4.5 V時(shí),SCK最高頻率則為1 MHz[11]。硬件連接如圖3.8所示。</p><p> 圖3.8 SHT11硬件連接</p><p><b> 應(yīng)用信息:&
65、lt;/b></p><p> ?。?)工作與貯存條件</p><p> 超出建議的工作范圍可能導(dǎo)致高達(dá)3%RH的臨時(shí)性漂移信號(hào)。返回正常工作</p><p> 條后,傳感器會(huì)緩慢地向校準(zhǔn)狀態(tài)恢復(fù)。要加速恢復(fù)進(jìn)程/可參閱7.3小節(jié)的“恢</p><p> 復(fù)處理”。在非正常工作條件下長(zhǎng)時(shí)間使用會(huì)加速產(chǎn)品的老化過程。</p&g
66、t;<p> ?。?)暴露在化學(xué)物質(zhì)中</p><p> 電阻式濕度傳感器的感應(yīng)層會(huì)受到化學(xué)蒸汽的干擾,化學(xué)物質(zhì)在感應(yīng)層中</p><p> 的擴(kuò)散可能導(dǎo)致測(cè)量值漂移和靈敏度下降。在一個(gè)純凈的環(huán)境中,污染物質(zhì)會(huì)緩</p><p> 慢地釋放出去。下文所述的恢復(fù)處理將加速實(shí)現(xiàn)這一過程。高濃度的化學(xué)污染會(huì)</p><p>
67、導(dǎo)致傳感器感應(yīng)層的徹底損壞。</p><p><b> ?。?)恢復(fù)處理</b></p><p> 置于極限工作條件下或化學(xué)蒸汽中的傳感器,通過如下處理程序,可使其</p><p> 恢復(fù)到校準(zhǔn)時(shí)的狀態(tài)。在50-60℃和< 10%RH的濕度條件下保持2 小時(shí)(烘干);</p><p> 隨后在20-30℃和&
68、gt;70%RH的濕度條件下保持 5小時(shí)以上。</p><p><b> ?。?)溫度影響</b></p><p> 氣體的相對(duì)濕度,在很大程度上依賴于溫度。因此在測(cè)量濕度時(shí),應(yīng)盡可能</p><p> 保證濕度傳感器在同一溫度下工作。如果與釋放熱量的電子元件共用一個(gè)印刷線</p><p> 路板,在安裝時(shí)應(yīng)盡可能
69、將DHT11遠(yuǎn)離電子元件,并安裝在熱源下方,同時(shí)保持</p><p> 外殼的良好通風(fēng)。為降低熱傳導(dǎo),DHT11與印刷電路板其它部分的銅鍍層應(yīng)盡可</p><p> 能最小,并在兩者之間留出一道縫隙。</p><p><b> ?。?)光線</b></p><p> 長(zhǎng)時(shí)間暴露在太陽(yáng)光下或強(qiáng)烈的紫外線輻射中,會(huì)使性
70、能降低。</p><p><b> ?。?)配線注意事項(xiàng)</b></p><p> DATA信號(hào)線材質(zhì)量會(huì)影響通訊距離和通訊質(zhì)量,推薦使用高質(zhì)量屏蔽線。</p><p><b> 焊接信息</b></p><p> 手動(dòng)焊接,在最高260℃的溫度條件下接觸時(shí)間須少于10秒。</p>
71、<p><b> 注意事項(xiàng):</b></p><p> 避免結(jié)露情況下使用,長(zhǎng)期保存條件:溫度10-40℃,濕度60%以下[10]。</p><p> 3.4 單片機(jī)外圍控制電路設(shè)計(jì)</p><p> 在本系統(tǒng)中單片機(jī)的外圍電路較多,可分為以下幾部分:看門狗電路、系統(tǒng)電源、溫濕度信號(hào)采集電路、執(zhí)行機(jī)構(gòu)電路LED顯示電路、
72、鍵盤輸入及報(bào)警電路、與上位機(jī)通信的接口電路圖等。</p><p><b> 3.4.2電源電路</b></p><p> 在本設(shè)計(jì)中主要用到+5V,+12V,15V。為得到所需電壓,系統(tǒng)采用了電壓轉(zhuǎn)換芯片LM7815、LM7805和LM7812,三個(gè)芯片的輸入分別取+19V、+23V和+12V,經(jīng)轉(zhuǎn)換后輸出端輸出分別為系統(tǒng)所需的+15V、+5V和+12V電壓,電源
73、電路圖見圖3.9</p><p><b> 圖3.9電源電路</b></p><p> 3.4.3 LCD顯示電路</p><p> ?。?)簡(jiǎn)介 工業(yè)字符型液晶,能夠同時(shí)顯示16x02即32個(gè)字符。(16列2行) 注:為了表示的方便 ,后文皆以1表示高電平,0表示第電平。(2)管腳功能 1602采用標(biāo)準(zhǔn)的1
74、6腳接口,其中: 第1腳:VSS為電源地 第2腳:VDD接5V電源正極 第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度)。 第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。 第5腳:RW為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。 第
75、6腳:E(或EN)端為使能(enable)端。 第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。 第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。</p><p> 3.4.4執(zhí)行機(jī)構(gòu)電路</p><p> 常用的溫室環(huán)境調(diào)控設(shè)備主要有以下幾種:</p><p><b> ?、偌訜嵯到y(tǒng)</b></p>
76、<p><b> ?、诮禍叵到y(tǒng)</b></p><p><b> ?、奂訚裣到y(tǒng)</b></p><p><b> ?、芙禎裣到y(tǒng)</b></p><p> 其電路圖相似,現(xiàn)僅示加熱系統(tǒng)的電路,電路圖分別如圖3.10:</p><p> 圖3.10 加熱電路<
77、;/p><p> 圖3.10中,當(dāng)反向驅(qū)動(dòng)器7404左邊輸入為高電平時(shí),經(jīng)7404變?yōu)榈碗娖?,使發(fā)光二極管發(fā)光,從而使光敏三極管導(dǎo)通,同時(shí)是三極管9013導(dǎo)通,因而使繼電器J的線圈通電,繼電器的觸點(diǎn)閉合,使交流220V電源接通。反之當(dāng)反向驅(qū)動(dòng)器7404左邊輸入為低電平時(shí),使繼電器觸點(diǎn)斷開。圖中電阻為限流電阻,二極管D的作用是保護(hù)晶體管T。當(dāng)繼電器J吸合時(shí),二極管D截止,不影響電路工作。繼電器釋放時(shí),由于繼電器線圈存
78、在電感,這時(shí)晶體管T已經(jīng)截止,所以會(huì)在線圈的兩端產(chǎn)生較高的感應(yīng)電壓。此電壓的極性為上正下負(fù),正端接在晶體管的集電極。當(dāng)感應(yīng)電壓與與12V之和大于晶體管T的集電結(jié)反向電壓時(shí),晶體管T有可能損壞。加入二極管D后,繼電線圈產(chǎn)生的感應(yīng)電流由二極管D流過,因此,不會(huì)產(chǎn)生很高的感應(yīng)電壓,因而使晶體管T得到保護(hù)[7]。</p><p> 3.4.5鍵盤輸入與報(bào)警電路 </p><p> 單片機(jī)的按鍵
79、輸入一般可分為簡(jiǎn)單的獨(dú)立式按鍵輸入及行列式鍵盤輸入兩種。獨(dú)立式鍵盤輸入適合于按鍵輸入不多的情況,具有占用口線較少、軟件編寫簡(jiǎn)單容易等特點(diǎn)。</p><p> 通常所用的按鍵為輕觸機(jī)械開關(guān),正常情況下按鍵的接點(diǎn)是斷開的,當(dāng)我們按壓按鈕時(shí),由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開關(guān)在閉合時(shí)不會(huì)馬上穩(wěn)定地接通,在斷開時(shí)也不會(huì)一下子斷開。因而機(jī)械觸點(diǎn)在閉合及斷開的瞬間均伴隨有一連串的抖動(dòng),抖動(dòng)時(shí)間的長(zhǎng)短由按鍵的機(jī)械特性及操作
80、人員按鍵動(dòng)作決定,一般為5ms~20ms;按鍵穩(wěn)定閉合時(shí)間的長(zhǎng)短是由操作人員的按鍵按壓時(shí)間長(zhǎng)短決定的,一般為零點(diǎn)幾秒至數(shù)秒不等。</p><p> 由于該款溫濕度計(jì)應(yīng)用于對(duì)空氣中的溫濕度進(jìn)行測(cè)量,當(dāng)濕度達(dá)到某一數(shù)值時(shí)需要啟動(dòng)加濕功能,因此需要設(shè)定一個(gè)濕度值。為此,本設(shè)計(jì)增加了4個(gè)按鍵,其中K1光標(biāo)移位鍵,K2鍵為確定,K3為循環(huán)加1鍵,K4為循環(huán)減1鍵,分別與單片機(jī)的P1.0、P1.1、P1.2、P1.3口相連
81、。按鍵未被按下時(shí),4個(gè)I/O口均為高電平;一旦按鍵按下,對(duì)應(yīng)的I/O口被拉為低電平。以此來實(shí)現(xiàn)軟件程序設(shè)計(jì)中的按鍵掃描。</p><p> 報(bào)警采用單片機(jī)外接一個(gè)三極管驅(qū)動(dòng)蜂鳴器來實(shí)現(xiàn)。</p><p> 圖3.11 鍵盤輸入電路</p><p><b> 圖3.12報(bào)警電路</b></p><p> 4. 溫
82、室控制系統(tǒng)軟件設(shè)計(jì)</p><p> 4.1 中斷服務(wù)程序: </p><p> 圖4.1中斷服務(wù)程序</p><p><b> 4.2 主程序</b></p><p><b> 圖4.2主程序</b></p><p> 軟件設(shè)計(jì)的主程序,開始后先經(jīng)過初始化再根
83、據(jù)要求來選擇對(duì)應(yīng)的通道,然后結(jié)束。圖五為中斷服務(wù)程序,開始后看P2.0等于多少,對(duì)應(yīng)的選擇溫度轉(zhuǎn)換還是濕度轉(zhuǎn)換,對(duì)應(yīng)著顯示,然后結(jié)束。</p><p> 微處理器和溫濕度傳感器通信采用串行二線接口SCK和DATA,其中SCK為時(shí)鐘線,DATA為數(shù)據(jù)線。該二線串行通信協(xié)議和I2C協(xié)議是不兼容的。在程式開始,微處理器需要用一組"啟動(dòng)傳輸"時(shí)序表示數(shù)據(jù)傳輸?shù)膯?dòng),如圖3所示。當(dāng)SCK時(shí)鐘為高電平時(shí)
84、,DATA翻轉(zhuǎn)為低電平;緊接著SCK變?yōu)榈碗娖剑S后又變?yōu)楦唠娖?;在SCK時(shí)鐘為高電平時(shí),DATA再次翻轉(zhuǎn)為高電平[8]。</p><p> 圖4.3 數(shù)據(jù)傳輸啟動(dòng)程序 </p><p> 4.3 顯示原理圖</p><p> 圖4.4 LCD顯示原理圖</p><p> 圖4.4為軟件方面的顯示原理圖,開始后,單片機(jī)經(jīng)過初始化后接
85、收數(shù)據(jù),然后進(jìn)行地址校驗(yàn),校驗(yàn)不合格繼續(xù)接受數(shù)據(jù),校驗(yàn)合格的話取濕度給定值進(jìn)而采樣溫濕度值,然后數(shù)碼顯示后上傳數(shù)據(jù),繼續(xù)循環(huán)。</p><p> 溫度和濕度值的計(jì)算:</p><p> ?。?)SHT11可通過DATA數(shù)據(jù)總線直接輸出數(shù)字量濕度值。該濕度值稱為“相對(duì)濕度”,需要進(jìn)行線性補(bǔ)償和溫度補(bǔ)償后才能得到較為準(zhǔn)確的濕度值。由于相對(duì)濕度數(shù)字輸出特性呈一定的非線性,因此為了補(bǔ)償濕度傳感器
86、的非線性,可按下式修正濕度值: 式中:RHlinear為經(jīng)過線性補(bǔ)償后的濕度值,SORH為相對(duì)濕度測(cè)量值,C1、C2、C3為線性補(bǔ)償系數(shù),取值如表4.5所列。 </p><p> 由于溫度對(duì)濕度的影響十分明顯,而實(shí)際溫度和測(cè)試參考溫度25℃有所不同,所以對(duì)線性補(bǔ)償后的濕度值進(jìn)行溫度補(bǔ)償非常有必要。補(bǔ)償公式如下: </p><p> 式中:RHtrue為經(jīng)過線性補(bǔ)償和溫度補(bǔ)償后
87、的濕度值,T為測(cè)試濕度值時(shí)的溫度(℃),t1和t2為溫度補(bǔ)償系數(shù),取值如表4.6所列。 </p><p> 表4.5濕度線性補(bǔ)償系數(shù) 表4.6濕度值溫度補(bǔ)償系數(shù)</p><p> ?。?)溫度值輸出 由于SHT11是采用PTAT能隙材料制成的溫度敏感元件,因而具有非常好的線性輸出。實(shí)際溫度值可由下式算得:</p><p> Temp
88、erature=d1+d2×SOT</p><p> 式中:d1和d2為特定系數(shù),d1的取值和SHT11工作電壓有關(guān),d2的取值則和SHT11內(nèi)部A/D轉(zhuǎn)換器采用的分辨率有關(guān),其對(duì)應(yīng)關(guān)系分別如表4.7和表4.8所列[9]。</p><p> 表4.7d1與工作電壓關(guān)系 表4.8d2與分辨率的關(guān)系</p><p> 4
89、.4 C語(yǔ)言和控制程序設(shè)計(jì)</p><p> 軟件對(duì)整個(gè)系統(tǒng)來說是至關(guān)重要的,是整個(gè)系統(tǒng)的靈魂,整個(gè)系統(tǒng)的執(zhí)行操作都是在軟件的協(xié)調(diào)指揮下進(jìn)行的。用于計(jì)算機(jī)程序設(shè)計(jì)的語(yǔ)言分為機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言。本測(cè)控系統(tǒng)的軟件的編寫主要采用C語(yǔ)言編寫。</p><p> 本系統(tǒng)軟件設(shè)計(jì)采用模塊化的設(shè)計(jì)思路,即整個(gè)系統(tǒng)的程序軟件由許多獨(dú)立的子程序模塊組成,它們之間通過軟件接口進(jìn)行連接。連接的原
90、則是:模塊內(nèi)數(shù)據(jù)關(guān)系緊湊,模塊間數(shù)據(jù)關(guān)系松散,按功能劃分模塊。</p><p> 整個(gè)軟件系統(tǒng)的程序可分為四個(gè)大模塊,即主程序模塊、參數(shù)設(shè)置程序模塊、現(xiàn)場(chǎng)數(shù)據(jù)采集顯示模塊和執(zhí)行處理程序模塊。每個(gè)模塊都具有一定的功能,每個(gè)模塊又可分為許多子模塊,既相互獨(dú)立又相互聯(lián)系,低級(jí)模塊可以被高級(jí)模塊調(diào)用。主程序是整個(gè)測(cè)控系統(tǒng)中最重要的程序,各個(gè)子程序都在主程序的協(xié)調(diào)指揮下運(yùn)行,是一個(gè)順序執(zhí)行的無限循環(huán)程序,可以被任何優(yōu)先級(jí)
91、的中斷請(qǐng)求所打斷。各個(gè)環(huán)境參數(shù)的測(cè)試和控制指令的判斷都在各個(gè)測(cè)控子程序中進(jìn)行,主程序的主要功能是實(shí)現(xiàn)系統(tǒng)的初始化、實(shí)現(xiàn)系統(tǒng)自檢、響應(yīng)中斷請(qǐng)求進(jìn)而調(diào)用數(shù)據(jù)處理子程序。 </p><p><b> 主程序如下:</b></p><p> /*****************************************************************
92、*********** </p><p> 文件名稱:main.c</p><p> 版 本:Keil uVision4</p><p> 控 制 器: STC89C52RC</p><p> 晶振頻率: 12MHz </p><p> 說 明:基于單片機(jī)的溫濕度測(cè)試儀程序</p>
93、<p> ****************************************************************************/</p><p> /*includes-----------------------------------------------------------------*/ </p><p> #includ
94、e <reg52.h></p><p> #include <SHT1X.h></p><p> #include <intrins.h></p><p> #include <LCD1602.h> </p><p> #include <Button.h></p>
95、;<p> #include <BuzzePhone.h></p><p> #include <Simulate_IIC.h></p><p> /*defines-------------------------------------------------------------------*/</p><p>
96、 #define Time0_TH0 0xc6 //定義計(jì)數(shù)器0計(jì)數(shù)寄存器裝載的高8位值,可自行修改</p><p> #define Time0_TL0 0x0d //定義計(jì)數(shù)器0計(jì)數(shù)寄存器裝載的低8位值,可自行修改</p><p> #define State_Idle 0x00 //定義空閑狀態(tài)</p><
97、;p> #define State_AdjustHumidity 0x01 //定義濕度調(diào)整狀態(tài)</p><p> #define State_AdjustTemperature 0x02 //定義溫度調(diào)整狀態(tài)</p><p> /*variable---------------------------------------------------------
98、----------*/</p><p> unsigned char DHT22_ValueArray[5]; //定義SHT22讀取數(shù)據(jù)的存儲(chǔ)數(shù)組變量</p><p> unsigned int TemperatureValueLimit; //定義溫度極限值變量</p><p> unsigned int HumidityVa
99、lueLimit; //定義濕度極限值變量</p><p> unsigned intValue_Measured;//定義數(shù)據(jù)轉(zhuǎn)換值變量</p><p> unsigned int TemperatureValue; //定義SHT22的讀出溫度值變量</p><p> unsigned int Hum
100、idityValue; //定義SHT22的讀出濕度值變量</p><p> unsigned char ButtonValue; //定義讀出的P1口按鍵值變量</p><p> unsigned char CheckValue; //定義溫濕度數(shù)據(jù)效驗(yàn)值變量</p><p>
101、 unsigned charSweepInterval_Show; //定義顯示掃描時(shí)間累加變量</p><p> unsigned charSweepInterval_Button; //定義按鍵掃描時(shí)間累加變量</p><p> unsigned charSweepInterval_Alarm; //定義報(bào)警掃描時(shí)間累加變量<
102、/p><p> unsigned char State_Control = 0; //定義狀態(tài)轉(zhuǎn)換變量</p><p> bit Flag_Show = 0; //定義顯示處理標(biāo)志變量</p><p> bit Flag_Alarm = 0; //定義報(bào)警處理標(biāo)
103、志變量</p><p> bit Flag_Button = 0; //定義按鍵處理標(biāo)志變量</p><p> /***************************************************************************** </p><p> 函數(shù)名稱:System_Del
104、ayMicrosecond(unsigned int Number)</p><p> 入口參數(shù):unsigned int Number </p><p><b> 出口參數(shù):無 </b></p><p> 函數(shù)功能:延時(shí)Number個(gè)機(jī)器周期 </p><p> 備 注:此延時(shí)函數(shù)是使用1T的指令周期進(jìn)行
105、計(jì)算,與傳統(tǒng)的12T的MCU不同 </p><p> *****************************************************************************/</p><p> void System_DelayMicrosecond(unsigned int Number)</p><p><b>
106、 {</b></p><p> while (Number--)</p><p><b> {</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><
107、b> }</b></p><p><b> }</b></p><p> /***************************************************************************** </p><p> 函數(shù)名稱:Time0_Initialization(void)<
108、;/p><p> 函數(shù)功能:定時(shí)器0初始化函數(shù)</p><p> 備 注:定時(shí)器工作于方式1,定時(shí)器計(jì)數(shù)寄存器16位全部用于計(jì)數(shù) </p><p> ******************************************************************************/ </p><p> vo
109、id Time0_Initialization(void)</p><p><b> {</b></p><p> TMOD=0x21; //T0,工作方式1</p><p> TH0=Time0_TH0; //裝載定時(shí)器0寄存器高8位值</p><p> TL0=Time0_TL0;
110、//裝載定時(shí)器0寄存器低8位值</p><p> TR0=1; //開啟T0定時(shí)器</p><p> ET0=1; //允許T0定時(shí)器中斷</p><p> EA=1; //開啟總中斷允許</p><p><b> }</b></p>
111、<p> /*****************************************************************************</p><p> * 函數(shù)名稱: LCD1602_ShowTemperatureAndHumidity(void) </p><p> * 輸入?yún)?shù): void</p><p>
112、 * 輸出參數(shù): void</p><p> * 功能書名: LCD1602顯示濕度和溫度值</p><p> ******************************************************************************/</p><p> void LCD1602_ShowTemperatureAndHumi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 溫濕度傳感器畢業(yè)設(shè)計(jì)----基于51單片機(jī)的溫濕度傳感器的設(shè)計(jì)與制作
- 室內(nèi)溫濕度傳感器
- 溫濕度傳感器.rar
- 溫濕度傳感器.rar
- 常用溫濕度傳感器
- 課程設(shè)計(jì)--溫濕度傳感器
- 溫濕度傳感器設(shè)計(jì)方案
- 數(shù)字式溫濕度傳感器的應(yīng)用設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于低功耗的數(shù)字溫濕度傳感器設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于低功耗的數(shù)字溫濕度傳感器設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 室內(nèi)外溫濕度傳感器
- 管道式溫濕度傳感器
- 高精度溫濕度傳感器
- 溫濕度傳感器-畢業(yè)設(shè)計(jì)說明書(論文)
- ZigBee溫濕度傳感器設(shè)計(jì)畢業(yè)論文.doc
- 電壓型溫濕度傳感器
- 大棚溫濕度傳感器選型
- 溫濕度傳感器集成系統(tǒng)設(shè)計(jì).pdf
- MEMS溫濕度傳感器集成系統(tǒng)設(shè)計(jì).pdf
- dht11數(shù)字溫濕度傳感器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論