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

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設(shè)計說明書</b></p><p>  基于51單片機的溫濕度采集系統(tǒng)設(shè)計</p><p>  辦學(xué)單位: </p><p>  班 級: </p><p>  學(xué) 生:

2、 </p><p>  指導(dǎo)教師: </p><p>  提交日期: 2014 年 12 月 日</p><p><b>  中 文 摘 要</b></p><p>  溫濕度控制系統(tǒng)早已經(jīng)成為當代社會研究的熱

3、門領(lǐng)域之一,同時溫濕度也是現(xiàn)今工農(nóng)業(yè)生產(chǎn)生活中必須要首先考慮的重要因素之一。因此現(xiàn)今社會生產(chǎn)生活中就迫切需要一種價格較便宜、易操作而且精確度高的溫濕度控制系統(tǒng)。本系統(tǒng)設(shè)計就是利用ST89C52單片機對溫濕度參量進行檢測進而實現(xiàn)對溫濕度參量的控制。</p><p>  本系統(tǒng)設(shè)計通過使用單片機ST89C52、DHT11傳感器模塊、LCD1602液晶顯示屏模塊以及蜂鳴器報警模塊。簡易的系統(tǒng)設(shè)計就能夠基本上滿足本系統(tǒng)設(shè)

4、計的系統(tǒng)設(shè)計要求。DHT11數(shù)字溫濕度傳感器負責把采集到的溫濕度信號傳送給單片機ST89C52。溫濕度經(jīng)過ST89C52單片機處理,然后ST89C52O把溫濕度信號發(fā)送到LCD1602液晶顯示屏模塊,溫濕度數(shù)據(jù)就可以準確地顯示到LCD1602液晶屏上面,同時我們可以分別對溫度和濕度設(shè)置上下值限,超越限值蜂鳴器報警。</p><p>  關(guān)鍵字: 單片機;DHT11溫濕度傳感器; LCD1602顯示</p&

5、gt;<p><b>  Abstract</b></p><p>  Temperature and humidity control system has already become one of the most popular areas of today's social research, one of the factors of temperature

6、 and humidity is also today's industrial and agricultural production life must first consider important. Therefore the social production and living an urgent need for a cheap, easy operation and high precision temper

7、ature and humidity control system. The system design is the use of the ST89C52 microcontroller temperature and humidity parameters for</p><p>  This design by using ST89C52 microcontroller, the DHT11 sensor

8、module, LCD1602 LCD module buzzer module. Simple design can be substantially meet the design requirements of the design. DHT11 digital temperature and humidity sensor is responsible for the collected temperature and humi

9、dity signal is transmitted to the ST89C52 microcontroller. Temperature and humidity after ST89C52 single-chip processing, and then ST89C52 accurate temperature and humidity signal is sent to the LCD1602 LCD display mo<

10、;/p><p>  Keywords:ST89C52 microcontroller, the DHT11 sensor module, 1602 LCD module,</p><p><b>  目錄</b></p><p><b>  中 文 摘 要0</b></p><p><b>

11、  緒論2</b></p><p><b>  1.1選題背景2</b></p><p>  1.2選題的意義3</p><p>  1.3設(shè)計的任務(wù)3</p><p>  1.4設(shè)計工作原理3</p><p>  第2章 系統(tǒng)總體方案系統(tǒng)設(shè)計3</p>&l

12、t;p>  2.1系統(tǒng)設(shè)計分析3</p><p>  2.2系統(tǒng)主要模塊的選擇與論證4</p><p>  2.2.1溫濕度檢測模塊的選擇與論證4</p><p>  2.2.2單片機控制模塊的選擇與論證4</p><p>  2.2.3顯示模塊的選擇與論證5</p><p>  2.3總體系統(tǒng)設(shè)計框圖

13、5</p><p>  第3章 系統(tǒng)硬件系統(tǒng)設(shè)計5</p><p><b>  3.1概述5</b></p><p><b>  3.2控制模塊6</b></p><p>  3.2.1 STC89C52單片機簡介6</p><p>  3.2.2單片機主控電路設(shè)計

14、8</p><p>  3.3測量模塊系統(tǒng)設(shè)計9</p><p>  3.3.1 DHT11簡介9</p><p>  3.3.2 操作過程10</p><p>  3.3.3 溫濕度測量模塊電路設(shè)計13</p><p>  3.4顯示模塊13</p><p>  3.4.1 1

15、602液晶簡介14</p><p>  3.4.2 指令說明15</p><p>  3.4.3 顯示電路原理圖15</p><p>  3.5 報警模塊16</p><p>  第4章系統(tǒng)軟件系統(tǒng)設(shè)計17</p><p>  4.1 LCD1602液晶顯示模塊系統(tǒng)設(shè)計17</p><p

16、>  4.2傳感器模塊系統(tǒng)設(shè)計18</p><p>  第5章 系統(tǒng)分析與調(diào)試19</p><p><b>  結(jié)論21</b></p><p><b>  附 錄22</b></p><p><b>  緒論</b></p><p>&l

17、t;b>  1.1選題背景</b></p><p>  溫濕度的檢測與控制是工農(nóng)業(yè)生產(chǎn)中較為典型的應(yīng)用之一,隨著傳感器在生活與生產(chǎn)中的應(yīng)用越來越廣泛。在生產(chǎn)中,溫濕度的高低對產(chǎn)品的品質(zhì)影響很大。由于溫濕度的檢測控制不良或不準確,可能使我們在生產(chǎn)過程中造成程度不一的損失。為保證日常工作的順利展開與進行,首要問題是加強生產(chǎn)車間內(nèi)溫度與濕度的監(jiān)測工作,在過去傳統(tǒng)的及包括現(xiàn)在小形且并不科學(xué)的作坊中方法過

