DHT11温湿度传感器_第1页
DHT11温湿度传感器_第2页
DHT11温湿度传感器_第3页
DHT11温湿度传感器_第4页
DHT11温湿度传感器_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于单片机的DHT1儡湿度传感器设计姓名:史延林指导老师:黄智伟学院:电气工程学院学号:20094470321摘要:温湿度是生活生产中的重要的参数。本设计为基于单片机的温湿度检测与控 制系统,采用模块化、层次化设计。用新型的智能温湿度传感器DHT110E要实现 对温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字 信号,再运用单片机STC89C52S行数据的分析和处理,为显示和报警电路提供 信号,实现对温湿度的控制报警。报警系统根据设定报警的上下限值实现报警功 能,显示部分采用LCD1602夜晶显示所测温湿度值。系统电路简单、集成度高、 工作稳定、调试方便、检测精度高,具有一

2、定的实用价值。关键词:单片机;DHT1御湿度传感器;LCD1602显示第一章:课程构思1.1课题背景温湿度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用。 在生产中,温湿度的高低对产品的质量影响很 大。由于温湿度的检测控制不当,可能使我们导致无法估计的经济损失。 为保证 日常工作的顺利进行,首要问题是加强生产车间内温度与湿度的监测工作,但传统的方法过于粗糙,通过人工进行检测,对不符合温度和湿度要求的库房进行通 风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及 湿度误差大,随机性大。目前,在低温条件下(通常指100C以下),温湿度的

3、测 量已经相对成熟。利用新型单总线式数字温度传感器实现对温度的测试与控制得 到更快的开发。但人们对它的要求越来越高,要为现代人工作、科研、学习、生 活提供更好的更方便的设施就需要从数字单片机技术入手,一切向着数字化,智能化控制方向发展。对于国内外对温湿度检测的研究,从复杂模拟量检测到现在的数字智能化检 测越发的成熟,随着科技的进步,现在的对于温湿度研究,检测系统向着智能化、 小型化、低功耗的方向发展。在发展过程中,以单片机为核心的温湿度控制系统 发展为体积小、操作简单、量程宽、性能稳定、测量精度高,等诸多优点在生产 生活的各个方面实现着至关重要的作用。温湿度传感器除电阻式、电容式湿敏元件之外,

4、还有电解质离子型湿敏元件、 重量型湿敏元件(利用感湿膜重量的变化来改变振荡频率)、光强型湿敏元件、 声表面波湿敏元件等。湿敏元件的线性度及抗污染性差, 在检测环境湿度时,湿 敏元件要长期暴露在待测环境中,很容易被污染而影响其测量精度及长期稳定性。1.2主要内容本文设计的是基于单片机STC89C52勺温湿度检测和控制系统,主要以广泛 应用的DHT11作为温度和湿度的检测,该仪器具有测量精度较高、硬件电路简单、 并能很好的进行显示,可测试不同环境温湿度的特点。另外和控制电路相连,可 以进行加湿电路和除湿电路的控制, 使温度和湿度参数在预先设定的范围内, 不 需要人的直接参与。单片机是系统的控制核心

5、,所以单片机的性能关系到整个系统的好坏。因此 单片机的选择,对所设计系统的实现以及功能的扩展有着很大的影响。本设计中,最终选用的集成温度传感器 DHT11采集到的温湿度信号送至单片机,实现温湿 度的显示与控制。系统主要由以上元器件组成,通过硬件电路和软件程序的设计,实现系统的 基本功能1.3系统总体方案设计用新型的智能集成温温度传感器 DHT1住要实现检测温度、湿度的检测,将 温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机 STC89C5犹行数据的分析和处理,并在 LCD1602±显示当前温湿度。1、DHT11产品概述DHT11数字温湿度传感器是一款含有已校准数字

