多功能溫濕度計(jì)設(shè)計(jì)5662009_第1頁
多功能溫濕度計(jì)設(shè)計(jì)5662009_第2頁
多功能溫濕度計(jì)設(shè)計(jì)5662009_第3頁
多功能溫濕度計(jì)設(shè)計(jì)5662009_第4頁
多功能溫濕度計(jì)設(shè)計(jì)5662009_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、多功能數(shù)字溫濕度計(jì)設(shè)計(jì)【摘要】 溫度和濕度是兩個(gè)最基本的環(huán)境參數(shù), 人們生活與溫濕度息息相關(guān)。 在 工農(nóng)業(yè)生產(chǎn)、氣象、環(huán)保、國(guó)防、科研等部門,經(jīng)常需要對(duì)環(huán)境溫度與濕度進(jìn)行 測(cè)量。準(zhǔn)確測(cè)量溫濕度在生物制藥、食品加工、造紙等行業(yè)更是至關(guān)重要的。因 此研究溫濕度的測(cè)量方法具有重要的意義。本論文講述了一種以單片機(jī)AT89C52為主要控制器件,以DHT22為數(shù)字溫濕 度傳感器的新型數(shù)字溫濕度計(jì), 具有時(shí)間、 溫濕度顯示, 并且可以自行設(shè)置溫度 預(yù)警值,當(dāng)溫度超出預(yù)警值時(shí)報(bào)警,存儲(chǔ)溫濕度的功能?!娟P(guān)鍵詞】溫度;濕度;DHT22時(shí)間Multifunction digital hygrometer desig

2、nAbstract Temperature and humidity are the two most basic environmental parameters, peoples life is closely related to temperature and humidity. In industrial and agricultural production, meteorology, environmental protection, national defense, scientific researchdepartments, often need to measure t

3、emperature and humidity to the environment. Accurate measurementof temperature and humidity in biological pharmaceutical, food processing, paper making industries is of vital importance. So the temperature and humidity measurement method has the vital significance.This paper tells the story of a sin

4、gle chip microcomputer AT89C52 as the main control device, a new type of digital temperature and humidity for DHT22 digital temperature and humidity meter, time, temperature and humidity display, and was able to set temperature warning value, when temperature exceeds the warning alarm, the function

5、of storage temperature and humidity.Keyword Temperature; humidity; DHT22; time目錄1. 溫濕度計(jì)發(fā)展史 11.1 溫度計(jì)的發(fā)展史 - 11.2 濕度計(jì)的發(fā)展史 - 22. 設(shè)計(jì)任務(wù)分析及方案論證 - 32.1 設(shè)計(jì)數(shù)字溫濕度計(jì)的需求分析 32.2 設(shè)計(jì)任務(wù)及要求 - 32.3 設(shè)計(jì)總體方案及方案論證 32.4 器件的選擇 42.4.1 主控制器芯片 42.4.2 溫濕度傳感器 72.4.3 時(shí)鐘芯片 82.4.4 存儲(chǔ)芯片 82.4.5 LCD12864 92.5 溫濕度測(cè)量的方法及分析 113. 硬件電路的設(shè)計(jì) 1

6、23.1 總體結(jié)構(gòu)框圖 - 123.2 主控制電路和測(cè)溫濕電路 123.3 存儲(chǔ)模塊與時(shí)鐘模塊電路 133.4 顯示模塊電路 144. 軟件設(shè)計(jì)及分析 154.1 程序流程圖 154.2 DHT22 工作原理 - 164.3 DS1302 工作原理 - 224.4 AT24C02 工作原理 - 25314.5 LCD12864 的工作原理 -5. 結(jié)論 錯(cuò)誤!未定義書簽參 考 文 獻(xiàn) 1致 謝 錯(cuò)誤!未定義書簽。附錄 A 實(shí)物圖 2附錄 B 元件清單 1. 溫濕度計(jì)發(fā)展史1.1 溫度計(jì)的發(fā)展史世界上記錄最熱的溫度是在利比亞, 時(shí)間是 1922年 9月 13 日,溫度是攝氏 58 度,之后 19

7、53 年在墨西哥記錄到 60 度。美國(guó)記錄的最高溫度是在加州的死 亡谷, 1913年7月10日,溫度是 56.7 度,曾經(jīng)有人描述過在這個(gè)溫度下的感 受,人可以感受到死亡的威脅,鳥熱的從天上掉下來。古希臘人早就知道空氣在受熱的時(shí)候會(huì)膨脹,在大約 2000 年前,亞歷山大 的英雄( Hero of Alexandria ),這其實(shí)是一希臘人,生活在埃及的亞歷山大, 名字叫 Hero ”,他發(fā)明了一個(gè)類似蒸汽機(jī)的東西, 用的就是熱氣膨脹的原理, 但 這個(gè)還不是溫度計(jì)。直到 1592 年,伽利略發(fā)明了一個(gè)類似溫度計(jì)的東西, 這個(gè)也可以測(cè)定氣壓, 1612年,伽利略的朋友 Santorio Santo