18、于粗糙,通過人為進行評估檢測,對不符合溫度和濕度要求的庫房進行通風(fēng)、去濕和降溫等工作。這種人工測試方法費時費力、效率差,且測試的溫度及濕度誤差大,隨機性大也不科學(xué)。目前,在低溫條件下(通常指100℃以下),溫濕度的測量已經(jīng)相對成熟。利用新型單總線式數(shù)字溫度傳感器實現(xiàn)對溫度的測試與控制得到更快的開發(fā)。但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、學(xué)習(xí)、生活提供更好的更方便的設(shè)施就需要從數(shù)字單片機技術(shù)入手,一切向著數(shù)字化,智能化控制方向發(fā)

19、展。所以本次系統(tǒng)設(shè)計對類似項目具有普遍意義。</p><p>  本文設(shè)計的是基于單片機STC89C52的溫濕度檢測和控制系統(tǒng),主要以廣泛應(yīng)用的DHT11作為溫度和濕度的檢測,該儀器具有測量精度較高、硬件電路簡單、并能很好的進行顯示,可測試不同環(huán)境溫濕度的特點。另外和控制電路相連,可以進行加濕電路和除濕電路的控制,使溫度和濕度參數(shù)在預(yù)先設(shè)定的范圍內(nèi),不需要人的直接參與。</p><p> 

20、 單片機是系統(tǒng)的控制核心,所以單片機的性能關(guān)系到整個系統(tǒng)的好壞。因此單片機的選擇,對所設(shè)計系統(tǒng)的實現(xiàn)以及功能的擴展有著很大的影響。本設(shè)計中,最終選用的集成溫度傳感器DHT11,采集到的溫濕度信號送至單片機,實現(xiàn)溫濕度的顯示與控制。</p><p><b>  1.2選題的意義</b></p><p>  STC89C52單片機是現(xiàn)代工農(nóng)業(yè)生產(chǎn)生活中非常常見用于控制系統(tǒng)

21、設(shè)計的應(yīng)用芯片,同時在大學(xué)期間,在我們的實踐生活中,我們大部分接觸的也是STC89C52這類簡單實用的單片機芯片。用STC89C52單片機作為溫濕度控制系統(tǒng)的例子也很多,主要是因為用STC89C52作為系統(tǒng)設(shè)計的核心可以使制作簡單,而且使系統(tǒng)價格低廉,易于操作。本系統(tǒng)設(shè)計主要使用STC89C52單片機來系統(tǒng)設(shè)計控制進而實現(xiàn)溫濕度的檢測,顯示,上下限報警,</p><p>  本系統(tǒng)設(shè)計中包括單片機最小系統(tǒng)、DHT

22、11傳感器模塊的溫濕度檢測、獨立鍵盤及LCD1602液晶顯示、蜂嚀器報警電路、系統(tǒng)軟件編程系統(tǒng)設(shè)計等部分的系統(tǒng)設(shè)計。本系統(tǒng)設(shè)計預(yù)期的基本功能是能夠準確地檢測出場所溫度和濕度;LCD1602模塊能夠準確顯示溫濕度;溫度和濕度超過設(shè)定范圍時能夠報警提醒人們場所的溫濕度變化已經(jīng)不適合場所的溫濕度要求。將本系統(tǒng)設(shè)計應(yīng)用到溫室之類的場所當中毫無疑問可以更好地滿足工農(nóng)業(yè)生產(chǎn)生活的具體溫濕度要求。本系統(tǒng)設(shè)計可以及時、精確的反映場所的溫濕度的變化,能夠

23、很好地滿足工農(nóng)業(yè)生產(chǎn)生活對溫濕度的控制要求。 </p><p><b>  1.3設(shè)計的任務(wù)</b></p><p>  本系統(tǒng)所要完成的任務(wù)是:</p><p>  1.LCD1602能夠?qū)崟r、準確的顯示STC89C52采樣溫度值和濕度值。</p><p>  2.DHT11采集溫度及濕度值,STC89C52能夠?qū)H

24、T11輸送過來的采集信息,準確的判斷標準值與設(shè)定值之間的差異,及時的啟動報警裝置(蜂嚀器)進行報警,告訴工作人員應(yīng)該采取相對的方案。</p><p><b>  1.4設(shè)計工作原理</b></p><p>  主控電路芯片選擇STC89C52單片機,STC89C52單片機的優(yōu)點很多,例如執(zhí)行指令的速度很快,對工作環(huán)境的要求比較低;溫濕度傳感器模塊我選擇了DHT11數(shù)字

25、溫濕度傳感器,DTH11傳感器能同時檢測溫濕度的變化,比以前單純分別使用DS12B20檢測溫度,使用濕度傳感器檢測濕度更加方便簡單。根據(jù)電路原理連接好外圍電路。通過DHT11傳感器準確地檢測出當前場所下的溫濕度,并且將所測數(shù)據(jù)信號傳遞給STC89C52單片機進行分析和處理。STC89C52單片機再將所得數(shù)據(jù)發(fā)送給LCD1602液晶屏,LCD1602成功完成顯示。報警模塊采用蜂嚀器報警方式。系統(tǒng)設(shè)計軟件編輯中分別預(yù)先設(shè)置好所需溫度和濕度的

