2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩55頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  航空工業(yè)管理學(xué)院</b></p><p>  畢 業(yè) 論 文(設(shè) 計(jì))</p><p>  2012 屆 電氣工程及其自動(dòng)化 專(zhuān)業(yè) 班級(jí)</p><p>  題 目 基于單片機(jī)的大棚溫濕度亮度自動(dòng)控制系統(tǒng)設(shè)計(jì) </p><p>  姓 名

2、 學(xué)號(hào) </p><p>  指導(dǎo)教師 職稱(chēng) </p><p>  二О一 二 年 五 月 二十 日</p><p><b>  內(nèi) 容 摘 要</b></p><p>  溫室是現(xiàn)代農(nóng)業(yè)生產(chǎn)所必需的基本設(shè)備,用它有效地控制溫度、光照

3、、濕度、二氧化碳濃度等是改變植物生長(zhǎng)環(huán)境、為植物生長(zhǎng)創(chuàng)造最佳條件、避免外界四季變化和惡劣氣候?qū)ζ溆绊懙那疤帷?lt;/p><p>  本設(shè)計(jì)以STC89C52單片機(jī)為核心完成了對(duì)空氣溫度、土壤濕度、光照度進(jìn)行數(shù)據(jù)的采集、處理、顯示等系統(tǒng)的基本框圖、工作原理和繼電器控制的設(shè)計(jì)的工作。主要內(nèi)容有:(1)通過(guò)數(shù)字溫度傳感器DS18B20采集實(shí)時(shí)溫度。(2)通過(guò)濕度傳感器HS1101采集實(shí)時(shí)濕度。(3)通過(guò)光敏電阻采集實(shí)時(shí)光

4、照度。(4)判斷采集到的參數(shù)值與設(shè)置值是否一致,并進(jìn)行繼電器控制。</p><p>  通過(guò)以上設(shè)計(jì)可以對(duì)植物生長(zhǎng)過(guò)程中的土壤濕度、環(huán)境溫度、光照度進(jìn)行了實(shí)時(shí)地、連續(xù)地檢測(cè)、直觀(guān)地顯示并進(jìn)行自動(dòng)地控制。克服了傳統(tǒng)的人工測(cè)量方法不能進(jìn)行連續(xù)測(cè)量的弊端,節(jié)省了工作量,并避免了人為的疏漏或錯(cuò)誤造成的不必要的損失。</p><p><b>  關(guān)鍵詞</b></p>

5、;<p>  單片機(jī);濕敏傳感器;數(shù)字溫度傳感器;光敏電阻;繼電器控制</p><p>  Design of SCM-based Temperature and Humidity and Light Illumination Automatic Control System for Greenhouse</p><p>  100697216 Li Mingjie

6、Teacher: Su Yanping</p><p><b>  Abstract</b></p><p>  Greenhouse is the basic equipment necessary for the production of modern agriculture, Use it can effec

7、tively control the temperature, humidity and illumination of the greenhouse, and it is the premise of changed for plant growth to create the best conditions, avoid changing seasons and severe weather outside of its impac

8、t.</p><p>  The thesis mainly focus on: the base block diagram, working principle and the design of relay control which use the SCM STC89C52 as the core of the system to collect, handle, display the data of

9、the air temperature, soil humidity and light illuminance . The main contents: (1) collected real-time temperature by digital temperature sensor DS18B20. (2) collected real-time humidity by humidity sensor HS1101. (3

10、) collected real-time light illumination by photoresistor. (4) judge the collected paramet</p><p>  The system use Real-time and continuous detection, display intuitively and control automatically on soil mo

11、isture, ambient temperature, light illuminance in the process of plant growth. The system can overcome the defects from the traditional manual methods of measurement which can not measure continuously, and save the amoun

12、t of work, avoid omissions or unnecessary losses that caused by errors.</p><p>  【Key words】 SCM;humidity sensors;digital temperature sensors;light dependent resistor; relay control</p><p><b

13、>  目 錄</b></p><p><b>  第一章 概述1</b></p><p>  1.1 選題背景1</p><p>  1.2 國(guó)內(nèi)外的發(fā)展現(xiàn)狀2</p><p>  1.3 課題內(nèi)容、目的及思路2</p><p>  1.4 設(shè)計(jì)過(guò)程及工藝要求2&

14、lt;/p><p>  第二章 系統(tǒng)的總體設(shè)計(jì)3</p><p>  2.1系統(tǒng)設(shè)計(jì)目標(biāo)3</p><p>  2.2 系統(tǒng)的組成和工作原理3</p><p>  2.3 環(huán)境參數(shù)檢測(cè)方案的比較和選擇8</p><p>  2.3.1 濕度傳感器的選擇8</p><p>  2.3.2

15、 溫度傳感器的選擇10</p><p>  2.3.3 光亮度傳感器的選擇11</p><p>  2.3.4 方案選擇總結(jié)12</p><p>  第三章 硬件的設(shè)計(jì)12</p><p>  3.1 MCU選型12</p><p>  3.2 濕度測(cè)量電路13</p><p> 

16、 3.3 溫度測(cè)量電路15</p><p>  3.4 光照度測(cè)量電路17</p><p>  3.5 數(shù)據(jù)顯示電路19</p><p>  3.6 復(fù)位電路22</p><p>  3.7 鍵盤(pán)電路23</p><p>  3.8 繼電器控制電路23</p><p>  3.9 電

17、源電路24</p><p>  第四章 軟件設(shè)計(jì)25</p><p>  4.1 主程序流程圖25</p><p>  4.2 參數(shù)測(cè)量子程序流程圖26</p><p>  4.3 鍵盤(pán)掃描子程序流程27</p><p><b>  總結(jié)致謝28</b></p><

18、;p><b>  參考文獻(xiàn)29</b></p><p>  附錄1 系統(tǒng)總體電路圖30</p><p>  附錄2 系統(tǒng)源代碼31</p><p>  基于單片機(jī)的大棚溫濕度亮度自動(dòng)控制系統(tǒng)設(shè)計(jì)</p><p>  學(xué)號(hào):100697216姓名:李明杰指導(dǎo)老師:蘇艷蘋(píng)職稱(chēng):講師</p>

19、<p><b>  第一章 概述</b></p><p><b>  1.1 選題背景</b></p><p>  現(xiàn)代化農(nóng)業(yè)生產(chǎn)中的重要一環(huán)就是對(duì)農(nóng)業(yè)生產(chǎn)環(huán)境的一些重要參數(shù)進(jìn)行檢測(cè)和控制。例如:空氣的溫度、濕度、光照強(qiáng)度、二氧化碳含量、土壤的含水量等。溫室環(huán)境與生物的生長(zhǎng)、發(fā)育、能量交換密切相關(guān),進(jìn)行環(huán)境測(cè)控是實(shí)現(xiàn)溫室生產(chǎn)管理自動(dòng)

