單片機(jī)控制DHT11傳感器的課程設(shè)計(jì)報(bào)告_第1頁(yè)
單片機(jī)控制DHT11傳感器的課程設(shè)計(jì)報(bào)告_第2頁(yè)
單片機(jī)控制DHT11傳感器的課程設(shè)計(jì)報(bào)告_第3頁(yè)
單片機(jī)控制DHT11傳感器的課程設(shè)計(jì)報(bào)告_第4頁(yè)
單片機(jī)控制DHT11傳感器的課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、大連海事大學(xué)自動(dòng)化專(zhuān)業(yè)課程設(shè)計(jì)大連海事大學(xué)白動(dòng)化課程設(shè)計(jì)基于單片機(jī)的溫濕度檢測(cè)控制系統(tǒng)2009屆 自動(dòng)化學(xué) 號(hào) 2220093699學(xué)生姓名指導(dǎo)教師大連海事大學(xué)自動(dòng)化專(zhuān)業(yè)課程設(shè)計(jì)目錄第1章 總體設(shè)計(jì)概述 11.1 課題的背景和意義 11.2 系統(tǒng)實(shí)現(xiàn)的主要功能 11.3 系統(tǒng)的工作原理簡(jiǎn)介 11.4總體設(shè)計(jì)簡(jiǎn)介 21.4.1總體設(shè)計(jì)框圖 21.4.2 總體設(shè)計(jì)及工作進(jìn)程 2第 2 章 系統(tǒng)硬件設(shè)計(jì) 32.1 主控模塊設(shè)計(jì) 32.2 DHT11傳感器模塊設(shè)計(jì) 32.2.1 DHT11傳感器簡(jiǎn)介32.2.2 DHT11傳感器模塊電路設(shè)計(jì) 62.3 1602液晶顯示模塊設(shè)計(jì) 62.3.1 1602液

2、晶顯示屏簡(jiǎn)介 62.3.2 1602液晶顯示模塊 72.4 閾值設(shè)置模塊82.5 報(bào)警模塊 8第 3 章 系統(tǒng)軟件設(shè)計(jì) 93.1 1602液晶顯示模塊程序設(shè)計(jì) 93.2 傳感器模塊程序設(shè)計(jì) 10第4章 系統(tǒng)分析與調(diào)試 124.1程序下載軟件說(shuō)明 124.2 所遇問(wèn)題及解決辦法 124.2.1 硬件問(wèn)題及解決方法 124.2.2軟件所遇問(wèn)題及解決方法 13第5章結(jié)論與展望14附錄15附錄A硬件原理圖 15附錄B最終實(shí)物圖及簡(jiǎn)介 15附錄C程序清單 16I大連海事大學(xué)自動(dòng)化專(zhuān)業(yè)課程設(shè)計(jì)第1章總體設(shè)計(jì)概述1.1 課題的背景和意義溫度、濕度和人類(lèi)的生產(chǎn)、生活有著密切的關(guān)系,同時(shí)也是工業(yè)生產(chǎn)中最常見(jiàn)最基

3、本的工 藝參數(shù),例如機(jī)械、電子、石油、化工等各類(lèi)工業(yè)中廣泛需要對(duì)溫度濕度的檢測(cè)與控制。并且 隨著人們生活水平的提高,人們對(duì)自己的生存環(huán)境越來(lái)越關(guān)注。而空氣中溫濕度的變化與人體 的舒適度和情緒都有直接的影響,所以對(duì)溫度濕度的檢測(cè)及控制就非常有必要了。8051單片機(jī)是常用于控制的芯片,在智能儀器儀表、工業(yè)檢測(cè)控制、機(jī)電一體化等方面取得了令人矚目的成果, 用其作為溫濕度控制系統(tǒng)的實(shí)力也很多。使用8051單片機(jī)能夠?qū)崿F(xiàn)溫濕度全程的自動(dòng)控制,而且 8051單片機(jī)易于學(xué)習(xí)掌握,性?xún)r(jià)比高。使用8051型單片機(jī)設(shè)計(jì)溫濕度控制系統(tǒng),可以即時(shí)精確的反應(yīng)溫室內(nèi)的溫度以及適度的變 化。完成諸如升溫到特定的溫度、降溫到

4、特定的溫度。在溫度上下限范圍內(nèi)保持恒溫等多種控 制方式,在濕度控制方面也是如此。將此系統(tǒng)應(yīng)用到溫室當(dāng)中無(wú)疑為植被生長(zhǎng)提供了更加適宜 的環(huán)境。對(duì)于大棚種植和花圃、花卉栽培,必須在某些特定環(huán)境安裝溫濕度裝置對(duì)其進(jìn)行監(jiān)控。本系統(tǒng)可以及時(shí)、精確的反映室內(nèi)的溫度以及濕度的變化,能夠滿足溫濕度的控制要求。1.2 系統(tǒng)實(shí)現(xiàn)的主要功能本系統(tǒng)所要實(shí)現(xiàn)的功能是:1. 溫濕度實(shí)時(shí)檢測(cè)及顯示。通過(guò)LCD1602實(shí)時(shí)地顯示傳感器 DHT11檢測(cè)到的溫濕度值,并 且固定時(shí)間(5s)檢測(cè)更新顯示一次。2. 報(bào)警閾值的手動(dòng)設(shè)置。通過(guò)三個(gè)按鍵實(shí)現(xiàn)溫濕度閾值的設(shè)置,使得系統(tǒng)更加人性化、智 能化,具有更高的實(shí)用價(jià)值。3. 當(dāng)溫濕度