6、信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个 NTCS温元件,并 与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗十扰 能力强、性价比极高等优点。每个DHT1传感器都在极为精确的湿度校验室中进 行校准。校准系数以程序的形式储存在 OT呐存中,传感器内部在检测信号的处 理过程中要调用这些校准系数。单线制申行接口,使系统集成变得简易快捷。超 小的体积、极低的功耗,信号传输距离可达 20米以上,使其成为各类应用甚至 最为苛刻的应用场合的最佳选则。产品为 4针单排引脚封装。连接

7、方便,特殊封装形式可根据用户需求而提供。3 5.5V。传感器上电后,要等待1s以越过不稳定2、引脚说明引脚号引脚名称类型引脚说明1VCC电源正电源输入,3V-5.5V DC2Dout输出单总线,数据输入/输出引脚3NC空空脚,扩展未用4GND地电源地3、电源引脚DHT11传感器实物图DHT11的供电电压为状态在此期间无需发送任何指令。电源引脚(VDD GND之间可增加一个100nF 的电容,用以去耦滤波。4、串行接口(单线双向)DATA用丁微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次 通讯时间4ms左右,用户MCU发送一次开始信号后,DHT11从低功耗模式转换到 高速模式,等

8、待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触 发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触 发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿 度采集.采集数据后转换到低速模式。1.4 单片机 STC89C52STC89C5迎一种低功耗、高性能 CMOSk位微控制器,具有8K在系统可编 程Flash存储器,使用ATME公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许RO依系统可编程,亦适丁常规编程 器。在单芯片上,拥有灵巧的8位CPUffi在系统可编程Flash

9、,使其为众多嵌入 式控制应用系统提供灵活的解决方案。1、主要特性如下:1. 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择, 指令代码完全兼容传统80512. 工作电压:5.5V3.3V (5V单片机)/3.8V2.0V (3V单片机)3. 工作频率范围:040MHz相当丁普通8051的080MHz实际工作频率 可达48MHz4. 用户应用程序空间为8K字节5. 片上集成512字节RAM6. 通用I/O 口(32个),复位后为:P1/P2/P3/P4是准双向口 /弱上拉,P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需 加上拉电阻7.I

10、SP (在系统可编程)/IAP (在应用可编程),无需专用编程器,无需专用 仿真器,可通过申口( RxD/P3.0,TxD/P3.1 )直接下载用户程序,数秒即可完成8. 具有EEPROM能9. 具有看门狗功能10. 共3个16位定时器/计数器。即定时器T0、T1、T211. 外部中断4路,下降沿中断或低电平触发电路,Power Down莫式可由外 部中断低电平触发中断方式唤醒12. 通用异步申行口( UART,还可用定时器软件实现多个 UART13. 工作温度范围:-40+85C (工业级)/075 C (商业级)14. PDIP 封装2、STC89C52R顷片机的工作模式掉电模式:典型功耗

11、<0.1 A,可由外部中断唤醒,中断返回后,继续原程序空闲模式:典型功耗2mA正常工作模式:典型功耗 4M< 7mA掉电模式可由外部中断唤醒,适用丁水表、气表等电池供电系统及便携设备1L- t?20_CvccP10T2PO O ADOPl 1T2EXP0.1 ADIPL2POIADIP1.3PO3.AD3PL4F0 4 AD4P1.5P0.5 AD5P16P0.6 AD6PI 7PO7.AD7RSTEAATPPi 0<RxDAITP3 1 TxDPSEXPJ.2DJT0P3 4 TOPJ.5 T1P2.7/A1537丽P26/AMP2.5.A13P2.4.A12P2 5 Al

12、lXTAL2p> *A10XTAL1P2.1 A?VSSP2.0 AS如图芯片引脚图Vcc:电源Vss:地P0端口(P0.0P0.7, 3932引脚):P0 口是一个漏极开路的8位双向I/O 口。作为输出端口,每个引脚能驱动 8个TTL负载,对端口 P0写入“T时,可 以作为高阻抗输入。在访问外部程序和数据存储器时,P0 口也可以提供低8位地址和8位数据的复用总线。此时,P0 口内部上拉电阻有效。在 Flash ROM编 程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。验证时,要 求外接上拉电阻。P1端口(P1.0P1.7, 18引脚):P1 口是一个带内部上拉电阻的 8位双

13、 向I/O 口。P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电 流。此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2 ) 和定时器/计数器2的触发输入(P1.1/T2EX)。P2端口(P2.0P2.7, 2128引脚):P2 口是一个带内部上拉电阻的 8位 双向I/O端口 °P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。 对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可

14、用作输入口。 P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会 输出一个电流。在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVXgDPTR 指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“MOVX R'1指令)时,P2 口引脚上的内容(就是专用寄存器(SFR区中的P2寄存器 的内容),在整个访问期间不会改变。在对Flash RO晰程和程序校验期间,P2也接收高位地址和一些控制信号。P3端口(P3.0P3.7, 1017引脚):P3是一个带内部上拉电阻的 8位双 向I/O端口。P3的输出缓冲器可驱动(吸收或输出电流方式)4个TT

15、L输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一 个电流。在对Flash ROM编程或程序校验时,P3还接收一些控制信号。RST(9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机的复位初始化操作。看门狗计时完成后, RST引脚输出96个晶 振周期的高电平。特殊寄存器 AUXR(地址8EH上的DISRTOKl可以使此功能无 效。DISRTOR认状态下,复位高电平有效。ALE/PROG( 30引脚):地址锁存控制信号(ALB是访问外部程序存储器时, 锁存低8位地址的输

16、出脉冲。在Flash编程时,此引脚也用作编程输入脉冲。在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部 定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。这 一位置“1”,ALE仅在执行MOVXJ MOV旨令时有效。否则,ALE将被微弱拉高。 这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部 执行模式下无效。PSEN( 29引脚):外部程序存储器选通信号是外部程序存储器选通信号。当 AT89C51RCM外部程序存储器执行外部代码时,PSEN在每

17、个机器周期被激活两次,而访问外部数据存储器时,PSEN将不被激活。EA/VPR31引脚):访问外部程序存储器控制信号。为使能从0000H到FFFFH 的外部程序存储器读取指令,EA必须接GND注意加密方式1时,EA将内部锁 定位RESET为了执行内部程序指令,EA应该接VCC在Flash编程期间,EA也 接收12伏VPP电压。XTAL1 (19引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2( 18引脚):振荡器反相放大器的输入端。第2章系统的硬件设计和连接2.1、时钟电路STC89C5物部有一个用于构成振荡器的高增益反相放大器,引脚RX的TXD分别是此放大器的输入端和输出端。时

18、钟可以由内部方式产生或外部方式产生。如下:C3GND,| 卜Cap 30pFC4卜Cap 30pF2.2、复位电路RST引脚是单片机复位端,高电频有效。在引脚端输入至少连续两个单 片机周期的高电频,单片机复位。使用时,在引脚与VSS引脚之间接一个10KQ的下拉电阻,与 VCC引脚之间接一个约 10 H F的电解电容,即可保证 上电自动复位。如下:2.2、显示模块|GNDwpc + vrJEI 卜n ga a z En za s OQ w 粉 28> g+ ozo>R1?Resl10vcc:Eu)d二芝。IFIM6 gd8 104|>GNDRPorIKLCD1602引脚功能图:

19、引脚号引脚名电平输入/瑜出作用1U5S电源弛2Ucc电源*sy)3Uee对比调整电压RS0/1输入瑞入薮据5R/WQ/1输入;g问LCD写入指兮或数据 仆从LCD读取信息&E输入使能信号,1时谤取信息, If叽下降治)执祥指令7DBS0/1输入/输出数据总线line0(最低位8DB10/11输入/输出数据总线】如59DH20/1输入/输出数据总统1外网10DB30/1输入/输出数据忠线linesDB虬0/11输入输出数据总线】如凹i2DBS0/1输入,输出数据.忠线1膈咕13DBA0/1输入/输出数据总线HnefiDB70/11输入,输出数据总线眼儿最高位)15A+UccLCD背光电源

20、止极16K接弛LCD背光电源负极VCCR4I? «1MP、cc Dont NC GNDDHT112.3、传感器模块1 OOpF GNDDelay(1);第3章总结回顾起此次单片机课程设计,我仍感慨颇多,从理论到实践,在接近二星期 的日子里,可以说得是苦多丁甜,但是可以学到很多很多的的东西, 同时不仅可 以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。 通 过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来, 从理论中得出结论,才能真 正为社会服务,从而提高自己的实际动手能力和独立思考的能力。 在设计的

21、过程 中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题。首先,说说 焊接的美观程度,这是我所骄傲的,我焊接的很美观、明了。但在设计的过程中 也发现了自己的不足之处,对以前所学过的知识理解得不够深, 把硬件焊接出来 后,由丁编程不熟,导致推迟了对硬件功能的检测,最终在指导老师的耐心指导 下完成所有功能检测,两位老师的耐心指导,使我意识到专业知识的重要性,以 后会更加努力!第4章/*程序:lcd1602.h*/U8 code table2=" wendushidu "U8 code table3="."sbit RS=P2A6;sbit RW=P2

22、A5;sbit E=P2A7;voidwrite_com(U8 com) (E=0;RS=0;RW=0;E=1;P0=com;E=0;void write_date(U8 date)(E=0;RS=1;RW=0;Delay(5);E=1;P0=date;E=0;P0=0;voidinit()(U8 num;Delay(15);write_com(0x38);write_com(0x38);write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);for(num=0;num<15;num+)(write_date(tab

23、le2num);write_com(0x80+0x40);for(num=0;num<15;num+)(write_date(table3num);Delay(1);void write_dht11(U8 add,U8 date)(U8 shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge);/*dhtn.h*/typedef unsigned char U8;typedef unsignedint U16;sbit P1_0 = P2A0 ;U8 U8

24、FLAG,k;U8 U8temp;U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;U8U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8c heckdata_temp;U8 U8comdata;void Delay(U16 z)(U8 x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void delay_10us()(U8 i;i-;i-;i-;i-;i-;i-;void COM(void) / 数

25、据 0 1 确认(U8 i;for(i=0;i<8;i+)(U8FLAG=2;while(!P1_0)&&U8FLAG+); /1bit 是否结束 delay_10us();delay_10us();delay_10us();U8temp=0;/ 26us28us 表示为 0if(P1_0)U8temp=1; / 超过28us依然为高电平 表示为1U8FLAG=2;while(P1_0)&&U8FLAG+);if(U8FLAG=1)break;/U8FLAG溢出超时则跳出 for 循环/判断数据位是0还是1/如果高电平高过预定0高电平值则数据位为1U8co

26、mdata<<=1;U8comdata|=U8temp;void RH(void) /-湿温度读取子程序P1_0=0;Delay(34); /主机拉低高于18msP1_0=1;/ 总线由上拉电阻拉高 主机延时20usdelay_10us();delay_10us();delay_10us();delay_10us();P1_0=1;/ 主机设为输入 判断从机响应信号if(!P1_0)/ 判断从机是否有低电平响应信号 如不响应则跳出,响应则向下 运行(U8FLAG=2;while(!P1_0)&&U8FLAG+);/判断从机是否发出 80us的低电平响应信号是否结束U

27、8FLAG=2;while(P1_0)&&U8FLAG+);/判断从机是否发出80us的高电平,如发出则进入数据接收状态COM();/数据接收状态U8RH_data_H_temp=U8comdata; 湿度整数 8 位COM();U8RH_data_L_temp=U8comdata; 湿度小数 8 位COM();U8T_data_H_temp=U8comdata; / 温度整数 8 位COM();U8T_data_L_temp=U8comdata; /温度小数 8 位COM();U8checkdata_temp=U8comdata; / 校验位P1_0=1;U8temp=(U8

28、T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_ temp);if(U8temp=U8checkdata_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;/*main.c*/#include <reg52.h>#include <LCD1602.h>U16 a,b,t;U8 flag,i;void main()RW=1;t=0;flag=0;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;init();P1_0=1;P2=0xff;Delay(40);while(1)(RH();write_d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论