基于AT89S52單片機(jī)的溫濕度測(cè)試儀_第1頁(yè)
基于AT89S52單片機(jī)的溫濕度測(cè)試儀_第2頁(yè)
基于AT89S52單片機(jī)的溫濕度測(cè)試儀_第3頁(yè)
基于AT89S52單片機(jī)的溫濕度測(cè)試儀_第4頁(yè)
基于AT89S52單片機(jī)的溫濕度測(cè)試儀_第5頁(yè)
已閱讀5頁(yè),還剩29頁(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、鄭州航空工業(yè)管理學(xué)院畢 業(yè) 論 文(設(shè) 計(jì)) 2013 屆 電氣工程及其自動(dòng)化 專業(yè) 1106972 班級(jí)題 目 基于單片機(jī)的溫濕度測(cè)試儀硬件設(shè)計(jì) 姓 名 陳 衛(wèi) 學(xué)號(hào) 指導(dǎo)教師 崔建鋒 職稱 副教授 二一三年 五 月十五 日內(nèi) 容 提 要隨著科學(xué)技術(shù)的日新月異,人類(lèi)社會(huì)取得了長(zhǎng)足的進(jìn)步!在居家生活、工農(nóng)業(yè)生產(chǎn)、氣象、環(huán)保、國(guó)防、科研、航天等部門(mén),經(jīng)常需要對(duì)環(huán)境中的濕度和溫度進(jìn)行測(cè)量及控制。本設(shè)計(jì)設(shè)計(jì)了一個(gè)的溫濕度測(cè)量系統(tǒng)。本系統(tǒng)采用技術(shù)成熟的DHT11作為測(cè)量濕度和溫度的傳感器??刂葡到y(tǒng)芯片采用技術(shù)成熟,功能強(qiáng)大、價(jià)位低廉大眾化的AT89S52單片機(jī)。DHT11數(shù)字溫濕度傳感器是一款含有已校

2、準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。LED顯示電路由AT89S52單片機(jī)控制。最后設(shè)計(jì)了系統(tǒng)各個(gè)功能部分的軟件程序。由本設(shè)計(jì)課題做成的溫濕度檢測(cè)系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜、量程寬,具有較高的可靠性、安全性及實(shí)用性。關(guān) 鍵 詞溫濕度傳感器;LED;AT89S52;DHT11AbstractWith the rapid development of science and technology, human society has achieved great progress! In the life that occupy the home, industry, agriculture, natio

3、nal defense, weather, environmental protection and scientific research departments, such as aerospace, often need to the environment humidity and temperature measurement and control. The design of an humidity measuring the application systems. The system adopts the technology DHT11 as measuring the

4、humidity and temperature sensor. Control system chip adopt mature technology, powerful, price cheap popular AT89S52. Each DHT11 sensors are accurate calibration of humidity in calibration. LED display circuit controlled by AT89S52. Finally the design of the system software program each function. By

5、this design task to make the temperature and humidity of the detection system structure is simple, cheap price, wide range, high reliability, safety and practicality.Key WordsTemperature and humidity sensor;LED;AT89S52;DHT11目 錄1. 緒論11.1 設(shè)計(jì)的背景概述11.2 設(shè)計(jì)的內(nèi)容21.3 設(shè)計(jì)的意義22. 系統(tǒng)的硬件設(shè)計(jì)42.1 系統(tǒng)設(shè)計(jì)方案42.2 系統(tǒng)的硬件設(shè)計(jì)42

6、.2.1 AT89S52介紹42.2.2 DHT11數(shù)字傳感器介紹112.2.3 LED顯示器的介紹162.3 系統(tǒng)部分硬件電路的設(shè)計(jì)182.3.1 主控電路的設(shè)計(jì)182.3.2 復(fù)位電路部分192.3.3 AT89S52的系統(tǒng)時(shí)鐘電路的設(shè)計(jì)193. 系統(tǒng)的軟件設(shè)計(jì)213.1 系統(tǒng)軟件主程序流程213.2 DHT11數(shù)據(jù)采集流程22結(jié) 論24致 謝25參考文獻(xiàn)26附錄271. 緒論 1.1 設(shè)計(jì)的背景概述進(jìn)入21世紀(jì)后,各行各業(yè)特別是傳統(tǒng)產(chǎn)業(yè)都急切需要應(yīng)用電子技術(shù)、自動(dòng)控制技術(shù)進(jìn)行改造和提升很多企業(yè)對(duì)溫濕度的測(cè)控手段很粗糙,十分落后,絕大多數(shù)仍在使用濕球濕度計(jì),采用人工觀測(cè)人工調(diào)節(jié)閥門(mén)、風(fēng)機(jī)的

7、方法,很少有人使用溫濕度傳感器。隨著科技的發(fā)展進(jìn)步,工業(yè)及電器行業(yè)對(duì)溫濕度的要求的提高,溫濕度傳感器的應(yīng)用范圍也越來(lái)越加廣泛。農(nóng)業(yè)的發(fā)展必須走現(xiàn)代化農(nóng)業(yè)這條道路,隨著國(guó)民經(jīng)濟(jì)的迅速增長(zhǎng),農(nóng)業(yè)的研究和應(yīng)用技術(shù)越來(lái)越受到重視,特別是溫室大棚已經(jīng)成為高效農(nóng)業(yè)的一個(gè)重要組成部分。大棚內(nèi)的溫度、濕度與二氧化碳含量等參數(shù),直接關(guān)系到蔬菜和水果的生長(zhǎng)。國(guó)外的溫室設(shè)施己經(jīng)發(fā)展到比較完備的程度,并形成了一定的標(biāo)準(zhǔn),但是價(jià)格非常昂貴,缺乏與我國(guó)氣候特點(diǎn)相適應(yīng)的測(cè)控軟件。而當(dāng)今大多數(shù)對(duì)大棚溫度、濕度、二氧化碳含量的檢測(cè)與控制都采用人工管理,這樣不可避免的有測(cè)控精度低、勞動(dòng)強(qiáng)度大及由于測(cè)控不及時(shí)等弊端,容易造成不可彌

8、補(bǔ)的損失,結(jié)果不但大大增加了成本,浪費(fèi)了人力資源,而且很難達(dá)到預(yù)期的效果。因此,為了實(shí)現(xiàn)高效農(nóng)業(yè)生產(chǎn)的科學(xué)化并提高農(nóng)業(yè)研究的準(zhǔn)確性,推動(dòng)我國(guó)農(nóng)業(yè)的發(fā)展,必須大力發(fā)展農(nóng)業(yè)設(shè)施與相應(yīng)的農(nóng)業(yè)工程,科學(xué)合理地調(diào)節(jié)大棚內(nèi)溫度、濕度以及二氧化碳的含量,使大棚內(nèi)形成有利于蔬菜、水果生長(zhǎng)的環(huán)境,是大棚蔬菜和水果早熟、優(yōu)質(zhì)高效益的重要環(huán)節(jié)。目前,隨著蔬菜大棚的迅速增多,人們對(duì)其性能要求也越來(lái)越高,特別是為了提高生產(chǎn)效率,對(duì)大棚的自動(dòng)化程度要求也越來(lái)越高。由于單片機(jī)及各種電子器件性價(jià)比的迅速提高,使得這種要求變?yōu)榭赡堋?.2 設(shè)計(jì)的內(nèi)容在本次課程設(shè)計(jì)中,為實(shí)現(xiàn)對(duì)溫濕度的檢測(cè)與顯示,主要利用以AT89S52為核心構(gòu)