5、超出閾值時(shí)能自動(dòng)報(bào)警。通過(guò)蜂鳴器發(fā)出聲音實(shí)現(xiàn)報(bào)警,以提醒用戶做出相應(yīng) 的改進(jìn)措施。1.3 系統(tǒng)的工作原理簡(jiǎn)介總體來(lái)說(shuō),本次設(shè)計(jì)主要涉及了溫濕度的測(cè)量、顯示以及實(shí)現(xiàn)簡(jiǎn)單控制。硬件方面有五個(gè)模塊,即AT89S52單片機(jī)主控模塊、傳感器模塊、LCD1602液晶顯示模塊、報(bào)警模塊以及閾值設(shè)置模塊。其中主控模塊已經(jīng)給出,我們只需適當(dāng)增加驅(qū)動(dòng)電路即可。傳感器模塊使用的是 DHT11數(shù)字溫濕度傳感器。通過(guò) DHT11檢測(cè)出當(dāng)前環(huán)境下的溫濕度, 將所測(cè)數(shù)據(jù)交給 AT單片機(jī)進(jìn)行分析和處理, 并分別存入不同數(shù)組以便顯示時(shí)候用。其中,為了顯示穩(wěn)定,本系統(tǒng)每間隔 5s采集一次數(shù)據(jù)送入單片機(jī)。1602液晶顯示模塊就是實(shí)

6、現(xiàn)溫濕度檢測(cè)值和閾值的顯示。其分兩行顯示,上邊一行顯示濕度,下邊顯示溫度值, 兩行的末尾兩位是閾值顯示位,正常工作的時(shí)候可以通過(guò)按鍵將其隱藏,需要調(diào)節(jié)閾值時(shí),再顯示出來(lái)方便調(diào)整,相對(duì)構(gòu)建了比較友好的人機(jī)交互。蜂鳴器報(bào)警模塊實(shí)現(xiàn)了檢測(cè)值超過(guò)閾值的時(shí)候鳴響報(bào)警。本系統(tǒng)采用的是有源蜂鳴器,因 此無(wú)論溫度還是濕度超出范圍蜂鳴器都是以相同頻率的聲音進(jìn)行報(bào)警提示。提醒工作人員此時(shí) 溫度濕度數(shù)據(jù)出現(xiàn)異常、需及時(shí)調(diào)整,及時(shí)啟用升溫器、加濕器、降溫風(fēng)扇以及噴霧器來(lái)有效 的調(diào)整實(shí)驗(yàn)室內(nèi)溫濕度。閾值設(shè)置模塊通過(guò)三個(gè)按鍵來(lái)實(shí)現(xiàn)閾值設(shè)置功能的。使得在不同環(huán)境下設(shè)置閾值提供了極 大的方便,不需要每次都在程序里改動(dòng)然后再燒

7、錄,省去了復(fù)雜的過(guò)程。1.4總體設(shè)計(jì)簡(jiǎn)介1.4.1總體設(shè)計(jì)框圖按照系統(tǒng)功能的具體要求,在保證實(shí)現(xiàn)其功能的然礎(chǔ)上,盡可能降低系統(tǒng)成本??傮w設(shè)計(jì) 方案圍繞上述思想,初步確定系統(tǒng)的方案如圖1-1所示。圖11系統(tǒng)總體設(shè)計(jì)24從圖中可以看出,系統(tǒng)有微處理器模塊、DHT11傳感器模塊、閾值設(shè)置模塊、1602字符液晶顯示模塊、報(bào)警模塊組成。在方案設(shè)計(jì)中,外圍模塊采用并行控制,以簡(jiǎn)化系統(tǒng),提高控制 精度。該設(shè)計(jì)以AT89S52單片機(jī)為控制核心,實(shí)現(xiàn)溫濕度采集及顯示的基本功能。1.4.2總體設(shè)計(jì)工作進(jìn)程本次設(shè)計(jì)相對(duì)而言有兩個(gè)部分弄明白了就能夠設(shè)計(jì)好了。一個(gè)是液晶顯示部分,一個(gè)是 DHT11傳感器部分。傳感器比較

8、陌生,以前沒(méi)有接觸太多,液晶相對(duì)而言比較容易點(diǎn)。因此這 次先攻克了液晶顯示部分,然后再拿下傳感器部分。整個(gè)流程如下圖所示:加裝閾值設(shè)置和報(bào)警模塊分析題目“用ProteusJ進(jìn)行液晶的、傳感器實(shí)物并查找資料*仿真'實(shí)物調(diào)試'調(diào)試圖1-2整體設(shè)計(jì)流程圖第2章系統(tǒng)硬件設(shè)計(jì)2.1 主控模塊設(shè)計(jì)本次課程設(shè)計(jì)使用的主控模塊是由老師給出的一個(gè)AT89S52為核心的最小系統(tǒng)。使用的時(shí)候?qū)1 口作為與液晶的數(shù)據(jù)傳輸口,P2.0作為與傳感器DHT11通信的數(shù)據(jù)口, P2.1P2.3作為閾值模塊中三個(gè)按鍵的接口,P2.4P2.6作為分別于液晶的 RS R/W和E端相連接,以控制液晶顯示,P2.7接