8、rio (1561-1636),( 并不是我把名字打 重了,他的名字和姓氏就是一樣的, ) 他把伽利略的溫度計(jì)改造了一下,在一個(gè) 封閉的系統(tǒng)里,隨著溫度的變化,空氣收縮膨脹,彩色的液體高度也隨著變化, 他用這個(gè)測(cè)定人體的溫度變化,算是世界上第一個(gè)體溫表。直到 1713年, Daniel Fahrenheit (1686-1736)在溫度計(jì)上放上了刻度, 首先把冰融化的溫度和健康人體的溫度兩個(gè)刻度標(biāo)上, 但他很快意識(shí)到, 冰融化 的溫度是不變的,但水結(jié)冰的溫度則是變化的,他把冰,水和鹽混在一起,這個(gè) 溫度作為 0度,而冰融化的溫度是 32 度,人體的溫度是 96 度。1835年,人們 發(fā)現(xiàn)人體的

9、正常溫度是98.6度(就是攝氏37度)。Fahrenheit有的時(shí)候用酒精 作為表示溫度的液體, 但后來他選擇了水銀, 以后這個(gè)溫度計(jì)的上限訂到了水沸 騰的點(diǎn), 212度。這個(gè)就是英國(guó)美國(guó)使用的華氏度。1742年,瑞典的天文學(xué)家 Anders Celsius (1701-1744)把水結(jié)冰的點(diǎn)定位 0度,水沸騰的點(diǎn)定位 100 度,之后 Carolus Linnaeus (1707-1778)把這個(gè)順 序倒了過來,就是現(xiàn)在世界上使用最廣泛的攝氏度。從攝氏度的國(guó)家來到使用華氏度的國(guó)家非常不習(xí)慣, 要經(jīng)常把華氏度轉(zhuǎn)換成 攝氏度,才能明白天氣預(yù)報(bào)是什么意思,很多年后才習(xí)慣華氏度,具體轉(zhuǎn)換是F=9/5

10、C+32, C=5/9(F-32) ,心算還是比較困難的1848年 Kelvin 引入一個(gè)絕對(duì) 0 度的概念,就是攝氏零下 273.5 度,然后攝 氏 0 度就是 273.15K, 100 攝氏度就是 373.15K 。1.2 濕度計(jì)的發(fā)展史濕度計(jì)是測(cè)量空氣內(nèi)含水分多少的儀器。史記天官書中即有測(cè)濕的記 載。我國(guó)漢朝初年就已出現(xiàn)濕度計(jì), 它是利用天平來測(cè)量空氣干燥或潮濕的。 天 平濕度計(jì)的使用方法, 是把兩個(gè)重量相等而吸濕性不同的物體, 例如灰和鐵, 分 別掛在天平兩端。 當(dāng)空氣濕度發(fā)生變化時(shí), 由于兩個(gè)物體吸入的分水不同, 重量 也就起了變化, 于是天平發(fā)生偏差, 從而指示出空氣潮濕的程度。

11、這就是濕度計(jì) 的由來。空氣的濕度可通俗地理解為空氣的潮濕程度它有絕對(duì)濕度和相對(duì)濕度之分絕對(duì)濕度:空氣中水蒸氣的壓強(qiáng) p 叫做空氣的絕對(duì)濕度空氣的濕度可以用空氣中所含水蒸汽的密度, 即單位體積的空氣中所含水蒸 汽的質(zhì)量來表示 由于直接測(cè)量空氣中水蒸氣的密度比較困難, 而水蒸氣的壓強(qiáng) 隨水蒸氣密度的增大而增大,所以通常用空氣中水蒸氣的壓強(qiáng)來表示空氣的濕 度,這就是空氣的絕對(duì)濕度相對(duì)濕度:(1)概念的引入:為了表示空氣中水蒸氣離飽和狀態(tài)的遠(yuǎn)近而引入相對(duì)濕 度的概念(2)相對(duì)濕度 B :某溫度時(shí)空氣的絕對(duì)濕度 p 跟同一溫度下水的飽和汽 壓 ps 的百分比叫做這時(shí)空氣的相對(duì)濕度 不同溫度下水的飽和汽壓

12、可以查表得到 在絕對(duì)濕度 p 不變而降低溫度時(shí),由于水的飽和汽壓減小而使空氣的相 對(duì)濕度增大。 居室的相對(duì)濕度以60 %70 %較適宜。2. 設(shè)計(jì)任務(wù)分析及方案論證2.1 設(shè)計(jì)數(shù)字溫濕度計(jì)的需求分析溫度與濕度與人們的生活息息相關(guān)。在工農(nóng)業(yè)生產(chǎn)、氣象、環(huán)保、國(guó)防、科 研等部門, 經(jīng)常需要對(duì)環(huán)境溫度與濕度進(jìn)行測(cè)量及控制。 準(zhǔn)確測(cè)量溫濕度在生物 制藥、食品加工、 造紙等行業(yè)更是至關(guān)重要的。 傳統(tǒng)的溫度計(jì)是用水銀柱來顯示 的,雖然結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜,但是它的精確度不高,不易讀數(shù)。傳統(tǒng)濕度計(jì)采 用干濕球顯示法,不僅復(fù)雜而且測(cè)量精度不高。 而采用單片機(jī)對(duì)溫濕度進(jìn)行測(cè)量, 不僅具有控制方便,簡(jiǎn)單和靈活等優(yōu)點(diǎn)

