版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比極高等優(yōu)點(diǎn)。</p&g
2、t;<p> 8051單片機(jī)是常用于控制的芯片,在智能儀器儀表、工業(yè)檢測控制、機(jī)電一體化等方面取得了令人矚目的成果,用其作為溫濕度控制系統(tǒng)的實(shí)力也很多。使用8051單片機(jī)能夠?qū)崿F(xiàn)溫濕度全程的自動(dòng)控制,而且8051單片機(jī)易于學(xué)習(xí)掌握,性價(jià)比高。</p><p> 使用8051型單片機(jī)設(shè)計(jì)溫濕度控制系統(tǒng),可以即時(shí)精確的反應(yīng)溫室內(nèi)的溫度以及適度的變化。完成諸如升溫到特定的溫度、降溫到特定的溫度。在溫度
3、上下限范圍內(nèi)保持恒溫等多種控制方式,在濕度控制方面也是如此。將此系統(tǒng)應(yīng)用到溫室當(dāng)中無疑為植被生長提供了更加適宜的環(huán)境。對(duì)于大棚種植和花圃、花卉栽培,必須在某些特定環(huán)境安裝溫濕度裝置對(duì)其進(jìn)行監(jiān)控。本系統(tǒng)可以及時(shí)、精確的反映室內(nèi)的溫度以及濕度的變化,能夠滿足溫濕度的控制要求。</p><p> 關(guān)鍵詞: 8051 DHT11 復(fù)合傳感器 性價(jià)比極高 </p><p><b>
4、; ABSTRACT</b></p><p> DHT11 digital temperature and humidity sensors is a section contains the already calibration digital signal output humidity composite sensor. It used special digital module col
5、lection technology and humidity sensor technology to ensure product has high reliability and excellent long-term stability. Sensors including a resistive feeling wet components and a NTC (temperature measuring element, a
6、nd with a high-performance 8-bit microcontroller connections. So the product has excellent quality, supe</p><p> 8051 is commonly used in the control chip, smart instrumentation, industrial inspection contr
7、ol, mechatronics achieved impressive results, also a lot of its strength as the temperature and humidity control system. Able to achieve automatic control of temperature and humidity throughout 8051, the 8051 is easy to
8、learn and master the high cost-effective. Use a 8051-type microcontroller design temperature and humidity control system for, instant accurate reaction greenhouse temperature and modera</p><p><b> 目
9、 錄</b></p><p><b> 前 言1</b></p><p> 第一章系統(tǒng)總體設(shè)計(jì)2</p><p> 1.1系統(tǒng)實(shí)現(xiàn)的主要功能5</p><p> 1.2系統(tǒng)的工作原理簡介6</p><p> 1.3 總體構(gòu)成9</p>&l
10、t;p> 1.3.1總體設(shè)計(jì)框圖6</p><p> 1.3.2總體設(shè)計(jì)及工作進(jìn)程7</p><p> 第二章系統(tǒng)的硬件設(shè)計(jì)10</p><p> 2.1 主控模塊設(shè)計(jì)10</p><p> 2.1.1 AT89S52基本特性15</p><p> 2.1.2 AT89S52引腳說明
11、15</p><p> 2.1.3 復(fù)位電路設(shè)計(jì)15</p><p> 2.1.4 外部振晶時(shí)鐘電路設(shè)計(jì)15</p><p> 2.2 DHT11傳感器模塊設(shè)計(jì)12</p><p> 2.2.1 DHT11傳感器簡介15</p><p> 2.2.2DHT11傳感器模塊電路設(shè)計(jì)16</p&g
12、t;<p> 2.3 1602液晶顯示模塊設(shè)計(jì)15</p><p> 2.3.1 1602液晶顯示屏簡介15</p><p> 2.3.21602液晶顯示模塊16</p><p> 2.4 閾值設(shè)置模塊10</p><p> 2.5 報(bào)警模塊12</p><p> 第三章系統(tǒng)的軟
13、件設(shè)計(jì)18</p><p> 3.1 總體程序框架流程圖18</p><p> 3.2 1602液晶顯示模塊程序設(shè)計(jì)18</p><p> 3.3 傳感器模塊程序設(shè)計(jì)18</p><p> 第四章調(diào)試過程和注意的問題24</p><p> 4.1程序下載軟件說明 24</p>&l
14、t;p> 4.2設(shè)計(jì)中遇到的問題及解決24</p><p> 4.2.1遇到的硬件問題及解決24</p><p> 4.2.2遇到的軟件問題及解決25</p><p><b> 結(jié) 論26</b></p><p><b> 謝 辭27</b></p>&l
15、t;p><b> 參考文獻(xiàn)28</b></p><p><b> 附 錄29</b></p><p><b> 前 言</b></p><p> 溫度與濕度與人們的生活息息相關(guān)。在工農(nóng)業(yè)生產(chǎn)、氣象、環(huán)保、國防、科研等部門,經(jīng)常需要對(duì)環(huán)境溫度與濕度進(jìn)行測量及控制。準(zhǔn)確測量溫濕度在生
16、物制藥、食品加工、造紙等行業(yè)更是至關(guān)重要的。傳統(tǒng)的溫度計(jì)是用水銀來顯示的,雖然結(jié)構(gòu)簡單、價(jià)格便宜,但是它的精確度不高,不易讀數(shù)。傳統(tǒng)濕度計(jì)采用干濕球顯示法,不僅復(fù)雜而且測量精度不高。而采用單片機(jī)對(duì)溫濕度進(jìn)行測量控制,不僅具有控制方便,簡單和靈活等優(yōu)點(diǎn),而且可以大幅度提高溫度控制的技術(shù)指標(biāo)。用LED數(shù)碼管來顯示溫濕度的數(shù)值,看起來更加直觀。</p><p> 測量溫濕度的關(guān)鍵是溫濕度傳感器。過去測量溫度與濕度是分
17、開的。隨著技術(shù)的進(jìn)步和人們生活的需要出現(xiàn)了溫濕度傳感器。溫度傳感器的發(fā)展經(jīng)歷了3個(gè)階段:傳統(tǒng)的分立式溫度傳感器、模擬集成溫度傳感器、智能集成溫度傳感器。目前,國際上新型溫度傳感器正從模擬式向數(shù)字式、從集成化向智能化、網(wǎng)絡(luò)化的方向發(fā)展。溫度傳感器也是經(jīng)歷了這樣一個(gè)階段逐漸走向數(shù)字智能化。</p><p> 現(xiàn)今國內(nèi)外用的最多的溫濕度傳感器是SHTXX 系列。不過很多客戶都反應(yīng)SHTXX 不方便手工焊接,很容易在焊
18、接的時(shí)候,由于溫度過高造成傳感器直接損害,因此利用SHTXX 傳感器重新在國內(nèi)封裝得到了DHTXX系列。SHTXX系列單芯片傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專利的工業(yè)COMS過程微加工技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個(gè)電容式聚合體測濕元件和一個(gè)能隙式測溫元件,并與一個(gè)14位的A/D器以及串行接口電路在同一芯片上實(shí)現(xiàn)無縫鏈接,從而具有超快響應(yīng),抗干擾能力強(qiáng),性價(jià)比高等優(yōu)點(diǎn)。<
19、/p><p> 采用DHT11數(shù)字溫濕度傳感器與單片機(jī)AT89S52相連外圍電路上比較簡單,所以,本次設(shè)計(jì)以DHT11數(shù)字溫濕度傳感器為例,介紹基于單片機(jī)的數(shù)字溫濕度計(jì)的設(shè)計(jì)。</p><p> 第1章 總體設(shè)計(jì)概述</p><p> 1.1 系統(tǒng)實(shí)現(xiàn)的主要功能</p><p> 本系統(tǒng)所要實(shí)現(xiàn)的功能是:</p><p
20、> 1.溫濕度實(shí)時(shí)檢測及顯示。通過LCD1602實(shí)時(shí)地顯示傳感器DHT11檢測到的溫濕度值,并且固定時(shí)間(5s)檢測更新顯示一次。</p><p> 2.報(bào)警閾值的手動(dòng)設(shè)置。通過三個(gè)按鍵實(shí)現(xiàn)溫濕度閾值的設(shè)置,使得系統(tǒng)更加人性化、智能化,具有更高的實(shí)用價(jià)值。</p><p> 3.當(dāng)溫濕度超出閾值時(shí)能自動(dòng)報(bào)警。通過蜂鳴器發(fā)出聲音實(shí)現(xiàn)報(bào)警,以提醒用戶做出相應(yīng)的改進(jìn)措施。</p
21、><p> 1.2 系統(tǒng)的工作原理簡介</p><p> 總體來說,本次設(shè)計(jì)主要涉及了溫濕度的測量、顯示以及實(shí)現(xiàn)簡單控制。硬件方面有五個(gè)模塊,即AT89S52單片機(jī)主控模塊、傳感器模塊、LCD1602液晶顯示模塊、報(bào)警模塊以及閾值設(shè)置模塊。其中主控模塊已經(jīng)給出,我們只需適當(dāng)增加驅(qū)動(dòng)電路即可。</p><p> 傳感器模塊使用的是DHT11數(shù)字溫濕度傳感器。通過DH
22、T11檢測出當(dāng)前環(huán)境下的溫濕度,將所測數(shù)據(jù)交給AT單片機(jī)進(jìn)行分析和處理,并分別存入不同數(shù)組以便顯示時(shí)候用。其中,為了顯示穩(wěn)定,本系統(tǒng)每間隔5s采集一次數(shù)據(jù)送入單片機(jī)。</p><p> 1602液晶顯示模塊就是實(shí)現(xiàn)溫濕度檢測值和閾值的顯示。其分兩行顯示,上邊一行顯示濕度,下邊顯示溫度值,兩行的末尾兩位是閾值顯示位,正常工作的時(shí)候可以通過按鍵將其隱藏,需要調(diào)節(jié)閾值時(shí),再顯示出來方便調(diào)整,相對(duì)構(gòu)建了比較友好的人機(jī)交
23、互。</p><p> 蜂鳴器報(bào)警模塊實(shí)現(xiàn)了檢測值超過閾值的時(shí)候鳴響報(bào)警。本系統(tǒng)采用的是有源蜂鳴器,因此無論溫度還是濕度超出范圍蜂鳴器都是以相同頻率的聲音進(jìn)行報(bào)警提示。提醒工作人員此時(shí)溫度濕度數(shù)據(jù)出現(xiàn)異常、需及時(shí)調(diào)整,及時(shí)啟用升溫器、加濕器、降溫風(fēng)扇以及噴霧器來有效的調(diào)整實(shí)驗(yàn)室內(nèi)溫濕度。</p><p> 閾值設(shè)置模塊通過三個(gè)按鍵來實(shí)現(xiàn)閾值設(shè)置功能的。使得在不同環(huán)境下設(shè)置閾值提供了極大
24、的方便,不需要每次都在程序里改動(dòng)然后再燒錄,省去了復(fù)雜的過程。</p><p> 1.3 總體設(shè)計(jì)簡介</p><p> 1.3.1總體設(shè)計(jì)框圖</p><p> 按照系統(tǒng)功能的具體要求,在保證實(shí)現(xiàn)其功能的然礎(chǔ)上,盡可能降低系統(tǒng)成本??傮w設(shè)計(jì)方案圍繞上述思想,初步確定系統(tǒng)的方案如圖1-1所示。</p><p> 圖1—1系統(tǒng)總體設(shè)計(jì)&
25、lt;/p><p> 從圖中可以看出,系統(tǒng)有微處理器模塊、DHT11傳感器模塊、閾值設(shè)置模塊、1602字符液晶顯示模塊、報(bào)警模塊組成。在方案設(shè)計(jì)中,外圍模塊采用并行控制,以簡化系統(tǒng),提高控制精度。該設(shè)計(jì)以AT89S52單片機(jī)為控制核心,實(shí)現(xiàn)溫濕度采集及顯示的基本功能。</p><p> 1.3.2 總體設(shè)計(jì)工作進(jìn)程</p><p> 本次設(shè)計(jì)相對(duì)而言有兩個(gè)部分弄明
26、白了就能夠設(shè)計(jì)好了。一個(gè)是液晶顯示部分,一個(gè)是DHT11傳感器部分。傳感器比較陌生,以前沒有接觸太多,液晶相對(duì)而言比較容易點(diǎn)。因此這次先攻克了液晶顯示部分,然后再拿下傳感器部分。整個(gè)流程如下圖所示:</p><p> 圖1-2 整體設(shè)計(jì)流程圖</p><p> 第2章 系統(tǒng)硬件設(shè)計(jì)</p><p> 2.1 主控模塊設(shè)計(jì)</p><p>
27、; 本次課程設(shè)計(jì)使用的主控模塊是一個(gè)AT89S52為核心的最小系統(tǒng)。使用的時(shí)候?qū)1口作為與液晶的數(shù)據(jù)傳輸口,P2口作為與傳感器DHT11通信的數(shù)據(jù)口,P2.1~P2.3作為閾值模塊中三個(gè)按鍵的接口,P2.4~P2.6作為分別于液晶的RS、R/W和E端相連接,以控制液晶顯示,P2.7接蜂鳴器控制端,以控制報(bào)警模塊工作。</p><p> 2.1.1 基本特性</p><p> AT8
28、9S52單片機(jī)是一款低功耗、低電壓、高性能CMOS8位單片機(jī),片內(nèi)含8KB(可經(jīng)受1000次擦寫周期)的FLASH可編程可反復(fù)擦寫的只讀程序存儲(chǔ)器(EPROM),器件采用CMOS工藝和ATMEL公司的高密度,非易失性存儲(chǔ)器(NURAM)技術(shù)制造,其輸出引腳和指令系統(tǒng)都與MCS-51兼容,片內(nèi)的FLASH存儲(chǔ)器允許在系統(tǒng)內(nèi)可改編程序或用常規(guī)的非易失性存儲(chǔ)編程器來編程。因此,AT89C52是一種功能強(qiáng),靈活性高且價(jià)格合理的單片機(jī),可方便的應(yīng)
29、用在各個(gè)控制領(lǐng)域[1]。</p><p> 1.8KB可改編程序FLASH存儲(chǔ)器;</p><p> 2.全表態(tài)工作 :0~24HZ;</p><p> 3.256X8字節(jié)內(nèi)部RAM;</p><p> 4.32個(gè)外部雙向輸入,輸出(I、O)口;</p><p> 2.1.2 引腳說明</p>
30、<p><b> VCC:電源電壓。</b></p><p><b> GND:地。</b></p><p> P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)線復(fù)用口。作為輸出口時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口寫“1”可作為高阻抗輸入端。</p><p> 在訪問外
31、部數(shù)據(jù)儲(chǔ)存器或程序儲(chǔ)存器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。FLASH編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。</p><p> P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作為輸入口。作為輸入口使用
32、時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。FLASH編程和程序校驗(yàn)期間,P1接收低8位地址。</p><p> P2口:P2是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作為輸入口。作為輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。在訪問外部程序
33、儲(chǔ)存器或16位地址的外部數(shù)據(jù)儲(chǔ)存器(例如執(zhí)行MOVX@DPTR指令)時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)儲(chǔ)存器(例如執(zhí)行MOVX@RI指令)時(shí),P2口線上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中R2寄存器的內(nèi)容),在整個(gè)訪問期間不改變。FLASH編程或校驗(yàn)時(shí),P2亦接收高位地址和其他控制信號(hào)。</p><p> P3口:P3是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P3的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或
34、輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作為輸入口。作為輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。</p><p> P3除了作為一般的I/O口線外,更重要的用途是它的第二功能,具體功能說明如表2-1。</p><p> P3口還接收一些用于FLASH閃速存儲(chǔ)器編程和程序校的控制信號(hào)。</p>
35、;<p> RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。</p><p> ALE/PROG:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。</p><p> 表3-1 P3口的第二功能表</p><p> 即使不訪問外部存儲(chǔ)器,ALE仍以是時(shí)鐘振蕩頻率的1
36、/6輸出固定的正脈沖信號(hào),因此他可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。</p><p> 如有必要,可通過對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令A(yù)LE才會(huì)被激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置AL
37、E無效。</p><p> PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT80C51由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,這兩次有效的PSEN信號(hào)不出現(xiàn)。</p><p> EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序儲(chǔ)存器(地址為0000H-FFFFH),EA端必須保持低電
38、平(接地)。需要注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(Vcc端),CPU則執(zhí)行內(nèi)部程序儲(chǔ)存器中的指令。</p><p> FLASH儲(chǔ)存器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件是使用12v編程電壓。</p><p> XTAL1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。</p><p>
39、 XTAL2:振蕩器反相放大器的輸出端。</p><p> 2.1.3 復(fù)位電路設(shè)計(jì)</p><p> MCS-51的復(fù)位輸入引腳RST為MCS-51提供了初始化的手段,可以使程序從指定處開始執(zhí)行,在MCS-51的時(shí)鐘電路工作后,只要RST引腳上出現(xiàn)超過兩個(gè)機(jī)器周期以上的高電平時(shí),即可產(chǎn)生復(fù)位的操作,只要RST保持高電平,則MCS-51循環(huán)復(fù)位,只有單RET由高電平變成低電平以后,MC
40、S-51才從0000H地址開始執(zhí)行程序,本系統(tǒng)采用按鍵復(fù)位方式的復(fù)位電路。</p><p><b> 圖3-1 復(fù)位電路</b></p><p> 2.1.4 外部晶振時(shí)鐘電路設(shè)計(jì)</p><p> AT89S52的時(shí)鐘可以由兩種方式產(chǎn)生,一種是內(nèi)部方式,利用芯片內(nèi)部的振蕩電路;另外一種為外部方式,本論文根據(jù)實(shí)際需要和簡便,采用內(nèi)部振蕩方
41、式,MCS-51內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端,這個(gè)放大器與作為反饋元件的片外晶體或陶瓷諧振器一起構(gòu)成了一個(gè)自激振蕩器。</p><p> AT89S52雖然有內(nèi)部振蕩電路,但要形成時(shí)鐘,必須外接元件,所以實(shí)際構(gòu)成的振蕩時(shí)鐘電路,外接晶振以及電容C1和C2構(gòu)成了并聯(lián)諧振電路接在放大器的反饋回路中,對(duì)接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會(huì)
42、影響振蕩頻率的高低,振蕩器的穩(wěn)定性,起振的快速性和溫度的穩(wěn)定性。晶振的頻率可在1.2MHZ~12MHZ之間任選,電容C1和C2的典型值在20pf~100pf之間選擇,由于本系統(tǒng)用到定時(shí)器,為了方便計(jì)算,采用了12MHZ的晶振,采用電容選擇30pf。</p><p> 圖3-2 晶振電路的設(shè)計(jì)</p><p> 2.2 DHT11傳感器模塊接口設(shè)計(jì)</p><p>
43、; 2.2.1 DHT11傳感器簡介</p><p> DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比極高等優(yōu)點(diǎn)。每個(gè)DHT11傳感器都在極為精確的濕度校驗(yàn)室
44、中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲(chǔ)存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號(hào)的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號(hào)傳輸距離可達(dá)20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場合的最佳選則。產(chǎn)品為 4 針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。</p><p><b> ?。?)引腳介紹:</b></p>
45、<p> Pin1:(VDD),電源引腳,供電電壓為3~5.5V。</p><p> Pin2:(DATA),串行數(shù)據(jù),單總線。</p><p> Pin3:(NC),空腳,請懸浮。</p><p> Pin4:(VDD),接地端,電源負(fù)極。</p><p><b> ?。?)接口說明 :</b>&l
46、t;/p><p> 建議連接線長度短于20米時(shí)用5K上拉電阻,大于20米時(shí)根據(jù)實(shí)際情況使用合適的上拉電阻。</p><p> 圖2-2 DHT11典型應(yīng)用電路</p><p> ?。?)數(shù)據(jù)幀的描述:</p><p> DATA 用于微處理器與 DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時(shí)間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分
47、,具體格式在下面說明,當(dāng)前小數(shù)部分用于以后擴(kuò)展,現(xiàn)讀出為零.操作流程如下:</p><p> 一次完整的數(shù)據(jù)傳輸為40bit,高位先出。</p><p> 數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)</p><p> +8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)</p><p> 數(shù)據(jù)傳送正確時(shí)校驗(yàn)和數(shù)據(jù)等于“8bit濕度整
48、數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。</p><p> ?。?)電氣特性:VDD=5V,T = 25℃,除非特殊標(biāo)注</p><p> 表2-1 DHT11的電氣特性</p><p> 注:采樣周期間隔不得低于1秒鐘。</p><p><b> ?。?)時(shí)序描述:</b
49、></p><p> 用戶MCU發(fā)送一次開始信號(hào)后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開始信號(hào)結(jié)束后,DHT11發(fā)送響應(yīng)信號(hào),送出40bit的數(shù)據(jù),并觸發(fā)一次信號(hào)采集,用戶可選擇讀取部分?jǐn)?shù)據(jù).從模式下,DHT11接收到開始信號(hào)觸發(fā)一次溫濕度采集,如果沒有接收到主機(jī)發(fā)送開始信號(hào),DHT11不會(huì)主動(dòng)進(jìn)行溫濕度采集.采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。</p><p> 通訊過程如下
50、圖2-3所示:</p><p><b> 圖2-3通訊過程圖</b></p><p> 總線空閑狀態(tài)為高電平,主機(jī)把總線拉低等待DHT11響應(yīng),主機(jī)把總線拉低必須大于18毫秒,保證DHT11能檢測到起始信號(hào)。DHT11接收到主機(jī)的開始信號(hào)后,等待主機(jī)開始信號(hào)結(jié)束,然后發(fā)送80us低電平響應(yīng)信號(hào).主機(jī)發(fā)送開始信號(hào)結(jié)束后,延時(shí)等待20-40us后, 讀取DHT11的響
51、應(yīng)信號(hào),主機(jī)發(fā)送開始信號(hào)后,可以切換到輸入模式,或者輸出高電平均可, 總線由上拉電阻拉高。</p><p> 圖2-4通訊初始化要求圖</p><p> 總線為低電平,說明DHT11發(fā)送響應(yīng)信號(hào),DHT11發(fā)送響應(yīng)信號(hào)后,再把總線拉高80us,準(zhǔn)備發(fā)送數(shù)據(jù),每一bit數(shù)據(jù)都以50us低電平時(shí)隙開始,高電平的長短定了數(shù)據(jù)位是0還是1.格式見下面圖示.如果讀取響應(yīng)信號(hào)為高電平,則DHT11
52、沒有響應(yīng),請檢查線路是否連接正常.當(dāng)最后一bit數(shù)據(jù)傳送完畢后,DHT11拉低總線50us,隨后總線由上拉電阻拉高進(jìn)入空閑狀態(tài)。</p><p> 數(shù)字0信號(hào)表示方法如下圖2-5所示:</p><p> 圖2-5數(shù)字0信號(hào)電平變化圖</p><p> 數(shù)字1信號(hào)表示方法如下圖2-6所示</p><p> 圖2-6數(shù)字1數(shù)據(jù)線電平變化圖
53、</p><p> 2.2.2 DHT11傳感器模塊電路設(shè)計(jì)</p><p> DHT11傳感器連接單片機(jī)相對(duì)比較簡單。單片機(jī)的P2.0口用來發(fā)收串行數(shù)據(jù),即數(shù)據(jù)口。連接傳感器的Pin2(單總線,串行數(shù)據(jù))。由于測量范圍電路小于20米,加一個(gè)5K的上拉電阻,因此在傳感器的Pin2口與電源之間連接一個(gè)5K電阻。而傳感器的電源端口Pin1和Pin4分別接單片機(jī)的VCC和GND端。傳感器的第
54、三腳懸浮放置。DHT11傳感器原件的電路原理圖如下2-7所示:</p><p> 圖2-7 DHT11電路原理圖</p><p> 2.3 1602液晶顯示模塊設(shè)計(jì)</p><p> 2.3.1 1602液晶顯示屏簡介</p><p> 1602液晶是一種工業(yè)字符型液晶,能夠同時(shí)顯示16x02 即32個(gè)字符。(16列2行)。在日常生活
55、中,我們對(duì)液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品的通過器件,如在計(jì)算器、萬用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號(hào)和圖形。在單片機(jī)的人機(jī)交流界面中,一般的輸出方式有以下幾種:發(fā)光管、LED數(shù)碼管、液晶顯示器。發(fā)光管和LED數(shù)碼管比較常用,軟硬件都比較簡單。</p><p><b> ?。ㄒ唬┮_說明</b></p><p>&
56、lt;b> VSS:電源地。</b></p><p> VCC:電源正極,4.5-5.5V,通常使用5V電壓。</p><p> VO:LCD對(duì)比度調(diào)節(jié)端,電壓調(diào)節(jié)范圍為0-5V。接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,但對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,因此通常使用一個(gè)10K的電位器來調(diào)整對(duì)比度,或者直接串接一個(gè)電阻到地。</p><p>
57、 RS:MCU寫入數(shù)據(jù)或者指令選擇端。MCU要寫入指令時(shí),使RS為低電平;MCU要寫入數(shù)據(jù)時(shí),使RS為高電平。</p><p> R/W:讀寫控制端。R/W為高電平時(shí),讀取數(shù)據(jù);R/W為低電平時(shí),寫入數(shù)據(jù)。</p><p> E:LCD模塊使能信號(hào)控制端。寫數(shù)據(jù)時(shí),需要下降沿觸發(fā)模塊。</p><p> DB0-DB7:8位數(shù)據(jù)總線,三態(tài)雙向。如果MCU的I/
58、O口資源緊張的話,該模塊也可以只使用4位數(shù)據(jù)線D4-D7接口傳送數(shù)據(jù)。本充電器就是采用4位數(shù)據(jù)傳送方式。</p><p> BLA: LED背光正極。需要背光時(shí),BLA串接一個(gè)限流電阻接VDD,BLK接地,實(shí)測該模塊的背光電流為50mA左右。</p><p> BLK: LED背光地端。</p><p><b> ?。ǘ╋@示地址</b>&
59、lt;/p><p> 1602字符液晶顯示可分為上下兩部分各16位進(jìn)行顯示,處于不同行時(shí)的字符顯示地址如下:</p><p><b> ?。ㄈ┲噶罴?lt;/b></p><p> 1602通過D0~D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。 </p><p> 顯示模式設(shè)置: (初始化) </p><p>
60、 0011 1000 [0x38] 設(shè)置16×2顯示,5×7點(diǎn)陣,8位數(shù)據(jù)接口; </p><p> 顯示開關(guān)及光標(biāo)設(shè)置:(初始化) </p><p> 0000 1DCB D顯示(1有效)、C光標(biāo)顯示(1有效)、B光標(biāo)閃爍(1有效) </p><p> 0000 01NS N=1(讀或?qū)懸粋€(gè)字符后地址指針加1 &光標(biāo)加1), &
61、lt;/p><p> N=0(讀或?qū)懸粋€(gè)字符后地址指針減1 &光標(biāo)減1), </p><p> S=1 且 N=1 (當(dāng)寫一個(gè)字符后,整屏顯示左移) </p><p> s=0 當(dāng)寫一個(gè)字符后,整屏顯示不移動(dòng) </p><p><b> 數(shù)據(jù)指針設(shè)置: </b></p><p> 數(shù)
62、據(jù)首地址為80H,所以數(shù)據(jù)地址為80H+地址碼(0-27H,40-67H) </p><p><b> 其他設(shè)置: </b></p><p> 01H(顯示清屏,數(shù)據(jù)指針=0,所有顯示=0);02H(顯示回車,數(shù)據(jù)指針=0)。 </p><p> 通常推薦的初始化過程: </p><p><b> 延時(shí)
63、15ms </b></p><p><b> 寫指令38H </b></p><p><b> 延時(shí)5ms </b></p><p><b> 寫指令38H </b></p><p><b> 延時(shí)5ms </b></p>
64、<p><b> 寫指令38H </b></p><p><b> 延時(shí)5ms </b></p><p> ?。ㄒ陨隙疾粰z測忙信號(hào)) </p><p> (以下都要檢測忙信號(hào)) </p><p><b> 寫指令38H </b></p><
65、;p> 寫指令08H 關(guān)閉顯示 </p><p> 寫指令01H 顯示清屏 </p><p> 寫指令06H 光標(biāo)移動(dòng)設(shè)置 </p><p> 寫指令0cH 顯示開及光標(biāo)設(shè)置 </p><p><b> 完畢 </b></p><p> Proteus仿真 </p>
66、<p> 使用Proteus仿真1602--即LM016L--依照數(shù)據(jù)手冊說明可能遇到困難,可以嘗試采用以下方案解決: </p><p> 1、數(shù)據(jù)手冊中可能介紹1602內(nèi)部D0~D7已有上拉,可以使用P0口直接驅(qū)動(dòng)。在Proteus里L(fēng)M016L內(nèi)部可能沒有,應(yīng)該人為 </p><p> 加上拉電阻。建議不要使用排阻,使用普通電阻一個(gè)一個(gè)拉應(yīng)該可以解決問題; </
67、p><p> 2、可能碰到不能檢測忙信號(hào)的問題,嘗試使用延時(shí)把忙信號(hào)拖過去。</p><p> 2.3.2 1602液晶顯示模塊</p><p> 液晶顯示的原理是利用液晶的物理特性, 通過電壓對(duì)其顯示區(qū)域進(jìn)行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動(dòng)、易于實(shí)現(xiàn)全彩色顯示的特點(diǎn),目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、數(shù)字
68、攝像機(jī)、PDA移動(dòng)通信工具等眾多領(lǐng)域。</p><p> 其中Vo腳,即第三引腳加了一個(gè)10K的滑動(dòng)變阻器,該變阻器的目的是調(diào)節(jié)液晶的顯示對(duì)比度,通過調(diào)節(jié)滑阻改變Vo的電壓值,從而使液晶顯示在最清晰的狀態(tài)。</p><p> 圖2-9 1602顯示模塊原理圖</p><p> 2.4 閾值設(shè)置模塊</p><p> 圖2—10 閾值
69、設(shè)置模塊原理圖</p><p> 從上圖可以看到。從上到下依次設(shè)為K1、K2和K3三個(gè)按鍵,其連接單片機(jī)引腳分別是P2.1~P2.3三個(gè)引腳。</p><p> 根據(jù)該模塊使得閾值設(shè)置分為三個(gè)模塊,分別是濕度設(shè)置模式、溫度設(shè)置模式和關(guān)閾值顯示模式。K1為模式選擇鍵,按一次為濕度設(shè)置模式,按兩次是溫度設(shè)置模式,按三次是關(guān)閾值顯示模式。K2和K3只有在濕度和溫度設(shè)置模式下才有效,分別為閾值
70、增加和閾值減小。</p><p> 閾值設(shè)置模塊是后來加進(jìn)來的部分,設(shè)置非常人性化,一般人都可以操 作,而不用每次設(shè)置閾值都到程序里邊去設(shè)置</p><p><b> 報(bào)警模塊</b></p><p> ?。ㄒ唬?/p>
71、 蜂鳴器的介紹</p><p> 1. 蜂鳴器的作用 蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。</p><p> 2. 蜂鳴器的分類 蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。</p><p> 3. 蜂鳴器的電路圖形符號(hào) 蜂鳴器在電路
72、中用字母“H”或“HA”(舊標(biāo)準(zhǔn)用“FM”、“LB”、“JD”等)表示。</p><p> ?。ǘ?蜂鳴器的結(jié)構(gòu)原理</p><p> 1.壓電式蜂鳴器 壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。有的壓電式蜂鳴器外殼上還裝有發(fā)光二極管。</p><p> 多諧振蕩器由晶體管或集成電路構(gòu)成。當(dāng)接通電源后(1.5~15V直流工作電壓
73、),多諧振蕩器起振,輸出1.5~2.5kHZ的音頻信號(hào),阻抗匹配器推動(dòng)壓電蜂鳴片發(fā)聲。</p><p> 壓電蜂鳴片由鋯鈦酸鉛或鈮鎂酸鉛壓電陶瓷材料制成。在陶瓷片的兩面鍍上銀電極,經(jīng)極化和老化處理后,再與黃銅片或不銹鋼片粘在一起。</p><p> 2.電磁式蜂鳴器 電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動(dòng)膜片及外殼等組成。</p><p> 接通電源后,振
74、蕩器產(chǎn)生的音頻信號(hào)電流通過電磁線圈,使電磁線圈產(chǎn)生磁場。振動(dòng)膜片在電磁線圈和磁鐵的相互作用下,周期性地振動(dòng)發(fā)聲。</p><p> ?。ㄈ┯性捶澍Q器和無源蜂鳴器</p><p> 現(xiàn)在市場上出售的一種小型蜂鳴器因其體積小(直徑只有l(wèi)lmm)、重量輕、價(jià)格低、結(jié)構(gòu)牢靠,而廣泛地應(yīng)用在各種需要發(fā)聲的電器設(shè)備、電子制作和單片機(jī)等電路中;分為有源蜂鳴器和無源蜂鳴器。</p>&l
75、t;p> 從外觀上看,兩種蜂鳴器好像一樣,但仔細(xì)看,兩者的高度略有區(qū)別,有源蜂鳴器,高度為9mm,而無源蜂鳴器的高度為8mm。如將兩種蜂鳴器的引腳郡朝上放置時(shí),可以看出有綠色電路板的一種是無源蜂鳴器,沒有電路板而用黑膠封閉的一種是有源蜂鳴器。</p><p> 迸一步判斷有源蜂鳴器和無源蜂鳴器,還可以用萬用表電阻檔Rxl檔測試:用黑表筆接蜂鳴器 "+"引腳,紅表筆在另一引腳上來回碰觸
76、,如果觸發(fā)出咔、咔聲的且電阻只有8Ω(或16Ω)的是無源蜂鳴器;如果能發(fā)出持續(xù)聲音的,且電阻在幾百歐以上的,是有源蜂鳴器。</p><p> 有源蜂鳴器直接接上額定電源(新的蜂鳴器在標(biāo)簽上都有注明)就可連續(xù)發(fā)聲;而無源蜂鳴器則和電磁揚(yáng)聲器一樣,需要接在音頻輸出電路中才能發(fā)聲。</p><p> 圖2-11 蜂鳴器原理圖</p><p> 系統(tǒng)在設(shè)計(jì)時(shí)候采用的是
77、有源蜂鳴器,只要給蜂鳴器一定的電流值,蜂鳴器就可以按照一定的頻率發(fā)聲,但是單片機(jī)引腳的驅(qū)動(dòng)電流比較小,不足以驅(qū)動(dòng)蜂鳴器工作,因此采用了一個(gè)NPN的三極管C9013來驅(qū)動(dòng)。</p><p> 第3章 系統(tǒng)軟件設(shè)計(jì)</p><p> 3.1總體程序框架流程圖</p><p> 在對(duì)我們所要設(shè)計(jì)的課題有了整體的了解之后,需要先建立程序框架的流程圖,對(duì)整個(gè)設(shè)計(jì)劃分模塊
78、,逐個(gè)模塊實(shí)現(xiàn)其功能,最終把各個(gè)子模塊合理的連接起來,構(gòu)成總的程序。</p><p> 圖 3-1 主程序流程圖</p><p> 3.2 1602液晶顯示模塊程序設(shè)計(jì)</p><p> 液晶顯示模塊是一個(gè)慢顯示器件,在執(zhí)行每條指令之前要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,則此指令失效,要顯示字符時(shí)要先輸入顯示字符地址,告訴模塊在哪里現(xiàn)實(shí)了字符。1602液晶顯
79、示模塊可與單片機(jī)接口直接連接,無需再加驅(qū)動(dòng)。</p><p> 軟件流程圖及調(diào)試結(jié)果如圖3-2所示。</p><p> 圖3-2 1602液晶顯示模塊程序流程圖及液晶調(diào)試結(jié)果顯示</p><p> 3.3 傳感器模塊程序設(shè)計(jì)</p><p> 溫濕度模塊DH11數(shù)字溫濕傳感器加濕器溫濕度傳感器隨著科技的不斷發(fā)展,汽車、空調(diào)、除濕器、烘
80、干機(jī)等種類繁多的電器都已進(jìn)入人們的日常生活,而這些電器設(shè)備很多都離不開對(duì)溫度、濕度等環(huán)境因素的要求。因此,溫度、濕度傳感器用途越來越廣泛。新一代的數(shù)字傳感器不再需要外置的A D轉(zhuǎn)換模塊,并具有標(biāo)準(zhǔn)接口,使用方便,得到了越來越多的應(yīng)用。DHT11作為一種新型的單總線溫濕度數(shù)字傳感器,具有更多的優(yōu)點(diǎn),它使系統(tǒng)設(shè)計(jì)更加簡單,控制方便,易于實(shí)現(xiàn)。</p><p> DHT11傳感器模塊的軟件流程圖及實(shí)物調(diào)試結(jié)果如圖3-
81、3和圖3-4所示。</p><p> 圖 3-3 DHT11傳感器模塊程序流程圖</p><p> 圖 3-4 DHT11傳感器模塊實(shí)物調(diào)試結(jié)果</p><p> 第4章 系統(tǒng)分析與調(diào)試</p><p> 4.1 程序下載軟件說明</p><p> 本設(shè)計(jì)是在Keil C環(huán)境下開發(fā)的,Keil C軟件支持C語
82、言的編程及調(diào)試,運(yùn)用方便,當(dāng)需要編程時(shí)這就是是做課程設(shè)計(jì)的首選。Keil C是我們比較熟悉的軟件了,直接就可以使用,進(jìn)行程序的編寫,生成十六進(jìn)制文件以備燒寫用。</p><p> 程序燒寫使用的是Easy 51Pro中的并行數(shù)據(jù)燒寫模式進(jìn)行燒寫。軟件運(yùn)行界面如圖4—1所示。</p><p> 圖4-1 程序燒寫軟件運(yùn)行界面圖</p><p> 在完成對(duì)程序的調(diào)
83、試及燒錄之后,還需要對(duì)其進(jìn)行演示,把開發(fā)板與電腦連上,設(shè)置好對(duì)應(yīng)的接口,完成供電及下載。下載完畢,連接好各引腳連線,并開始供電后、稍帶幾秒等1602液晶屏能正常顯示當(dāng)前溫濕度了之后。觀察當(dāng)前溫濕度的變化。并且針對(duì)與自己設(shè)定的限值相比較。若當(dāng)前溫度沒有超標(biāo),即沒有超過限值??梢杂檬治孀HT11傳感器,令其溫度的顯示超標(biāo)。測試能否達(dá)到報(bào)警,經(jīng)過測試,完全可行。因而簡單的實(shí)現(xiàn)了對(duì)溫度的控制。濕度控制原理跟溫度一樣。</p>&
84、lt;p> 4.2 所遇問題及解決辦法</p><p> 4.2.1 硬件問題及解決方法</p><p> 硬件和軟件方面的問題相對(duì)來說硬件解決得是比較快的一類問題,因?yàn)檫@比較容易檢查不來錯(cuò)誤。</p><p> 1.單片機(jī)EA端沒接高電平。</p><p> 液晶仿真完成以后,這是剛在實(shí)物板上開始調(diào)試的時(shí)候犯的第一個(gè)很低級(jí)的
85、錯(cuò)誤。當(dāng)然這個(gè)問題首先要?dú)w結(jié)為不是我們做的最小系統(tǒng),因此沒有顧及到這個(gè)問題,這導(dǎo)致了我們在仿真時(shí)候好用的程序在實(shí)物板上偶爾會(huì)好用一次。</p><p> 最后在老師的點(diǎn)撥下,我們找到了這個(gè)原因,以后上電的時(shí)候單片機(jī)就可以實(shí)現(xiàn)自動(dòng)啟動(dòng)工作,而且讀程序的時(shí)候每次都是從片內(nèi)的最低位開始執(zhí)行。</p><p><b> 2.蜂鳴器不響。</b></p>&l
86、t;p> 后來在加了報(bào)警裝置的時(shí)候,沒有問老師我們拿的蜂鳴器是有源還是無源,這樣子這個(gè)問題友困擾了我們一小段時(shí)間。當(dāng)時(shí)以為是無源的,就用了高低電平來驅(qū)動(dòng),而且還測試了控制引腳輸出電壓的變化,最終沒有響。后來無意間將蜂鳴器直接連接正負(fù)極,竟然發(fā)聲了,此時(shí)才意識(shí)到我們忽略了它是有源蜂鳴器。</p><p> 但是并沒有就此解決了該問題,因?yàn)閱螁问欠澍Q器的引腳輸出電流還不足以驅(qū)動(dòng)蜂鳴器,后來又加了一個(gè)NPN的
87、三極管來驅(qū)動(dòng)蜂鳴器。但是在P2.7接口那里加的電阻比較小的時(shí)候還是不能驅(qū)動(dòng),這可能是因?yàn)殡娮杼∈沟勉Q位電壓太低了。最開始用的2K的電阻,但是蜂鳴器不能響,換成10K電阻以后蜂鳴器能吱吱的響,但不連續(xù),最后換成24K以后再接上單片機(jī)控制端以后就能夠自如的驅(qū)動(dòng)蜂鳴器發(fā)聲了。</p><p> 4.2.2 軟件所遇問題及解決方法</p><p> 本次課程設(shè)計(jì)可以說大部分時(shí)間都花在了軟件調(diào)
88、試上了,軟件調(diào)試的時(shí)候畢竟不像硬件那么直觀,對(duì)我們來說是個(gè)瓶頸,需要我們?nèi)ネ黄扑?lt;/p><p> 1.下載程序的時(shí)候,對(duì)此次的燒寫軟件Easy 51Pro不熟悉。</p><p> 以前沒使用過該軟件,下載的時(shí)候很容易就出問題了。當(dāng)然解決該問題也就顯得是最簡單的了,直接找了老師,然后老師來給我們演示了一次,這樣問題就解決了。</p><p> 2.顯示結(jié)果
89、不穩(wěn)定,一直在很快地變化。</p><p> 由于剛開始的時(shí)候程序里邊一直是在采集數(shù)據(jù)然后顯示,單片機(jī)一直做這個(gè)事,這樣就會(huì)導(dǎo)致顯示不穩(wěn)定,尤其是濕度變化特別快,基本上穩(wěn)定不了。</p><p> 當(dāng)然解決問題的方法就是隔固定時(shí)間以后采集一次,而不是一直采集。剛開始的時(shí)候想的是用延時(shí)程序來做,因?yàn)檫@樣思想比較簡單,但是這樣的弊端同時(shí)也顯現(xiàn)出來了,那就是他占用單片機(jī)資源,使得單片機(jī)始終在
90、執(zhí)行無用的語句來耗時(shí),所以最后跟閾值設(shè)置模塊結(jié)合考慮以后用了定時(shí)器來實(shí)現(xiàn)5s的定時(shí)。</p><p> 3.閾值設(shè)置模塊加了按鍵以后按鍵始終不能按預(yù)期效果工作。</p><p> 剛開始還以為是硬件部分沒有連接好,于是用萬用表查了很久,但是電平變化都是正確的。在掙扎了一整下午以后晚上回到宿舍依然在想這個(gè)問題,主要是這個(gè)在仿真上邊可以用,但是實(shí)物的時(shí)候就不好用,所以我們都以為是硬件出問題
91、了。但是在第二天上午的時(shí)候我發(fā)現(xiàn)當(dāng)按鍵時(shí)間比較長的時(shí)候,比如6s左右,單片機(jī)還是可以讀出按鍵的,瞬間就想到了,原來我們的程序里邊單片機(jī)不是一直在掃描鍵盤,而是只有一句話在執(zhí)行掃描,這樣按鍵好用比中五百萬都難。</p><p> 找到問題了解決起來也就容易多了,后來當(dāng)單片機(jī)在那五秒定時(shí)里邊讓單片機(jī)始終掃描鍵盤,這樣絕大部分時(shí)間按鍵就都是有效的了。</p><p><b> 結(jié)
92、 論</b></p><p> 在這這段做畢設(shè)時(shí)間里自己最大的感受就是:仿真和實(shí)物真的有很大的差別。同樣的程序仿真時(shí)候能用但是實(shí)物板上卻不能用,后來分析其實(shí)本來也是不能用的,但是仿真卻給了我們一個(gè)錯(cuò)誤的結(jié)果顯示,只能說明仿真只是仿真而已,只能作為我們的一個(gè)參考罷了。</p><p> 經(jīng)過近14周的奮斗,從拿到題目,到后來查找資料,理論學(xué)習(xí),實(shí)驗(yàn)編程調(diào)試,這一切都使我的理論
93、知識(shí)和動(dòng)手能力有了很大的提高。了解了單片機(jī)的硬件結(jié)構(gòu)和軟件編程方法,對(duì)單片機(jī)的工作方式有了很大的認(rèn)知。同時(shí),對(duì)一些外圍設(shè)備比如傳感器、液晶屏、鍵盤、蜂鳴器等有了一定的了解!</p><p> 但因?yàn)槲覀兊乃接邢蓿嗽O(shè)計(jì)中也存在一定的不足。比如溫濕度的精度是比較低的,這個(gè)跟傳感器也有一定的關(guān)系,還有就是硬件的布局設(shè)計(jì)業(yè)不夠美觀,以后有機(jī)會(huì)應(yīng)該自己做印刷板然后再美化電路板就比較完美了。</p>&l
94、t;p> 溫濕度控制已經(jīng)成為了21世紀(jì)熱門研究話題之一。無論是從生產(chǎn)還是生活,與我們?nèi)祟惗际窍⑾⑾嚓P(guān)的。而智能化的控制溫濕度已經(jīng)發(fā)展成為一種必然。隨著世界經(jīng)濟(jì)的發(fā)展,人們生活水平的提高以及社會(huì)的進(jìn)步。我們不可能一直墨守陳規(guī),不能在恪守以前利用人力資源來控制溫濕度的方法。不僅浪費(fèi)大量的人力資源、財(cái)力資源,并且控制系統(tǒng)也更加單一化。而采用自動(dòng)控制的辦法、既節(jié)省了人力資源,更體現(xiàn)了與時(shí)俱進(jìn)的思想、世界在進(jìn)步、而這種進(jìn)步就該體現(xiàn)在各個(gè)方
95、面。</p><p><b> 謝 辭</b></p><p> 經(jīng)過近14周的努力,在老師及同學(xué)的指點(diǎn)下,我已經(jīng)順利地完成了設(shè)計(jì)任務(wù), 更重要的是讓我重新認(rèn)識(shí)到了自學(xué)的重要性,以及學(xué)以致用的道理。我在圖書館查閱了大量的資料,并通過上網(wǎng)解決了很多棘手的問題 。讓我真真正正的掌握了設(shè)計(jì)一個(gè)課題的方法、步驟和提高了從提出問題到解決問題的能力。</p>
96、<p> 我覺得本次設(shè)計(jì)的重點(diǎn)和難點(diǎn)都是程序的編寫、調(diào)試及模擬仿真,在編寫過程中遇到了很多的問題,這些問題都通過查找資料成功的解決了。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 楊寶清. 現(xiàn)代傳感器技術(shù)基礎(chǔ)[M].北京:中國鐵道出版社,2002.</p><p> [2] 吳金戌.8051單片機(jī)實(shí)
97、踐與應(yīng)用[M].北京:清華大學(xué)出版社,2003.</p><p> [3] 巧 媛.單片機(jī)原理及應(yīng)用(第二版)[M].北京:電子工業(yè)出版社,2003.</p><p> [4] 胡漢才.單片機(jī)原理及系統(tǒng)[M].北京: 清華大學(xué)出版社,2002.</p><p> [5] 肖金球.單片機(jī)原理與接口技術(shù)[M].北京:清華大學(xué)出版社,2004.</p>
98、<p> [6] 余發(fā)山.單片機(jī)原理及應(yīng)用技術(shù)[M].北京:中國礦業(yè)大學(xué)出版社,2003.</p><p> [7] 余家春.Protel99SE電路設(shè)計(jì)實(shí)用教程[M].北京:中國鐵道出版社,2004.</p><p> [8] 錢顯毅. 傳感器原理與應(yīng)用[M].南京:東南大學(xué)出版社,2008.</p><p> [9] 譚浩強(qiáng).C程序設(shè)計(jì)[M]
99、. 北京:清華大學(xué)出版社,2005.</p><p> [10] 康華光.電子技術(shù)基礎(chǔ)(模擬部分)[M]. 北京:高等教育出版社,2006.</p><p> [11] 康華光.電子技術(shù)基礎(chǔ)(數(shù)字部分)[M]. 北京:高等教育出版社,2006.</p><p> [12] 邦田.電子電路使用抗干擾技術(shù)[M]. 北京:人民郵電出版社社,1994.</p&g
100、t;<p><b> 附 錄</b></p><p><b> 附錄A 硬件原理圖</b></p><p><b> 附錄B 程序清單</b></p><p> //*******************************************************
101、*********//</p><p> //單片機(jī) : AT89S52 </p><p> // 功能 :串口發(fā)送溫濕度數(shù)據(jù) 晶振 12M </p><p> //硬件連接: P2.0口為通訊口連接DHT11,DHT11的電源和地連接單片機(jī)的電源和地。 </p><p> //***************
102、*************************************************//</p><p> #include <reg52.h> </p><p> #define LCD_DB P1</p><p> unsigned char s1[5];</p><p> unsigned char s
103、2[5];</p><p> sbit LCD_RS=P2^4;</p><p> sbit LCD_RW=P2^5;</p><p> sbit LCD_E=P2^6;</p><p> sbit P2_0 = P2^0;</p><p> sbit moshi=P2^1;</p><p
104、> sbit INC=P2^2;</p><p> sbit DEC=P2^3;</p><p> sbit SPK=P2^7;</p><p> /******定義函數(shù)****************/</p><p> #define uchar unsigned char</p><p> #d
105、efine uint unsigned int</p><p> typedef unsigned char U8;</p><p> /* 無符號(hào)8位整型變量 */</p><p> typedef unsigned int U16;</p><p> /* 無符號(hào)16位整型變量 */</p>
106、<p> uchar count1=70,count2=35;</p><p> uchar moshicount=0;</p><p> uchar TD=0;//定時(shí)次數(shù)</p><p> U8 U8FLAG;</p><p> U8 U8count,U8temp;</p><p> U8
107、 U8T_data_H,U8T_data_L,U8RH_data_H,</p><p> U8RH_data_L,U8checkdata;</p><p> U8 U8T_data_H_temp,U8T_data_L_temp,</p><p> U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;<
108、/p><p> U8 U8comdata;</p><p> void LCD_init(void);//初始化函數(shù)</p><p> void LCD_write_command(uchar command); //寫指令函數(shù)</p><p> void LCD_write_data(uchar dat);</p>&l
109、t;p><b> //寫數(shù)據(jù)函數(shù)</b></p><p> void LCD_disp_char(uchar x,</p><p> uchar y,uchar dat);</p><p> //在某個(gè)屏幕位置上顯示一個(gè)字符,X(0-16),y(1-2)</p><p> void delay_n40us
110、(uint n);//延時(shí)函數(shù)</p><p> //********************************</p><p> //*******液晶初始化函數(shù)***************</p><p> void LCD_init(void)</p><p><b> {</b></p>
111、;<p> LCD_write_command(0x38);</p><p> //設(shè)置 8 位格式,2 行,5x7</p><p> LCD_write_command(0x0c);</p><p> //整體顯示,關(guān)光標(biāo),不閃爍</p><p> LCD_write_command(0x06);</p>
112、<p> //設(shè)定輸入方式,增量不移位</p><p> LCD_write_command(0x03);</p><p><b> //清除屏幕顯示</b></p><p> delay_n40us(100); </p><p><b> }</b></p>
113、<p> //********************************</p><p> //*******定時(shí)器初始化函數(shù)**********</p><p> void timerinit()</p><p><b> {</b></p><p> TMOD=0x01;</p>
114、<p> TH0=-50000/256;</p><p> TL0=-50000%256;</p><p><b> EA=1;</b></p><p><b> ET0=1;</b></p><p><b> }</b></p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字溫濕度傳感器dht11
- dht11數(shù)字溫濕度傳感器設(shè)計(jì)
- 基于dht11的溫濕度檢測系統(tǒng)設(shè)計(jì)
- 基于dht11的溫濕度監(jiān)測電路設(shè)計(jì)
- 基于dht11的溫濕度控制系統(tǒng)設(shè)計(jì)
- 溫濕度傳感器的畢業(yè)設(shè)計(jì)
- 數(shù)字式溫濕度傳感器的應(yīng)用設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于低功耗的數(shù)字溫濕度傳感器設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于低功耗的數(shù)字溫濕度傳感器設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- dht11溫濕度模塊的開發(fā)及應(yīng)用——課程設(shè)計(jì)論文
- 溫濕度傳感器畢業(yè)設(shè)計(jì)----基于51單片機(jī)的溫濕度傳感器的設(shè)計(jì)與制作
- 室內(nèi)溫濕度傳感器
- 溫濕度傳感器.rar
- 溫濕度傳感器.rar
- 常用溫濕度傳感器
- 課程設(shè)計(jì)--溫濕度傳感器
- 溫濕度傳感器設(shè)計(jì)方案
- 室內(nèi)外溫濕度傳感器
- 管道式溫濕度傳感器
- 高精度溫濕度傳感器
評(píng)論
0/150
提交評(píng)論