9、蜂鳴器控制端,以控制報(bào)警模塊工作。2.2 DHT1佶感器模塊設(shè)計(jì)2.2.1DHT11傳感器簡(jiǎn)介DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。它應(yīng)用專(zhuān) 用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性。 傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性?xún)r(jià)比極高等優(yōu)點(diǎn)。每個(gè)DHT11傳感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲(chǔ)存在OTP內(nèi)存中,傳感器內(nèi)部在檢測(cè)信號(hào)的處理過(guò)程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡(jiǎn)易快捷。

10、超小的體積、極低的功耗,信號(hào)傳輸距離可達(dá) 20米以上,使其成為各類(lèi)應(yīng)用甚至最為苛刻的應(yīng) 用場(chǎng)合的最佳選則。 產(chǎn)品為4針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提 供。DHT11傳感器實(shí)物圖如下 2-1所示:圖2-1DHT11傳感器實(shí)物圖(1) 引腳介紹:Pin1 : (VDD),電源引腳,供電電壓為35.5V。Pin2: (DATA,串行數(shù)據(jù),單總線。Pin3: (N。,空腳,請(qǐng)懸浮。Pin4 (VDD,接地端,電源負(fù)極。(2) 接口說(shuō)明:建議連接線長(zhǎng)度短于 20米時(shí)用5K上拉電阻,大于20米時(shí)根據(jù)實(shí)際情況使用合適的上拉電阻。(3) 數(shù)據(jù)幀的描述:DATA用于微處理器與 DHT11

11、之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時(shí)間 4ms 左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說(shuō)明,當(dāng)前小數(shù)部分用于以后擴(kuò)展,現(xiàn)讀出為 零操作流程如下:一次完整的數(shù)據(jù)傳輸為40bit,高位先出。數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)數(shù)據(jù)傳送正確時(shí)校驗(yàn)和數(shù)據(jù)等于“ 8bit 濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù) 據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。(4) 電氣特性:VDD=5V T = 25 C,除非特殊標(biāo)注表2-1 DHT11的電氣特性Mintypmax供電DC355.5V測(cè)量0.52.5mA供電電流

12、平均0.21mA待機(jī)100150uA秒1注:采樣周期間隔不得低于 1秒鐘。(5)時(shí)序描述:用戶MC或送一次開(kāi)始信號(hào)后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機(jī)開(kāi)始信號(hào)結(jié) 束后,DHT11發(fā)送響應(yīng)信號(hào),送出40bit的數(shù)據(jù),并觸發(fā)一次信號(hào)采集,用戶可選擇讀取部分?jǐn)?shù)據(jù) 從模式下,DHT11接收到開(kāi)始信號(hào)觸發(fā)一次溫濕度采集,如果沒(méi)有接收到主機(jī)發(fā)送開(kāi)始信 號(hào),DHT11不會(huì)主動(dòng)進(jìn)行溫濕度采集.采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。通訊過(guò)程如下圖2-3所示:圖2-3通訊過(guò)程圖總線空閑狀態(tài)為高電平,主機(jī)把總線拉低等待 DHT11響應(yīng),主機(jī)把總線拉低必須大于18毫秒,保證DHT11能檢測(cè)到起始信號(hào)。DHT11接收

13、到主機(jī)的開(kāi)始信號(hào)后,等待主機(jī)開(kāi)始信號(hào)結(jié)束,然后 發(fā)送80us低電平響應(yīng)信號(hào).主機(jī)發(fā)送開(kāi)始信號(hào)結(jié)束后,延時(shí)等待20-40us后,讀取DHT11的響應(yīng) 信號(hào),主機(jī)發(fā)送開(kāi)始信號(hào)后,可以切換到輸入模式,或者輸出高電平均可,總線由上拉電阻拉高。佶導(dǎo)線說(shuō)彳L主機(jī)信號(hào)HT偌號(hào)圖2-4通訊初始化要求圖總線為低電平,說(shuō)明DHT11發(fā)送響應(yīng)信號(hào),DHT11發(fā)送響應(yīng)信號(hào)后,再把總線拉高80us,準(zhǔn)備 發(fā)送數(shù)據(jù),每一 bit數(shù)據(jù)都以50us低電平時(shí)隙開(kāi)始,高電平的長(zhǎng)短定了數(shù)據(jù)位是 0還是1.格式 見(jiàn)下面圖示.如果讀取響應(yīng)信號(hào)為高電平 ,則DHT11沒(méi)有響應(yīng),請(qǐng)檢查線路是否連接正常.當(dāng)最后 一 bit數(shù)據(jù)傳送完畢后,D