13、,而且可以提高溫濕度的測(cè)量精度。用 12864液晶顯示屏來顯示溫濕度的數(shù)值和時(shí)間,看起來更加直觀。測(cè)量溫濕度的關(guān)鍵是溫濕度傳感器。過去測(cè)量溫度與濕度是分開的。隨著技 術(shù)的進(jìn)步和人們生活的需要出現(xiàn)了溫濕度傳感器。溫度傳感器的發(fā)展經(jīng)歷了 3 個(gè)階段:傳統(tǒng)的分立式溫度傳感器、 模擬集成溫度傳感器、 智能集成溫度傳感器。 目前,國(guó)際上新型溫度傳感器正從模擬式向數(shù)字式、 從集成化向智能化、 網(wǎng)絡(luò)化 的方向發(fā)展。濕度傳感器也是經(jīng)歷了這樣一個(gè)階段逐漸走向數(shù)字智能化??傊瑹o論在日常生活中還是在工業(yè)、 農(nóng)業(yè)方面都離不開對(duì)周圍環(huán)境進(jìn)行溫 濕度的測(cè)量。因此,研究溫濕度的測(cè)量具有非常重要的意義。2.2 設(shè)計(jì)任務(wù)及要

14、求設(shè)計(jì)一個(gè)以單片機(jī)為核心的多功能溫濕度測(cè)量系統(tǒng),可實(shí)現(xiàn)的功能為:(1) 有日期,時(shí)間等顯示功能;(2) 用戶還可自行設(shè)置合適的溫度;(3) 超出設(shè)置的合適溫度時(shí),蜂鳴器會(huì)提示;(4) 可存儲(chǔ)并查看溫濕度。2.3 設(shè)計(jì)總體方案及方案論證按照系統(tǒng)設(shè)計(jì)功能的要求, 確定系統(tǒng)由 7個(gè)模塊組成:主控制器模塊, 溫濕度傳感模塊,鍵盤輸入模塊,時(shí)鐘模塊,存儲(chǔ)模塊,LCD顯示電路及蜂鳴器模塊。主控制器的功能有單片機(jī)來完成,主要負(fù)責(zé)處理由溫濕度傳感器、時(shí)鐘芯片 傳遞來的數(shù)據(jù), 并把處理好的數(shù)據(jù)送向顯示模塊, 以及把數(shù)據(jù)發(fā)給存儲(chǔ)芯片和接 收存儲(chǔ)芯片發(fā)來的數(shù)據(jù)。 溫濕傳感器主要用來采集周圍環(huán)境參數(shù), 并把所采集來

15、的參數(shù)送往主控制器。 按鍵電路主要用來完成時(shí)間的調(diào)整, 設(shè)定溫濕度適宜范圍, 存儲(chǔ)和查詢溫濕度。 這里需要 6個(gè)按鍵, 兩個(gè)用來調(diào)整時(shí)間, 兩個(gè)用來設(shè)定溫濕 度適宜范圍,還有兩個(gè)用來存儲(chǔ)和查詢溫濕度。 蜂鳴器模塊是由一個(gè)蜂鳴器組成, 用來判斷周圍環(huán)境的溫度是否超出設(shè)定值了, 當(dāng)溫度超出設(shè)置的預(yù)警值時(shí), 蜂鳴 器會(huì)發(fā)出聲響。2.4 器件的選擇2.4.1 主控制器芯片AT89C52 是一個(gè)低電壓,高性能 CMOS 8 位單片機(jī),片內(nèi)含 8k bytes 的可 反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM ), 器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生

16、產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指 令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,AT89C52單片機(jī)在電子 行業(yè)中有著廣泛的應(yīng)用。AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè) 外中斷口, 3個(gè)16位可編程定時(shí)計(jì)數(shù)器 ,2個(gè)全雙工串行通信口, 2 個(gè)讀寫口線, AT89C52 可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器 和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。AT89C52 為 8 位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的 C51 內(nèi)核,在內(nèi)部功能及 管腳排布上與通用的 8xc52 相同,其主要用于會(huì)聚調(diào)

17、整時(shí)的功能控制。功能包 括對(duì)會(huì)聚主 IC 內(nèi)部寄存器、數(shù)據(jù) RAM 及外部接口等功能部件的初始化,會(huì)聚 調(diào)整控制,會(huì)聚測(cè)試圖控制, 紅外遙控信號(hào) IR 的接收解碼及與主板 CPU 通信等。 主要管腳有: XTAL1 (19 腳)和 XTAL2 (18 腳)為振蕩器輸入輸出端口,外 接12MHz晶振。RST/Vpd(9腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位 電路。VCC(40腳)和VSS(20腳)為供電端口,分別接+5V電源的正負(fù)端。P0P3為可編程通用I/O腳,其功能用途由軟件定義,在本設(shè)計(jì)中,P0端口(3239腳)被定義為N1功能控制端口,分別與N1的相應(yīng)功能管腳相連接,13腳定義為IR

18、輸入端,10腳和11腳定義為I2C總線控制端口,分別連接 N1 的SDAS( 18腳)和SCLS( 19腳)端口,12腳、27腳及28腳定義為握手信 號(hào)功能端口,連接主板CPU的相應(yīng)功能端,用于當(dāng)前制式的檢測(cè)及會(huì)聚調(diào)整狀 態(tài)進(jìn)入的控制功能。P0:P0 口是一組8位漏極開路型雙向I/O 口,也即地址/數(shù)據(jù)總線復(fù)用口。 作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng) 8個(gè)TTL邏輯門電路,對(duì)端口 P0 寫“1”時(shí),可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低 8位) 和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在 Flash編程時(shí),P0 口接收 指令字節(jié),而在程序校