9、架硬件電路,DHT11溫濕度傳感器采集環(huán)境溫度及濕度信息(溫度檢測(cè)范圍:0至55。測(cè)量精度:2;濕度檢測(cè)范圍:20%-90%RH。檢測(cè)精度5%RH)。LED直接顯示溫度和濕度;同時(shí)利用C語(yǔ)言編程實(shí)現(xiàn)溫濕度信息的顯示功能。1.3 設(shè)計(jì)的意義濕度為40%至50%時(shí),人會(huì)感到最舒適。如果考慮到溫、濕度對(duì)人思維活動(dòng)的影響,最適宜的溫濕度度工作效率高。溫度18,濕度40%至60%,此時(shí),人的精神狀態(tài)好,最近幾年來(lái),隨著科技的飛速發(fā)展,單片機(jī)領(lǐng)域正在不斷的走向社會(huì)各個(gè)角落,還帶動(dòng)傳統(tǒng)控制檢測(cè)日新月異更新。在實(shí)時(shí)運(yùn)作和自動(dòng)控制的單片機(jī)應(yīng)用到系統(tǒng)中,單片機(jī)如今是作為一個(gè)核心部件來(lái)使用,僅掌握單片機(jī)方面知識(shí)是不

10、夠的,還應(yīng)根據(jù)其具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,加以完善?,F(xiàn)代社會(huì)越來(lái)越多的場(chǎng)所會(huì)涉及到溫度與濕度并將其顯示。由于溫度與濕度不管是從物理量本身還是在實(shí)際人們的生活中都有著密切的關(guān)系,例如:冬天溫度為18至25,濕度為30%至80%;夏天溫度為23至28,濕度為30%至60%。在此范圍內(nèi)感到舒適的人占95%以上。在裝有空調(diào)的室內(nèi),室溫為19至24,思維最敏捷。所以,本設(shè)計(jì)就是通過(guò)單片機(jī)驅(qū)動(dòng)LED顯示溫濕度,通過(guò)此設(shè)計(jì),可以發(fā)現(xiàn)本設(shè)計(jì)有一定的擴(kuò)展性,而且可以作為其他有關(guān)設(shè)計(jì)的基礎(chǔ)。在重要的設(shè)備房間中,設(shè)備對(duì)溫、濕度等運(yùn)行環(huán)境的要求非常嚴(yán)格。對(duì)于面積較大的房間,由于氣流及設(shè)備分布的