14、HT11拉低總線50us,隨后總線由上拉電阻拉高進(jìn)入空閑狀態(tài)。數(shù)字0信號(hào)表示方法如下圖 2-5所示:2 6us 一 2 BusVCCGNI>單總統(tǒng)信號(hào)線說(shuō)明:主機(jī)信號(hào)DHT信號(hào)圖2-5數(shù)字0信號(hào)電平變化圖數(shù)字1信號(hào)表示方法如下圖2-6所示信號(hào)線說(shuō)明:主機(jī)信號(hào)DHT信號(hào)VCCGNI>單總線7 Ous下ft開(kāi)始I 1 Bit開(kāi)始I5 Ous !*圖2-6數(shù)字1數(shù)據(jù)線電平變化圖2.2.2 DHT1借感器模塊電路設(shè)計(jì)DHT11傳感器連接單片機(jī)相對(duì)比較簡(jiǎn)單。單片機(jī)的P2.0 口用來(lái)發(fā)收串行數(shù)據(jù),即數(shù)據(jù)口。連接傳感器的Pin2 (單總線,串行數(shù)據(jù))。由于測(cè)量范圍電路小于 20米,加一個(gè)5K的上

15、拉電 阻,因此在傳感器的 Pin2 口與電源之間連接一個(gè) 5K電阻。而傳感器的電源端口Pin1和Pin4分別接單片機(jī)的 VDD GNC。傳感器的第三腳懸浮放置。DHT11傳感器原件的電路原理圖如下2-7所示:VCCHR125KicioTDATA =NC VDD vcc41GND 1DHTU=圖2-7 DHT11電路原理圖2.3 1602液晶顯示模塊設(shè)計(jì)2.3.11602液晶顯示屏簡(jiǎn)介1602液晶 是一種工業(yè)字符型液晶,能夠同時(shí)顯示16x02即32個(gè)字符。(16列2行)。在日常生活中,我們對(duì)液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品的通過(guò)器件,如 在計(jì)算器、萬(wàn)用表、電子表及很多家用電子產(chǎn)

16、品中都可以看到,顯示的主要是數(shù)字、專(zhuān)用符號(hào) 和圖形。在單片機(jī)的人機(jī)交流界面中,一般的輸出方式有以下幾種:發(fā)光管、LED數(shù)碼管、液晶顯示器。發(fā)光管和 LED數(shù)碼管比較常用,軟硬件都比較簡(jiǎn)單。圖2-8液晶屏正面2.3.21602液晶顯示模塊液晶顯示的原理是利用液晶的物理特性,通過(guò)電壓對(duì)其顯示區(qū)域進(jìn)行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動(dòng)、易于實(shí)現(xiàn) 全彩色顯示的特點(diǎn),目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、數(shù)字?jǐn)z像機(jī)、PDA移動(dòng)通信工具等眾多領(lǐng)域。其中Vo腳,即第三引腳加了一個(gè) 10K的滑動(dòng)變阻器,該變阻器的目的是調(diào)節(jié)液晶的顯示對(duì) 比度,通過(guò)調(diào)節(jié)滑阻改變

17、 Vo的電壓值,從而使液晶顯示在最清晰的狀態(tài)。VCC工圖2-91602顯示模塊原理圖2.4 閾值設(shè)置模塊圖210閾值設(shè)置模塊原理圖從左圖可以看到。從上到下依次設(shè)為 K1、K2和K3三個(gè)按鍵,其連接單片機(jī)引 腳分別是P2.1P2.3三個(gè)引腳。根據(jù)該模塊使得閾值設(shè)置分為三個(gè)模 塊,分別是濕度設(shè)置模式、溫度設(shè)置模式 和關(guān)閾值顯示模式。K1為模式選擇鍵,按 一次為濕度設(shè)置模式,按兩次是溫度設(shè)置 模式,按三次是關(guān)閾值顯示模式。K2和K3只有在濕度和溫度設(shè)置模式下才有效, 分別為閾值增加和閾值減小。閾值設(shè)置模塊是后來(lái)加進(jìn)來(lái)的部分, 設(shè)置非常人性化,一般人都可以操作,而 不用每次設(shè)置閾值都到程序里邊去設(shè)置2

18、.5 報(bào)警模塊SP1J13圖2-11蜂鳴器原理圖系統(tǒng)在設(shè)計(jì)時(shí)候采用的是有源蜂鳴器,只要給蜂鳴器一定的電流值,蜂鳴器就可以按照一 定的頻率發(fā)聲,但是單片機(jī)引腳的驅(qū)動(dòng)電流比較小,不足以驅(qū)動(dòng)蜂鳴器工作,因此采用了一個(gè) NPN的三極管 C9013來(lái)驅(qū)動(dòng)。第3章系統(tǒng)軟件設(shè)計(jì)在對(duì)我們所要設(shè)計(jì)的課題有了整體的了解之后,需要先建立程序框架的流程圖,對(duì)整個(gè)設(shè) 計(jì)劃分模塊,逐個(gè)模塊實(shí)現(xiàn)其功能,最終把各個(gè)子模塊合理的連接起來(lái),構(gòu)成總的程序。圖3-1 主程序流程圖3.11602液晶顯示模塊程序設(shè)計(jì)液晶顯示模塊是一個(gè)慢顯示器件,在執(zhí)行每條指令之前要確認(rèn)模塊的忙標(biāo)志為低電平,表 示不忙,則此指令失效,要顯示字符時(shí)要先輸入