20、化、科學(xué)化的基本保證,通過(guò)對(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ā)揮著巨大的作用,所以對(duì)大棚內(nèi)的溫度、濕度與光照強(qiáng)度等參數(shù)的控制就顯的非常重要了。</p><p>  傳統(tǒng)的方法是用毛發(fā)濕度表、酒精溫度計(jì)等進(jìn)行人工測(cè)量,再對(duì)不符合的溫度、濕度、光照度通過(guò)在溫室大棚進(jìn)行灌溉、降溫、遮光等控制操來(lái)調(diào)節(jié),這種人工測(cè)控的

21、方法費(fèi)時(shí)費(fèi)力、效率低、且無(wú)法保證測(cè)量的連續(xù)性,測(cè)量的誤差大、隨機(jī)性大,隨意性強(qiáng)。為了克服以上幾點(diǎn)不足,我們需要一種造價(jià)低廉,使用方便且測(cè)量準(zhǔn)確的自動(dòng)測(cè)控系統(tǒng)。</p><p>  1.2 國(guó)內(nèi)外的發(fā)展現(xiàn)狀</p><p>  國(guó)外的溫室設(shè)施己經(jīng)發(fā)展到比較完備的程度,并形成了一定的標(biāo)準(zhǔn),但是價(jià)格非常昂貴,缺乏與我國(guó)氣候特點(diǎn)相適應(yīng)的測(cè)控軟件,不利于在我國(guó)廣泛地推廣,而當(dāng)今在我國(guó)大多數(shù)地方對(duì)大棚

22、溫度、濕度、二氧化碳含量,光照強(qiáng)度的檢測(cè)與控制都采用人工管理,存在著測(cè)控精度低、勞動(dòng)強(qiáng)度大及由于測(cè)控不及時(shí)等弊端,容易造成不可彌補(bǔ)的損失,結(jié)果不但大大增加了成本,浪費(fèi)了人力資源,而且很難達(dá)到預(yù)期的效果。本系統(tǒng)主要針對(duì)溫室大棚內(nèi)溫度、濕度,光照強(qiáng)度研制了單片機(jī)控制的溫室大棚自動(dòng)控制系統(tǒng),綜合考慮系統(tǒng)的精度、效率以及經(jīng)濟(jì)性要求三個(gè)方面因素之后,最終確定以單片機(jī)為控制核心,選用性?xún)r(jià)比比較高的傳感器,實(shí)現(xiàn)對(duì)溫濕度的精確測(cè)量與準(zhǔn)確控制,同時(shí)又具有

23、價(jià)格低等優(yōu)點(diǎn),便于在我國(guó)推廣。</p><p>  1.3 課題內(nèi)容、目的及思路</p><p>  本系統(tǒng)主要采用單片機(jī)作為系統(tǒng)的控制核心,由溫室內(nèi)的空氣溫度傳感器、土壤濕度傳感器、光照度傳感器采集數(shù)據(jù),經(jīng)過(guò)模數(shù)轉(zhuǎn)換后送入單片機(jī),由單片機(jī)根據(jù)采集的數(shù)據(jù)做出相應(yīng)的控制,例如控制繼電器的開(kāi)合,使換氣風(fēng)扇、滴灌設(shè)備、遮陽(yáng)幕等設(shè)備的啟動(dòng)或停止,達(dá)到控制溫室各項(xiàng)參數(shù)的目的。同時(shí)在外接的LCD液晶上

24、顯示實(shí)時(shí)參數(shù) ,便于觀(guān)察。外接的鍵盤(pán)可以設(shè)定系統(tǒng)控制的溫度值,以滿(mǎn)足不同條件下對(duì)溫度的不同要求。 </p><p>  1.4 設(shè)計(jì)過(guò)程及工藝要求</p><p>  在本系統(tǒng)中為了保證對(duì)溫度、濕度和光照度的檢測(cè)的實(shí)時(shí)性和準(zhǔn)確性,采用了數(shù)字溫度傳感器來(lái)檢測(cè)溫度。采用濕度傳感器來(lái)檢測(cè)土壤濕度。采用光敏電阻檢測(cè)光照度。最后通過(guò)單片機(jī)處理后顯示在LCD液晶顯示屏上,并通過(guò)控制繼電器的開(kāi)合控制相應(yīng)

25、的調(diào)節(jié)部件對(duì)植物的生長(zhǎng)環(huán)境的各項(xiàng)參數(shù)進(jìn)行調(diào)節(jié),以達(dá)到適合植物生長(zhǎng)的環(huán)境條件。</p><p>  本系統(tǒng)的基本功能有:檢測(cè)空氣溫度、土壤濕度、環(huán)境光照度。顯示以上各項(xiàng)參數(shù)并自動(dòng)調(diào)節(jié)。</p><p>  第二章 系統(tǒng)的總體設(shè)計(jì)</p><p><b>  2.1系統(tǒng)設(shè)計(jì)目標(biāo)</b></p><p>  本設(shè)計(jì)的要求是以

26、單片機(jī)為控制核心,以濕度傳感器、溫度傳感器、光敏電阻完成對(duì)溫室大棚內(nèi)的各項(xiàng)參數(shù)進(jìn)行測(cè)量,并將數(shù)據(jù)輸入到單片機(jī)中,有單片機(jī)根據(jù)所編寫(xiě)的程序,通過(guò)繼電器控制電路控制相應(yīng)的設(shè)備達(dá)到自動(dòng)調(diào)控溫室大棚內(nèi)各項(xiàng)參數(shù)的目的,同時(shí)將通過(guò)各種傳感器測(cè)的數(shù)據(jù)實(shí)時(shí)地顯示在液晶屏上。系統(tǒng)可通過(guò)按鍵人為地設(shè)定合適的參數(shù),便于根據(jù)不同的植被的環(huán)境中使用。</p><p>  2.2 系統(tǒng)的組成和工作原理</p><p>

27、;  硬件系統(tǒng)主要有信號(hào)采集、信號(hào)分析、信號(hào)處理三個(gè)部分組成。</p><p>  信號(hào)采集 由濕度傳感器、溫度傳感器、光敏電阻組成。</p><p>  信號(hào)分析 由單片機(jī)基本系統(tǒng)組成。</p><p>  信號(hào)處理 由并行口LCD液晶顯示屏和繼電器控制電路組成。</p><p>  硬件系統(tǒng)的原理方框圖如圖2-1:</p>