11、影響,溫濕度值可能會(huì)有較大的區(qū)別。所以應(yīng)根據(jù)主房間實(shí)際面積在房間加裝溫濕度傳感器,以實(shí)時(shí)客觀檢測(cè)房間內(nèi)的溫、濕度。在監(jiān)控本系統(tǒng),溫濕度一體化傳感器將把檢測(cè)到的溫濕度值實(shí)時(shí)傳送到監(jiān)控主機(jī)中,并在監(jiān)控界面上以圖形形式直觀地表現(xiàn)出來(lái)。管理員可實(shí)時(shí)了解房間各點(diǎn)的實(shí)際溫濕度值,一旦房間內(nèi)實(shí)際溫、濕度值越限,系統(tǒng)將自動(dòng)彈出報(bào)警框并觸發(fā)報(bào)警,提示管理員通過(guò)調(diào)節(jié)送風(fēng)口的位置、數(shù)量,設(shè)定空調(diào)的運(yùn)行溫濕度值,盡可能讓房間各點(diǎn)的溫濕度趨向合理,確保房間設(shè)備的安全正常運(yùn)行。2. 系統(tǒng)的硬件設(shè)計(jì)2.1 系統(tǒng)設(shè)計(jì)方案本方案使用AT89S52作為控制核心,用溫濕度傳感器DHT11作為溫濕度測(cè)量元件,顯示電路采用LED顯示,

12、采用單片機(jī)最小系統(tǒng)。系統(tǒng)硬件電路設(shè)計(jì)框圖如下圖2.1。AT89S52單片機(jī)LED顯示DHT11溫濕度傳感器數(shù)據(jù)采集時(shí)鐘復(fù)位電路圖2.1 系統(tǒng)結(jié)構(gòu)圖2.2 系統(tǒng)的硬件設(shè)計(jì)2.2.1 AT89S52介紹AT89S52 具有以下標(biāo)準(zhǔn)功能:8k 字節(jié) Flash,256 字節(jié) RAM,32 位 I/O 口線,看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè) 16 位定時(shí)器/計(jì)數(shù)器,一個(gè) 6 向量 2 級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至 0Hz 靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許 RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方

13、式下,RAM 內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。P0 口:P0 口是一個(gè) 8 位漏極開(kāi)路的雙向 I/O 口。作為輸出口,每位能驅(qū)動(dòng) 8 個(gè) TTL 邏輯電平。對(duì) P0 端口寫(xiě)“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0 口也被作為低 8 位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0 具有內(nèi)部上拉電阻。在 flash 編程時(shí),P0 口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,P1 輸出緩沖器能驅(qū)動(dòng) 4 個(gè)TTL 邏輯電平。對(duì) P1 端口寫(xiě)“

14、1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。此外,P1.0 和 P1.2 分別作定時(shí)器/計(jì)數(shù)器 2 的外部計(jì)數(shù)輸入(P1.0/T2)和定時(shí)器/計(jì)數(shù)器 2的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。表2.1 AT89S52 P1口第二功能表腳號(hào)第二功能P1.0T2(定時(shí)器/計(jì)數(shù)器 T2 的外部計(jì)數(shù)輸入),時(shí)鐘輸出P1.1T2EX(定時(shí)器/計(jì)數(shù)器 T2 的捕捉/重載觸發(fā)信號(hào)和方向控制)P1.5MOSI(在系統(tǒng)編程用)P1.6MISO(在系統(tǒng)編程用)P1.7SCK(在系統(tǒng)編程用)P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻

15、的 8 位雙向 I/O 口,P2 輸出緩沖器能驅(qū)動(dòng) 4 個(gè)TTL 邏輯電平。對(duì) P2 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流在訪問(wèn)外部程序存儲(chǔ)器或用 16 位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行 MOVX DPTR)時(shí),P2 口送出高八位地址。P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O 口,p2 輸出緩沖器能驅(qū)動(dòng) 4 個(gè)TTL 邏輯電平。對(duì) P3 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。P3 口亦作為 A

16、T89S52 特殊功能(第二功能)使用,如下表所示。表2.2 AT89S52 P3口第二功能表腳號(hào)第二功能P3.0RXD(串行輸入)P3.1TXD(串行輸出)P3.2INT0(外部中斷 0)P3.3INT0(外部中斷 0)P3.4T0(定時(shí)器 0 外部輸入)P3.5T1(定時(shí)器 1 外部輸入)P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7RD(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)RST: 復(fù)位輸入。晶振工作時(shí),RST 腳持續(xù) 2 個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T(mén)狗計(jì)時(shí)完成后,RST 腳輸出 96 個(gè)晶振周期的高電平。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能無(wú)效。DISRTO

17、默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低 8 位地址的輸出脈沖。在 flash 編程時(shí),此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE 脈沖將會(huì)跳過(guò)。PSEN:外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。當(dāng) AT89S52 從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN 在每個(gè)機(jī)器周期被激活兩次,而在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN 將不被激活。EA/VPP:訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從