19、顯示字符地址,告訴模塊在哪里現(xiàn)實(shí)了字符。 1602液晶顯示模塊可與單片機(jī)接口直接連接,無(wú)需再加驅(qū)動(dòng)。軟件流程圖及調(diào)試結(jié)果如圖 3-2所示。(開(kāi)始液晶1602初始化延時(shí)LCD1LM016L依次發(fā)送指令和數(shù)據(jù)控制液晶顯示字符圖3-21602液晶顯示模塊程序流程圖及液晶調(diào)試結(jié)果顯示3.2 傳感器模塊程序設(shè)計(jì)溫濕度模塊 DH11數(shù)字溫濕傳感器加濕器溫濕度傳感器隨著科技的不斷發(fā)展,汽車(chē)、空調(diào)、 除濕器、烘干機(jī)等種類(lèi)繁多的電器都已進(jìn)入人們的日常生活,而這些電器設(shè)備很多都離不開(kāi)對(duì) 溫度、濕度等環(huán)境因素的要求。因此,溫度、濕度傳感器用途越來(lái)越廣泛。新一代的數(shù)字傳感 器不再需要外置的 A D轉(zhuǎn)換模塊,并具有標(biāo)準(zhǔn)

20、接口,使用方便,得到了越來(lái)越多的應(yīng)用。 DHT11 作為一種新型的單總線溫濕度數(shù)字傳感器,具有更多的優(yōu)點(diǎn),它使系統(tǒng)設(shè)計(jì)更加簡(jiǎn)單,控制方 便,易于實(shí)現(xiàn)。DHT11傳感器模塊的軟件流程圖及實(shí)物調(diào)試結(jié)果如圖3-3.1和圖3-3.2所示。P2.0輸出低電平延時(shí)18msP2.0輸出延時(shí)40us進(jìn)行數(shù)據(jù)接收?qǐng)D3-3.1 DHT11傳感器模塊程序流程圖圖3-3.1DHT11傳感器模塊實(shí)物調(diào)試結(jié)果第4章系統(tǒng)分析與調(diào)試4.1程序下載軟件說(shuō)明本設(shè)計(jì)是在Keil C環(huán)境下開(kāi)發(fā)的,Keil C軟件支持C語(yǔ)言的編程及調(diào)試,運(yùn)用方便,當(dāng) 需要編程時(shí)這就是是做課程設(shè)計(jì)的首選。Keil C是我們比較熟悉的軟件了,直接就可以使

21、用,進(jìn)行程序的編寫(xiě),生成十六進(jìn)制文件以備燒寫(xiě)用。程序燒寫(xiě)使用的是 Easy 51Pro中的并行數(shù)據(jù)燒寫(xiě)模式進(jìn)行燒寫(xiě)。軟件運(yùn)行界面如圖4-1所示。圖4-1程序燒寫(xiě)軟件運(yùn)行界面圖在完成對(duì)程序的調(diào)試及燒錄之后,還需要對(duì)其進(jìn)行演示,把開(kāi)發(fā)板與電腦連上,設(shè)置好對(duì) 應(yīng)的接口,完成供電及下載。下載完畢,連接好各引腳連線,并開(kāi)始供電后、稍帶幾秒等1602液晶屏能正常顯示當(dāng)前溫濕度了之后。觀察當(dāng)前溫濕度的變化。并且針對(duì)與自己設(shè)定的限值相 比較。若當(dāng)前溫度沒(méi)有超標(biāo),即沒(méi)有超過(guò)限值??梢杂檬治孀HT11傳感器,令其溫度的顯示超標(biāo)。測(cè)試能否達(dá)到報(bào)警,經(jīng)過(guò)測(cè)試,完全可行。因而簡(jiǎn)單的實(shí)現(xiàn)了對(duì)溫度的控制。濕度控制 原理跟

22、溫度一樣。4.2所遇問(wèn)題及解決辦法4.2.1硬件問(wèn)題及解決方法硬件和軟件方面的問(wèn)題相對(duì)來(lái)說(shuō)硬件解決得是比較快的一類(lèi)問(wèn)題,因?yàn)檫@比較容易檢查不 來(lái)錯(cuò)誤。1. 單片機(jī)EA端沒(méi)接高電平。液晶仿真完成以后,這是剛在實(shí)物板上開(kāi)始調(diào)試的時(shí)候犯的第一個(gè)很低級(jí)的錯(cuò)誤。當(dāng)然這 個(gè)問(wèn)題首先要?dú)w結(jié)為不是我們做的最小系統(tǒng),因此沒(méi)有顧及到這個(gè)問(wèn)題,這導(dǎo)致了我們?cè)诜抡?時(shí)候好用的程序在實(shí)物板上偶爾會(huì)好用一次。最后在老師的點(diǎn)撥下,我們找到了這個(gè)原因,以后上電的時(shí)候單片機(jī)就可以實(shí)現(xiàn)自動(dòng)啟動(dòng) 工作,而且讀程序的時(shí)候每次都是從片內(nèi)的最低位開(kāi)始執(zhí)行。2. 蜂鳴器不響。后來(lái)在加了報(bào)警裝置的時(shí)候,沒(méi)有問(wèn)老師我們拿的蜂鳴器是有源還是無(wú)源