19、驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。P1: P1 口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O 口, P1的輸出緩沖級(jí) 可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“ 1”,通過內(nèi)部的 上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在 上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流 (IIL)。與AT89C51不同之處是,P1.0和P1.1還可分別作為定時(shí)/計(jì)數(shù)器2的外 部計(jì)數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),F(xiàn)lash編程和程序校驗(yàn)期間,P1接 收低8位地址,其第二功能如表2.1所示。表2.1P1.0 和P1.1的第二功能引腳號(hào)功能特性

20、P1.0T2,時(shí)鐘輸出P1.1T2EX(定時(shí)/計(jì)數(shù)器)P2: P2 口是一個(gè)帶有內(nèi)部上拉電阻的 8位雙向I/O 口,P2的輸出緩沖級(jí)可 驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口 P2寫“ 1”,通過內(nèi)部 的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存 在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流 (IIL)。在訪問外部程序存儲(chǔ)器或16位地?cái)?shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR指 令)時(shí),P2 口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí) 行MOVXRI指令)時(shí),P2 口輸出P2鎖存器的內(nèi)容。Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控

21、制信號(hào)。P3: P3 口是一組帶有內(nèi)部上拉電阻的 8位雙向I/O 口。P3 口輸出緩沖級(jí) 可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)P3 口寫入“T時(shí),它們 被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的 P3 口將用上拉電 阻輸出電流(IIL )。P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能,如表2.2 所示。表2.2 P3 的第二功能端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INTO (外部中斷0)P3.3INT1 (外部中斷1)P3.4T0 (定時(shí)/計(jì)數(shù)器0)P3.5T1 (定時(shí)/計(jì)數(shù)器1)P3.6WR (外部數(shù)據(jù)存

22、儲(chǔ)器寫選通)P3.7RD (外部數(shù)據(jù)存儲(chǔ)器讀選通)P3 口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)AT89C52的電路仿真圖如圖2.1。I | AU119XTAL1POO/ADOPO.1ZAD1 PO 2/AD2PO.37AD3 F0ZVAD4 P0 5/AD5PO.O/ADeQ29ieRSTPSEN21123斗5673F1.0 P1 1P1J2P1.3P1.4P1P1 GXTAL2F0 7/AD722+.LE EAP1.7P2-0/AEP2.1/AS P2 2/A10 P2.3/A11 P2.4A12 P2.5/A13 P2 6W14 P2 7/A15P3.0/RXD F3

23、.1/TXDP3.2/INT0P3.3/INFIF3.4/T0P3.5/T1P3.B/WRP3.7/RDAT09C52圖2.1AT89C52 仿真圖2.4.2溫濕度傳感器溫濕度傳感器采用DHT22 DHT22數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào) 輸出的溫濕度復(fù)合傳感器。它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù), 確保產(chǎn)品具有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性。傳感器包括一個(gè)電容式感濕元 件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品 質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比極高等優(yōu)點(diǎn)。每個(gè)DHT22專感器都在極為精確的濕度校驗(yàn)室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式儲(chǔ)存在

24、OTP內(nèi)存中,傳感器內(nèi)部在檢測(cè)信號(hào)的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡(jiǎn)易快捷。超小的體積、極低的功耗,信號(hào)傳輸距離可達(dá)20米以上,使其成為各類應(yīng)用甚至最為苛刻的應(yīng)用場(chǎng)合的最佳選則。產(chǎn)品為4針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。其引腳功能如圖2.2所示。UUUUU o co Q0 Ooo OO 00000引腳名稱描述VDD電源(3.3V5.5V)SDA串行數(shù)據(jù),雙向口NC空腳GND地圖2.2 DHT22 的引腳2.4.3時(shí)鐘芯片時(shí)鐘芯片采用 DS1302, DS1302是美國(guó)DALLAS 公司推出的一種高性 能、低功耗、帶 RAM的實(shí)時(shí)時(shí)鐘電路,

25、它可以對(duì)年、月、日、周、時(shí)、分、 秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或 RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)31 X 8的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級(jí)產(chǎn)品,與 DS1202兼容,但增加了主電源 /后 備電源雙電源引腳,同時(shí)提供了對(duì)后備電源進(jìn)行涓細(xì)電流充電的能力。其引腳如圖2.3所示。VcC2 12 8l,Vcdxig27 I SCLKX2|J36 | l/oGND:45 | RST圖2.3DS1302 的引腳圖2.4.4存儲(chǔ)芯片本次設(shè)計(jì)采用的是AT24C02存