18、0000H 到 FFFFH 的外部程序存儲(chǔ)器讀取指令,EA 必須接 GND。為了執(zhí)行內(nèi)部程序指令,EA 應(yīng)該接 VCC。在 flash 編程期間,EA 也接收 12 伏 VPP電壓。XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。特殊功能寄存器表2.3 AT89S52 特殊寄存器映象及復(fù)位值特殊功能寄存器(SFR)的地址空間映象如表2.3所示。并不是所有的地址都被定義了。片上沒(méi)有定義的地址是不能用的。讀這些地址,一般將得到一個(gè)隨機(jī)數(shù)據(jù);寫(xiě)入的數(shù)據(jù)將會(huì)無(wú)效。用戶不應(yīng)該給這些未定義的地址寫(xiě)入數(shù)據(jù)“1”。由于這些寄存器在將來(lái)可能被賦予新的功能,復(fù)位后,這

19、些位都為“0”。定時(shí)器 2 寄存器:寄存器T2CON 和T2MOD 包含定時(shí)器2 的控制位和狀態(tài)位,寄存器對(duì)RCAP2H和RCAP2L是定時(shí)器2的捕捉/自動(dòng)重載寄存器。中斷寄存器:各中斷允許位在IE寄存器中,六個(gè)中斷源的兩個(gè)優(yōu)先級(jí)也可在IE中設(shè)置。存儲(chǔ)器結(jié)構(gòu)MCS-51器件有單獨(dú)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器都可以64K尋址。程序存儲(chǔ)器:如果EA引腳接地,程序讀取只從外部存儲(chǔ)器開(kāi)始。對(duì)于AT89S52,如果EA 接VCC,程序讀寫(xiě)先從內(nèi)部存儲(chǔ)器(地址為0000H1FFFH)開(kāi)始,接著從外部尋址,尋址地址為:2000HFFFFH。數(shù)據(jù)存儲(chǔ)器:AT89S52 有256 字節(jié)片

20、內(nèi)數(shù)據(jù)存儲(chǔ)器。高128 字節(jié)與特殊功能寄存器重疊。也就是說(shuō)高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開(kāi)的。當(dāng)一條指令訪問(wèn)高于7FH 的地址時(shí),尋址方式?jīng)Q定CPU 訪問(wèn)高128 字節(jié)RAM 還是特殊功能寄存器空間。直接尋址方式訪問(wèn)特殊功能寄存器(SFR)。例如,下面的直接尋址指令訪問(wèn)0A0H(P2口)存儲(chǔ)單元MOV 0A0H , #data使用間接尋址方式訪問(wèn)高128 字節(jié)RAM。例如,下面的間接尋址方式中,R0 內(nèi)容為0A0H,訪問(wèn)的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。MOV R0 , #data堆棧操作也是間接尋址方式。因此,高128字節(jié)數(shù)據(jù)RAM也可用

21、于堆棧空間。雙數(shù)據(jù)指針寄存器:為了更有利于訪問(wèn)內(nèi)部和外部數(shù)據(jù)存儲(chǔ)器,系統(tǒng)提供了兩路16位數(shù)據(jù)指針寄存器:位于SFR中82H83H的DP0和位于84H85。特殊寄存器AUXR1中DPS0 選擇DP0;DPS=1 選擇DP1。用戶應(yīng)該在訪問(wèn)數(shù)據(jù)指針寄存器前先初始化DPS至合理的值??撮T(mén)狗定時(shí)器WDT是一種需要軟件控制的復(fù)位方式。WDT 由13位計(jì)數(shù)器和特殊功能寄存器中的看門(mén)狗定時(shí)器復(fù)位存儲(chǔ)器(WDTRST)構(gòu)成。WDT 在默認(rèn)情況下無(wú)法工作;為了激活WDT,用戶必須往WDTRST 寄存器(地址:0A6H)中依次寫(xiě)入01EH 和0E1H。當(dāng)WDT激活后,晶振工作,WDT在每個(gè)機(jī)器周期都會(huì)增加。WDT

22、計(jì)時(shí)周期依賴于外部時(shí)鐘頻率。除了復(fù)位(硬件復(fù)位或WDT溢出復(fù)位),沒(méi)有辦法停止WDT工作。當(dāng)WDT溢出,它將驅(qū)動(dòng)RSR引腳一個(gè)高個(gè)電平輸出。WDT的使用當(dāng)計(jì)數(shù)達(dá)到8191(1FFFH)時(shí),13 位計(jì)數(shù)器將會(huì)溢出,這將會(huì)復(fù)位器件。晶振正常工作、WDT激活后,每一個(gè)機(jī)器周期WDT 都會(huì)增加。為了復(fù)位WDT,用戶必須向WDTRST 寫(xiě)入01EH 和0E1H(WDTRST 是只讀寄存器)。WDT 計(jì)數(shù)器不能讀或?qū)?。?dāng)WDT 計(jì)數(shù)器溢出時(shí),將給RST 引腳產(chǎn)生一個(gè)復(fù)位脈沖輸出,這個(gè)復(fù)位脈沖持續(xù)96個(gè)晶振周期(TOSC),其中TOSC=1/FOSC。為了很好地使用WDT,應(yīng)該在一定時(shí)間內(nèi)周期性寫(xiě)入那部分代