28、<p>  圖2-1 硬件系統(tǒng)的原理圖</p><p>  單片機(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)始檢測(cè)的土壤濕度在適宜的范圍,單片機(jī)則維持現(xiàn)有狀態(tài)不變。</p><p>  土壤濕度控制部分流程如圖

29、2-2:</p><p>  圖2-2 土壤濕度控制流程圖</p><p>  單片機(jī)通過(guò)溫度傳感器檢測(cè)溫室的空氣溫度,當(dāng)空氣溫度過(guò)高時(shí),就通過(guò)控制電路,打開(kāi)排氣扇配合設(shè)置在溫室大棚頂部的噴霧設(shè)備的進(jìn)行一段時(shí)間的溫室大棚的降溫作業(yè),而當(dāng)溫室溫度過(guò)低時(shí),則通過(guò)單片機(jī)自動(dòng)關(guān)閉降溫設(shè)備的工作,使溫度值達(dá)到適宜的范圍。 若一開(kāi)始檢測(cè)的光照度在適宜范圍,單片機(jī)將維持現(xiàn)有狀態(tài)。</p>

30、<p>  空氣溫度控制流程如下圖2-3:</p><p>  圖2-3 空氣溫度控制流程圖</p><p>  光照度的控制主要靠遮陽(yáng)幕的開(kāi)關(guān),光照度過(guò)高時(shí),系統(tǒng)通過(guò)關(guān)閉大棚頂部的遮陽(yáng)幕,避免陽(yáng)光直射作物,減小光照度,及減少?gòu)?qiáng)光對(duì)作物生長(zhǎng)的影響。當(dāng)光照度過(guò)低時(shí),就打開(kāi)遮陽(yáng)幕,增加光照度。如果檢測(cè)的光照度在適宜范圍,單片機(jī)將維持現(xiàn)狀。</p><p> 

31、 光照度控制部分流程如下圖2-4:</p><p>  圖2-4 光照度控制流程圖</p><p>  2.3 環(huán)境參數(shù)檢測(cè)方案的比較和選擇</p><p>  2.3.1 濕度傳感器的選擇</p><p>  單片機(jī)作為控制核心,要有被檢測(cè)信號(hào)輸入,由單片機(jī)處理。如何準(zhǔn)確的確定外圍環(huán)境的各項(xiàng)參數(shù)就顯的非常重要。</p>&l

32、t;p>  傳感器是實(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)下。</p><p>  測(cè)量土壤濕度的方法有很多種,其原理是根據(jù)某種物質(zhì)從其周?chē)耐寥乐形账趾笠鸬奈锢砘蚧瘜W(xué)的性質(zhì)的變化,間接的獲得土壤的

33、濕度。電容式、電阻式和濕漲式濕敏元件分別是根據(jù)其高分子材料吸水后的介電常數(shù)、電阻率和體積發(fā)生的變化進(jìn)行濕度的測(cè)量。</p><p>  方案一:采用HOS-201濕敏傳感器。HOS-201濕敏傳感器為高濕度開(kāi)關(guān)傳感器,它的工作電壓為交流1V以下,頻率為50HZ~1KHZ,測(cè)量范圍為0%~100%RH,工作溫度為0~50℃,阻抗在75%RH(25℃)時(shí)為1MΩ。這種傳感器主要用于開(kāi)關(guān)的傳感器,不能在寬頻域內(nèi)檢測(cè)濕度

34、。這種傳感器只限于一定范圍內(nèi)使用時(shí)具有良好的線(xiàn)性度。</p><p>  方案二:采用HS1100/HS1101[3]濕度傳感器。HS1100/HS1101濕度傳感器,在電路結(jié)構(gòu)上等效于一個(gè)電容器,其電容量隨著土壤濕度的增大而增大,不需要校準(zhǔn)的完全互換性,高可靠性和長(zhǎng)期穩(wěn)定性,快速響應(yīng),專(zhuān)利設(shè)計(jì)的固態(tài)聚合物結(jié)構(gòu)由頂端接觸(HS1100)和側(cè)面接觸(HS1101)兩種封裝產(chǎn)品,適用于線(xiàn)性電壓輸出和頻率輸出兩種電

35、路。</p><p>  綜合比較方案一和方案二,方案一雖然滿(mǎn)足精度和測(cè)量溫度的要求,但是只是限定于一定的范圍內(nèi)使用時(shí)具有良好的線(xiàn)性度。因此,我們選擇方案二作為本設(shè)計(jì)的濕度傳感器。</p><p>  濕度傳感器HS1101的特點(diǎn):相對(duì)濕度在1%~100%RH范圍內(nèi):電容量有16pf變到200pf,其誤差不大于 RH,響應(yīng)時(shí)間小于5S,溫度系數(shù)為0.04pf/ 。</p>&

36、lt;p>  由此可以看出HS1101具有測(cè)量精度高,反應(yīng)速度高的優(yōu)點(diǎn),其濕度-電容響應(yīng)曲線(xiàn)如圖2-5:</p><p>  圖2-5 HS1101濕度-電容響應(yīng)曲線(xiàn)</p><p>  HS1101的一些常用參數(shù)如表2-1:</p><p>  表2-1 HS1101常用參數(shù)</p><p>  2.3.2 溫度傳感器的選擇</

37、p><p>  方案一:采用AD590溫度傳感器。AD590溫度傳感器是美國(guó)模擬器件公司生產(chǎn)的單片集成兩端感溫電流源。AD590性能描述:測(cè)量范圍在-50℃-- +150℃,滿(mǎn)刻度范圍誤差為±0.3℃,當(dāng)電源電壓在5—10V之間,穩(wěn)定度為1﹪時(shí),誤差只有±0.01℃ 。AD590為電流型傳感器溫度每變化1℃其電流變化1uA在35℃和95℃時(shí)輸出電流分別為308.2uA 和368.2uA 。<

38、/p><p>  方案二:采用DS18B20溫度傳感器。美國(guó)DALLAS公司的產(chǎn)品可編程單總線(xiàn)數(shù)字式溫度傳感器DS18B20可實(shí)現(xiàn)室內(nèi)溫度信號(hào)的采集,有很多優(yōu)點(diǎn):如直接輸出數(shù)字信號(hào),故省去了后繼的信號(hào)放大及模數(shù)轉(zhuǎn)換部分,外圍電路簡(jiǎn)單,成本低;單總線(xiàn)接口,只有一根信號(hào)線(xiàn)作為單總線(xiàn)與CPU連接,且每一只都有自己唯一的64位系列號(hào)存儲(chǔ)在其內(nèi)部的ROM存儲(chǔ)器中,故在一根信號(hào)線(xiàn)上可以?huà)旖佣鄠€(gè)DS18B20,便于多點(diǎn)測(cè)量且易于擴(kuò)