23、,這樣子這個(gè)問(wèn) 題友困擾了我們一小段時(shí)間。當(dāng)時(shí)以為是無(wú)源的,就用了高低電平來(lái)驅(qū)動(dòng),而且還測(cè)試了控制 引腳輸出電壓的變化,最終沒(méi)有響。后來(lái)無(wú)意間將蜂鳴器直接連接正負(fù)極,竟然發(fā)聲了,此時(shí) 才意識(shí)到我們忽略了它是有源蜂鳴器。但是并沒(méi)有就此解決了該問(wèn)題,因?yàn)閱螁问欠澍Q器的引腳輸出電流還不足以驅(qū)動(dòng)蜂鳴器,后來(lái)又加了一個(gè) NPN的三極管來(lái)驅(qū)動(dòng)蜂鳴器。但是在 P2.7接口那里加的電阻比較小的時(shí)候還 是不能驅(qū)動(dòng),這可能是因?yàn)殡娮杼∈沟勉Q位電壓太低了。最開(kāi)始用的2K的電阻,但是蜂鳴器不能響,換成10K電阻以后蜂鳴器能吱吱的響,但不連續(xù),最后換成24K以后再接上單片機(jī)控制端以后就能夠自如的驅(qū)動(dòng)蜂鳴器發(fā)聲了。4.

24、2.2軟件所遇問(wèn)題及解決方法本次課程設(shè)計(jì)可以說(shuō)大部分時(shí)間都花在了軟件調(diào)試上了,軟件調(diào)試的時(shí)候畢竟不像硬件那 么直觀,對(duì)我們來(lái)說(shuō)是個(gè)瓶頸,需要我們?nèi)ネ黄扑?. 下載程序的時(shí)候,對(duì)此次的燒寫(xiě)軟件Easy 51Pro不熟悉。以前沒(méi)使用過(guò)該軟件,下載的時(shí)候很容易就出問(wèn)題了。當(dāng)然解決該問(wèn)題也就顯得是最簡(jiǎn)單 的了,直接找了老師,然后老師來(lái)給我們演示了一次,這樣問(wèn)題就解決了。2. 顯示結(jié)果不穩(wěn)定,一直在很快地變化。由于剛開(kāi)始的時(shí)候程序里邊一直是在采集數(shù)據(jù)然后顯示,單片機(jī)一直做這個(gè)事,這樣就會(huì) 導(dǎo)致顯示不穩(wěn)定,尤其是濕度變化特別快,基本上穩(wěn)定不了。當(dāng)然解決問(wèn)題的方法就是隔固定時(shí)間以后采集一次,而不是一直采集

25、。剛開(kāi)始的時(shí)候想的 是用延時(shí)程序來(lái)做,因?yàn)檫@樣思想比較簡(jiǎn)單,但是這樣的弊端同時(shí)也顯現(xiàn)出來(lái)了,那就是他占 用單片機(jī)資源,使得單片機(jī)始終在執(zhí)行無(wú)用的語(yǔ)句來(lái)耗時(shí),所以最后跟閾值設(shè)置模塊結(jié)合考慮 以后用了定時(shí)器來(lái)實(shí)現(xiàn) 5s的定時(shí)。3. 閾值設(shè)置模塊加了按鍵以后按鍵始終不能按預(yù)期效果工作。剛開(kāi)始還以為是硬件部分沒(méi)有連接好,于是用萬(wàn)用表查了很久, 但是電平變化都是正確的。在掙扎了一整下午以后晚上回到宿舍依然在想這個(gè)問(wèn)題,主要是這個(gè)在仿真上邊可以用,但是 實(shí)物的時(shí)候就不好用,所以我們都以為是硬件出問(wèn)題了。但是在第二天上午的時(shí)候我發(fā)現(xiàn)當(dāng)按 鍵時(shí)間比較長(zhǎng)的時(shí)候, 比如6s左右,單片機(jī)還是可以讀出按鍵的,瞬間就想

26、到了,原來(lái)我們的程序里邊單片機(jī)不是一直在掃描鍵盤(pán),而是只有一句話在執(zhí)行掃描,這樣按鍵好用比中五百萬(wàn) 都難。找到問(wèn)題了解決起來(lái)也就容易多了,后來(lái)當(dāng)單片機(jī)在那五秒定時(shí)里邊讓單片機(jī)始終掃描鍵 盤(pán),這樣絕大部分時(shí)間按鍵就都是有效的了。第5章結(jié)論與展望在這短短幾天時(shí)間里自己最大的感受就是:仿真和實(shí)物真的有很大的差別。同樣的程序仿 真時(shí)候能用但是實(shí)物板上卻不能用,后來(lái)分析其實(shí)本來(lái)也是不能用的,但是仿真卻給了我們一 個(gè)錯(cuò)誤的結(jié)果顯示,只能說(shuō)明仿真只是仿真而已,只能作為我們的一個(gè)參考罷了。經(jīng)過(guò)近兩周的奮斗,從拿到題目,到后來(lái)查找資料,理論學(xué)習(xí),實(shí)驗(yàn)編程調(diào)試,這一切都 使我的理論知識(shí)和動(dòng)手能力有了很大的提高。了