26、儲(chǔ)模塊,AT24C02是一個(gè)2K位串行CMOS E2PROM ,內(nèi)部含有256個(gè)8位字節(jié),CATALYST 公司的先進(jìn) CMOS技術(shù)實(shí)質(zhì)上減少了器件的功耗。AT24C02有一個(gè)8字節(jié)頁寫緩沖器。該器件通過IIC總線接口進(jìn)行操作,有一個(gè)專門的寫保護(hù)功能。AT24C02支持I2C,總線數(shù)據(jù)傳送協(xié)議I2C,總線協(xié)議規(guī)定任何將數(shù)據(jù)傳送到總線的器件作為發(fā)送器。任何從總線接收數(shù)據(jù)的器件為接收器。數(shù) 據(jù)傳送是由產(chǎn)生串行時(shí)鐘和所有起始停止信號(hào)的主器件控制的。主器件和 從器件都可以作為發(fā)送器或接收器,但由主器件控制傳送數(shù)據(jù)(發(fā)送或接 收)的模式,由于 A0、A1和A2可以組成000111八種情況,即通過器件 地

27、址輸入端 A0、A1和A2可以實(shí)現(xiàn)將最多 8個(gè)AT24C02器件連接到總線 上,通過進(jìn)行不同的配置進(jìn)行選擇器件。其封裝及引腳如圖2.4所示。PDIP8I 2 3 4AOA1A2NDuunu3c J L A c 2 D V w s s Pl AAA8 7 6 5234w wscsr nnn ft 7 6 5TSOT2MLWPVcc引腳倉(cāng)稱引腳功能AOA2番件她址輸入SDA弔行數(shù)押綣入輸:出SCL串行時(shí)抑輸入WP寫保護(hù)VCC電源GND地圖2.4 AT24C02的三種封裝圖及引腳圖352.4.5 LCD12864帶中文字庫(kù)的128X64是一種具有4位/8位并行、2線或3線串行多種 接口方式,內(nèi)部含有

28、國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模 塊;其顯示分辨率為128 X 64,內(nèi)置8192個(gè)16*16點(diǎn)漢字,和 128個(gè)16*88X 4行16X 16點(diǎn)陣的漢字.也可點(diǎn)ASCII字符集.利用該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可 構(gòu)成全中文人機(jī)交互圖形界面。可以顯示完成圖形顯示低電壓低功耗是其又一顯著特點(diǎn)。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點(diǎn)陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程 序都要簡(jiǎn)潔得多,且該模塊的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。主要技術(shù)參數(shù)和顯示特性 :電源:VDD 3.3V+5V(內(nèi)置升壓電路,無需 負(fù)壓);顯示內(nèi)容:128列X 64行;顯示顏色:黃

29、綠屏,藍(lán)屏;顯示角度: 6: 00鐘直視;LCD類型:STN ;與MCU接口: 8位并口或串行; 配置LED 背光;多種軟件功能:光標(biāo)顯示、畫面移位、自定義字符、睡眠模式等。12864的引腳功能如表 2.3所示:表2.3LCD12864 的引腳功能管腳號(hào)管腳名稱電平管腳功能描述1VSS0V電源地2VCC3.0+5V電源正3V0-對(duì)比度(亮度)調(diào)整4RS(CS)H/LRS= “ 表示DB7 DB0為顯示數(shù)據(jù)RS= “L”表示DB7 DB0為顯示指令數(shù)據(jù)5R/W(SID)H/LR/W=“ H ,E= “ H數(shù)據(jù)被讀至U DB7 DB0R/W=“L” ,E= “ H L” , DB7 DB0 的數(shù)據(jù)

30、被寫到IR或DR6E(SCLK)H/L使能信號(hào)7DB0H/L二態(tài)數(shù)據(jù)線8DB1H/L二態(tài)數(shù)據(jù)線9DB2H/L二態(tài)數(shù)據(jù)線10DB3H/L二態(tài)數(shù)據(jù)線11DB4H/L二態(tài)數(shù)據(jù)線12DB5H/L二態(tài)數(shù)據(jù)線13DB6H/L二態(tài)數(shù)據(jù)線14DB7H/L二態(tài)數(shù)據(jù)線15PSBH/LH : 8位或4位并口方式,L :串口方式16NC-空腳17/RESETH/L復(fù)位端,低電平有效18VOUT-LCD驅(qū)動(dòng)電壓輸出端19AVDD背光源正端(+5V)20KVSS背光源負(fù)端2.5溫濕度測(cè)量的方法及分析DHT22是一個(gè)單總線接口的數(shù)字溫濕度傳感器。它是四針單排封裝,一個(gè)接電源,一個(gè)接地線, DATA接口直接和單片機(jī)的 P2A

31、7相連,另外一個(gè) 是空引腳,不接線。連接線長(zhǎng)度短于20米時(shí)用5K上拉電阻。單片機(jī)通過卩2八7向DHT22發(fā)送命令,DHT22接收到命令后做出相應(yīng)的應(yīng)答。由于 DHT22內(nèi)部包含一個(gè)14位A/D轉(zhuǎn)換器,所以單片機(jī)接收到就是數(shù)字信號(hào), 只需要做相應(yīng)的處理就能得到所需要的數(shù)據(jù)。這里減少了很多外部的電路 的連接,用起來比較方便。3. 硬件電路的設(shè)計(jì)3.1總體結(jié)構(gòu)框圖存儲(chǔ)模塊鍵盤輸入模塊溫濕度傳感模塊主控制器時(shí)鐘模塊圖3.1 總結(jié)構(gòu)框圖3.2主控制電路和測(cè)溫濕電路本次硬件設(shè)計(jì)的核心就是 AT89C52其他部位的硬件都是圍繞著它來設(shè)計(jì) 的。數(shù)字溫濕度傳感器 DHT22的 DATA口與AT89C52的 P2

