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

下载本文档

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

文档简介

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

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

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

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

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

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

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

8、并触发一次信号 采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采 集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后 转换到低速模式。1.4 单片机 STC89C52STC89C52一种低功耗、高性能CMO&位微控制器,具有8心系统可编程Flash 存储器,使用ATMEL司高密度非易失性存储器技术制造,与工业 80C51T品指令和 引脚完全兼容。片上Flash允许ROME系统可编程,亦适于常规编程器。在单芯片上, 拥有灵巧的8位CP庄口在系统可编程Flash,使其为众多嵌入式控制应用系统提供灵活 的解决方案。1、主要特性如下

9、:1 .增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令 代码完全兼容传统80512 .工作电压:5.5V3.3V (5VI片机)/3.8V2.0V (3VI片机)3 .工作频率范围:040MHz相当于普通8051的080MHz实际工作频率可达 48MHz4 .用户应用程序空间为8行节5 .片上集成512字节RAM6 .通用I/O 口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏 极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口用时,需加上拉电阻7 .ISP (在系统可编程)/IAP (在应用可编程),无需专用编程器,无需专用

10、仿 真器,可通过用口( RxD/P3.0,TxD/P3.1 )直接下载用户程序,数秒即可完成8 .具有EEPROM能9 .具有看门狗功能10 .共3个16位定时器/计数器。即定时器T0、T1、T211 .外部中断4路,下降沿中断或低电平触发电路,Power Down奠式可由外部中 断低电平触发中断方式唤醒12 .通用异步用行口( UART ,还可用定时器软件实现多个 UART13 .工作温度范围:-40+85C (工业级)/075c (商业级)14 .PDIPM装2、 STC89C52RO片机的工作模式掉电模式:典型功耗0.10,可由外部中断唤醒,中断返回后,继续原程序空闲模式:典型功耗2mA

11、正常工作模式:典型功耗4Ma 7mAYCC掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备Pl 0 T2Pl.l T2EXPO 0 ADO PO l ADI PO.2 ADJ PU3AD3 P04 AD4 P0.5 ADS PO 6 AD6 PO 7 .AD7kr'RST10士.20P3.0 RxDP3.1TXDP3.2 KTOP3.3INT1P3.4 TOP35 TlP3 6星P3 7RD直VPP金LFPSENXTAL2XTAL1 vssPl.7 A15P2.6 A14P2.5 A13P上4 A12P23 Al lP2.2 A10P2.1 A9P2.0 A8如图芯片

12、引脚图Vcc:电源Vss:地P啾口(P0.0P0.7, 3932引脚):P0口是一个漏极开路的8位双向I/O 口。作为输出端口,每个引脚能驱动8个TTL负载,对端口 P0W入1”时,可以作为高阻抗 输入。在访问外部程序和数据存储器时, P0口也可以提供低8位地址和8位数据的复 用总线。此时,P0口内部上拉电阻有效。在Flash RO编程时,P啾口接收指令字节; 而在校验程序时,则输出指令字节。验证时,要求外接上拉电阻。P1端口(P1.0P1.7, 18引脚):P1 口是一个带内部上拉电阻的8位双向I/O 口。P1的输出缓冲器可驱动(吸收或者输出电流方式) 4个TTL输入。对端口写入1 时,通过

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

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

15、阻,那些被外部信号拉低的引脚会输入一个电流。在对Flash ROM®程或程序校验时,P3还接收一些控制信号。RST( 9引脚):复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机的复位初始化操作。看门狗计时完成后,RSEI脚输出96个晶振周期的 高电平。特殊寄存器AUXR地址8EH上的DISRTO&可以使此功能无效。DISRT跳认 状态下,复位高电平有效。ALE/PROG (30引脚):地址锁存控制信号(ALE是访问外部程序存储器时,锁存低 8位地址的输出脉冲。在Flash 编程时,此引脚也用作编程输入脉冲。在一般情况下,ALEZ晶振六分之一的固定频率输出脉冲

16、,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE&冲将会跳过。如果需要,通过将地址位8EHSFR勺第0位置1",ALES作将无效。这一位置1”, ALER在执行MOVXMOV令时有效。否则,ALEE等被微弱拉高。这个ALES能标志位 (地址位8EHJSFR勺第0位)的设置对微控制器处于外部执行模式下无效。PSEN( 29引脚):外部程序存储器选通信号是外部程序存储器选通信号。当AT89C51RC外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次, 而访问外部数据存储器时,PSEN将不被激活。EA/VPP (31弓I脚):访问外部

17、程序存储器控制信号。为使能从 0000HiUFFFFH勺 外部程序存储器读取指令,EA必须接GND注意加密方式1时,EA将内部锁定位RESET为了执行内部程序指令,EA应该接VCC在Flash编程期间,EA也接收12 伏VPPfe压。XTAL1( 19引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2( 18引脚):振荡器反相放大器的输入端。第 2章系统的硬件设计和连接2.1、 、时钟电路STC89C52部有一个用于构成振荡器的高增益反相放大器,引脚RX前TX盼别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。如下:C3C ap 30pF2.2、 复位电路RS书I

18、脚是 单片机复位 端,高电频有效。在 引脚端输 入至少连续 两个单片 机周期的高电频,单片机 复位。使用时,在 引脚与VSS5I脚之间接一个10KQ的 下拉电阻,与VCCSI脚之间接一个约10 F的电解电容,即可保证上电 自动复位。如下:GND2.3、 显示模块RSE4RW 5E 6wr7PuF8P02 9 KhFo 西石 PO5I2P061 315j 16GND +5 VCOM RS R/W E DO DI D2 D3 D4 D5 D6 D7 BLA+ BLA-引脚号引脚名电平输入/输出作用1Uss电源地2Ucc电源(*5U)3Uee对比调整电压4RS0/1输入蹶蟾5R/U0/1输入A向LC

19、D写入指令或数据 1=从1_皿碳取崔直6E1,1-0I 输入使能信号,1%谈取信息, 1 一时下降沿)扰行指令7DEB0/1|输入“出数据总线上5(?双最低位)BDB10/1输入闱出数据总线HnE?DB20/1输入,输出数据总线1ing10DB30/1输入/输出数据总线Hne311DBltBZ1输入/输出数据总线1"皿12DBS0/1输入/输出数据总线Un砥13DB60/1输入/输出数据总线1面“14DB70/1输入/输出数据总线工in®7(最高位)15A*UccLCD背光电源止极16K接地LCD背光电源负极2.3、传感器模块第3章总结回顾起此次单片机课程设计,我仍感慨颇多

20、,从理论到实践,在接近二星期的 日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩 固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次 课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的, 只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服 务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题, 可以说得是困难重重,难免会遇到过各种各样的问题。首先,说说焊接的美观程度, 这是我所骄傲的,我焊接的很美观、明了。但在设计的过程中也发现了自己的不足 之处,对以前所学过的知识理解得不够深,把硬件焊接

21、出来后,由于编程不熟,导 致推迟了对硬件功能的检测,最终在指导老师的耐心指导下完成所有功能检测,两 位老师的耐心指导,使我意识到专业知识的重要性,以后会更加努力!第4章程序:/*lcdi602.h*/U8 code table2=" wendu shidu "U8 code table3="."sbit RS=P2A6;sbit RW=P2A5;sbit E=P2A7;void write_com(U8 com) E=0;RS=0;RW=0;Delay(5);E=1;P0=com;E=0;void write_date(U8 date)E=0;RS=1;

22、RW=0;Delay(5);E=1;P0=date;E=0;P0=0;void init()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(table2num);Delay(1);write_com(0x80+0x40);for(num=0;num<15;num+)write_date(table3num);Delay(1);void wri

23、te_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);/*dht11.h*/typedef unsigned char U8;typedef unsigned int U16;sbit P1_0 = P2A0 ;U8 U8FLAG,k;U8 U8temp;U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;U8U8T_data_H_te

24、mp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8chec kdata_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) / 数据 0 1 确认U8 i;for(i=0;i<8;i+)U8FLAG=2;while(!P1_0)&&U8FLAG+); /1bit 是否结束delay_10us();