27、解了單片機(jī)的硬件結(jié)構(gòu)和軟件編程方法,對(duì)單 片機(jī)的工作方式有了很大的認(rèn)知。同時(shí),對(duì)一些外圍設(shè)備比如傳感器、液晶屏、鍵盤(pán)、蜂鳴器 等有了一定的了解!但因?yàn)槲覀兊乃接邢?,此設(shè)計(jì)中也存在一定的不足。比如溫濕度的精度是比較低的,這 個(gè)跟傳感器也有一定的關(guān)系,還有就是硬件的布局設(shè)計(jì)業(yè)不夠美觀,以后有機(jī)會(huì)應(yīng)該自己做印 刷板然后再美化電路板就比較完美了。溫濕度控制已經(jīng)成為了 21世紀(jì)熱門(mén)研究話題之一。無(wú)論是從生產(chǎn)還是生活,與我們?nèi)祟?lèi)都 是息息相關(guān)的。而智能化的控制溫濕度已經(jīng)發(fā)展成為一種必然。隨著世界經(jīng)濟(jì)的發(fā)展,人們生 活水平的提高以及社會(huì)的進(jìn)步。我們不可能一直墨守陳規(guī),不能在恪守以前利用人力資源來(lái)控 制溫濕

28、度的方法。不僅浪費(fèi)大量的人力資源、財(cái)力資源,并且控制系統(tǒng)也更加單一化。而采用 自動(dòng)控制的辦法、既節(jié)省了人力資源,更體現(xiàn)了與時(shí)俱進(jìn)的思想、世界在進(jìn)步、而這種進(jìn)步就 該體現(xiàn)在各個(gè)方面。附錄附錄A硬件原理圖附錄B最終實(shí)物圖及簡(jiǎn)介液晶前邊顯示的內(nèi)容為溫濕 度的實(shí)時(shí)監(jiān)測(cè)顯示,上下兩行的 各后2位為閾值顯示。中間三個(gè)按鍵分別為:最上邊那個(gè)是模式切換鍵,按 1次是 濕度調(diào)節(jié)模式,按 2次是溫度調(diào) 節(jié)模式,按三次試不顯示閾值, 每次調(diào)節(jié)完畢立即生效。下邊兩 個(gè)鍵分別為增加和減少閾值鍵。左下角的蜂鳴器是報(bào)警裝 置。當(dāng)溫濕度只要有一個(gè)超出其 閾值蜂鳴器就會(huì)報(bào)警,提醒人們 做相應(yīng)措施。液晶前的滑動(dòng)變阻器為液晶 對(duì)比

29、度調(diào)節(jié)用的。附錄C程序清單*/ 單片機(jī):AT89S52/功能 :串口發(fā)送溫濕度數(shù)據(jù)晶振12M/硬件連接:P2.0 口為通訊口連接 DHT11,DHT11的電源和地連接單片機(jī)的電源和地。/*/#include <reg52.h> #define LCD_DB P1 unsigned char s15; unsigned char s25; sbit LCD_RS=P2M; sbit LCD_RW=P2A5;sbit LCD_E=P2A6; sbit P2_0 = P2A0; sbit moshi=P2A1;/寫(xiě)數(shù)據(jù)函數(shù)void LCD_disp_char(uchar x, uchar

30、 y,uchar dat);/在某個(gè)屏幕位置上顯示一個(gè)字符,X(0-16),y(1-2)void delay_n40us(uint n);/*延時(shí)函數(shù)sbit INC=P2A2;sbit DEC=P2A3;sbit SPK=P2A7;/*定義函數(shù) */#define uchar unsigned char#define uint unsigned inttypedef unsigned char U8;/* 無(wú)符號(hào)8位整型變量*/typedef unsigned int U16;/* 無(wú)符號(hào)16位整型變量 */uchar count1=70,count2=35;uchar moshicount

31、=0;uchar TD=0;/ 定時(shí)次數(shù)/*液晶初始化函數(shù) *void LCD_init(void)(LCD_write_command(0x38);/設(shè)置8位格式,2行,5x7LCD_write_command(0x0c);/整體顯示,關(guān)光標(biāo),不閃爍LCD_write_command(0x06);/設(shè)定輸入方式,增量不移位LCD_write_command(0x03);/清除屏幕顯示delay_n40us(100);/*U8 U8FLAG;U8 U8count,U8temp;U8 U8T_data_H,U8T_data_L,U8RH_data_H, U8RH_data_L,U8checkda

32、ta;U8 U8T_data_H_temp,U8T_data_L_temp, U8RH_data_H_temp,U8RH_data_L_temp, U8checkdata_temp;U8 U8comdata;void LCD_init(void);/初始化函數(shù)void LCD_write_command(uchar command);/寫(xiě)指令函數(shù)void LCD_write_data(uchar dat);/*定時(shí)器初始化函數(shù)*void timerinit()(TMOD=0x01;TH0=-50000/256;TL0=-50000%256;EA=1;ET0=1;/*/*寫(xiě)指令函數(shù) *void