39、展。</p><p>  綜合比較方案一和方案二,兩方案都可以滿(mǎ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)的溫度傳感器。</p><p>  DS18B20的溫度值格式如表2-2:<

40、/p><p>  表2-2 DS18B20的溫度值格式</p><p>  DS18B20中的溫度傳感器完成對(duì)溫度的測(cè)量,用16位二進(jìn)制形式提供,形式表達(dá),其中S為符號(hào)位。例如+125℃的數(shù)字輸出為07D0H (正溫度直接把16進(jìn)制數(shù)轉(zhuǎn)成10進(jìn)制即得到溫度值 );</p><p>  -55℃的數(shù)字輸出為 FC90H。(負(fù)溫度 把得到的16進(jìn)制數(shù) 取反后1再轉(zhuǎn)成10進(jìn)

41、制數(shù))。</p><p>  數(shù)字輸出格式如表2-3:</p><p>  表2-3 DS18B20的數(shù)字輸出格式表</p><p>  2.3.3 光亮度傳感器的選擇</p><p>  方案一:采用光照度傳感器M124749,該光照度傳感器采用先進(jìn)的電路模塊技術(shù)開(kāi)發(fā)變送器,用于實(shí)現(xiàn)對(duì)環(huán)境光照度的測(cè)量,輸出標(biāo)準(zhǔn)的電壓及電流信號(hào),體積小,安

42、裝方便,線(xiàn)性度好,傳輸距離長(zhǎng),抗干擾能力強(qiáng),量程可調(diào)。但價(jià)格昂貴,性?xún)r(jià)比不高,且不易購(gòu)買(mǎi)。</p><p>  方案二:采用光敏電阻。光敏電阻的工作原理是當(dāng)有光線(xiàn)照射時(shí),電阻內(nèi)原本處于穩(wěn)定狀態(tài)的電子受到激發(fā),成為自由電子,所以光線(xiàn)越強(qiáng),產(chǎn)生的自由電子也就越多,電阻就會(huì)越小。光敏電阻的優(yōu)點(diǎn)有內(nèi)部的光電效應(yīng)和電極無(wú)關(guān)(光電二極管才有關(guān)),即可以使用直流電源。靈敏度和半導(dǎo)體材料、以及入射光的波長(zhǎng)有關(guān),價(jià)格低廉,性?xún)r(jià)比高

43、。</p><p>  比較以上兩個(gè)方案,方案一雖然具有更好的設(shè)計(jì)精度和線(xiàn)性度,但性?xún)r(jià)比不如光敏電阻好。方案二具有較高的性?xún)r(jià)比且同時(shí)也能滿(mǎn)足系統(tǒng)的設(shè)計(jì)要求,故采用光敏電阻作為光照度傳感器。</p><p>  2.3.4 方案選擇總結(jié)</p><p> ?。?) 濕度傳感器采用HS1101。</p><p> ?。?) 溫度傳感器采用DS18

44、B20。</p><p>  (3) 光亮度傳感器采用光敏電阻。</p><p>  第三章 硬件的設(shè)計(jì)</p><p><b>  3.1 MCU選型</b></p><p>  STC89C52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。在單芯片上,擁有靈巧的8 位CPU

45、和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 </p><p>  具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,512字節(jié)RAM, 32 位I/O 口線(xiàn),看門(mén)狗定時(shí)器,內(nèi)置4KB EEPROM,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)8

46、052單片機(jī)完全兼容,DIP40封裝系列與8051兼容均為Pin-to-Pin,使用時(shí)容易掌握; </p><p>  高速、低功耗、價(jià)格低、穩(wěn)定可靠、應(yīng)用廣泛、通用性強(qiáng),在系統(tǒng)/在應(yīng)用可編程(ISP,IAP),不占用戶(hù)資源。</p><p>  STC89C52單片機(jī)管腳如圖3-1:</p><p>  圖3-1 STC89C52單片機(jī)管腳定義圖</p>

47、;<p>  3.2 濕度測(cè)量電路</p><p>  HS1101濕度傳感器,在電路中等效于 一個(gè)電容器件,其電容量隨著所測(cè)的土壤濕度增大而增大,如何將電容的變化量準(zhǔn)確的轉(zhuǎn)換成單片機(jī)易于接受的信號(hào),常有兩種方法:一是將該濕敏傳感器置于運(yùn)放與阻容組成的橋式振蕩電路中,所產(chǎn)生的正弦波電壓信號(hào)經(jīng)整流、直流放大、再經(jīng)過(guò)A/D轉(zhuǎn)換成為數(shù)字信號(hào);另一種是將該濕敏傳感器置于555振蕩電路中,將電容值的變化轉(zhuǎn)化為

48、與之成反比的電壓頻率信號(hào),可直接被單片機(jī)所采集。</p><p>  本系統(tǒng)采用的是測(cè)量555輸出的振蕩的方法,電路如圖3-2所示:</p><p>  圖3-2 濕度測(cè)量電路圖</p><p>  此電路為典型的555雙穩(wěn)態(tài)電路。HS1101/HS1100作為電容變量接在555的TRIG與THRES兩引腳上,引腳7用作電阻R9的短路。</p><

49、;p>  等量電容HS1101/HS1100通過(guò)R8與R9充電到門(mén)限電壓(約0.67Vcc),通過(guò)R8放電到觸發(fā)電平(約0.33Vcc),然后R9通過(guò)引腳7短路到地。傳感器由不同的電阻R8與R9充放電。</p><p>  電壓輸出典型參數(shù)(@VCC=5V,25℃)如表3-1</p><p>  表3-1 HS1101濕度傳感器電壓輸出典型參數(shù)(@VCC=5V,25℃)</p&

50、gt;<p>  3.3 溫度測(cè)量電路</p><p>  因?yàn)樵诒鞠到y(tǒng)中采用了DS18B20數(shù)字溫度傳感器,所以后續(xù)電路簡(jiǎn)單,只需將傳感器的數(shù)據(jù)輸入/輸出管腳直接接到單片機(jī)I/O口,通過(guò)單片機(jī)的控制DS18B20傳感器并實(shí)時(shí)讀取空氣溫度。數(shù)字溫度傳感器的測(cè)量電路如圖3-3所示:</p><p>  圖3-3 溫度測(cè)量電路圖</p><p>  DS1

