




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
多功能数字温湿度计设计多功能数字温湿度计设计 【摘要摘要】温度和湿度是两个最基本的环境参数,人们生活与温湿度息息相关。 在工农业生产、气象、环保、国防、科研等部门,经常需要对环境温度与湿度 进行测量。准确测量温湿度在生物制药、食品加工、造纸等行业更是至关重要 的。因此研究温湿度的测量方法具有重要的意义。 本论文讲述了一种以单片机 AT89C52 为主要控制器件,以 DHT22 为数字温 湿度传感器的新型数字温湿度计,具有时间、温湿度显示,并且可以自行设置 温度预警值,当温度超出预警值时报警,存储温湿度的功能。 【关键词关键词】温度;湿度;DHT22;时间 Multifunction digital hygrometer design Abstract 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 research departments, often need to measure temperature and humidity to the environment. Accurate measurement of 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 single 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 of storage temperature and humidity. Keyword Temperature; humidity; DHT22; time 目目 录录 1.1. 温湿度计发展史温湿度计发展史-1 1 1.11.1 温度计的发展史温度计的发展史 -1 1 1.21.2 湿度计的发展史湿度计的发展史 -2 2 2.2. 设计任务分析及方案论证设计任务分析及方案论证-3 3 2.12.1 设计数字温湿度计的需求分析设计数字温湿度计的需求分析 -3 3 2.22.2 设计任务及要求设计任务及要求 -3 3 2.32.3 设计总体方案及方案论证设计总体方案及方案论证-3 3 2.42.4 器件的选择器件的选择 -4 4 2.4.1 主控制器芯片 -4 2.4.2 温湿度传感器 -7 2.4.3 时钟芯片 -8 2.4.4 存储芯片 -8 2.4.5 LCD12864-9 2.52.5 温湿度测量的方法及分析温湿度测量的方法及分析 -1111 3.3. 硬件电路的设计硬件电路的设计-1212 3.13.1 总体结构框图总体结构框图 -1212 3.23.2 主控制电路和测温湿电路主控制电路和测温湿电路-1212 3.33.3 存储模块与时钟模块电路存储模块与时钟模块电路-1313 3.43.4 显示模块电路显示模块电路-1414 4.4. 软件设计及分析软件设计及分析 -1515 4.14.1 程序流程图程序流程图 -1515 4.24.2 DHT22DHT22 工作原理工作原理 -1616 4.34.3 DS1302DS1302 工作原理工作原理 -2222 4.44.4 AT24C02AT24C02 工作原理工作原理 -2525 4.54.5 LCD12864LCD12864 的工作原理的工作原理 -3131 5.5. 结论结论-3434 参参 考考 文文 献献-3535 致致 谢谢-3636 附录附录 A A 实物图实物图 -3737 附录附录 B B 元件清单元件清单 -3939 1 1.1.温湿度计发展史温湿度计发展史 1.11.1 温度计的发展史温度计的发展史 世界上记录最热的温度是在利比亚,时间是 1922 年 9 月 13 日,温度是摄 氏 58 度,之后 1953 年在墨西哥记录到 60 度。美国记录的最高温度是在加州的 死亡谷,1913 年 7 月 10 日,温度是 56.7 度,曾经有人描述过在这个温度下的 感受,人可以感受到死亡的威胁,鸟热的从天上掉下来。 古希腊人早就知道空气在受热的时候会膨胀,在大约 2000 年前,亚历山大 的英雄(Hero of Alexandria) ,这其实是一希腊人,生活在埃及的亚历山大, 名字叫Hero” ,他发明了一个类似蒸汽机的东西,用的就是热气膨胀的原理, 但这个还不是温度计。 直到 1592 年,伽利略发明了一个类似温度计的东西,这个也可以测定气压, 1612 年,伽利略的朋友 Santorio Santorio (1561-1636) ,(并不是我把名字 打重了,他的名字和姓氏就是一样的,)他把伽利略的温度计改造了一下,在一 个封闭的系统里,随着温度的变化,空气收缩膨胀,彩色的液体高度也随着变 化,他用这个测定人体的温度变化,算是世界上第一个体温表。 直到 1713 年,Daniel Fahrenheit(1686-1736)在温度计上放上了刻度, 首先把冰融化的温度和健康人体的温度两个刻度标上,但他很快意识到,冰融 化的温度是不变的,但水结冰的温度则是变化的,他把冰,水和盐混在一起, 这个温度作为 0 度,而冰融化的温度是 32 度,人体的温度是 96 度。1835 年, 人们发现人体的正常温度是 98.6 度(就是摄氏 37 度) 。Fahrenheit 有的时候 用酒精作为表示温度的液体,但后来他选择了水银,以后这个温度计的上限订 到了水沸腾的点,212 度。这个就是英国美国使用的华氏度。 1742 年,瑞典的天文学家 Anders Celsius(1701-1744)把水结冰的点定 位 0 度,水沸腾的点定位 100 度,之后 Carolus Linnaeus(1707-1778)把这 个顺序倒了过来,就是现在世界上使用最广泛的摄氏度。 从摄氏度的国家来到使用华氏度的国家非常不习惯,要经常把华氏度转换 成摄氏度,才能明白天气预报是什么意思,很多年后才习惯华氏度,具体转换 2 是 F=9/5C+32,C=5/9(F-32),心算还是比较困难的。 1848 年 Kelvin 引入一个绝对 0 度的概念,就是摄氏零下 273.5 度,然后 摄氏 0 度就是 273.15K, 100 摄氏度就是 373.15K。 1.21.2 湿度计的发展史湿度计的发展史 湿度计是测量空气内含水分多少的仪器。 史记天官书中即有测湿的记 载。我国汉朝初年就已出现湿度计,它是利用天平来测量空气干燥或潮湿的。 天平湿度计的使用方法,是把两个重量相等而吸湿性不同的物体,例如灰和铁, 分别挂在天平两端。当空气湿度发生变化时,由于两个物体吸入的分水不同, 重量也就起了变化,于是天平发生偏差,从而指示出空气潮湿的程度。这就是 湿度计的由来。 空气的湿度可通俗地理解为空气的潮湿程度它有绝对湿度和相对湿度之 分 绝对湿度:空气中水蒸气的压强 p 叫做空气的绝对湿度 空气的湿度可以用空气中所含水蒸汽的密度,即单位体积的空气中所含水 蒸汽的质量来表示由于直接测量空气中水蒸气的密度比较困难,而水蒸气的 压强随水蒸气密度的增大而增大,所以通常用空气中水蒸气的压强来表示空气 的湿度,这就是空气的绝对湿度 相对湿度: (1)概念的引入:为了表示空气中水蒸气离饱和状态的远近而引入相对湿 度的概念 (2)相对湿度 B :某温度时空气的绝对湿度 p 跟同一温度下水的饱和汽 压 ps 的百分比叫做这时空气的相对湿度 不同温度下水的饱和汽压可以查表得到 在绝对湿度 p 不变而降低温度时,由于水的饱和汽压减小而使空气的相 对湿度增大。 居室的相对湿度以 60 % 70 %较适宜。 3 2.2. 设计任务分析及方案论证设计任务分析及方案论证 2.12.1 设计数字温湿度计的设计数字温湿度计的需求分析需求分析 温度与湿度与人们的生活息息相关。在工农业生产、气象、环保、国防、 科研等部门,经常需要对环境温度与湿度进行测量及控制。准确测量温湿度在 生物制药、食品加工、造纸等行业更是至关重要的。传统的温度计是用水银柱 来显示的,虽然结构简单、价格便宜,但是它的精确度不高,不易读数。传统 湿度计采用干湿球显示法,不仅复杂而且测量精度不高。而采用单片机对温湿 度进行测量,不仅具有控制方便,简单和灵活等优点,而且可以提高温湿度的 测量精度。用 12864 液晶显示屏来显示温湿度的数值和时间,看起来更加直观。 测量温湿度的关键是温湿度传感器。过去测量温度与湿度是分开的。随着 技术的进步和人们生活的需要出现了温湿度传感器。温度传感器的发展经历了 3 个阶段:传统的分立式温度传感器、模拟集成温度传感器、智能集成温度传 感器。目前,国际上新型温度传感器正从模拟式向数字式、从集成化向智能化、 网络化的方向发展。湿度传感器也是经历了这样一个阶段逐渐走向数字智能化。 总之,无论在日常生活中还是在工业、农业方面都离不开对周围环境进行 温湿度的测量。因此,研究温湿度的测量具有非常重要的意义。 2.22.2 设计任务及要求设计任务及要求 设计一个以单片机为核心的多功能温湿度测量系统,可实现的功能为: (1)有日期,时间等显示功能; (2)用户还可自行设置合适的温度; (3)超出设置的合适温度时,蜂鸣器会提示; (4)可存储并查看温湿度。 4 2.32.3 设计总体方案及方案论证设计总体方案及方案论证 按照系统设计功能的要求,确定系统由 7 个模块组成:主控制器模块,温 湿度传感模块,键盘输入模块,时钟模块,存储模块,LCD 显示电路及蜂鸣器 模块。 主控制器的功能有单片机来完成,主要负责处理由温湿度传感器、时钟芯 片传递来的数据,并把处理好的数据送向显示模块,以及把数据发给存储芯片 和接收存储芯片发来的数据。温湿传感器主要用来采集周围环境参数,并把所 采集来的参数送往主控制器。按键电路主要用来完成时间的调整,设定温湿度 适宜范围,存储和查询温湿度。这里需要 6 个按键,两个用来调整时间,两个 用来设定温湿度适宜范围,还有两个用来存储和查询温湿度。蜂鸣器模块是由 一个蜂鸣器组成,用来判断周围环境的温度是否超出设定值了,当温度超出设 置的预警值时,蜂鸣器会发出声响。 2.42.4 器件的选择器件的选择 2.4.1主控制器芯片主控制器芯片 AT89C52 是一个低电压,高性能 CMOS 8 位单片机,片内含 8k bytes 的可 反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器(RAM), 器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令系统,片内置通用 8 位中央处理器和 Flash 存储单元,AT89C52 单片机在 电子行业中有着广泛的应用。 AT89C52 有 40 个引脚,32 个外部双向输入/输出(I/O)端口,同时内含 2 个 外中断口,3 个 16 位可编程定时计数器,2 个全双工串行通信口,2 个读写口线, AT89C52 可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器 和 Flash 存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开 发成本。 AT89C52 为 8 位通用微处理器,采用工业标准的 C51 内核,在内部功能 及管脚排布上与通用的 8xc52 相同,其主要用于会聚调整时的功能控制。功能 包括对会聚主 IC 内部寄存器、数据 RAM 及外部接口等功能部件的初始化,会 5 聚调整控制,会聚测试图控制,红外遥控信号 IR 的接收解码及与主板 CPU 通 信等。主要管脚有:XTAL1(19 脚)和 XTAL2(18 脚)为振荡器输入输出端 口,外接 12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组 成的复位电路。VCC(40 脚)和 VSS(20 脚)为供电端口,分别接+5V 电源 的正负端。P0P3 为可编程通用 I/O 脚,其功能用途由软件定义,在本设计中, P0 端口(3239 脚)被定义为 N1 功能控制端口,分别与 N1 的相应功能管脚 相连接,13 脚定义为 IR 输入端,10 脚和 11 脚定义为 I2C 总线控制端口,分 别连接 N1 的 SDAS(18 脚)和 SCLS(19 脚)端口,12 脚、27 脚及 28 脚定 义为握手信号功能端口,连接主板 CPU 的相应功能端,用于当前制式的检测 及会聚调整状态进入的控制功能。 P0:P0 口是一组 8 位漏极开路型双向 I/O 口, 也即地址/数据总线复用 口。作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端 口 P0 写“1”时,可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位) 和数据总线复用,在访问期间激活内部上拉电阻。在 Flash 编程时,P0 口接收 指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1:P1 口 是一个带内部上拉电阻的 8 位双向 I/O 口, P1 的输出缓冲级 可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”,通过内部 的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部 存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。 与 AT89C51 不同之处是,P1.0 和 P1.1 还可分别作为定时/计数器 2 的外 部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash 编程和程序校验期间,P1 接收低 8 位地址,其第二功能如表 2.1 所示。 表 2.1 P1.0 和 P1.1 的第二功能 引脚号功能特性 P1.0 T2,时钟输出 P1.1 T2EX(定时/计 数器) P2:P2 口是一个带有内部上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲级 6 可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口 P2 写“1”,通过 内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为 内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。 在访问外部程序存储器或 16 位地数据存储器(例如执行 MOVX DPTR 指令)时,P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器 (如执行 MOVXRI 指令)时,P2 口输出 P2 锁存器的内容。 Flash 编程或校验时,P2 亦接收高位地址和一些控制信号。 P3:P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。P3 口输出缓冲级 可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对 P3 口写入“1”时,它 们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的 P3 口将用上 拉电阻输出电流(IIL)。 P3 口除了作为一般的 I/O 口线外,更重要的用途是它的第二功能,如表 2.2 所示。 表 2.2 P3 的第二功能 端口引脚第二功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 (外部中断 0)INTO P3.3 (外部中断 1)INT1 P3.4 T0(定时/计数器 0) P3.5 T1(定时/计数器 1) P3.6 (外部数据存储器写选通)WR P3.7 (外部数据存储器读选通)RD P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制信号。 AT89C52 的电路仿真图如图 2.1。 7 图 2.1 AT89C52 仿真图 2.4.2温湿度传感器温湿度传感器 温湿度传感器采用 DHT22,DHT22 数字温湿度传感器是一款含有已校准数字信号 输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术, 确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容式感湿 元件和一个 NTC 测温元件,并与一个高性能 8 位单片机相连接。因此该产品具 有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个 DHT22 传感 器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在 OTP 内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串 行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离 可达 20 米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品 为 4 针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。其引 脚功能如图 2.2 所示。 8 图 2.2 DHT22 的引脚 2.4.3时钟芯片时钟芯片 时钟芯片采用 DS1302,DS1302 是美国 DALLAS 公司推出的一种高性 能、低功耗、带 RAM 的实时时钟电路,它可以对年、月、日、周、时、分、 秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口 与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。DS1302 内部有一个 318 的用于临时性存放数据的 RAM 寄 存器。DS1302 是 DS1202 的升级产品,与 DS1202 兼容,但增加了主电源 / 后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。 其引脚如图 2.3 所示。 图 2.3 DS1302 的引脚图 2.4.4存储芯片存储芯片 本次设计采用的 是 AT24C02 存储模块,AT24C02 是一个 2K 位串行 引脚名称描述 VDD 电源(3.3V5.5V) SDA 串行数据,双向口 NC 空脚 GND 地 9 CMOS E2PROM, 内部含有 256 个 8 位字节,CATALYST 公司的先进 CMOS 技术实质上减少了器件的功耗。 AT24C02 有一个 8 字节页写缓冲器。 该器件通过 IIC 总线接口进行操作, 有一个专门的写保护功能。 AT24C02 支持 I2C,总线数据传送协议 I2C,总线协议规定任何将数据 传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据 传送是由产生串行时钟和所有起始停止信号的主器件控制的。主器件和从器 件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的 模式,由于 A0、A1 和 A2 可以组成 000111 八种情况,即通过器件地址输 入端 A0、A1 和 A2 可以实现将最多 8 个 AT24C02 器件连接到总线上,通 过进行不同的配置进行选择器件。 其封装及引脚如 图 2.4 所示。 图 2.4 AT24C02 的三种封装图及引脚图 2.4.5 LCD12864LCD12864 带中文字库的 128X64 是一种具有 4 位/8 位并行、2 线或 3 线串行多种 接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块; 其显示分辨率为 12864, 内置 8192 个 16*16 点汉字,和 128 个 16*8 点 ASCII 字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成 全中文人机交互图形界面。可以显示84 行 1616 点阵的汉字 . 也可完成 10 图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与 同类型的图形点阵液晶显示模块相比, 不论硬件电路结构或显示程序都要 简洁得多,且该模块的价格也略低于相 同点阵的图形液晶模块。 主要技术参数和显示特性 :电源:VDD 3.3V+5V(内置升压电路,无需 负压);显示内容: 128 列 64 行;显示颜色:黄绿屏,蓝屏;显示角度: 6:00 钟直视;LCD 类型:STN;与 MCU 接口:8 位并口或串行;配置 LED 背光;多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等。 12864 的引脚功能如表 2.3 所示: 表 2.3 LCD12864 的引脚功能 管脚管脚 号号 管脚名称管脚名称电平电平管脚功能描述管脚功能描述 1VSS0V电源地 2VCC3.0+5V电源正 3V0-对比度(亮度)调整 4RS(CS)H/L RS=“H”,表示 DB7DB0 为显示数据 RS=“L”,表示 DB7DB0 为显示指令数据 5R/W(SID)H/L R/W=“H”,E=“H”,数据被读到 DB7DB0 R/W=“L”,E=“HL”, DB7DB0 的数据被写 到 IR 或 DR 6E(SCLK)H/L使能信号 7DB0H/L三态数据线 8DB1H/L三态数据线 9DB2H/L三态数据线 10DB3H/L三态数据线 11DB4H/L三态数据线 12DB5H/L三态数据线 13DB6H/L三态数据线 14DB7H/L三态数据线 11 15PSBH/LH:8 位或 4 位并口方式, L:串口方式 16NC-空脚 17/RESETH/L复位端,低电平有效 18VOUT-LCD 驱动电压输出端 19AVDD背光源正端( +5V) 20KVSS背光源负端 2.52.5 温湿度测量的方法及分析温湿度测量的方法及分析 DHT22 是一个单总线 接口的数字温湿度传感器 。它是四针单排封装, 一个接电源,一个接地线, DATA 接口直接和单片机的 P27 相连,另外一 个是空引脚, 不接线。连接线长度短于 20 米时用 5K 上拉电阻。单片机通 过 P27 向 DHT22 发送命令,DHT22 接收到命令后做出相应的应答。由于 DHT22 内部包含一个 14 位 A/D 转换器,所以单片机接收到就是数字信号, 只需要做相应的处理就能得到所需要的数据。这里减少了很多外部的电路的 连接,用起来比较方便 。 12 3.3. 硬件电路的设计硬件电路的设计 3.13.1 总体结构框图总体结构框图 图 3.1 总结构框图 3.23.2 主控制电路和测温湿电路主控制电路和测温湿电路 本次硬件设计的核心就是 AT89C52,其他部位的硬件都是围绕着它来设计 的。数字温湿度传感器 DHT22 的 DATA 口与 AT89C52 的 P27 口相连。按键电路 就是 7 个按键分别与 AT89C52 的 P32,P33,P23,P24,P25,P00 和 P01 口相 连。当有按键按下时单片机接收到有效的信号,S1 键和 S2 键用来调整温度报 警范围,S1 键是增加温度值,S2 键是减少温度值;S3,S4 和 S5 键是用来调整 时间和日期的,S3 键用来移动设置的光标,S4 键是增加键,S5 键是减少键; S6 和 S7 键是用来保存和查询温湿度的,S6 键用来查询温湿度和退出界面,S7 键用来保存温湿度和日期。报警电路就是蜂鸣器与单片机的 P26 口相连,当温 度超过设置的预警值时,蜂鸣器就会发出警报。其电路接线图如图 3.2 所示。 键盘输入模块 温湿度传感模块 (DS18B20) 主控制器 时钟模块 LCD 显示模块 蜂鸣器模块 存储模块 13 图 3.2 DHT22 电路接线图 3.33.3 存储模块与时钟模块电路存储模块与时钟模块电路 本次设计使用的存储模块是以 AT24C02 存储芯片为核心的,该模块有四个 引脚,其中的 VCC 和 GND 引脚分别接电源和接地,SDA 引脚与单片机的 P36 口 连接,SCL 引脚与单片机的 P37 口连接,存储芯片主要是用来存储想要保存的 温湿度。时钟模块是以 DS1302 芯片为核心的,该模块有五个引脚,其中 VCC 引 脚悬空,GND 引脚接地,CLK 引脚与单片机的 P20 口连接,DAT 引脚与单片机 的 P21 口连接,RST 引脚与单片机的 P22 口连接,时钟芯片主要是用来提供 秒分时日日期月年的信息,并具有掉电存储的功能。 DS1302 的电路接线图如图 3.3 所示: 图 3.3 DS1302 的电路接线图 AT24C02 的电路接线图如图 3.4 所示: 14 图 3.4 AT24C02 电路图 3.43.4 显示模块电路显示模块电路 本次设计采用的显示屏是 LCD12864,LCD12864 一共有 20 个引脚,其中 RS 引脚与单片机的 P03 口连接,R/W 引脚与 P04 口连接,E 引脚与 P05 口连 接,PSB 引脚与 P06 口连接,D0D7 分别与 P10P17 连接,其他的电源口、 接地口和空引脚分别对应相应的引脚或悬空。LCD 显示的时候分为四行,第一 行显示日期,第二行显示时间,第三行显示湿度,第四行显示温度和预警值。 12864 的接线电路图如图 3.5 所示。 图 3.5 12864 接线电路图 15 4.4. 软件设计及分析软件设计及分析 4.14.1 程序流程图程序流程图 Y N N Y 图 4.1 程序流程图 开始 清屏及初始化 读 DS1302、DHT22 外部中断 扫描键盘 显示历史记录 是否按下 调整时间、温度上 限 显示 结束 16 4.24.2 DHT22DHT22 工作原理工作原理 DHT22 为单总线接口,DATA 用于微处理器与 DHT22 之间的通讯和同步,采 用单总线数据格式,一次通讯时间 5ms 左右,具体格式在下面说明,当前数据传输 为 40bit,高位先出。如下: 数据格式: 40bit 数据=16bit 湿度数据+16bit 温度数据+8bit 校验和 例子: 接收 40bit 数据如下: 0000 0010 1000 1100 0000 0001 0101 1111 1110 1110 湿度数据温度数据校验和 湿度高 8 位+湿度低 8 位+温度高 8 位+温度低 8 位=的末 8 位=校验和 例如:0000 0010+1000 1100+0000 0001+0101 1111=1110 1110 湿度=65.2RH 温度=35.1 当温度低于 0时温度数据的最高位置 1。 例如:-10.1表示为 1000 0000 0110 0101 用户主机(MCU)发送一次开始信号后,DHT22 从低功耗模式转换到高速模 式,等待主机开始信号结束后,DHT22 发送响应信号,送出 40bit 的数据,并触发 一次信号采集。如图 4.2 所示: 图 4.2 接收开始信号 空闲时总线为高电平,通讯开始时主机(MCU)拉低总线 500us 后释放总线, 延时 20-40us 后主机开始检测从机(DHT22)的响应信号。从机的响应信号是一 个 80us 左右的低电平,随后从机在拉高总线 80us 左右代表即将进入数据传送。 如图 4.3 所示: 17 图 4.3 进入数据传送 高电平后就是数据位,每 1bit 数据都是由一个低电平时隙和一个高电平组 成。低电平时隙就是一个 50us 左右的低电平,它代表数据位的起始,其后的高 电平的长度决定数据位所代表的数值,较长的高电平代表 1,较短的高电平代 表 0。共 40bit 数据,当最后一 Bit 数据传送完毕后,从机将再次拉低总线 50us 左右,随后释放总线,由上拉电阻拉高。 数字 1 信号表示方法如图 4.4 所示: 图 4.4 数字 1 信号表示方法 数字 0 信号表示方法.如图 4.5 所示: 18 图 4.5 数字 0 信号表示方法 DHT22 的的电气特性如表 4.1 所示: 表 4.1 DHT22 的电气特性 VDD=5V,T = 25,除非特殊标注 参数参数条件条件 minmintyptypmaxmax 单位单位 供电供电 DC3.36V 测量 11.5mA 供电电流供电电流 待机 4050uA 采样周期采样周期秒 2 次 注:采样周期间隔不得低于 2 秒钟(建议 2 秒以上) 读八位数据子程序: void COM(void) uchar i; for(i=0;i8;i+) FLAG=2; while(!DATA) Delay_10us(); Delay_10us(); Delay_10us(); u8temp=0; 19 if(DATA) u8temp=1; FLAG=2; while(DATA) if(FLAG=1)break; comdata=1; DS1302 的读字节子程序: uchar DS1302ReadByte() uchar i,dat; delayus(2); for(i=0;i=1; if(SDA=1) dat|=0 x80; SCLK=1; delayus(2); SCLK=0; delayus(2); 25 return dat; DS1302 的读数据子程序: uchar DS1302Read(uchar cmd) uchar dat; RST=0; SCLK=0; RST=1; DS1302WriteByte(cmd); dat=DS1302ReadByte(); SCLK=1; RST=0; return dat; DS1302 的写数据子程序: void DS1302Write(uchar cmd, uchar dat) RST=0; SCLK=0; RST=1; DS1302WriteByte(cmd); DS1302WriteByte(dat); SCLK=1; RST=0; 4.4 AT24C02AT24C02 工作原理工作原理 AT24C02 的使用方法: 26 时钟及数据传输:SDA 引脚通常被外围器件拉高。SDA 引脚的数据应在 SCL 为低时变化;当数据在 SCL 为高时变化,将视为下文所述的一个起始或停止命 令。 起始命令:当 SCL 为高,SDA 由高到低的变化被视为起始命令,必须以起 始命令作为任何一次读/写操作命令的开始。 停止命令:当 SCL 为高,SDA 由低到高的变化被视为停止命令,在一个读 操作后,停止命令会使 EEPROM 进入等待态低功耗模式。 应答:所有的地址和数据字节都是以 8 位为一组串行输入和输出的。每收 到一组 8 位的数据后,EEPROM 都会在第 9 个时钟周期时返回应答信号。每当 主控器件接收到一组 8 位的数据后,应当在第 9 个时钟周期向 EEPROM 返回一 个应答信号。收到该应答信号后 EEPROM 会继续输出下一组 8 位的数据。若此 时没有得到主控器件的应答信号,EEPROM 会停止读出数据,直到主控器件返回 一个停止命令来结束读周期。 等待模式:AT24C02 特有一个低功耗的等待模式。可以通过以下方法进入该 模式:(1)上电;(2)收到停止位并且结束所有的内部操作后。 器件复位:在协议中断、下电或系统复位后,器件可通过以下步骤复位: (1)连续输入 9 个时钟;(2)在每个时钟周期中确保当 SCL 为高时 SDA 也 为高;(3)建立一个起始条件。 总线时序图如图 4.8 所示:SCL:串行时钟输入,SDA:串行输入/输出 图 4.8 总线时序图 27 写周期时序图如图 4.9 所示: 注:写周期 Twr 是指一个写序列最后一个有效停止命令到内部擦/写周期结束的时间。 图 4.9 写周期时序 数据有效时序图如图 4.10 所示: 图 4.10 数据有效时序图 起始、停止命令定义如图 4.11 所示: 图 4.11 起始命令、停止命令时序图 输出应答如图 4.12 所示: 28 图 4.12 输出应答时序图 发送字节子程序: void i2c_sendbyte(unsigned char bt) unsigned char i; for(i=0; i8; i+) if (bt else SDO = 0; nops(); SCL = 1; bt = 1; nops(); SCL = 0; 接收字节子程序: unsigned char i2c_recbyte() unsigned char dee, i; for (i=0; i8; i+) SCL = 1; nops(); dee = 1; 29 if (SDO) dee = dee | 0 x01; SCL = 0; nops(); return dee; 写字节子程序: 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); 读字节子程序: unsigned char i2c_readbyte(unsigned char add) unsigned char hep; i2c_start(); i2c_sendbyte(SLAVEADDR); i2c_waitACK(); i2c_sendbyte(add); 30 i2c_waitACK(); i2c_start(); i2c_sendbyte(SLAVEADDR+1); i2c_waitACK(); hep = i2c_recbyte(); i2c_ACK(0); i2c_stop(); return hep; 写数据子程序: void i2c_serwrite(unsigned char *p, unsigned char add, unsigned
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025房屋买卖合同公证书模板
- 2025年市场营销经理招聘面试题与答案
- 2025【合同范本】短期融资借款合同模板
- 招聘护理面试题及答案
- 护理精神面试题及答案
- 中山医院护理试题及答案
- 护理规培考试题库及答案
- 2025年弹力与形变题目及答案
- 心血管护理试题及答案
- 现代礼仪的考试题及答案
- 2025年村医笔试重点题库
- 2025-2026学年人音版(简谱)(2024)初中音乐七年级上册教学计划及进度表
- GB/T 22080-2025网络安全技术信息安全管理体系要求
- 2025年高校教师岗前培训《高等教育学》考试模拟试卷及答案(共五套)
- 储能站施工组织设计施工技术方案(技术标)
- 楼梯 栏杆 栏板(一)22J403-1
- 九年级《道德与法治》(上册)教学计划及教学进度
- 山地旅馆案例分析
- DB32∕T 4065-2021 建筑幕墙工程技术标准
- 部编版五年级语文上册(精美)课件 2 落花生
- 检具设计PPT.
评论
0/150
提交评论