25、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高电平值则数据位为1U8comdata<<=1;U8comdata|=U8temp;void RH(void) / 湿温度读取子程序P1_0=0;Delay(34); / 主机拉低高于18msP1_0=1;/ 总

26、线由上拉电阻拉高主机延时20usdelay_10us();delay_10us();delay_10us();delay_10us();P1_0=1;/ 主机设为输入判断从机响应信号if(!P1_0)/ 判断从机是否有低电平响应信号如不响应则跳出,响应则向下运行U8FLAG=2;while(!P1_0)&&U8FLAG+);/ 判断从机是否发出80us 的低电平响应信号是否结束U8FLAG=2;while(P1_0)&&U8FLAG+);/ 判断从机是否发出80us 的高电平,如发出则进入数据接收状态COM();/ 数据接收状态U8RH_data_H_temp=

27、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=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_tem p);if(U8temp=U8checkdata_temp) / 数据校验正确执行

28、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_dht11(0,U8T_data_H);write_dht11(3,U8T_data_L);write_dht11(9,U8RH_data_H);write_dht11(12,U8RH_data_L);if(flag=2)/100 后 flag 为 2,进行比较if(a=U8T_data_H&&b=U8RH_data_H)Buzzer=0;while(a=U8T_data_H

温馨提示

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

评论

0/150

提交评论