26、限值(一個上限一個下限)。通過溫度和濕度的上下限值控制蜂嚀器報警。若溫濕度逾越限值,則爍蜂嚀器報警,提醒工作人員此時溫度濕度數(shù)據(jù)已經(jīng)出現(xiàn)異常、需及時調(diào)整來實現(xiàn)場所溫濕度變化,從而實現(xiàn)了對溫濕度簡單控制。整體上來說,本系統(tǒng)設(shè)計主要涉及了溫濕度的測量以及實現(xiàn)對溫濕度的簡單控制。硬件方面有四個模塊,即傳感器模塊、STC89C52單片機主控模塊、LCD1602液晶顯示模塊以及蜂嚀器報警模塊。在硬件方面,制</p><p>

27、;  第2章 系統(tǒng)總體方案系統(tǒng)設(shè)計</p><p><b>  2.1系統(tǒng)設(shè)計分析</b></p><p>  設(shè)計一個溫濕度測量顯示電路系統(tǒng),首先應(yīng)該有溫濕度數(shù)據(jù)收集的裝置,即為溫濕度傳感器,本實驗采用集成數(shù)字傳感器DHT11,它將采集來的溫濕度信號轉(zhuǎn)換為電路中不同形式的電信號;電信號不能直接反映溫度和濕度的大小,這時就需要一個控制器件,來把我們測量的電信號處理成我

28、們所熟悉的溫度、濕度數(shù)值;當信號處理完后,我們應(yīng)該在顯示模塊上顯示出來。經(jīng)過分析,系統(tǒng)的結(jié)構(gòu)框圖如圖2.1</p><p><b>  圖2-1</b></p><p>  2.2系統(tǒng)主要模塊的選擇與論證</p><p>  2.2.1溫濕度檢測模塊的選擇與論證</p><p>  方案一:選用DS18B20溫度傳感器和

29、HS1101濕度傳感器。</p><p>  DS18B20是一線式數(shù)字溫度傳感器,具有獨特的單線式接口方式,測量溫度范圍在-55℃—125℃,-10℃—85℃,誤差為±0.5%。最高精度可達0.0625℃。HS1101是電容式濕度傳感器,可測相對濕度范圍在0%—100%RH,誤差為±2%RH。</p><p>  方案二:選用DHT11作為溫濕度檢測模塊。DHT11是

30、一款數(shù)字輸出的復(fù)合傳感器,包含一個電阻式干事元件和NTC式溫度檢測元件,可測20—90%RH濕度,誤差為±5%RH,0—50℃,誤差范圍±2℃。</p><p>  上述分析,方案一雖然精度更精確。卻稍顯復(fù)雜。方案二雖然DHT11傳感器沒怎么使用過,但由于本設(shè)計所測試的是一般的環(huán)境溫度和濕度,選取方案二的DHT11溫濕度傳感器已經(jīng)能夠滿足設(shè)計的要求,并且,DHT11復(fù)合了溫濕度傳感器,且價格便

31、宜,而且更加簡單,更加容易實現(xiàn),也更加穩(wěn)定可靠。所以我選擇方案二。</p><p>  2.2.2單片機控制模塊的選擇與論證</p><p>  方案一:采用傳統(tǒng)的STC89S52單片機作為主控芯片。此芯片價格便宜、操作簡便,低功耗,比較經(jīng)濟實惠。</p><p>  方案二:采用TI公司生產(chǎn)的MSP430F149系列單片機作為主控芯片。此單片機是一款高性能的低功耗

32、的16位單片機,具有非常強大的功能,且內(nèi)置高速12位ADC。但其價格比較昂貴,而且是TPFQ貼片封裝,不利于焊接,需要PCB制板,大大增加了成本和開發(fā)周期。</p><p>  考慮到此系統(tǒng)需要不用到ADC,從性能和價格上綜合考慮我們選擇方案一,即用STC89S52作為本系統(tǒng)的主控芯片。</p><p>  2.2.3顯示模塊的選擇與論證</p><p>  方案一

33、:采用12864液晶顯示屏。12864液晶顯示模塊自身內(nèi)置8192個中文漢字、128個字符及64X256點陣顯示RAM??梢燥@示漢字以及圖案。</p><p>  方案二:選擇使用LCD1602液晶顯示屏。LCD1602能夠顯示16列2行,但是只能顯示字母、數(shù)字和符號能顯示16*2個字符,不能顯示漢字。由于LCD1602寄存器不止32個,所以軟件編寫可以使字符一個個顯示、字符從左到右或從右到左顯示等等,顯示效果比

34、較簡單。</p><p>  經(jīng)過上述分析,在編程使用方面,12864液晶顯示屏和LCD1602難度差不多,雖然12864液晶屏可以顯示更多的字符,漢字,乃至圖案,有更多LCD1602不具備的功能。但是LCD1602液晶屏也能實現(xiàn)系統(tǒng)設(shè)計的要求,而且LCD1602價格比較便宜一點點,我們接觸的比較多。綜上所述,顯示器模塊選擇方案二的LCD1602。</p><p>  2.3總體系統(tǒng)設(shè)計框

35、圖</p><p>  按照溫濕度控制系統(tǒng)功能的具體設(shè)計要求,在保證實現(xiàn)其功能的基礎(chǔ)上,盡可能降低制作成本和提高系統(tǒng)設(shè)計的穩(wěn)定性和準確性,該系統(tǒng)設(shè)計方案總體上圍繞上述思想,最終確定系統(tǒng)的方案如圖2-2所示。</p><p><b>  圖2-2</b></p><p>  從圖2-2中可以看出,系統(tǒng)STC89C52單片機處理模塊、LCD1602