32、A7 口相連。按鍵電路就 是7個(gè)按鍵分別與 AT89C52的卩3八2,卩3八3,卩2八3,卩2八4,卩2八5,卩0八0 和P0A1 口相連。 當(dāng)有按鍵按下時(shí)單片機(jī)接收到有效的信號(hào),S1鍵和S2鍵用來調(diào)整溫度報(bào)警范圍, S1鍵是增加溫度值,S2鍵是減少溫度值;S3, S4和S5鍵是用來調(diào)整時(shí)間和日 期的,S3鍵用來移動(dòng)設(shè)置的光標(biāo),S4鍵是增加鍵,S5鍵是減少鍵;S6和S7鍵 是用來保存和查詢溫濕度的,S6鍵用來查詢溫濕度和退出界面,S7鍵用來保存 溫濕度和日期。報(bào)警電路就是蜂鳴器與單片機(jī)的P2A6 口相連,當(dāng)溫度超過設(shè)置的預(yù)警值時(shí),蜂鳴器就會(huì)發(fā)出警報(bào)。其電路接線圖如圖3.2所示。vcc1 11M

33、CUDHT223C LT Its圖3.2 DHT22 電路接線圖3.3存儲(chǔ)模塊與時(shí)鐘模塊電路本次設(shè)計(jì)使用的存儲(chǔ)模塊是以AT24C02存儲(chǔ)芯片為核心的,該模塊有四個(gè)引 腳,其中的VCC和GND引腳分別接電源和接地,SDA引腳與單片機(jī)的P3A6 口連 接,SCL引腳與單片機(jī)的卩3八7 口連接,存儲(chǔ)芯片主要是用來存儲(chǔ)想要保存的溫 濕度。時(shí)鐘模塊是以DS1302芯片為核心的,該模塊有五個(gè)引腳,其中 VCC引腳 懸空,GNE引腳接地,CLK引腳與單片機(jī)的P2A0 口連接,DAT引腳與單片機(jī)的卩2八1 口連接,RST引腳與單片機(jī)的P2A2 口連接,時(shí)鐘芯片主要是用來提供秒分時(shí)日 日期月年的信息,并具有掉電

34、存儲(chǔ)的功能。DS1302的電路接線圖如圖3.3所示:圖3.3DS1302 的電路接線圖AT24C02勺電路接線圖如圖3.4所示:U2 AT24CO2圖3.4 AT24C02 電路圖3.4顯示模塊電路本次設(shè)計(jì)采用的顯示屏是LCD12864 LCD1286k共有20個(gè)引腳,其中RS 引腳與單片機(jī)的P0A3 口連接,R/W引腳與P0A4 口連接,E引腳與P0A5 口連接, PSB引腳與P0A6 口連接,D0D7分別與P1A0PM7連接,其他的電源口、接地口 和空引腳分別對(duì)應(yīng)相應(yīng)的引腳或懸空。LCD顯示的時(shí)候分為四行,第一行顯示日 期,第二行顯示時(shí)間,第三行顯示濕度,第四行顯示溫度和預(yù)警值。12864

35、的接線電路圖如圖3.5所示。圖3.512864接線電路圖4.1程序流程圖4.軟件設(shè)計(jì)及分析調(diào)整時(shí)間、溫度上限顯示結(jié)束圖4.1 程序流程圖4.2 DHT22工作原理DHT22為單總線接口,DATA用于微處理器與DHT22之間的通訊和同步,采用 單總線數(shù)據(jù)格式,一次通訊時(shí)間5ms左右,具體格式在下面說明,當(dāng)前數(shù)據(jù)傳輸為 40bit,高位先出。如下:數(shù)據(jù)格式:40bit數(shù)據(jù)=16bit濕度數(shù)據(jù)+16bit溫度數(shù)據(jù)+8bit校驗(yàn)和例子:接收40bit數(shù)據(jù)如下:0000 0010 1000 1100 0000 0001 0101 1111 1110 1110濕度數(shù)據(jù)溫度數(shù)據(jù)校驗(yàn)和濕度高8位+ 濕度低8位