51、8B20數(shù)字溫度計(jì)是DALLAS公司生產(chǎn)的1-Wire,即單總線(xiàn)器件,具有線(xiàn)路簡(jiǎn)單,體積小的特點(diǎn)。因此用它來(lái)組成一個(gè)測(cè)溫系統(tǒng),具有線(xiàn)路簡(jiǎn)單,在一根通信線(xiàn),可以?huà)旌芏噙@樣的數(shù)字溫度計(jì),十分方便。</p><p>  DS18B20產(chǎn)品的特點(diǎn)</p><p> ?。?)只要求一個(gè)端口即可實(shí)現(xiàn)通信。</p><p>  (2)在DS18B20中的每個(gè)器件上都有獨(dú)一無(wú)二的序

52、列號(hào)。</p><p> ?。?)實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測(cè)溫。</p><p> ?。?)測(cè)量溫度范圍在-55oC到+125oC之間。</p><p> ?。?)數(shù)字溫度計(jì)的分辨率用戶(hù)可以從9位到12位選擇。</p><p> ?。?)內(nèi)部有溫度上、下限告警設(shè)置。</p><p>  DS18B20的

53、管腳圖如圖3-4所示:</p><p>  圖3-4 DS18B20管腳及封裝圖</p><p><b>  GND:地信號(hào)</b></p><p>  DQ:數(shù)據(jù)輸入/輸出引腳。開(kāi)漏單總線(xiàn)接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源。</p><p>  VDD:可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳

54、必須接地。</p><p>  DS18B20的ROM指令如表3-2所示:</p><p>  表3-2 DS18B20的ROM指令表</p><p>  DS18B20的RAM指令如表3-3所示:</p><p>  表3-3 DS18B20的RAM指令表</p><p>  3.4 光照度測(cè)量電路</p&g

55、t;<p>  系統(tǒng)采用價(jià)格低廉的光敏電阻[5]測(cè)量光照度,因其沒(méi)有良好的線(xiàn)性度,所以只能大致的測(cè)量。根據(jù)光敏電阻在不同的光照下有不同的阻值,經(jīng)過(guò)A/D轉(zhuǎn)換后輸入到單片機(jī)內(nèi)進(jìn)行處理。其與ADC0804[10]的連接電路如圖3-5:</p><p>  圖3-5 ADC0804與單片機(jī)的連接電路圖</p><p>  ADC0804為8bit一路的A/D轉(zhuǎn)換器,其輸入電壓范圍

56、在0—5v,轉(zhuǎn)換速度小于100us,轉(zhuǎn)換精度0.39﹪,滿(mǎn)足設(shè)計(jì)的精度要求。</p><p>  ADC0804管腳圖如圖3-6所示:</p><p>  圖3-6 ADC0804管腳定義圖</p><p>  CS:Chip Select,與RD、WR 接腳的輸入電壓高低一起判斷讀取或?qū)懭肱c否,當(dāng)其為低位準(zhǔn)(low) 時(shí)會(huì)active。</p>&

57、lt;p>  RD:Read。當(dāng)CS 、RD 皆為低位準(zhǔn)(low) 時(shí),ADC0804 會(huì)將轉(zhuǎn)換后的數(shù)字訊號(hào)經(jīng)由DB7 ~ DB0 輸出至其它處理單元。</p><p>  WR:?jiǎn)?dòng)轉(zhuǎn)換的控制訊號(hào)。當(dāng)CS 、WR 皆為低位準(zhǔn)(low) 時(shí)ADC0804 做清除的動(dòng)作,系統(tǒng)重置。當(dāng)WR 由0→1且CS =0 時(shí),ADC0804 會(huì)開(kāi)始轉(zhuǎn)換信號(hào),此時(shí)INTR 設(shè)定為高位準(zhǔn)(high)。</p>

58、<p>  CLK IN、CLKR:頻率輸入/輸出。頻率輸入可連接處理單元的訊號(hào)頻率范圍為100 kHz 至800 kHz。而頻率輸出頻率最大值無(wú)法大于640KHz,一般可選用外部或內(nèi)部來(lái)提供頻率。若在CLK R 及CLK IN 加上電阻及電容,則可產(chǎn)生ADC 工作所需的時(shí)序。</p><p>  INTR:中斷請(qǐng)求。轉(zhuǎn)換期間為高位準(zhǔn)(high),等到轉(zhuǎn)換完畢時(shí)INTR 會(huì)變?yōu)榈臀粶?zhǔn)(low)告知其它的

59、處理單元已轉(zhuǎn)換完成,可讀取數(shù)字?jǐn)?shù)據(jù)。</p><p>  VIN(+)、VIN(-):差動(dòng)模擬訊號(hào)的輸入端。輸入電壓VIN=VIN(+)-VIN(-),通常使用單端輸入,而將VIN(-)接地。</p><p>  A GND:模擬電壓的接地端。</p><p>  VREF∕2:模擬參考電壓輸入端。VREF 為模擬輸入電壓VIN 的上限值。若PIN9空接,則VIN

60、的上限值即為VCC。</p><p>  D GND:數(shù)字電壓的接地端。</p><p>  DB7 ~ DB0:轉(zhuǎn)換后之?dāng)?shù)字?jǐn)?shù)據(jù)輸出端。</p><p>  Vcc:驅(qū)動(dòng)電壓輸入端。</p><p>  3.5 數(shù)據(jù)顯示電路</p><p>  系統(tǒng)采用了LCD1602[8]液晶顯示屏,LCD1602液晶是一款很常用

61、,也很易用的字符液晶??梢燥@示2行每行16個(gè)字符,對(duì)比度可調(diào)、黃綠色背光。與單片機(jī)的鏈接電路如圖3-7:</p><p>  圖3-7 LCD1602與單片機(jī)的連接電路圖</p><p>  1602[8]液晶也叫1602字符型液晶它是一種專(zhuān)門(mén)用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊它有若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。每位之間有一個(gè)點(diǎn)距的間隔

62、每行之間也有間隔起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒茱@示圖形。</p><p>  LCD1602的管腳定義圖如圖3-8所示:</p><p>  圖3-8 LCD1602管腳定義圖</p><p><b>  VSS:為電源地 </b></p><p>  VDD:接5V電源正極 </p>