23、碼,以避免WDT復(fù)位。掉電和空閑方式下的WDT在掉電模式下,晶振停止工作,這意味這WDT也停止了工作。在這種方式下,用戶不必喂狗。有兩種方式可以離開(kāi)掉電模式:硬件復(fù)位或通過(guò)一個(gè)激活的外部中斷。通過(guò)硬件復(fù)位退出掉電模式后,用戶就應(yīng)該給WDT 喂狗,就如同通常AT89S52 復(fù)位一樣。通過(guò)中斷退出掉電模式的情形有很大的不同。中斷應(yīng)持續(xù)拉低很長(zhǎng)一段時(shí)間,使得晶振穩(wěn)定。當(dāng)中斷拉高后,執(zhí)行中斷服務(wù)程序。為了防止WDT在中斷保持低電平的時(shí)候復(fù)位器件,WDT 直到中斷拉低后才開(kāi)始工作。這就意味著WDT 應(yīng)該在中斷服務(wù)程序中復(fù)位。為了確保在離開(kāi)掉電模式最初的幾個(gè)狀態(tài)WDT不被溢出,最好在進(jìn)入掉電模式前就復(fù)位W

24、DT。在進(jìn)入待機(jī)模式前,特殊寄存器AUXR的WDIDLE位用來(lái)決定WDT是否繼續(xù)計(jì)數(shù)。默認(rèn)狀態(tài)下,在待機(jī)模式下,WDIDLE0,WDT繼續(xù)計(jì)數(shù)。為了防止WDT在待機(jī)模式下復(fù)位AT89S52,用戶應(yīng)該建立一個(gè)定時(shí)器,定時(shí)離開(kāi)待機(jī)模式,喂狗,再重新進(jìn)入待機(jī)模式。2.2.2 DHT11數(shù)字傳感器介紹DHT11是一款溫濕度一體化的數(shù)字傳感器。該傳感器包括一個(gè)電阻式測(cè)濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。通過(guò)單片機(jī)等微處理器簡(jiǎn)單的電路連接就能夠?qū)崟r(shí)的采集本地濕度和溫度。DHT11與單片機(jī)之間能采用簡(jiǎn)單的單總線進(jìn)行通信,僅僅需要一個(gè)I/O口。傳感器內(nèi)部濕度和溫度數(shù)據(jù)40Bit的數(shù)據(jù)一

25、次性傳給單片機(jī),數(shù)據(jù)采用校驗(yàn)和方式進(jìn)行校驗(yàn),有效的保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。DHT11功耗很低,5V電源電壓下,工作平均最大電流0.5mA。性能指標(biāo)和特性如下: 􀁺 工作電壓范圍:3.5V-5.5V 􀁺 工作電流 :平均0.5mA 􀁺 濕度測(cè)量范圍:2090RH 􀁺 溫度測(cè)量范圍:050 􀁺 濕度分辨率 :1RH 8位􀁺 溫度分辨率 :1 8位􀁺 采樣周期 :1S 􀁺 單總線結(jié)構(gòu) 􀁺 與TTL兼容(5V) 管腳排列如下: 1、引腳說(shuō)明:

26、Vcc 正電源Dout 輸出NC 空腳GND 地圖2.2 DHT11引腳圖2、管腳排列如下a、應(yīng)用電路連接說(shuō)明 DHT11數(shù)字溫濕度傳感器連接方法極為簡(jiǎn)單。第一引腳接電源正,第四引腳接電源地端。數(shù)據(jù)端為第二引腳。可直接接主機(jī)(單片機(jī))的I/O口。為提高穩(wěn)定性,建議在數(shù)據(jù)端和電源正之間接一只4.7K的上拉電阻。第三引腳為空腳,此管腳懸空不用。b、DHT11數(shù)據(jù)結(jié)構(gòu)DHT11數(shù)字溫濕度傳感器采用單總線數(shù)據(jù)格式。即,單個(gè)數(shù)據(jù)引腳端口完成輸入輸出雙向傳輸。其數(shù)據(jù)包由5Byte(40Bit)組成。數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說(shuō)明。一次完整的數(shù)據(jù)傳輸為40bit,高位先出。數(shù)據(jù)格式:8bit濕

27、度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù) +8bit校驗(yàn)和校驗(yàn)和數(shù)據(jù)為前四個(gè)字節(jié)相加。 傳感器數(shù)據(jù)輸出的是未編碼的二進(jìn)制數(shù)據(jù)。數(shù)據(jù)(濕度、溫度、整數(shù)、小數(shù))之間應(yīng)該分開(kāi)處理。如果,某次從傳感器中讀取如下5Byte數(shù)據(jù): byte4 byte3 byte2 byte1 byte0 00101101 00000000 00011100 00000000 01001001 整數(shù) 小數(shù) 整數(shù) 小數(shù) 校驗(yàn)和 濕度 溫度 校驗(yàn)和由以上數(shù)據(jù)就可得到濕度和溫度的值,計(jì)算方法: humi (濕度)= byte4 . byte3=45.0 (RH) temp (溫度)= byt