36、+溫度高8位+溫度低8位二的末8位=校驗(yàn)和例如:0000 0010+1000 1100+0000 0001+0101 1111=1110 1110濕度=65.2 % RH 溫度=35.1 T當(dāng)溫度低于0C時(shí)溫度數(shù)據(jù)的最高位置1例如:-10.1 C表示為 1000 0000 0110 0101用戶主機(jī)(MCU發(fā)送一次開始信號(hào)后QHT22從低功耗模式轉(zhuǎn)換到高速模式等待主機(jī)開始信號(hào)結(jié)束后 QHT22發(fā)送響應(yīng)信號(hào),送出40bit的數(shù)據(jù),并觸發(fā)一次信號(hào)采集。如圖4.2所示:主機(jī)反開 I船荷號(hào)VCGG ND 1報(bào)和|蹩締髭I 輸出I III es.zza一I林崙井Ii料為章時(shí)Iii從機(jī)越低-7卑吋爭(zhēng)特L-

37、椎魯希出圖4.2接收開始信號(hào)空閑時(shí)總線為高電平,通訊開始時(shí)主機(jī)(MCU拉低總線500us后釋放總線, 延時(shí)20-40us后主機(jī)開始檢測(cè)從機(jī)(DHT22的響應(yīng)信號(hào)。從機(jī)的響應(yīng)信號(hào)是一 個(gè)80us左右的低電平,隨后從機(jī)在拉高總線 80us左右代表即將進(jìn)入數(shù)據(jù)傳送。 如圖4.3所示:MIT齢sousVCGND信號(hào)線說?I:DH1響函荀片H0U3主機(jī)至少Wft莎應(yīng)主機(jī)信號(hào)DHT* 號(hào)圖4.3進(jìn)入數(shù)據(jù)傳送高電平后就是數(shù)據(jù)位,每1bit數(shù)據(jù)都是由一個(gè)低電平時(shí)隙和一個(gè)高電平組 成。低電平時(shí)隙就是一個(gè)50us左右的低電平,它代表數(shù)據(jù)位的起始,其后的高 電平的長(zhǎng)度決定數(shù)據(jù)位所代表的數(shù)值,較長(zhǎng)的高電平代表1,較短

38、的高電平代表0。共40bit數(shù)據(jù),當(dāng)最后一 Bit數(shù)據(jù)傳送完畢后,從機(jī)將再次拉低總線50us左右,隨后釋放總線,由上拉電阻拉高。VCCGND7 Ous卜一bit開始單總線50usiBitJf 始數(shù)字1信號(hào)表示方法如圖4.4所示:信號(hào)線說明:主機(jī)信號(hào)IXHT信號(hào)圖4.4 數(shù)字1信號(hào)表示方法數(shù)字0信號(hào)表示方法.如圖4.5所示:26us28us表示信號(hào)線說明:主機(jī)信號(hào)DHT 號(hào)圖4.5 數(shù)字0信號(hào)表示方法DHT22勺的電氣特性如表4.1所示:表4.1 DHT22 的電氣特性VDD=5V T = 25 C,除非特殊標(biāo)注參數(shù)條件mintymax單位供電DC3.3P6V供電電流測(cè)量11.5mA待機(jī)4050

39、uA采樣周期秒2次注:采樣周期間隔不得低于 2秒鐘(建議2秒以上) 讀八位數(shù)據(jù)子程序:void COM(void)uchar i;for(i=0;i8;i+)FLAG=2;while(!DATA)&FLAG+);Delay_10us();Delay_10us();Delay_10us();u8temp=0;if(DATA)u8temp=1;FLAG=2;while(DATA)&FLAG+);if(FLAG=1)break;comdata Temper_chu)beep=O;delayms(IO);elsebeep=1;4.3 DS1302工作原理DS1302的控制字如表4.2所示:表4.2DS

40、1302 的控制字765432101RAMA4A3A2A1A0RDCKWR控制字的最高有效位(位7)必須是邏輯1,如果它為0,貝U不能把數(shù)據(jù)寫入 到DS1302中。位6:如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為 1表示存取RAM 數(shù)據(jù);位5至位1 (A4A0):指示操作單元的地址;位 0 (最低有效位):如 為0,表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作??刂谱挚偸菑淖畹臀婚_始輸出。 在控制字指令輸入后的下一個(gè) SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入 DS1302,數(shù) 據(jù)輸入從最低位(0位)開始。同樣,在緊跟8位的控制字指令后的下一個(gè) SCLK 脈沖的下降沿,讀出DS1302的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位

41、到最高位。DS1302的時(shí)序:jfSCLKq1M AO Al A2 AS A4 R;C 1 口DO01 D2 030405 DG D7 圖4.6單個(gè)字節(jié)讀JAVJIAO Al A2 A3 A4 R/U 1 卜DOD1 0203D 斗 D5 D6 D7圖4.7單個(gè)字節(jié)寫如以上圖4.6和圖4.7所示:CE輸入驅(qū)動(dòng)高啟動(dòng)所有的數(shù)據(jù)傳輸。CE輸入有兩個(gè)功能。首先,CE打開控制邏輯,允許訪問的移位寄存器的地址/命令序列。其次,CE提供了一個(gè)終止 單字節(jié)或多字節(jié)數(shù)據(jù)傳輸方法。一個(gè)時(shí)鐘周期是由一個(gè)下降沿之后的上升沿序 列。對(duì)于數(shù)據(jù)傳輸而言,數(shù)據(jù)必須在有效的時(shí)鐘的上升沿輸入, 在時(shí)鐘的下降沿 輸出。如果CE為