63、<p>  V0:為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì) 產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度)。 </p><p>  RS:為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。 </p><p>  RW:為讀寫(xiě)信號(hào)線(xiàn),高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫(xiě)操作。 </p>

64、<p>  E:(或EN)端為使能(enable)端。 </p><p>  D0~D7:為8位雙向數(shù)據(jù)端。 </p><p>  BLA~BLK:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。</p><p>  1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表3-4所示:</p><p>  表3-4 控制命令表<

65、;/p><p>  1602液晶模塊的讀寫(xiě)操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。(說(shuō)明:1為高電平、0為低電平)</p><p>  指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。</p><p>  指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。</p><p>  指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動(dòng)方向,高電平右移,低

66、電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。</p><p>  指令4:顯示開(kāi)關(guān)控制。 D:控制整體顯示的開(kāi)與關(guān),高電平表示開(kāi)顯示,低電平表示關(guān)顯示 ;C:控制光標(biāo)的開(kāi)與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo); B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。</p><p>  指令5:光標(biāo)或顯示移位 S/C高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。&l

67、t;/p><p>  指令6:功能設(shè)置命令 DL:高電平時(shí)為4位總線(xiàn),低電平時(shí)為8位總線(xiàn) N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。</p><p>  指令7:字符發(fā)生器RAM地址設(shè)置。</p><p>  指令8:DDRAM地址設(shè)置。</p><p>  指令9:讀忙信號(hào)和光

68、標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。</p><p><b>  指令10:寫(xiě)數(shù)據(jù)。</b></p><p><b>  指令11:讀數(shù)據(jù)。</b></p><p><b>  3.6 復(fù)位電路</b></p><p> 

69、 為了確保系統(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)使用的復(fù)位電路如圖3-9所示:</p><p>  圖3-9 復(fù)位電路圖</p><p><b>  3.7 鍵盤(pán)電路</b&g

70、t;</p><p>  本設(shè)計(jì)采用的鍵盤(pán)掃面電路采用簡(jiǎn)單的低電平掃描方式,即采用開(kāi)關(guān)的一端與單片機(jī)I/O口相連,另一端接地的方式,用單片機(jī)檢測(cè)I/O口是否是低電平來(lái)判斷鍵盤(pán)是否被按下。這樣的方式可以方便鍵盤(pán)掃描部分的的編程。鍵盤(pán)電路如圖3-10:</p><p>  圖3-10 鍵盤(pán)電路圖</p><p>  3.8 繼電器控制電路</p><

71、p>  單片機(jī)是一個(gè)弱電器件,一般情況下它們大都工作在5V甚至更低。驅(qū)動(dòng)電流在mA級(jí)以下。而要把它用于一些大功率場(chǎng)合,比如控制電動(dòng)機(jī),顯然是不行的.所以,就要有一個(gè)環(huán)節(jié)來(lái)銜接,這個(gè)環(huán)節(jié)就是所謂的"功率驅(qū)動(dòng)"。繼電器驅(qū)動(dòng)就是一個(gè)典型的、簡(jiǎn)單的功率驅(qū)動(dòng)環(huán)節(jié)。在這里,繼電器驅(qū)動(dòng)含有兩個(gè)意思:一是對(duì)繼電器進(jìn)行驅(qū)動(dòng),因?yàn)槔^電器本身對(duì)于單片機(jī)來(lái)說(shuō)就是一個(gè)功率器件;還有就是繼電器去驅(qū)動(dòng)其他負(fù)載,比如繼電器可以驅(qū)動(dòng)中間繼電器,

72、可以直接驅(qū)動(dòng)接觸器,所以,繼電器驅(qū)動(dòng)就是單片機(jī)與其他大功率負(fù)載接口。</p><p>  本設(shè)計(jì)采用的繼電器控制電路如圖3-11:</p><p>  圖3-11 繼電器控制電路圖</p><p>  圖中的三極管起開(kāi)關(guān)的作用,當(dāng)單片機(jī)輸出高電平時(shí),三極管導(dǎo)通,繼電器吸合。單片機(jī)輸出低電平時(shí),繼電器斷開(kāi)。二極管起保護(hù)作用,防止繼電器產(chǎn)生的感應(yīng)電動(dòng)勢(shì)燒壞三極管或繼電器

73、。</p><p><b>  3.9 電源電路</b></p><p>  由于STC89C51的工作電壓為+5V,所以電源需要輸出+5V穩(wěn)定電壓可以使單片機(jī)可以穩(wěn)定正常的工作,穩(wěn)壓芯片選用7805,電源電路如圖3-12所示:</p><p>  圖3-12 電源電路圖</p><p><b>  第四章

74、軟件設(shè)計(jì)</b></p><p>  系統(tǒng)的程序設(shè)計(jì)包括以下幾個(gè)方面:(1)鍵盤(pán)掃描。(2)各項(xiàng)參數(shù)的采集。(3)各項(xiàng)參數(shù)在液晶上的顯示。(4)各項(xiàng)參數(shù)的繼電器控制。</p><p>  4.1 主程序流程圖</p><p>  主程序的流程如圖4-1:</p><p>  圖4-1 主程序流程圖</p><p

75、>  當(dāng)單片機(jī)上電后,主程序開(kāi)始運(yùn)行,程序以開(kāi)始初始化各參數(shù)的設(shè)置和端口定義后,清各標(biāo)志位和LCD1602的顯示,然后進(jìn)行鍵盤(pán)掃描,再利用各傳感器進(jìn)行數(shù)據(jù)的采集,將采集的數(shù)據(jù)和設(shè)置好的參數(shù)進(jìn)行對(duì)比,如果對(duì)比結(jié)果顯示需要調(diào)節(jié),啟動(dòng)相應(yīng)的繼電器控制電路對(duì)溫室中需要調(diào)節(jié)的參數(shù)進(jìn)行調(diào)節(jié)并顯示在LCD1602上,如果比較結(jié)果顯示不需要調(diào)節(jié),則不啟動(dòng)繼電器控制電路,直接顯示參數(shù),然后對(duì)鍵盤(pán)進(jìn)行循環(huán)掃描。</p><p>

76、;  4.2 參數(shù)測(cè)量子程序流程圖</p><p>  參數(shù)測(cè)量子程序流程如圖4-2: </p><p>  圖4-2 參數(shù)測(cè)量子程序流程圖</p><p>  子程序開(kāi)始先聲明變量和調(diào)用的函數(shù)后,調(diào)用顯示函數(shù),啟動(dòng)模數(shù)轉(zhuǎn)換器ADC0804進(jìn)行模數(shù)轉(zhuǎn)換,轉(zhuǎn)化如果未完成,單片機(jī)進(jìn)行等待。當(dāng)轉(zhuǎn)換完成后,單片機(jī)讀取轉(zhuǎn)換后的數(shù)據(jù),然后循環(huán)調(diào)用顯示函數(shù)和進(jìn)行模數(shù)轉(zhuǎn)換。<