36、液晶顯示模塊、DHT11傳感器模塊和蜂嚀器報警模塊組成。在方案系統(tǒng)設(shè)計中,我們應(yīng)始終遵循簡潔至上的原則,因此我將所有的外圍模塊與STC89C52模塊接口全部采用串行方式。本系統(tǒng)設(shè)計以STC89C52單片機為控制核心,實現(xiàn)溫濕度采集及顯示的基本功能。在系統(tǒng)設(shè)計系統(tǒng)時,為了更好地采用模塊化系統(tǒng)設(shè)計法,分步的系統(tǒng)設(shè)計各個單元功能模塊,系統(tǒng)的硬件部分可以分為DHT11傳感器部分、STC89C52單片機控制部分、LCD1602液晶顯示部分和實現(xiàn)蜂

37、嚀器報警部分。</p><p>  第3章 系統(tǒng)硬件系統(tǒng)設(shè)計</p><p><b>  3.1概述</b></p><p>  本次的畢業(yè)系統(tǒng)設(shè)計主要由4個模塊構(gòu)成,分別是STC89C52單片機主控模塊、DHT11傳感器模塊、LCD1602液晶顯示模塊及報警模塊。其中STC89C52單片機主控模塊是本系統(tǒng)設(shè)計的核心模塊,核心模塊主要是指STC

38、89C52芯片,它控制整個系統(tǒng)的運行,利用STC89C52單片機各個口分別控制其它模塊,使DHT11傳感器,LCD1602液晶顯示器,蜂嚀器形成一個穩(wěn)定運行的系統(tǒng),進而滿足本系統(tǒng)設(shè)計的功能需要;報警模塊主要是指將蜂嚀器接入單片機電路。通過對任何時間溫濕度的檢測,并由軟件編寫給蜂嚀器報警所需要的溫濕度區(qū)間,即給定蜂嚀器報警上下限值,實現(xiàn)越限報警;DHT11傳感器模塊主要用于場所的溫濕度的檢測、由于DHT11集成了模數(shù)轉(zhuǎn)換等模塊,所以DHT

39、11模塊直接接STC89C52單片機即可。LCD1602液晶顯示模塊同樣直接接入STC89C52單片機即可,LCD1602主要的功能就是完成對單片機處理后的數(shù)據(jù)進行顯示。</p><p><b>  3.2控制模塊 </b></p><p>  CPU是STC公司的8051系列單片機STC89C52。</p><p>  時鐘電路由一個頻率為

40、11.0592MHz的晶振和兩個22pF的電容組成。</p><p>  復(fù)位電路由一個10uF的電容和一個10k的電阻組成。</p><p>  3.2.1 STC89C52單片機簡介</p><p><b> ?。?)概述</b></p><p>  STC89C52是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含8

41、k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強大的ST89C52單片機可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。 </p><p>  STC89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口

42、,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,ST89C52可以按照常規(guī)方法進行編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。 </p><p>  STC89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 </p><p>

43、<b> ?。?)主要功能特性</b></p><p>  兼容MCS51指令系統(tǒng)</p><p>  8k可反復(fù)擦寫(>1000次)Flash ROM </p><p>  32個雙向I/O口 256x8bit內(nèi)部RAM </p><p>  3個16位可編程定時/計數(shù)器中斷 ? 時鐘頻率0-24MHz &l

44、t;/p><p><b>  2個串行中斷 </b></p><p>  可編程UART串行通道 </p><p><b>  2個外部中斷源 </b></p><p><b>  共8個中斷源 </b></p><p><b>  2個讀寫中斷口

45、線 </b></p><p><b>  3級加密位 </b></p><p>  低功耗空閑和掉電模式 </p><p>  軟件設(shè)置睡眠和喚醒功能</p><p> ?。?)8051單片機的引腳功能</p><p>  MCS-51系列單片機一般采用40個引腳,雙列直插式封裝,用H

46、MOS工藝制造,其外部引腳排列如圖3.1所示。其中,各引腳的功能為:</p><p>  (a) DIP引腳圖 (b) 邏輯符號</p><p>  圖3.1 8051單片機外部引腳排列</p><p><b>  主電源引腳</b></p><p

47、>  Vcc(40腳):接+5V電源正端</p><p>  Vss(20腳):接+5V電源地端</p><p>  一般Vcc和Vss間應(yīng)接高頻去耦電容和低頻濾波電容。</p><p>  外接晶體或外部振蕩器引腳</p><p>  XTAL1(19腳):接外部晶振的一個引腳。在單片機內(nèi)部,它是一個反相放大器的輸入端,這個放大器構(gòu)成

48、了片內(nèi)振蕩器OSC。當采用外部振蕩器時,此引腳應(yīng)接地。</p><p>  XTAL2(18腳):接外部晶振的另一個引腳。在片內(nèi)接至反相放大器的輸出端和內(nèi)部時鐘電路的輸入端。當采用外部振蕩器時,此腳接外部振蕩器的輸出端。</p><p><b>  控制信號線</b></p><p>  RST/VPD(9腳):復(fù)位信號輸入端,復(fù)位/掉電時內(nèi)部