28、e2 . byte1=28.0 ( ) jiaoyan(校驗(yàn))=byte4+byte3+byte2+ byte1=73(=humi+temp)(校驗(yàn)正確) 注意:DHT11一次通訊時(shí)間最大3ms,主機(jī)連續(xù)采樣間隔建議不小于100ms。c、DHT11的傳輸時(shí)序d、DHT11開(kāi)始發(fā)送數(shù)據(jù)流程圖2.3 DHT11開(kāi)始發(fā)送數(shù)據(jù)流程主機(jī)發(fā)送開(kāi)始信號(hào)后,延時(shí)等待20us-40us后讀取DH11T的回應(yīng)信號(hào),讀取總線為低電平,說(shuō)明DHT11發(fā)送響應(yīng)信號(hào),DHT11發(fā)送響應(yīng)信號(hào)后,再把總線拉高,準(zhǔn)備發(fā)送數(shù)據(jù),每一bit數(shù)據(jù)都以低電平開(kāi)始,格式見(jiàn)上面圖示。如果讀取響應(yīng)信號(hào)為高電平,則DHT11沒(méi)有響應(yīng),請(qǐng)檢查線

29、路是否連接正常。 e、主機(jī)復(fù)位信號(hào)和DHT11響應(yīng)信號(hào)圖2.4 主機(jī)復(fù)位信號(hào)和DHT11響應(yīng)信號(hào)f、數(shù)字0信號(hào)表示方法圖2.5 數(shù)字0信號(hào)表示方法g、數(shù)字1信號(hào)表示方法圖2.6 數(shù)字1信號(hào)表示方法DHT11有四個(gè)引腳,3號(hào)引腳一般懸空,如圖2-2所示。DHT11的供電電壓為35.5V。傳感器上電后,要等待1s以越過(guò)不穩(wěn)定狀態(tài)在此期間無(wú)需發(fā)送任何指令。電源引腳(VDD,GND)之間可增加一個(gè)100nF的電容,用以去耦濾波。建議連接線長(zhǎng)度短于20米時(shí)用5K上拉電阻,大于20米時(shí)根據(jù)實(shí)際情況使用合適的上拉電阻。 2.2.3 LED顯示器的介紹1、LED顯示器的結(jié)構(gòu)與原理管腳排列共陰極數(shù)碼管共陽(yáng)極數(shù)碼

30、管圖2.7 LED顯示器結(jié)構(gòu) 2、數(shù)碼管顯示原理LED數(shù)碼管由ag七個(gè)發(fā)光二極管組成。加正電壓時(shí)發(fā)光,加零電壓時(shí)不能發(fā)光,不同亮暗的組合就能形成不同的字型,這種組合稱為字型碼。共陽(yáng)極和共陰極的字型碼是不同的。表2.4 LED字型顯示代碼表顯示段 符 號(hào)十六進(jìn)制代碼dpgfedcba共陰極共陽(yáng)極0123456789AbCdEFHP000000000000000000001111101111011111100011101111101111101000101011111111101101101101111000110111111111010010111110011110010011101101111

31、1101011013FH06H5BH4FH66H6DH7DH07H7FH6FH77H7CH39H5EH79H71H76HF3HC0HF9HA4HB0H99H92H82HF8H80H90H88H83HC6HA1H86H8EH89H8CH2.2.4 八同相三態(tài)緩沖器74HC244的介紹74HC244芯片內(nèi)部共有兩個(gè)四位三態(tài)緩沖器,使用時(shí)可分別以1G和2G作為它們的選通工作信號(hào)。當(dāng)1G和2G都為低電平時(shí),輸出端Y和輸入端A狀態(tài)相同;當(dāng)1G和2G都為高電平時(shí),輸出呈高阻態(tài)。 74HC244芯片的引腳排列如圖2.8所示。圖2.8 74HC244芯片的引腳由于點(diǎn)亮數(shù)碼管需要的電流較大,單片機(jī)的I/O輸出高

32、電平時(shí)不能提供足夠的電流,所以電路中用74HC244來(lái)驅(qū)動(dòng)數(shù)碼管的陽(yáng)極,在效果上,我們可以忽略74HC244,認(rèn)為數(shù)碼管直接與單片機(jī)連接。2.3 系統(tǒng)部分硬件電路的設(shè)計(jì)2.3.1 主控電路的設(shè)計(jì)AT89S52 具有以下標(biāo)準(zhǔn)功能:8k 字節(jié) Flash,256 字節(jié) RAM,32 位 I/O 口線,看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè) 16 位定時(shí)器/計(jì)數(shù)器,一個(gè) 6 向量 2 級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至 0Hz 靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許 RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下