77、/p><p>  4.3 鍵盤(pán)掃描子程序流程</p><p>  鍵盤(pán)掃描子程序流程如圖4-3:</p><p>  圖4-3 鍵盤(pán)掃描流程圖</p><p>  鍵盤(pán)掃描子程序一開(kāi)始先掃描按鍵,判斷是否有按鍵被按下,確定有按鍵被按下時(shí)判斷被按下的是哪個(gè)按鍵,如果是按鍵S1,系統(tǒng)將進(jìn)入設(shè)置模式,這時(shí)按鍵S2和S3被啟用,進(jìn)入那個(gè)參數(shù)的設(shè)置取決于按

78、鍵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ù),一次是顯示溫度值,兩次是顯示濕度值,三次是顯示光度值。</p><p><b&g

79、t;  總結(jié)致謝</b></p><p>  通過(guò)對(duì)本系統(tǒng)的研究和設(shè)計(jì),使我對(duì)單片機(jī)的使用有了更深一層次的理解和掌握,同時(shí)也很好的鍛煉了自己Protel DXP 2004和仿真軟件Proteus的使用技巧。</p><p>  整個(gè)系統(tǒng)設(shè)計(jì)過(guò)程用到的主要硬件有STC89C52,溫度傳感器DS18B20,濕度傳感器HS1101,光照度傳感器光敏電阻,數(shù)模轉(zhuǎn)換器ADC0804,55

80、5定時(shí)器。通過(guò)對(duì)這些硬件的學(xué)習(xí)和了解,不僅擴(kuò)展了自己的知識(shí)面,也是自己對(duì)單片機(jī)的外圍電路有了進(jìn)一步的學(xué)習(xí)。設(shè)計(jì)過(guò)程中也鍛煉了自己獨(dú)立思考問(wèn)題的能力,并增強(qiáng)了自己的動(dòng)手操作能力,對(duì)自己將來(lái)的工作有很大的幫助。</p><p>  在此要感謝我得指導(dǎo)老師蘇艷蘋(píng)老師在設(shè)計(jì)過(guò)程中給予我得幫助,使我能更好的完成畢業(yè)設(shè)計(jì)。</p><p><b>  參考文獻(xiàn)</b></p

81、><p>  [1] 梅曉榕,柏桂珍,張卯瑞.自動(dòng)控制元件及線(xiàn)路[M].北京:科學(xué)出版社,2007</p><p>  [2] 張義和,王敏男,許宏昌,余長(zhǎng)春.例說(shuō)51單片機(jī)(C語(yǔ)言版)[M].北京:人民郵電出版社,2010,6</p><p>  [3] 濕度傳感器HS1101的原理與應(yīng)用[EB/OL].中國(guó)電子科技信息網(wǎng).</p><p> 

82、 [4] 胡漢才.單片機(jī)原理與接口技術(shù)[M].清華大學(xué)出版社,1996.</p><p>  [5] 黃賢斌,鄭筱霞.傳感器原理與應(yīng)用[M].北京:高等教育出版社. 成都:電子科技大學(xué)出版社,2004,3(2009.1重印)</p><p>  [6] 何立民.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航天航空出版社.1990,50-490</p><p>  [7] 劉

83、篤仁,韓保君.傳感器原理及應(yīng)用技術(shù)[M].機(jī)械工業(yè)出版社.2003,8 </p><p>  [8] 1985趙亮.液晶顯示模塊LCD1602應(yīng)用[J].電子制作,2007(3)</p><p>  [9] 王勇等.凌陽(yáng)單片機(jī)原理及其畢業(yè)設(shè)計(jì)精選[M].科學(xué)出版社</p><p>  [10] 童詩(shī)白.模擬電路基礎(chǔ)[M],北京:高等教育出版社,2001</p&

84、gt;<p>  [11] 馬忠梅,籍順心,張凱等.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京航天航空大學(xué)出版社,2003</p><p>  [12] <美>M考夫曼,AH塞得.電子計(jì)算手冊(cè)[M].國(guó)防科技出版社.</p><p>  [13] 王毅.單片機(jī)器件應(yīng)用手冊(cè)[M].北京:人民郵電出版社,1994</p><p>  附錄1 系

85、統(tǒng)總體電路圖</p><p>  附錄2 系統(tǒng)源代碼</p><p>  #include <reg52.h> </p><p>  #include<absacc.h></p><p>  #include<intrins.h></p><p>  #include<st

86、dio.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  #define T_cont 0.0625;</p><p>  #define DataPort P0 //LCD接口</p><

87、p>  #define ReadPort P2 //AD讀取</p><p>  uchar code temp[]={"temp: "};</p><p>  uchar code tempset[]={"tempset: "};</p><p>  uchar code hun[]={"hun: &qu

88、ot;};</p><p>  uchar code hunset[]={"hunset: "};</p><p>  uchar code inte[]={"inte: "};</p><p>  uchar code inteset[]={"inteset: "};</p><p&g

89、t;  uchar code set[]={"step in set!"};</p><p>  uchar tempset1,s1num,s4num,hunset1,hun1,hun2,inteset1,inte1;</p><p>  bit T_sign;</p><p>  float temp1=0;</p><p&

90、gt;  uchar t_bai,t_shi,t_ge,t_feng,t_miao,sshi,sge,</p><p>  h_bai,h_shi,h_ge,hshi,hge,</p><p>  i_bai,i_shi,i_ge,ishi,ige;</p><p>  sbit s1=P1^0;</p><p>  sbit s2=P1^1

91、;</p><p>  sbit s3=P1^2;</p><p>  sbit s4=P1^3;</p><p>  sbit relay1=P1^5;</p><p>  sbit relay2=P1^6;</p><p>  sbit relay3=P1^7;</p><p>  sbit

92、 cs1=P3^0;</p><p>  sbit lcdrs=P3^1;</p><p>  sbit DS=P3^2;</p><p>  sbit lcdrw=P3^3;</p><p>  sbit lcden=P3^4;</p><p>  sbit cs2=P3^5;</p><p>

93、;  sbit wr=P3^6;</p><p>  sbit rd=P3^7;</p><p>  ///////////////////////////////////////////////////////////////////////</p><p>  void delay(uint z) //延時(shí)函數(shù)</p><p><