49、RAM的備用電源輸入端</p><p>  ALE/ (30腳):地址鎖存允許/編程脈沖輸入。用ALE鎖存從P0口輸出的低8位地址;在對片內(nèi)EPROM編程時,編程脈沖由此輸入。</p><p> ?。?9腳):外部程序存儲器讀選通信號,低電平有效。</p><p>  /VPP(31腳):訪問外部存儲器允許/編程電壓輸入。EA為高電平時,訪問內(nèi)部存儲器;低電平時,訪

50、問外部存儲器。對片內(nèi)EPROM編程時,此腳接21V編程電壓。</p><p><b>  多功能I/O口引腳</b></p><p>  8051單片機設(shè)有4個雙向I/O口(P0、P1、P2、P3),每一組I/O口線都可以獨立地用作輸入或輸出口,其中:</p><p>  P0口(32~39腳)——雙向口(三態(tài)),可作為輸入/輸出口,可驅(qū)動8個

51、LSTTL門電路。實際應(yīng)用中常作為分時使用的地址/數(shù)據(jù)總線口,對外部程序或數(shù)據(jù)存儲器尋址時低8位地址與數(shù)據(jù)總線分時使用P0口:先送低8位地址信號到P0口,由地址鎖存信號ALE的下降沿將地址信號鎖存到地址鎖存器后,再作為數(shù)據(jù)總線的口線對數(shù)據(jù)進行輸入或輸出。</p><p>  P1口(1~8腳)——準雙向口(三態(tài)),可驅(qū)動4個LSTTL門電路。用作輸入線時,口鎖存器必須由單片機先寫入“1”,每一位都可編程為輸入或輸

52、出線。</p><p>  P2口(21~28)——準雙向口(三態(tài)),可驅(qū)動4個LSTTL門電路??勺鳛檩斎?輸出口,實際應(yīng)用中一般作為地址總線的高8位,與P0口一起組成16位地址總線,用于對外部存儲器的接口電路進行尋址。</p><p>  P3口(10~17腳)——準雙向口(三態(tài)),可驅(qū)動4個LSTTL門電路。雙功能口,作為第一功能使用時,與P1口一樣;作為第二功能使用時,每一位都有特

53、定用途,其特殊用途如表3.1所示:</p><p>  表3.1 P3口特殊功能</p><p>  3.2.2單片機主控電路設(shè)計</p><p>  單片機主控電路原理圖如圖3.2所示</p><p>  圖3.2 單片機主控電路</p><p>  單片機主控模塊包括了振蕩電路、復(fù)位電路,同時接入了下載接口,方便下

54、載程序,保證了整個系統(tǒng)的靈活性。</p><p>  單片機是整個系統(tǒng)的控制中樞,它指揮外圍器件協(xié)調(diào)工作,從而完成特定的功能。硬件實現(xiàn)上采用模塊化設(shè)計,每個模塊只實現(xiàn)特定功能,最后再將各個模塊搭接在一起。這種設(shè)計方法可以降低系統(tǒng)設(shè)計的復(fù)雜性。其中下圖為電源開關(guān)部分</p><p><b>  電源部分電路</b></p><p>  3.3測量

55、模塊系統(tǒng)設(shè)計 </p><p>  3.3.1 DHT11簡介 </p><p><b>  如圖3.2所示</b></p><p><b>  相對濕度和溫度測量</b></p><p>  全部校準,數(shù)字輸出 </p><p>  

56、卓越的長期穩(wěn)定性 </p><p><b>  無需額外部件</b></p><p>  超長的信號傳輸距離 </p><p><b>  超低能耗</b></p><p><b>  4 引腳安裝</b></p>

57、<p>  完全互換 圖3.2 DHT11實物圖</p><p> ?。?)DHT11產(chǎn)品概述</p><p>  DHT11數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個

58、NTC測溫元件,并與一個高性能8位單片機相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強、性價比極高等優(yōu)點。每個DHT11傳感器都在極為精確的濕度校驗室中進行校準。校準系數(shù)以程序的形式儲存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場合的最佳選則。產(chǎn)品為 4 針單排引腳封裝。連接方便

59、,特殊封裝形式可根據(jù)用戶需求而提供。</p><p><b> ?。?)應(yīng)用領(lǐng)域</b></p><p>  暖通空調(diào) </p><p><b>  測試及檢測設(shè)備</b></p><p>  汽車 </p><p><b&g

60、t;  數(shù)據(jù)記錄器</b></p><p>  消費品 </p><p><b>  自動控制</b></p><p>  氣象站 </p><p><b>  家電</b></p><p>  濕度調(diào)節(jié)器 &l

61、t;/p><p><b>  醫(yī)療</b></p><p><b>  除濕器</b></p><p>  3.3.2 操作過程</p><p>  (1)接口說明 </p><p>  建議連接線長度短于20米時用5K上拉電阻,大于20米時根據(jù)實際情況使用合適的上拉電阻&

62、lt;/p><p>  圖3.3 DHT11典型應(yīng)用電路</p><p><b>  ( 2)電源引腳</b></p><p>  DHT11的供電電壓為3-5.5V。傳感器上電后,要等待 1s 以越過不穩(wěn)定狀態(tài)在此期間無需發(fā)送任何指令。電源引腳(VDD,GND)之間可增加一個100nF 的電容,用以去耦濾波。</p><

63、p> ?。?)串行接口 (單線雙向)</p><p>  DATA 用于微處理器與 DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說明,當前小數(shù)部分用于以后擴展,現(xiàn)讀出為零.操作流程如下:一次完整的數(shù)據(jù)傳輸為40bit,高位先出。</p><p>  數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整