33、,RAM 內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。2.3.2 復(fù)位電路部分圖2.9 復(fù)位電路這種復(fù)位電路的工作原理是:?jiǎn)纹瑱C(jī)的復(fù)位電路在剛接通電時(shí),剛開(kāi)始電容是沒(méi)有電的,電容內(nèi)的電阻很低,通電后,5V 的電通過(guò)電阻給電容進(jìn)行充電,電容兩端的電會(huì)由0V 慢慢的升到4V 左右(此時(shí)間很短一般小于0.3 秒),RC 構(gòu)成的微分電路在上電瞬間產(chǎn)生一個(gè)微分脈沖,其寬度大于兩個(gè)機(jī)器周期,AT89S52將復(fù)位。正因?yàn)檫@樣,復(fù)位腳的電由低電位升到高電位,引起了內(nèi)部電路的復(fù)位工作,RST 端電壓慢慢下降,降到一定電壓值以后,即為低電平,單片機(jī)開(kāi)始正常工作(這是單片機(jī)的上電復(fù)位

34、,也叫初始化復(fù)位);當(dāng)按下復(fù)位鍵時(shí),電容兩端放電,電容又回到0V 了,于是又進(jìn)行了一次復(fù)位工作(這是手動(dòng)復(fù)位原理)。2.3.3 AT89S52的系統(tǒng)時(shí)鐘電路的設(shè)計(jì)時(shí)鐘電路是用來(lái)產(chǎn)生AT89S52單片機(jī)工作時(shí)所必須的時(shí)鐘信號(hào),AT89S52本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為保證工作方式的實(shí)現(xiàn),AT89S52在唯一的時(shí)鐘信號(hào)的控制下嚴(yán)格的按時(shí)序執(zhí)行指令進(jìn)行工作,時(shí)鐘的頻率影響單片機(jī)的速度和穩(wěn)定性。通常時(shí)鐘有兩種形式:內(nèi)部時(shí)鐘和外部時(shí)鐘。 我們系統(tǒng)采用內(nèi)部時(shí)鐘方式來(lái)為系統(tǒng)提供時(shí)鐘信號(hào)。AT89S52內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,該放大器的輸入輸出引腳為XTAL1和XTAL2,它們跨接在

35、晶體振蕩器和用于微調(diào)的電容,便構(gòu)成了一個(gè)自激勵(lì)振蕩器。電路中的C1、C2的選擇在30PF左右,但電容太小會(huì)影響振蕩的頻率、穩(wěn)定性和快速性。晶振頻率為在1.2MHZ12MHZ之間,頻率越高單片機(jī)的速度就越快,但對(duì)存儲(chǔ)器速度要求就高。為了提高穩(wěn)定性我們采用溫度穩(wěn)定性好的NPO電容,采用的晶振頻率為12MHZ。3. 系統(tǒng)的軟件設(shè)計(jì)系統(tǒng)程序主要包括主程序、DHT11控制模塊程序、延時(shí)子程序,整體程序見(jiàn)附錄。3.1 系統(tǒng)軟件主程序流程單片機(jī)應(yīng)用系統(tǒng)的程序設(shè)計(jì),可以采用匯編語(yǔ)言完成,也可以采用C語(yǔ)言實(shí)現(xiàn)。匯編語(yǔ)言對(duì)單片機(jī)內(nèi)部資源的操作直接、簡(jiǎn)潔,實(shí)現(xiàn)的程序緊湊。但是當(dāng)系統(tǒng)的規(guī)模較大時(shí),設(shè)計(jì)人員更趨于采用C

36、語(yǔ)言完成程序設(shè)計(jì)任務(wù)。這是由于C語(yǔ)言具有良好的可讀性、易維護(hù)性、可移植性和硬件操作能力。C語(yǔ)言以函數(shù)作為程序設(shè)計(jì)的基本單位,函數(shù)相當(dāng)于一般語(yǔ)言中的子程序。C語(yǔ)言中的輸入和輸出處理也通過(guò)函數(shù)調(diào)用來(lái)實(shí)現(xiàn)。各種C語(yǔ)言編譯器都會(huì)提供一個(gè)函數(shù)庫(kù),其中包含許多標(biāo)準(zhǔn)函數(shù),如各種數(shù)學(xué)函數(shù)和標(biāo)準(zhǔn)輸入輸出函數(shù)。C語(yǔ)言程序由多個(gè)函數(shù)組成,一個(gè)函數(shù)相當(dāng)于一個(gè)程序模塊,因此使用C語(yǔ)言可以很容易的進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì)。編程時(shí)將軟件劃分為兩個(gè)部分,以方便編程時(shí)思路的清晰,現(xiàn)根據(jù)自己的思路將流程圖畫(huà)如下。主程序流程圖如下圖:開(kāi)始各設(shè)備初始化測(cè)量溫濕度值發(fā)送溫度、濕度值讀取數(shù)據(jù)命令顯示溫度、濕度圖3.1 主程序流程圖3.2 DH