33、LCD_write_command(uchar dat)LCD_DB=dat;LCD_RS=0;/ 指令LCD_RW=0;/ 寫(xiě)入LCD_E=1;/ 允許 delay_n40us (1);LCD_E=0;delay_n40us (1);/*/*寫(xiě)數(shù)據(jù)函數(shù) *void LCD_write_data(uchar dat) LCD_DB=dat;LCD_RS=1;/ 數(shù)據(jù)LCD_RW=0;/ 寫(xiě)入LCD_E=1;/ 允許delay_n40us (1);LCD_E=0;delay_n40us (1);/*/*顯示一個(gè)字符函數(shù)*void LCD_disp_char(uchar x, uchar y,uc

34、har dat)uchar address;if(y=1)address=0x80+x;elseaddress=0xc0+x;LCD_write_command(address);LCD_write_data(dat);*/* 延時(shí)函數(shù) *void delay_n40us(uint n)uint i;uchar j;for(i=n;i>0;i-)for(j=0;j<2;j+);void Delay_10us(void)U8 i;i-;i-;i-;i-;i-;i-;void Delay(U16 j)U8 i;for(;j>0;j-)for(i=0;i<27;i+);/*一

35、字節(jié)數(shù)據(jù)傳送函數(shù) *void COM(void)U8 i;for(i=0;i<8;i+)U8FLAG=2;while(!P2_0)&&U8FLAG+);Delay_10us();Delay_10us();Delay_10us();U8temp=0;if(P2_0)U8temp=1;U8FLAG=2;while(P2_0)&&U8FLAG+);/超時(shí)則跳出for循環(huán)if(U8FLAG=1)break;/判斷數(shù)據(jù)位是0還是1/如果高電平高過(guò)預(yù)定 0高電 平值則數(shù)據(jù)位為1U8comdata<<=1;U8comdata|=U8temp;* 單片機(jī)與傳感

36、器通信函數(shù)*void RH(void)(/ 主機(jī)拉低18msP2_0=0;Delay(180);P2_0=1;/總線由上拉電阻拉高主機(jī)延時(shí)20usDelay_10us();Delay_10us();Delay_10us();Delay_10us();/主機(jī)設(shè)為輸入判斷從機(jī)響應(yīng)信號(hào) P2_0=1;/判斷從機(jī)是否有低電平響應(yīng)信號(hào) 如不響應(yīng)則跳出,響應(yīng)則向下運(yùn)行 if(!P2_0)/T !(U8FLAG=2;/判斷從機(jī)是否發(fā)出80us的低電平響應(yīng)信號(hào)是否結(jié)束while(!P2_0)&&U8FLAG+);U8FLAG=2;/判斷從機(jī)是否發(fā)出80us的高電平,如發(fā)出則進(jìn)入數(shù)據(jù)接收狀態(tài)wh

37、ile(P2_0)&&U8FLAG+);/數(shù)據(jù)接收狀態(tài)COM();U8RH_data_H_temp=U8comdata;COM();U8RH_data_L_temp=U8comdata;COM();U8T_data_H_temp=U8comdata;COM();U8T_data_L_temp=U8comdata;COM();U8checkdata_temp=U8comdata;P2_0=1;/數(shù)據(jù)校驗(yàn)U8temp=(U8T_data_H_temp+U8T_d ata_L_temp+U8RH_data_H_temp+U 8RH_data_L_temp);if(U8temp=U8c

38、heckdata_temp)(U8RH_data_H=U8RH_data_H_temp;U8RH_data_L=U8RH_data_L_temp;U8T_data_H=U8T_data_H_temp;U8T_data_L=U8T_data_L_temp;U8checkdata=U8checkdata_temp;/濕度整數(shù)部分s10= (char)(0X30+U8RH_data_H/10);s11= (char)(0X30+U8RH_data_H%10);/濕度小數(shù)部分s12= (char)(0X30+U8RH_data_L/10);/溫度整數(shù)部分s20 = (char)(0X30+U8T_da

39、ta_H/10);s21 = (char)(0X30+U8T_data_H%10);/溫度小數(shù)部分s22 = (char)(0X30+U8T_data_L/10);*/液晶顯示函數(shù)void disp()(LCD_disp_char(0,1,'s');LCD_disp_char(1,1,'h');LCD_disp_char(2,1,'i');LCD_disp_char(3,1,'d');LCD_disp_char(4,1,'u');LCD_disp_char(5,1,':');LCD_disp_cha

40、r(6,1,s10);LCD_disp_char(7,1,s11);LCD_disp_char(8,1,'.');LCD_disp_char(9,1,s12);LCD_disp_char(10,1,'%');LCD_disp_char(11,1,'R');LCD_disp_char(12,1,'H');LCD_disp_char(0,2,'w');LCD_disp_char(1,2,'e');LCD_disp_char(2,2,'n');LCD_disp_char(3,2,'d');LCD_disp_char(4,2,'u');LCD_disp_char(5,2,':');LCD_disp_

溫馨提示

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

評(píng)論

0/150

提交評(píng)論