64、數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù) +8bit校驗和數(shù)據(jù)傳送正確時校驗和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。</p><p>  用戶MCU發(fā)送一次開始信號后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機開始信號結(jié)束后,DHT11發(fā)送響應(yīng)信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,用戶可選擇讀取部分數(shù)據(jù).從模式下,DHT11接收到開始信

65、號觸發(fā)一次溫濕度采集,如果沒有接收到主機發(fā)送開始信號,DHT11不會主動進行溫濕度采集.采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。</p><p>  通訊過程如圖3.4所示</p><p>  圖3.4 通訊總流程圖</p><p>  總線空閑狀態(tài)為高電平,主機把總線拉低等待DHT11響應(yīng),主機把總線拉低必須大于18毫秒,保證DHT11能檢測到起始信號。DHT11接收到主機的開

66、始信號后,等待主機開始信號結(jié)束,然后發(fā)送80us低電平響應(yīng)信號.主機發(fā)送開始信號結(jié)束后,延時等待20-40us后, 讀取DHT11的響應(yīng)信號,主機發(fā)送開始信號可以切換到輸入模式,或者輸出高電平均可, 總線由上拉電阻拉高。</p><p>  圖35 數(shù)據(jù)傳輸準備階段</p><p>  總線為低電平,說明DHT11發(fā)送響應(yīng)信號,DHT11發(fā)送響應(yīng)信號后,再把總線拉高80us,準備發(fā)送數(shù)據(jù)

67、,每一bit數(shù)據(jù)都以50us低電平時隙開始,高電平的長短定了數(shù)據(jù)位是0還是1.格式見下面圖示.如果讀取響應(yīng)信號為高電平,則DHT11沒有響應(yīng),請檢查線路是否連接正常.當最后一bit數(shù)據(jù)傳送完畢后,DHT11拉低總線50us,隨后總線由上拉電阻拉高進入空閑狀態(tài)。</p><p>  數(shù)字0信號表示方法如圖所示</p><p>  圖3.6 送數(shù)據(jù)‘1’</p><p&

68、gt;  數(shù)字1信號表示方法.如圖所示</p><p>  圖3.7送數(shù)據(jù)‘1’</p><p>  3.3.3 溫濕度測量模塊電路設(shè)計</p><p>  DHT11測量電路原理圖如圖3.8</p><p>  圖3.8 DHT11測量電路接線圖</p><p>  圖中1腳為電源引腳,2腳接單片機的P1.0口

69、箱單片機傳輸數(shù)據(jù),3腳為空腳,4腳接地。正是由于DHT11是單線傳輸,所以接線電路簡單。</p><p><b>  3.4顯示模塊</b></p><p>  顯示部分是LCD1602液晶</p><p>  一般1602字符型液晶顯示器實物如圖3-9和3-10所示:</p><p>  圖3-9 液晶屏正面</

70、p><p>  圖3-10 液晶屏背面</p><p>  3.4.1 1602液晶簡介</p><p>  1602LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無差別,兩者尺寸差別如下圖所示:</p><p> ?。?)1602LCD主要技術(shù)參數(shù):</p><p

71、>  顯示容量:16×2個字符</p><p>  芯片工作電壓:4.5—5.5V</p><p>  工作電流:2.0mA(5.0V)</p><p>  模塊最佳工作電壓:5.0V</p><p>  字符尺寸:2.95×4.35(W×H)mm</p><p><b>

72、 ?。?)引腳功能</b></p><p>  1602LCD采用標準的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表10-13所示:</p><p>  3.4.2 指令說明</p><p>  1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表10-14所示:</p><p>  3.4.3 顯示電路原理圖<

73、;/p><p><b>  圖3.11</b></p><p><b>  3.5 報警模塊</b></p><p><b>  蜂鳴器工作原理</b></p><p>  圖3-12蜂鳴器工作原理圖</p><p>  在對我們所要系統(tǒng)設(shè)計的課題有了整體的

74、了解之后,需要先建立程序框架的流程圖,對整個系統(tǒng)設(shè)計劃分模塊,逐個模塊實現(xiàn)其功能,最終把各個子模塊合理的連接起來,構(gòu)成總的程序。主程序首先要對整個系統(tǒng)進行初始化,然后將采集到的溫濕度指令傳給系統(tǒng)的主流程圖如圖3-13所示(以溫度為例):</p><p>  圖 3-13主程序流程</p><p>  第4章系統(tǒng)軟件系統(tǒng)設(shè)計</p><p>  4.1 LCD1602

75、液晶顯示模塊系統(tǒng)設(shè)計</p><p>  LCD1602液晶顯示模塊可與STC89C52直接接口的。軟件流程圖如圖4-1所示:</p><p>  圖4-1 1602液晶顯示模塊程序流程圖</p><p>  4.2傳感器模塊系統(tǒng)設(shè)計</p><p>  DHT11傳感器使系統(tǒng)設(shè)計更加省時省力。DHT11傳感器模塊的軟件流程圖如下圖4-2所示

76、</p><p>  圖 4-2 DHT11傳感器模塊程序流程圖</p><p>  第5章 系統(tǒng)分析與調(diào)試</p><p>  本系統(tǒng)設(shè)計是在Keil C環(huán)境下開發(fā)的,Keil C軟件支持C語言的編程及調(diào)試,運用方便,是做C語言畢業(yè)系統(tǒng)設(shè)計者的首選。</p><p>  Keil C程序運行如圖5-1,5-2所示</p>&l