37、T11數(shù)據(jù)采集流程主程序里主要的一部分是數(shù)據(jù)采集和顯示的循環(huán)部分,其中DHT11溫濕度傳感器有嚴(yán)格的時(shí)序要求,程序一定要遵守按照其與主機(jī)通信的步驟。其溫濕度數(shù)據(jù)采集流程圖如下圖3-2所示:圖3.2 DHT11數(shù)據(jù)采集流程圖圖 3.3 主程序調(diào)用DHT11流程圖結(jié)論該系統(tǒng)在崔老師的指導(dǎo)下和同學(xué)們的幫助下已經(jīng)完成,能夠?qū)崿F(xiàn)一定的功能,并且得到課題老師的肯定,我感到十分的欣慰。在這次畢業(yè)設(shè)計(jì)過(guò)程中,但是由于我自身的知識(shí)儲(chǔ)備的的不足,以及自己沒(méi)有深入基層的調(diào)查和實(shí)際研究,這項(xiàng)系統(tǒng)在實(shí)驗(yàn)室內(nèi)完成,各項(xiàng)指標(biāo)均達(dá)到了設(shè)計(jì)的要求,而且溫濕度的數(shù)據(jù)采集比較準(zhǔn)確,系統(tǒng)工作良好,由于沒(méi)有拿到現(xiàn)實(shí)中進(jìn)行測(cè)試,所以這項(xiàng)

38、系統(tǒng)在實(shí)際中是否可以達(dá)到預(yù)期的目標(biāo),還有待于進(jìn)一步的論證。由于溫濕度傳感器DHT11采集的數(shù)據(jù)要實(shí)時(shí)的傳送到單片機(jī),讓程序進(jìn)行實(shí)時(shí)的處理數(shù)據(jù),這樣處理的信號(hào)就能實(shí)時(shí)顯示溫濕度。系統(tǒng)的其他部分按照題目的要求來(lái)做的,工作正常,比較穩(wěn)定。致 謝 在課題設(shè)計(jì)和論文撰寫(xiě)過(guò)程中,我的指導(dǎo)老師崔建鋒給了我很大的幫助。崔老師讓我不僅得到了知識(shí),而且養(yǎng)成了良好的工作和學(xué)習(xí)習(xí)慣,為以后的工作和研究打下了堅(jiān)實(shí)的基礎(chǔ),如果沒(méi)有他的幫助,我的很多工作將無(wú)法完成,不論現(xiàn)在還是將來(lái)他永遠(yuǎn)是我的楷模。我還要感謝兩年來(lái)在學(xué)習(xí)上幫助過(guò)我的老師和同學(xué)。在做設(shè)計(jì)和論文期間,我還要感謝我們小組的成員翟丹丹同學(xué)給我的寶貴意見(jiàn)。參考文獻(xiàn)1

39、侯建軍. 電子技術(shù)基礎(chǔ)實(shí)驗(yàn)、綜合設(shè)計(jì)與課程設(shè)計(jì).北京:高教出版社 2007,10(第一版)2張佳薇,孫麗萍,等.傳感器原理與應(yīng)用M.哈爾濱:哈爾濱東北林業(yè)大學(xué)出版社,2003.3徐愛(ài)鈞.單片機(jī)高級(jí)語(yǔ)言C51 Windows環(huán)境編程與應(yīng)用M.北京:電子工業(yè)出版社,2001.4李朝青單片機(jī)原理及接口技術(shù) 北京:航空航天大學(xué)出版社2005,10.(第三版)5蔡方凱單片機(jī)原理及基于單片機(jī)的嵌入式系統(tǒng)設(shè)計(jì) 中國(guó)水利水電出版社20076白雪冰,張延林,等.單片機(jī)原理及應(yīng)用M.哈爾濱:哈爾濱東北林業(yè)大學(xué)出版社,2006.7謝自美電子線路設(shè)計(jì)、實(shí)驗(yàn)、測(cè)試華中理工大學(xué)出版社,20008郭天祥十天學(xué)會(huì)單片機(jī)。電子

40、工業(yè)出版社,20089何立民.單片機(jī)高級(jí)教程-應(yīng)用與設(shè)計(jì)M.北京:北京航空航天大學(xué)出版社,2002.附錄#include <reg52.h>#include <stdio.h>#include <intrins.h>#include"DHT11.h"extern signed long F16T,F16RH; /全局變量聲明unsigned char code dofly_DuanMa=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/ 顯示段碼值unsigned char code d

41、ofly_WeiMa=0xfe,0xfd,0xfb,0xf7,0xef,0xdf;/分別對(duì)應(yīng)相應(yīng)的數(shù)碼管點(diǎn)亮,即位碼unsigned char dat6;void display() unsigned char i; dat0=dofly_DuanMaF16T*10%10; dat1=dofly_DuanMaF16T%10; dat2=dofly_DuanMaF16T/10%10; dat3=dofly_DuanMaF16RH*10%10; dat4=dofly_DuanMaF16RH%10; dat5=dofly_DuanMaF16RH/10%10; for(i=0;i<6;i+) P2=dofly_WeiMai; /取位碼 P0=dati; /取顯示數(shù)據(jù),段碼 Delay_ms(200); /掃描間隙延時(shí),時(shí)間太長(zhǎng)會(huì)閃爍,太短會(huì)造成重影 void main () while(1) getDHT11(); display(); Delay_ms(200); #ifndef _DHT11_H#define _DHT11_H

溫馨提示

  • 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)論