94、;b>  {</b></p><p><b>  uint x,y;</b></p><p>  for(x=z;x>0;x--)</p><p>  for(y=110;y>0;y--);</p><p><b>  }</b></p><p>

95、;  void dsreset(void) //send reset and initialization command</p><p><b>  {</b></p><p>  uint i; //DS18B20初始化</p><p><b>  DS=0;</b></

96、p><p><b>  i=103;</b></p><p>  while(i>0)i--;</p><p><b>  DS=1;</b></p><p><b>  i=4;</b></p><p>  while(i>0)i--;<

97、/p><p><b>  }</b></p><p>  bit tmpreadbit(void) //read a bit 讀一位</p><p><b>  {</b></p><p><b>  uint i;</b></p><p>&l

98、t;b>  bit dat;</b></p><p>  DS=0;i++; //i++ for delay 小延時(shí)一下</p><p>  DS=1;i++;i++;</p><p><b>  dat=DS;</b></p><p><b>  i=8;</b&g

99、t;</p><p>  while(i>0)i--;</p><p>  return (dat);</p><p><b>  }</b></p><p>  uchar tmpread(void) //read a byte date 讀一個(gè)字節(jié)</p><p><b>

100、  {</b></p><p>  uchar i,j,dat;</p><p><b>  dat=0;</b></p><p>  for(i=1;i<=8;i++)</p><p><b>  {</b></p><p>  j=tmpreadbit(

101、);</p><p>  dat=(j<<7)|(dat>>1); //讀出的數(shù)據(jù)最低位在最前面,這樣剛好//一個(gè)字節(jié)在DAT里</p><p><b>  }</b></p><p>  return(dat); //將一個(gè)字節(jié)數(shù)據(jù)返回</p><p><b&g

102、t;  }</b></p><p>  void tmpwritebyte(uchar dat) //write a byte to ds18b20</p><p>  { //寫(xiě)一個(gè)字節(jié)到DS18B20里</p><p><b>  uint i;</b></p>

103、<p><b>  uchar j;</b></p><p>  bit testb;</p><p>  for(j=1;j<=8;j++)</p><p><b>  {</b></p><p>  testb=dat&0x01;</p><p&g

104、t;  dat=dat>>1;</p><p>  if(testb) //write 1 寫(xiě)1部分</p><p><b>  {</b></p><p><b>  DS=0;</b></p><p><b>  i++;i++;</b></

105、p><p><b>  DS=1;</b></p><p>  i=8;while(i>0)i--;</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b>&l

106、t;/p><p>  DS=0; //write 0 寫(xiě)0部分</p><p>  i=8;while(i>0)i--;</p><p><b>  DS=1;</b></p><p><b>  i++;i++;</b></p><p><b>

107、  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void readtemperature() //讀溫度函數(shù)</p><p><b>  {</b></p><p>&

108、lt;b>  uint y;</b></p><p>  uchar T_L=0;</p><p>  uchar T_H=0;</p><p><b>  uchar k;</b></p><p>  dsreset();</p><p><b>  delay(1)

109、;</b></p><p>  tmpwritebyte(0xcc);</p><p>  tmpwritebyte(0x44);</p><p>  dsreset();</p><p><b>  delay(1);</b></p><p>  tmpwritebyte(0xcc)

110、;</p><p>  tmpwritebyte(0xbe);</p><p>  T_L=tmpread();</p><p>  T_H=tmpread();</p><p>  k=T_H&0x08;</p><p>  if(k==0x08)</p><p><b> 

111、 T_sign=1;</b></p><p><b>  else</b></p><p><b>  T_sign=0;</b></p><p>  T_H=T_H&0x07;</p><p>  temp1=(T_H*256+T_L)*T_cont;</p>&

112、lt;p>  temp1=temp1*100;</p><p>  t_bai=(uint)temp1/10000;</p><p>  y=(uint)temp1%10000;</p><p>  t_shi=y/1000;</p><p>  y=(uint)y%1000;</p><p>  t_ge=y/

113、100;</p><p>  y=(uint)y%100;</p><p>  t_feng=y/10;</p><p>  t_miao=(uint)y%10;</p><p><b>  }</b></p><p>  ////////////////////////////////////

114、/////////////////////////</p><p>  void inteadc0804() //光照度adc轉(zhuǎn)換子程序與數(shù)據(jù)處理</p><p><b>  { </b></p><p><b>  rd = 1;</b></p><p>  wr = 1; //讀ADC</

115、p><p>  ReadPort = 0xff; //P1置位</p><p><b>  cs1=0;</b></p><p><b>  wr = 0;</b></p><p>  wr = 1; //啟動(dòng)ADC</p><p>  rd=0; //開(kāi)始讀轉(zhuǎn)換后數(shù)據(jù)</

116、p><p>  _nop_(); _nop_(); //稍延時(shí),等待讀完數(shù)</p><p>  inte1 = ReadPort; //讀出的光照度數(shù)據(jù)賦與inte1</p><p><b>  rd = 1; </b></p><p>  cs1 = 1; //讀數(shù)完畢</p><p>  i_ba

117、i = inte1/100; //百位數(shù)</p><p>  i_shi = (inte1%100)/10; //十位數(shù)</p><p>  i_ge = (inte1%10); //個(gè)位數(shù)</p><p><b>  }</b></p><p>  void hunadc0804() //濕度adc轉(zhuǎn)換子程序

118、與數(shù)據(jù)處理</p><p><b>  { </b></p><p><b>  rd = 1;</b></p><p>  wr = 1; //讀ADC</p><p>  ReadPort = 0xff; //P1置位</p><p><b>  cs2=0;&

119、lt;/b></p><p><b>  wr = 0;</b></p><p>  wr = 1; //啟動(dòng)ADC</p><p>  rd=0; //開(kāi)始讀轉(zhuǎn)換后數(shù)據(jù)</p><p>  _nop_(); _nop_(); //稍延時(shí),等待讀完數(shù)</p><p>  delay(20);

120、</p><p>  hun2= ReadPort; //讀出的濕度數(shù)據(jù)賦與hun1</p><p><b>  rd = 1; </b></p><p>  cs2 = 1; //讀數(shù)完畢</p><p>  hun1=hun2/2.55;</p><p>  h_bai = hun1/100;

121、 //百位數(shù)</p><p>  h_shi = (hun1%100)/10; //十位數(shù)</p><p>  h_ge = (hun1%10); //個(gè)位數(shù)</p><p><b>  }</b></p><p>  //////////////////////////////////////////////////

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論