77、t;p>  圖5-1 keil C運行圖</p><p>  圖5-2程序燒錄運行圖</p><p>  在完成對程序的調(diào)試及燒錄之后,還需要對其進行演示,把開發(fā)板與電腦連上,設(shè)置好對應(yīng)的接口,完成供電及下載。開始供電后、稍等幾秒后LCD1602液晶屏能正常顯示當前溫濕度了之后,觀察當前溫濕度的變化。我們可以用手捂住DHT11傳感器,令其溫度的顯示超標,測試能否達到報警。經(jīng)過測試,本

78、系統(tǒng)設(shè)計完全可行,進而實現(xiàn)了對溫度的簡單控制。當然濕度控制原理跟溫度一樣。</p><p><b>  參考文獻</b></p><p>  [1] 郭天祥.51單片機C語言教程[M].電子工業(yè)出版社,2010 </p><p>  [2] C 語言程序設(shè)計(第二版) 譚浩強 </p><p>  [3]

79、單片機C語言應(yīng)用程序設(shè)計實例精講 戴佳, 戴衛(wèi)恒編著</p><p>  [4] 傳感器技術(shù)手冊 (美) Jon S. Wilson主編 林龍信 ... 等譯</p><p>  [5] 劉坤.51單片機應(yīng)用系統(tǒng)典型模塊開發(fā)大全[M].中國鐵道出版社,2011</p><p>  [6] 黃俊.電力電子技術(shù)[M].機械工

80、業(yè)出版社,2009.</p><p>  [7] 例說51單片機(C語言版)2008</p><p>  [8] 傳感器原理及應(yīng)用 彭杰綱編著 2012</p><p>  [9] 51單片機原理及應(yīng)用:基于Keil C與Proteus(第2版) 陳海宴 2013</p><p><b>  結(jié)論<

81、/b></p><p>  回顧起此次單片機課程設(shè)計,我仍感慨頗多,從理論到實踐,在畢業(yè)設(shè)計這段日子里,可以說得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手

82、能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,難免會遇到過各種各樣的問題。首先,說說焊接的美觀程度,這是我所驕傲的,我焊接的很美觀、明了。但在設(shè)計的過程中也發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深,把硬件焊接出來后,由于編程不熟,導(dǎo)致推遲了對硬件功能的檢測,而且在設(shè)計過程中也給指導(dǎo)老師增添了不少麻煩,老師的批評聲我會永遠記在心上,我以后會更加努力的!謝謝您。</p><p><

83、;b>  附 錄</b></p><p><b>  A 硬件原理圖</b></p><p>  B C語言部分程序</p><p>  #include <reg52.h></p><p>  #define uint unsigned int </p><p>

84、  #define uchar unsigned char</p><p>  typedef bit BOOL ; </p><p>  sbit io = P1^0 ;</p><p>  sbit bee=P1^1;</p><p>  sbit rs = P2^5 ; </p><p>  sbit rw =

85、 P2^6 ;</p><p>  sbit ep = P2^7 ;</p><p>  uchar data_byte;</p><p>  uchar RH,RL,TH,TL;</p><p>  /****************************延時程序****************************/</p>

86、;<p>  void delay(uchar ms)</p><p>  { // 延時子程序</p><p><b>  uchar i ;</b></p><p>  while(ms--)</p><p><b>  {</b></p><p&g

87、t;  for(i = 0 ; i<250;i++) ;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void delay1()//延時10us</p><p><b>  {</b></p><

88、p><b>  uchar i;</b></p><p><b>  i--;</b></p><p><b>  i--;</b></p><p><b>  i--;</b></p><p><b>  i--;</b>&l

89、t;/p><p><b>  i--;</b></p><p><b>  i--;</b></p><p><b>  }</b></p><p>  /********************報警程序部分*******************/</p><p

90、>  void warn() //報警函數(shù)</p><p><b>  {</b></p><p>  if(RH<30||RH>80||TH<10||TH>35) //濕度小于30或者濕度大于80;或者溫度小于10度,大于35度即會產(chǎn)生報警;</p><p>  // 如果需要重新設(shè)定 報警值,只需要修改此處

91、 數(shù)值就可以了!這樣你會修改了吧。</p><p><b>  { </b></p><p>  bee=0; //蜂嚀器報警</p><p><b>  } </b></p><p>  else bee=1; //關(guān)閉蜂嚀器</p><p><b>

92、  }</b></p><p>  /************************LCD模塊******************************************/</p><p>  BOOL lcd_bz()//測試LCD忙碌狀態(tài)</p><p><b>  { </b></p><

93、;p>  BOOL result ;</p><p><b>  rs = 0 ;</b></p><p><b>  rw = 1 ;</b></p><p><b>  ep = 1 ;</b></p><p>  result = (BOOL)(P0 & 0

94、x80) ;</p><p><b>  ep = 0 ;</b></p><p>  return result ; </p><p><b>  }</b></p><p>  void write_cmd(uchar cmd)// 寫指令</p><p><b&g

95、t;  { </b></p><p>  while(lcd_bz()) ;</p><p><b>  rs = 0 ;</b></p><p><b>  rw = 0 ;</b></p><p><b>  ep = 0 ;</b></p&g

96、t;<p>  P0 = cmd ;</p><p><b>  ep = 1 ;</b></p><p>  ep = 0 ; </p><p><b>  }</b></p><p>  void write_addr(uchar addr)//寫地址</p>&l