42、低,所有的1/ O引腳變?yōu)楦咦杩範(fàn)顟B(tài),數(shù)據(jù)傳輸終止。 對(duì)于數(shù)據(jù)輸入:開始的8個(gè)SCLK周期,輸入寫命令字節(jié),數(shù)據(jù)字節(jié)在后 8個(gè)SCLK周期的 上升沿輸入。數(shù)據(jù)輸入位0開始。對(duì)于數(shù)據(jù)輸出:開始的8個(gè)SCLK周期,輸入一個(gè)讀命令字節(jié),數(shù)據(jù)字節(jié)在后 8個(gè)SCLK周 期的下降沿輸出。注意,第一個(gè)數(shù)據(jù)字節(jié)的第一個(gè)下降沿發(fā)生后,命令字的最后一位被寫入,命令字節(jié)的最后一位被寫入。當(dāng)CE仍為高時(shí)。如果還有額外的SCLK 周期,DS1302將重新發(fā)送數(shù)據(jù)字節(jié),這使 DS1302具有連續(xù)突發(fā)讀取的能力。DS1302的寫字節(jié)子程序:void DS1302WriteByte(uchar dat)uchar i;SCL

43、K=0; delayus(2); for(i=0;i=1;DS1302的讀字節(jié)子程序:uchar DS1302ReadByte() uchar i,dat;delayus(2);for(i=0;i=1; if(SDA=1) dat|=0x80;SCLK=1; delayus(2);SCLK=0; delayus(2);return dat;DS1302的讀數(shù)據(jù)子程序:uchar DS1302Read(uchar cmd)uchar dat;RST=0;SCLK=0;RST=1;DS1302WriteByte(cmd);dat=DS1302ReadByte();SCLK=1;RST=0;retu

44、rn dat;DS1302的寫數(shù)據(jù)子程序:void DS1302Write(uchar cmd, uchar dat)RST=0;SCLK=0;RST=1;DS1302WriteByte(cmd);DS1302WriteByte(dat);SCLK=1;RST=0;4.4 AT24C02工作原理AT24C02的使用方法:時(shí)鐘及數(shù)據(jù)傳輸:SDA引腳通常被外圍器件拉高。SDA引I腳的數(shù)據(jù)應(yīng)在SCL為 低時(shí)變化;當(dāng)數(shù)據(jù)在 SCL 為高時(shí)變化,將視為下文所述的一個(gè)起始或停止命令。起始命令:當(dāng)SCL為高,SDA由高到低的變化被視為起始命令, 必須以起始 命令作為任何一次讀/寫操作命令的開始。停止命令:當(dāng)

45、SCL為高,SDA由低到高的變化被視為停止命令, 在一個(gè)讀操 作后,停止命令會(huì)使EEPROM進(jìn)入等待態(tài)低功耗模式。應(yīng)答:所有的地址和數(shù)據(jù)字節(jié)都是以 8位為一組串行輸入和輸出的。每收 到一組8位的數(shù)據(jù)后,EEPRO都會(huì)在第9個(gè)時(shí)鐘周期時(shí)返回應(yīng)答信號(hào)。每當(dāng)主 控器件接收到一組8位的數(shù)據(jù)后,應(yīng)當(dāng)在第9個(gè)時(shí)鐘周期向EEPROI返回一個(gè) 應(yīng)答信號(hào)。收到該應(yīng)答信號(hào)后EEPROM會(huì)繼續(xù)輸出下一組8位的數(shù)據(jù)。若此時(shí)沒 有得到主控器件的應(yīng)答信號(hào),EEPROh會(huì)停止讀出數(shù)據(jù),直到主控器件返回一個(gè) 停止命令來結(jié)束讀周期。等待模式:AT24C02特有一個(gè)低功耗的等待模式??梢酝ㄟ^以下方法進(jìn)入該 模式:(1)上電;(2

46、)收到停止位并且結(jié)束所有的內(nèi)部操作后。器件復(fù)位:在協(xié)議中斷、下電或系統(tǒng)復(fù)位后,器件可通過以下步驟復(fù)位:(1) 連續(xù)輸入9個(gè)時(shí)鐘;(2)在每個(gè)時(shí)鐘周期中確保當(dāng) SCL為高時(shí)SDA也為高;(3)建立一個(gè)起始條件。寫周期時(shí)序圖如圖4.9所示:注:寫周期Twr是指一個(gè)寫序列最后一個(gè)有效停止命令到內(nèi)部擦/寫周期結(jié)束的時(shí)間。圖4.9 寫周期時(shí)序數(shù)據(jù)有效時(shí)序圖如圖4.10所示:圖4.10數(shù)據(jù)有效時(shí)序圖輸出應(yīng)答如圖4.12所示:發(fā)送字節(jié)子程序:void i2c_sendbyte(unsigned char bt)unsigned char i;for(i=0; i8; i+)if (bt & 0x80)SDO

47、 = 1;elseSDO = 0;nops();SCL = 1;bt = 1;nops();SCL = 0; 接收字節(jié)子程序: unsigned char i2c_recbyte()unsigned char dee, i;for (i=0; i8; i+)SCL = 1;nops();dee = 1;if (SDO)dee = dee | 0x01;SCL = 0; nops(); return dee;寫字節(jié)子程序:void i2c_writebyte(unsigned char add,unsigned char dat) i2c_start(); i2c_sendbyte(SLAVEADDR); i2c_waitACK();i2c_sendbyte(add); i2c_waitACK();i2c_sendbyte(dat); i2c_waitACK();i2c_stop(); delayus(20); 讀字節(jié)子程序: unsigned char i2c_readbyte(unsigned char add) unsigned char hep;i2c_s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論