版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、多功能數(shù)字溫濕度計設計【摘要】 溫度和濕度是兩個最基本的環(huán)境參數(shù), 人們生活與溫濕度息息相關(guān)。 在 工農(nóng)業(yè)生產(chǎn)、氣象、環(huán)保、國防、科研等部門,經(jīng)常需要對環(huán)境溫度與濕度進行 測量。準確測量溫濕度在生物制藥、食品加工、造紙等行業(yè)更是至關(guān)重要的。因 此研究溫濕度的測量方法具有重要的意義。本論文講述了一種以單片機AT89C52為主要控制器件,以DHT22為數(shù)字溫濕 度傳感器的新型數(shù)字溫濕度計, 具有時間、 溫濕度顯示, 并且可以自行設置溫度 預警值,當溫度超出預警值時報警,存儲溫濕度的功能?!娟P(guān)鍵詞】溫度;濕度;DHT22時間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. 溫濕度計發(fā)展史 11.1 溫度計的發(fā)展史 - 11.2 濕度計的發(fā)展史 - 22. 設計任務分析及方案論證 - 32.1 設計數(shù)字溫濕度計的需求分析 32.2 設計任務及要求 - 32.3 設計總體方案及方案論證 32.4 器件的選擇 42.4.1 主控制器芯片 42.4.2 溫濕度傳感器 72.4.3 時鐘芯片 82.4.4 存儲芯片 82.4.5 LCD12864 92.5 溫濕度測量的方法及分析 113. 硬件電路的設計 1
6、23.1 總體結(jié)構(gòu)框圖 - 123.2 主控制電路和測溫濕電路 123.3 存儲模塊與時鐘模塊電路 133.4 顯示模塊電路 144. 軟件設計及分析 154.1 程序流程圖 154.2 DHT22 工作原理 - 164.3 DS1302 工作原理 - 224.4 AT24C02 工作原理 - 25314.5 LCD12864 的工作原理 -5. 結(jié)論 錯誤!未定義書簽參 考 文 獻 1致 謝 錯誤!未定義書簽。附錄 A 實物圖 2附錄 B 元件清單 1. 溫濕度計發(fā)展史1.1 溫度計的發(fā)展史世界上記錄最熱的溫度是在利比亞, 時間是 1922年 9月 13 日,溫度是攝氏 58 度,之后 19
7、53 年在墨西哥記錄到 60 度。美國記錄的最高溫度是在加州的死 亡谷, 1913年7月10日,溫度是 56.7 度,曾經(jīng)有人描述過在這個溫度下的感 受,人可以感受到死亡的威脅,鳥熱的從天上掉下來。古希臘人早就知道空氣在受熱的時候會膨脹,在大約 2000 年前,亞歷山大 的英雄( Hero of Alexandria ),這其實是一希臘人,生活在埃及的亞歷山大, 名字叫 Hero ”,他發(fā)明了一個類似蒸汽機的東西, 用的就是熱氣膨脹的原理, 但 這個還不是溫度計。直到 1592 年,伽利略發(fā)明了一個類似溫度計的東西, 這個也可以測定氣壓, 1612年,伽利略的朋友 Santorio Santo
8、rio (1561-1636),( 并不是我把名字打 重了,他的名字和姓氏就是一樣的, ) 他把伽利略的溫度計改造了一下,在一個 封閉的系統(tǒng)里,隨著溫度的變化,空氣收縮膨脹,彩色的液體高度也隨著變化, 他用這個測定人體的溫度變化,算是世界上第一個體溫表。直到 1713年, Daniel Fahrenheit (1686-1736)在溫度計上放上了刻度, 首先把冰融化的溫度和健康人體的溫度兩個刻度標上, 但他很快意識到, 冰融化 的溫度是不變的,但水結(jié)冰的溫度則是變化的,他把冰,水和鹽混在一起,這個 溫度作為 0度,而冰融化的溫度是 32 度,人體的溫度是 96 度。1835年,人們 發(fā)現(xiàn)人體的
9、正常溫度是98.6度(就是攝氏37度)。Fahrenheit有的時候用酒精 作為表示溫度的液體, 但后來他選擇了水銀, 以后這個溫度計的上限訂到了水沸 騰的點, 212度。這個就是英國美國使用的華氏度。1742年,瑞典的天文學家 Anders Celsius (1701-1744)把水結(jié)冰的點定位 0度,水沸騰的點定位 100 度,之后 Carolus Linnaeus (1707-1778)把這個順 序倒了過來,就是現(xiàn)在世界上使用最廣泛的攝氏度。從攝氏度的國家來到使用華氏度的國家非常不習慣, 要經(jīng)常把華氏度轉(zhuǎn)換成 攝氏度,才能明白天氣預報是什么意思,很多年后才習慣華氏度,具體轉(zhuǎn)換是F=9/5
10、C+32, C=5/9(F-32) ,心算還是比較困難的1848年 Kelvin 引入一個絕對 0 度的概念,就是攝氏零下 273.5 度,然后攝 氏 0 度就是 273.15K, 100 攝氏度就是 373.15K 。1.2 濕度計的發(fā)展史濕度計是測量空氣內(nèi)含水分多少的儀器。史記天官書中即有測濕的記 載。我國漢朝初年就已出現(xiàn)濕度計, 它是利用天平來測量空氣干燥或潮濕的。 天 平濕度計的使用方法, 是把兩個重量相等而吸濕性不同的物體, 例如灰和鐵, 分 別掛在天平兩端。 當空氣濕度發(fā)生變化時, 由于兩個物體吸入的分水不同, 重量 也就起了變化, 于是天平發(fā)生偏差, 從而指示出空氣潮濕的程度。
11、這就是濕度計 的由來??諝獾臐穸瓤赏ㄋ椎乩斫鉃榭諝獾某睗癯潭人薪^對濕度和相對濕度之分絕對濕度:空氣中水蒸氣的壓強 p 叫做空氣的絕對濕度空氣的濕度可以用空氣中所含水蒸汽的密度, 即單位體積的空氣中所含水蒸 汽的質(zhì)量來表示 由于直接測量空氣中水蒸氣的密度比較困難, 而水蒸氣的壓強 隨水蒸氣密度的增大而增大,所以通常用空氣中水蒸氣的壓強來表示空氣的濕 度,這就是空氣的絕對濕度相對濕度:(1)概念的引入:為了表示空氣中水蒸氣離飽和狀態(tài)的遠近而引入相對濕 度的概念(2)相對濕度 B :某溫度時空氣的絕對濕度 p 跟同一溫度下水的飽和汽 壓 ps 的百分比叫做這時空氣的相對濕度 不同溫度下水的飽和汽壓
12、可以查表得到 在絕對濕度 p 不變而降低溫度時,由于水的飽和汽壓減小而使空氣的相 對濕度增大。 居室的相對濕度以60 %70 %較適宜。2. 設計任務分析及方案論證2.1 設計數(shù)字溫濕度計的需求分析溫度與濕度與人們的生活息息相關(guān)。在工農(nóng)業(yè)生產(chǎn)、氣象、環(huán)保、國防、科 研等部門, 經(jīng)常需要對環(huán)境溫度與濕度進行測量及控制。 準確測量溫濕度在生物 制藥、食品加工、 造紙等行業(yè)更是至關(guān)重要的。 傳統(tǒng)的溫度計是用水銀柱來顯示 的,雖然結(jié)構(gòu)簡單、價格便宜,但是它的精確度不高,不易讀數(shù)。傳統(tǒng)濕度計采 用干濕球顯示法,不僅復雜而且測量精度不高。 而采用單片機對溫濕度進行測量, 不僅具有控制方便,簡單和靈活等優(yōu)點
13、,而且可以提高溫濕度的測量精度。用 12864液晶顯示屏來顯示溫濕度的數(shù)值和時間,看起來更加直觀。測量溫濕度的關(guān)鍵是溫濕度傳感器。過去測量溫度與濕度是分開的。隨著技 術(shù)的進步和人們生活的需要出現(xiàn)了溫濕度傳感器。溫度傳感器的發(fā)展經(jīng)歷了 3 個階段:傳統(tǒng)的分立式溫度傳感器、 模擬集成溫度傳感器、 智能集成溫度傳感器。 目前,國際上新型溫度傳感器正從模擬式向數(shù)字式、 從集成化向智能化、 網(wǎng)絡化 的方向發(fā)展。濕度傳感器也是經(jīng)歷了這樣一個階段逐漸走向數(shù)字智能化??傊瑹o論在日常生活中還是在工業(yè)、 農(nóng)業(yè)方面都離不開對周圍環(huán)境進行溫 濕度的測量。因此,研究溫濕度的測量具有非常重要的意義。2.2 設計任務及要
14、求設計一個以單片機為核心的多功能溫濕度測量系統(tǒng),可實現(xiàn)的功能為:(1) 有日期,時間等顯示功能;(2) 用戶還可自行設置合適的溫度;(3) 超出設置的合適溫度時,蜂鳴器會提示;(4) 可存儲并查看溫濕度。2.3 設計總體方案及方案論證按照系統(tǒng)設計功能的要求, 確定系統(tǒng)由 7個模塊組成:主控制器模塊, 溫濕度傳感模塊,鍵盤輸入模塊,時鐘模塊,存儲模塊,LCD顯示電路及蜂鳴器模塊。主控制器的功能有單片機來完成,主要負責處理由溫濕度傳感器、時鐘芯片 傳遞來的數(shù)據(jù), 并把處理好的數(shù)據(jù)送向顯示模塊, 以及把數(shù)據(jù)發(fā)給存儲芯片和接 收存儲芯片發(fā)來的數(shù)據(jù)。 溫濕傳感器主要用來采集周圍環(huán)境參數(shù), 并把所采集來
15、的參數(shù)送往主控制器。 按鍵電路主要用來完成時間的調(diào)整, 設定溫濕度適宜范圍, 存儲和查詢溫濕度。 這里需要 6個按鍵, 兩個用來調(diào)整時間, 兩個用來設定溫濕 度適宜范圍,還有兩個用來存儲和查詢溫濕度。 蜂鳴器模塊是由一個蜂鳴器組成, 用來判斷周圍環(huán)境的溫度是否超出設定值了, 當溫度超出設置的預警值時, 蜂鳴 器會發(fā)出聲響。2.4 器件的選擇2.4.1 主控制器芯片AT89C52 是一個低電壓,高性能 CMOS 8 位單片機,片內(nèi)含 8k bytes 的可 反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM ), 器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生
16、產(chǎn),兼容標準MCS-51指 令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,AT89C52單片機在電子 行業(yè)中有著廣泛的應用。AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個 外中斷口, 3個16位可編程定時計數(shù)器 ,2個全雙工串行通信口, 2 個讀寫口線, AT89C52 可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器 和Flash存儲器結(jié)合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發(fā)成本。AT89C52 為 8 位通用微處理器,采用工業(yè)標準的 C51 內(nèi)核,在內(nèi)部功能及 管腳排布上與通用的 8xc52 相同,其主要用于會聚調(diào)
17、整時的功能控制。功能包 括對會聚主 IC 內(nèi)部寄存器、數(shù)據(jù) RAM 及外部接口等功能部件的初始化,會聚 調(diào)整控制,會聚測試圖控制, 紅外遙控信號 IR 的接收解碼及與主板 CPU 通信等。 主要管腳有: XTAL1 (19 腳)和 XTAL2 (18 腳)為振蕩器輸入輸出端口,外 接12MHz晶振。RST/Vpd(9腳)為復位輸入端口,外接電阻電容組成的復位 電路。VCC(40腳)和VSS(20腳)為供電端口,分別接+5V電源的正負端。P0P3為可編程通用I/O腳,其功能用途由軟件定義,在本設計中,P0端口(3239腳)被定義為N1功能控制端口,分別與N1的相應功能管腳相連接,13腳定義為IR
18、輸入端,10腳和11腳定義為I2C總線控制端口,分別連接 N1 的SDAS( 18腳)和SCLS( 19腳)端口,12腳、27腳及28腳定義為握手信 號功能端口,連接主板CPU的相應功能端,用于當前制式的檢測及會聚調(diào)整狀 態(tài)進入的控制功能。P0:P0 口是一組8位漏極開路型雙向I/O 口,也即地址/數(shù)據(jù)總線復用口。 作為輸出口用時,每位能吸收電流的方式驅(qū)動 8個TTL邏輯門電路,對端口 P0 寫“1”時,可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低 8位) 和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。在 Flash編程時,P0 口接收 指令字節(jié),而在程序校
19、驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。P1: P1 口是一個帶內(nèi)部上拉電阻的8位雙向I/O 口, P1的輸出緩沖級 可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“ 1”,通過內(nèi)部的 上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在 上拉電阻,某個引腳被外部信號拉低時會輸出一個電流 (IIL)。與AT89C51不同之處是,P1.0和P1.1還可分別作為定時/計數(shù)器2的外 部計數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),F(xiàn)lash編程和程序校驗期間,P1接 收低8位地址,其第二功能如表2.1所示。表2.1P1.0 和P1.1的第二功能引腳號功能特性
20、P1.0T2,時鐘輸出P1.1T2EX(定時/計數(shù)器)P2: P2 口是一個帶有內(nèi)部上拉電阻的 8位雙向I/O 口,P2的輸出緩沖級可 驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口 P2寫“ 1”,通過內(nèi)部 的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存 在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流 (IIL)。在訪問外部程序存儲器或16位地數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR指 令)時,P2 口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí) 行MOVXRI指令)時,P2 口輸出P2鎖存器的內(nèi)容。Flash編程或校驗時,P2亦接收高位地址和一些控
21、制信號。P3: P3 口是一組帶有內(nèi)部上拉電阻的 8位雙向I/O 口。P3 口輸出緩沖級 可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3 口寫入“T時,它們 被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的 P3 口將用上拉電 阻輸出電流(IIL )。P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能,如表2.2 所示。表2.2 P3 的第二功能端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INTO (外部中斷0)P3.3INT1 (外部中斷1)P3.4T0 (定時/計數(shù)器0)P3.5T1 (定時/計數(shù)器1)P3.6WR (外部數(shù)據(jù)存
22、儲器寫選通)P3.7RD (外部數(shù)據(jù)存儲器讀選通)P3 口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號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ù)字溫濕度傳感器是一款含有已校準數(shù)字信號 輸出的溫濕度復合傳感器。它應用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù), 確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電容式感濕元 件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此該產(chǎn)品具有品 質(zhì)卓越、超快響應、抗干擾能力強、性價比極高等優(yōu)點。每個DHT22專感器都在極為精確的濕度校驗室中進行校準。校準系數(shù)以程序的形式儲存在
24、OTP內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20米以上,使其成為各類應用甚至最為苛刻的應用場合的最佳選則。產(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時鐘芯片時鐘芯片采用 DS1302, DS1302是美國DALLAS 公司推出的一種高性 能、低功耗、帶 RAM的實時時鐘電路,
25、它可以對年、月、日、周、時、分、 秒進行計時,具有閏年補償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或 RAM數(shù)據(jù)。DS1302內(nèi)部有一個31 X 8的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與 DS1202兼容,但增加了主電源 /后 備電源雙電源引腳,同時提供了對后備電源進行涓細電流充電的能力。其引腳如圖2.3所示。VcC2 12 8l,Vcdxig27 I SCLKX2|J36 | l/oGND:45 | RST圖2.3DS1302 的引腳圖2.4.4存儲芯片本次設計采用的是AT24C02存
26、儲模塊,AT24C02是一個2K位串行CMOS E2PROM ,內(nèi)部含有256個8位字節(jié),CATALYST 公司的先進 CMOS技術(shù)實質(zhì)上減少了器件的功耗。AT24C02有一個8字節(jié)頁寫緩沖器。該器件通過IIC總線接口進行操作,有一個專門的寫保護功能。AT24C02支持I2C,總線數(shù)據(jù)傳送協(xié)議I2C,總線協(xié)議規(guī)定任何將數(shù)據(jù)傳送到總線的器件作為發(fā)送器。任何從總線接收數(shù)據(jù)的器件為接收器。數(shù) 據(jù)傳送是由產(chǎn)生串行時鐘和所有起始停止信號的主器件控制的。主器件和 從器件都可以作為發(fā)送器或接收器,但由主器件控制傳送數(shù)據(jù)(發(fā)送或接 收)的模式,由于 A0、A1和A2可以組成000111八種情況,即通過器件 地
27、址輸入端 A0、A1和A2可以實現(xiàn)將最多 8個AT24C02器件連接到總線 上,通過進行不同的配置進行選擇器件。其封裝及引腳如圖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引腳倉稱引腳功能AOA2番件她址輸入SDA弔行數(shù)押綣入輸:出SCL串行時抑輸入WP寫保護VCC電源GND地圖2.4 AT24C02的三種封裝圖及引腳圖352.4.5 LCD12864帶中文字庫的128X64是一種具有4位/8位并行、2線或3線串行多種 接口方式,內(nèi)部含有
28、國標一級、二級簡體中文字庫的點陣圖形液晶顯示模 塊;其顯示分辨率為128 X 64,內(nèi)置8192個16*16點漢字,和 128個16*88X 4行16X 16點陣的漢字.也可點ASCII字符集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可 構(gòu)成全中文人機交互圖形界面。可以顯示完成圖形顯示低電壓低功耗是其又一顯著特點。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程 序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。主要技術(shù)參數(shù)和顯示特性 :電源:VDD 3.3V+5V(內(nèi)置升壓電路,無需 負壓);顯示內(nèi)容:128列X 64行;顯示顏色:黃
29、綠屏,藍屏;顯示角度: 6: 00鐘直視;LCD類型:STN ;與MCU接口: 8位并口或串行; 配置LED 背光;多種軟件功能:光標顯示、畫面移位、自定義字符、睡眠模式等。12864的引腳功能如表 2.3所示:表2.3LCD12864 的引腳功能管腳號管腳名稱電平管腳功能描述1VSS0V電源地2VCC3.0+5V電源正3V0-對比度(亮度)調(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使能信號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復位端,低電平有效18VOUT-LCD驅(qū)動電壓輸出端19AVDD背光源正端(+5V)20KVSS背光源負端2.5溫濕度測量的方法及分析DHT22是一個單總線接口的數(shù)字溫濕度傳感器。它是四針單排封裝,一個接電源,一個接地線, DATA接口直接和單片機的 P2A
31、7相連,另外一個 是空引腳,不接線。連接線長度短于20米時用5K上拉電阻。單片機通過卩2八7向DHT22發(fā)送命令,DHT22接收到命令后做出相應的應答。由于 DHT22內(nèi)部包含一個14位A/D轉(zhuǎn)換器,所以單片機接收到就是數(shù)字信號, 只需要做相應的處理就能得到所需要的數(shù)據(jù)。這里減少了很多外部的電路 的連接,用起來比較方便。3. 硬件電路的設計3.1總體結(jié)構(gòu)框圖存儲模塊鍵盤輸入模塊溫濕度傳感模塊主控制器時鐘模塊圖3.1 總結(jié)構(gòu)框圖3.2主控制電路和測溫濕電路本次硬件設計的核心就是 AT89C52其他部位的硬件都是圍繞著它來設計 的。數(shù)字溫濕度傳感器 DHT22的 DATA口與AT89C52的 P2
32、A7 口相連。按鍵電路就 是7個按鍵分別與 AT89C52的卩3八2,卩3八3,卩2八3,卩2八4,卩2八5,卩0八0 和P0A1 口相連。 當有按鍵按下時單片機接收到有效的信號,S1鍵和S2鍵用來調(diào)整溫度報警范圍, S1鍵是增加溫度值,S2鍵是減少溫度值;S3, S4和S5鍵是用來調(diào)整時間和日 期的,S3鍵用來移動設置的光標,S4鍵是增加鍵,S5鍵是減少鍵;S6和S7鍵 是用來保存和查詢溫濕度的,S6鍵用來查詢溫濕度和退出界面,S7鍵用來保存 溫濕度和日期。報警電路就是蜂鳴器與單片機的P2A6 口相連,當溫度超過設置的預警值時,蜂鳴器就會發(fā)出警報。其電路接線圖如圖3.2所示。vcc1 11M
33、CUDHT223C LT Its圖3.2 DHT22 電路接線圖3.3存儲模塊與時鐘模塊電路本次設計使用的存儲模塊是以AT24C02存儲芯片為核心的,該模塊有四個引 腳,其中的VCC和GND引腳分別接電源和接地,SDA引腳與單片機的P3A6 口連 接,SCL引腳與單片機的卩3八7 口連接,存儲芯片主要是用來存儲想要保存的溫 濕度。時鐘模塊是以DS1302芯片為核心的,該模塊有五個引腳,其中 VCC引腳 懸空,GNE引腳接地,CLK引腳與單片機的P2A0 口連接,DAT引腳與單片機的卩2八1 口連接,RST引腳與單片機的P2A2 口連接,時鐘芯片主要是用來提供秒分時日 日期月年的信息,并具有掉電
34、存儲的功能。DS1302的電路接線圖如圖3.3所示:圖3.3DS1302 的電路接線圖AT24C02勺電路接線圖如圖3.4所示:U2 AT24CO2圖3.4 AT24C02 電路圖3.4顯示模塊電路本次設計采用的顯示屏是LCD12864 LCD1286k共有20個引腳,其中RS 引腳與單片機的P0A3 口連接,R/W引腳與P0A4 口連接,E引腳與P0A5 口連接, PSB引腳與P0A6 口連接,D0D7分別與P1A0PM7連接,其他的電源口、接地口 和空引腳分別對應相應的引腳或懸空。LCD顯示的時候分為四行,第一行顯示日 期,第二行顯示時間,第三行顯示濕度,第四行顯示溫度和預警值。12864
35、的接線電路圖如圖3.5所示。圖3.512864接線電路圖4.1程序流程圖4.軟件設計及分析調(diào)整時間、溫度上限顯示結(jié)束圖4.1 程序流程圖4.2 DHT22工作原理DHT22為單總線接口,DATA用于微處理器與DHT22之間的通訊和同步,采用 單總線數(shù)據(jù)格式,一次通訊時間5ms左右,具體格式在下面說明,當前數(shù)據(jù)傳輸為 40bit,高位先出。如下:數(shù)據(jù)格式:40bit數(shù)據(jù)=16bit濕度數(shù)據(jù)+16bit溫度數(shù)據(jù)+8bit校驗和例子:接收40bit數(shù)據(jù)如下:0000 0010 1000 1100 0000 0001 0101 1111 1110 1110濕度數(shù)據(jù)溫度數(shù)據(jù)校驗和濕度高8位+ 濕度低8位
36、+溫度高8位+溫度低8位二的末8位=校驗和例如:0000 0010+1000 1100+0000 0001+0101 1111=1110 1110濕度=65.2 % RH 溫度=35.1 T當溫度低于0C時溫度數(shù)據(jù)的最高位置1例如:-10.1 C表示為 1000 0000 0110 0101用戶主機(MCU發(fā)送一次開始信號后QHT22從低功耗模式轉(zhuǎn)換到高速模式等待主機開始信號結(jié)束后 QHT22發(fā)送響應信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集。如圖4.2所示:主機反開 I船荷號VCGG ND 1報和|蹩締髭I 輸出I III es.zza一I林崙井Ii料為章時Iii從機越低-7卑吋爭特L-
37、椎魯希出圖4.2接收開始信號空閑時總線為高電平,通訊開始時主機(MCU拉低總線500us后釋放總線, 延時20-40us后主機開始檢測從機(DHT22的響應信號。從機的響應信號是一 個80us左右的低電平,隨后從機在拉高總線 80us左右代表即將進入數(shù)據(jù)傳送。 如圖4.3所示:MIT齢sousVCGND信號線說?I:DH1響函荀片H0U3主機至少Wft莎應主機信號DHT* 號圖4.3進入數(shù)據(jù)傳送高電平后就是數(shù)據(jù)位,每1bit數(shù)據(jù)都是由一個低電平時隙和一個高電平組 成。低電平時隙就是一個50us左右的低電平,它代表數(shù)據(jù)位的起始,其后的高 電平的長度決定數(shù)據(jù)位所代表的數(shù)值,較長的高電平代表1,較短
38、的高電平代表0。共40bit數(shù)據(jù),當最后一 Bit數(shù)據(jù)傳送完畢后,從機將再次拉低總線50us左右,隨后釋放總線,由上拉電阻拉高。VCCGND7 Ous卜一bit開始單總線50usiBitJf 始數(shù)字1信號表示方法如圖4.4所示:信號線說明:主機信號IXHT信號圖4.4 數(shù)字1信號表示方法數(shù)字0信號表示方法.如圖4.5所示:26us28us表示信號線說明:主機信號DHT 號圖4.5 數(shù)字0信號表示方法DHT22勺的電氣特性如表4.1所示:表4.1 DHT22 的電氣特性VDD=5V T = 25 C,除非特殊標注參數(shù)條件mintymax單位供電DC3.3P6V供電電流測量11.5mA待機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ù)據(jù),為 1表示存取RAM 數(shù)據(jù);位5至位1 (A4A0):指示操作單元的地址;位 0 (最低有效位):如 為0,表示要進行寫操作,為1表示進行讀操作。控制字總是從最低位開始輸出。 在控制字指令輸入后的下一個 SCLK時鐘的上升沿時,數(shù)據(jù)被寫入 DS1302,數(shù) 據(jù)輸入從最低位(0位)開始。同樣,在緊跟8位的控制字指令后的下一個 SCLK 脈沖的下降沿,讀出DS1302的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位
41、到最高位。DS1302的時序:jfSCLKq1M AO Al A2 AS A4 R;C 1 口DO01 D2 030405 DG D7 圖4.6單個字節(jié)讀JAVJIAO Al A2 A3 A4 R/U 1 卜DOD1 0203D 斗 D5 D6 D7圖4.7單個字節(jié)寫如以上圖4.6和圖4.7所示:CE輸入驅(qū)動高啟動所有的數(shù)據(jù)傳輸。CE輸入有兩個功能。首先,CE打開控制邏輯,允許訪問的移位寄存器的地址/命令序列。其次,CE提供了一個終止 單字節(jié)或多字節(jié)數(shù)據(jù)傳輸方法。一個時鐘周期是由一個下降沿之后的上升沿序 列。對于數(shù)據(jù)傳輸而言,數(shù)據(jù)必須在有效的時鐘的上升沿輸入, 在時鐘的下降沿 輸出。如果CE為
42、低,所有的1/ O引腳變?yōu)楦咦杩範顟B(tài),數(shù)據(jù)傳輸終止。 對于數(shù)據(jù)輸入:開始的8個SCLK周期,輸入寫命令字節(jié),數(shù)據(jù)字節(jié)在后 8個SCLK周期的 上升沿輸入。數(shù)據(jù)輸入位0開始。對于數(shù)據(jù)輸出:開始的8個SCLK周期,輸入一個讀命令字節(jié),數(shù)據(jù)字節(jié)在后 8個SCLK周 期的下降沿輸出。注意,第一個數(shù)據(jù)字節(jié)的第一個下降沿發(fā)生后,命令字的最后一位被寫入,命令字節(jié)的最后一位被寫入。當CE仍為高時。如果還有額外的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ù)據(jù)傳輸:SDA引腳通常被外圍器件拉高。SDA引I腳的數(shù)據(jù)應在SCL為 低時變化;當數(shù)據(jù)在 SCL 為高時變化,將視為下文所述的一個起始或停止命令。起始命令:當SCL為高,SDA由高到低的變化被視為起始命令, 必須以起始 命令作為任何一次讀/寫操作命令的開始。停止命令:當
45、SCL為高,SDA由低到高的變化被視為停止命令, 在一個讀操 作后,停止命令會使EEPROM進入等待態(tài)低功耗模式。應答:所有的地址和數(shù)據(jù)字節(jié)都是以 8位為一組串行輸入和輸出的。每收 到一組8位的數(shù)據(jù)后,EEPRO都會在第9個時鐘周期時返回應答信號。每當主 控器件接收到一組8位的數(shù)據(jù)后,應當在第9個時鐘周期向EEPROI返回一個 應答信號。收到該應答信號后EEPROM會繼續(xù)輸出下一組8位的數(shù)據(jù)。若此時沒 有得到主控器件的應答信號,EEPROh會停止讀出數(shù)據(jù),直到主控器件返回一個 停止命令來結(jié)束讀周期。等待模式:AT24C02特有一個低功耗的等待模式??梢酝ㄟ^以下方法進入該 模式:(1)上電;(2
46、)收到停止位并且結(jié)束所有的內(nèi)部操作后。器件復位:在協(xié)議中斷、下電或系統(tǒng)復位后,器件可通過以下步驟復位:(1) 連續(xù)輸入9個時鐘;(2)在每個時鐘周期中確保當 SCL為高時SDA也為高;(3)建立一個起始條件。寫周期時序圖如圖4.9所示:注:寫周期Twr是指一個寫序列最后一個有效停止命令到內(nèi)部擦/寫周期結(jié)束的時間。圖4.9 寫周期時序數(shù)據(jù)有效時序圖如圖4.10所示:圖4.10數(shù)據(jù)有效時序圖輸出應答如圖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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在校實習協(xié)議書(2篇)
- 垃圾焚燒廠監(jiān)理合同(2篇)
- 通信設備制造基地工程承包合同
- 臨時生產(chǎn)操作工聘用合同
- 舞蹈培訓機構(gòu)招生顧問合同
- 郵政快遞網(wǎng)絡施工合同范本
- 供應鏈應屆生聘用合同樣本
- 私人廚師保姆合同樣本
- 2024美國新移民必知的I-485工作許可申請與續(xù)簽服務合同3篇
- 智能海洋系統(tǒng)工程總承包合同協(xié)議
- 洞悉現(xiàn)狀 明確方向-初三上期末家長會
- 2025社保政策培訓
- 2024年單位司機個人工作總結(jié)(6篇)
- 幼兒園幼教集團2025學年第二學期工作計劃
- 【9物(北師)期末】阜陽市臨泉縣2023-2024學年九年級上學期期末考試物理試題
- 2024年考研管理類綜合能力(199)真題及解析完整版
- 眼鏡銷售儀容儀表培訓
- “兩高”發(fā)布《關(guān)于辦理拒不執(zhí)行判決、裁定刑事案件適用法律若干問題的解釋》(新舊對照表)
- 醫(yī)生或醫(yī)技崗位招聘面試題與參考回答(某大型國企)2024年
- 2024國考:公司座談提綱2024
- 2024年掃地機器人市場動態(tài)及行業(yè)發(fā)展分析
評論
0/150
提交評論