97、t;p><b>  { </b></p><p>  write_cmd(addr|0x80) ;</p><p><b>  }</b></p><p>  void lcd_init()// 初始化</p><p><b>  { </b>&l

98、t;/p><p>  write_cmd(0x38) ; </p><p><b>  delay(1);</b></p><p>  write_cmd(0x08) ; </p><p><b>  delay(1);</b></p><p>  write_cmd(0x01

99、) ; </p><p><b>  delay(1);</b></p><p>  write_cmd(0x06) ;</p><p><b>  delay(1);</b></p><p>  write_cmd(0x0c) ; </p><p><b>  d

100、elay(1);</b></p><p><b>  }</b></p><p>  /*********************** DHT11測試模塊***************************************/</p><p>  void start()//開始信號</p><p>

101、<b>  {</b></p><p><b>  io=1;</b></p><p><b>  delay1();</b></p><p><b>  io=0;</b></p><p>  delay(20);//>18ms</p>

102、<p><b>  io=1;</b></p><p>  delay1();//20-40us</p><p><b>  delay1();</b></p><p><b>  delay1();</b></p><p><b>  delay1()

103、;</b></p><p><b>  delay1();</b></p><p><b>  }</b></p><p>  uchar receive_byte()//接收一個字節(jié)</p><p><b>  {</b></p><p>

104、  uchar i,temp,count;</p><p>  for(i=0;i<8;i++)</p><p><b>  {</b></p><p><b>  count=2;</b></p><p>  while((!io)&&count++)//等待50us低電平結(jié)

105、束</p><p><b>  temp=0;</b></p><p>  delay1();delay1();delay1();delay1();</p><p>  if(io==1)temp=1;</p><p><b>  count=2;</b></p><p> 

106、 while((io)&&count++);</p><p>  if(count==1)break;</p><p>  data_byte<<=1;</p><p>  data_byte|=temp;</p><p><b>  }</b></p><p>  

107、return data_byte;</p><p><b>  }</b></p><p>  void receive()//接收數(shù)據(jù)</p><p><b>  {</b></p><p>  uchar T_H,T_L,R_H,R_L,check,num_check;</p>&

108、lt;p>  uchar count;</p><p>  start();//開始信號</p><p><b>  io=1;</b></p><p>  if(!io)//讀取DHT11響應(yīng)信號</p><p><b>  {</b></p><p><b&g

109、t;  count=2;</b></p><p>  while((!io)&&count++);//DHT11高電平80us是否結(jié)束</p><p><b>  count=2;</b></p><p>  while((io)&&count++);</p><p>  R_

110、H=receive_byte();</p><p>  R_L=receive_byte();</p><p>  T_H=receive_byte();</p><p>  T_L=receive_byte();</p><p>  check=receive_byte();</p><p>  io=0;//拉低延

111、時50us</p><p>  delay1();delay1();delay1();delay1();delay1();</p><p><b>  io=1;</b></p><p>  num_check=R_H+R_L+T_H+T_L;</p><p>  if(num_check=check)</p>

112、;<p><b>  {</b></p><p><b>  RH=R_H;</b></p><p><b>  RL=R_L;</b></p><p><b>  TH=T_H;</b></p><p><b>  TL=T_L;

113、</b></p><p>  check=num_check;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void showw() // 問

114、候語函數(shù)</p><p><b>  { </b></p><p>  lcd_init(); //初始化</p><p>  delay(10);</p><p>  display(0x03,'W');</p><p>  display(0x04,'e

115、9;);</p><p>  display(0x05,'l');</p><p>  display(0x06,'c');</p><p>  display(0x07,'o');</p><p>  display(0x08,'m');</p><p>

116、;  display(0x09,'e');</p><p>  delay(250); //短暫延時</p><p>  delay(250);</p><p>  delay(250);</p><p>  lcd_init(); //初始化</p><p>  delay(10);</p>

117、;<p>  /**********The Humi ***************************/</p><p>  display(0x00,'T') ; //The</p><p>  display(0x01,'h');</p><p>  display(0x02,'e');<

118、;/p><p>  display(0x04,'H'); //Humi</p><p>  display(0x05,'u');</p><p>  display(0x06,'m');</p><p>  display(0x07,'i');</p><p>

119、;  display(0x08,':');</p><p>  display(0x0c,'%'); // %RH</p><p>  display(0x0d,'R');</p><p>  display(0x0e,'H');</p><p>  /**********The

120、 Temp ***************************/</p><p>  display(0x40,'T') ; //The</p><p>  display(0x41,'h');</p><p>  display(0x42,'e');</p><p>  display(

121、0x44,'T'); //Temp</p><p>  display(0x45,'e');</p><p>  display(0x46,'m');</p><p>  display(0x47,'p');</p><p>  display(0x48,':')

122、;</p><p>  display(0x4c,0xdf); // 度</p><p>  display(0x4d,'C');</p><p><b>  }</b></p><p>  /***************************主程序**************************

123、*******/</p><p>  void main()</p><p><b>  {</b></p><p>  showw(); //顯示問候語 和名字</p><p><b>  while(1)</b></p><p><b>  {</b

124、></p><p>  receive();</p><p>  display(0x0a,RH/10+0x30); //濕度顯示</p><p>  display(0x0b,RH%10+0x30);</p><p>  display(0x4a,TH/10+0x30); //溫度顯示</p><p>  

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論