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

下载本文档

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

文档简介

基于单片机的DHT11温湿度传感器设计姓名:史延林指导老师:黄智伟学院:电气工程学院学号:摘要:温湿度是生活生产中的重要的参数。本设计为基于单片机的温湿度检测与控制系统,采用模块化、层次化设计。用新型的智能温湿度传感器DHT11重要实现对温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机STC89C52进行数据的分析和解决,为显示和报警电路提供信号,实现对温湿度的控制报警。报警系统根据设定报警的上下限值实现报警功效,显示部分采用LCD1602液晶显示所测温湿度值。系统电路简朴、集成度高、工作稳定、调试方便、检测精度高,含有一定的实用价值。核心词:单片机;DHT11温湿度传感器;LCD1602显示第一章:课程构思1.1课题背景温湿度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用。在生产中,温湿度的高低对产品的质量影响很大。由于温湿度的检测控制不当,可能使我们造成无法预计的经济损失。为确保日常工作的顺利进行,首要问题是加强生产车间内温度与湿度的监测工作,但传统的办法过于粗糙,通过人工进行检测,对不符合温度和湿度规定的库房进行通风、去湿和降温等工作。这种人工测试办法费时费力、效率低,且测试的温度及湿度误差大,随机性大。现在,在低温条件下(普通指100℃下列)对于国内外对温湿度检测的研究,从复杂模拟量检测到现在的数字智能化检测越发的成熟,随着科技的进步,现在的对于温湿度研究,检测系统向着智能化、小型化、低功耗的方向发展。在发展过程中,以单片机为核心的温湿度控制系统发展为体积小、操作简朴、量程宽、性能稳定、测量精度高,等诸多优点在生产生活的各个方面实现着至关重要的作用。温湿度传感器除电阻式、电容式湿敏元件之外,尚有电解质离子型湿敏元件、重量型湿敏元件(运用感湿膜重量的变化来变化振荡频率)、光强型湿敏元件、声表面波湿敏元件等。湿敏元件的线性度及抗污染性差,在检测环境湿度时,湿敏元件要长久暴露在待测环境中,很容易被污染而影响其测量精度及长久稳定性。1.2重要内容本文设计的是基于单片机STC89C52的温湿度检测和控制系统,重要以广泛应用的DHT11作为温度和湿度的检测,该仪器含有测量精度较高、硬件电路简朴、并能较好的进行显示,可测试不同环境温湿度的特点。另外和控制电路相连,能够进行加湿电路和除湿电路的控制,使温度和湿度参数在预先设定的范畴内,不需要人的直接参加。单片机是系统的控制核心,因此单片机的性能关系到整个系统的好坏。因此单片机的选择,对所设计系统的实现以及功效的扩展有着很大的影响。本设计中,最后选用的集成温度传感器DHT11,采集到的温湿度信号送至单片机,实现温湿度的显示与控制。系统重要由以上元器件构成,通过硬件电路和软件程序的设计,实现系统的基本功效1.3系统总体方案设计用新型的智能集成温温度传感器DHT11重要实现检测温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机STC89C52进行数据的分析和解决,并在LCD1602上显示现在温湿度。1、DHT11产品概述DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品含有极高的可靠性与卓越的长久稳定性。传感器涉及一种电阻式感湿元件和一种NTC测温元件,并与一种高性能8位单片机相连接。因此该产品含有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的解决过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为4DHT11传感器实物图2、引脚阐明引脚号 引脚名称 类型 引脚阐明1 VCC 电源 正电源输入,3V-5.5VDC2 Dout 输出 单总线,数据输入/输出引脚3 NC 空 空脚,扩展未用4 GND 地 电源地3、电源引脚DHT11的供电电压为 3-5.5V。传感器上电后,要等待1s以越过不稳定状态在此期间无需发送任何指令。电源引脚(VDD,GND)之间可增加一种100nF的电容,用以去耦滤波。4、串行接口(单线双向)DATA用于微解决器与DHT11之间的通讯和同时,采用单总线数据格式,一次通讯时间4ms左右,顾客MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,顾客可选择读取部分数据.从模式下,DHT11接受到开始信号触发一次温湿度采集,如果没有接受到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。1.4单片机STC89C52STC89C52是一种低功耗、高性能CMOS八位微控制器,含有8K在系统可编程Flash存储器,使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许ROM在系统可编程,亦适于常规编程器。在单芯片上,拥有机灵的8位CPU和在系统可编程Flash,使其为众多嵌入式控制应用系统提供灵活的解决方案。1、重要特性以下:1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期能够任意选择,指令代码完全兼容传统80512.工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)3.工作频率范畴:0~40MHz,相称于普通8051的0~80MHz,实际工作频率可达48MHz4.顾客应用程序空间为8K字节5.片上集成512字节RAM6.通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载顾客程序,数秒即可完毕8.含有EEPROM功效9. 含有看门狗功效10.共3个16位定时器/计数器。即定时器T0、T1、T211.外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒12.通用异步串行口(UART),还可用定时器软件实现多个UART13. 工作温度范畴:-40~+85℃(工业级)/0~75℃14. PDIP封装2、STC89C52RC单片机的工作模式掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续原程序空闲模式:典型功耗2mA正常工作模式:典型功耗4Ma~7mA掉电模式可由外部中断唤醒,合用于水表、气表等电池供电系统及便携设备如图芯片引脚图VCC:电源Vss:地P0端口(P0.0~P0.7,39~32引脚):P0口是一种漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,能够作为高阻抗输入。在访问外部程序和数据存储器时,P0口也能够提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在FlashROM编程时,P0端口接受指令字节;而在校验程序时,则输出指令字节。验证时,规定外接上拉电阻。P1端口(P1.0~P1.7,1~8引脚):P1口是一种带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动(吸取或者输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,由于有内部上拉电阻,那些被外部拉低的引脚会输出一种电流。另外,P1.0和P1.1还能够作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。P2端口(P2.0~P2.7,21~28引脚):P2口是一种带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器能够驱动(吸取或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,由于有内部的上拉电阻,那些被外部信号拉低的引脚会输出一种电流。在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX@DPTR”指令)时,P2送出高8位地址。在访问8位地址的外部数据存储器(如执行“MOVX@R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会变化。在对FlashROM编程和程序校验期间,P2也接受高位地址和某些控制信号。P3端口(P3.0~P3.7,10~17引脚):P3是一种带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动(吸取或输出电流方式)4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,由于有内部的上拉电阻,那些被外部信号拉低的引脚会输入一种电流。在对FlashROM编程或程序校验时,P3还接受某些控制信号。RST(9引脚):复位输入。当输入持续两个机器周期以上高电平时为有效,用来完毕单片机的复位初始化操作。看门狗计时完毕后,RST引脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位能够使此功效无效。DISRTO默认状态下,复位高电平有效。ALE/PROG(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚也用作编程输入脉冲。在普通状况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVX或MOV指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(地址位8EH的SFR的第0位)的设立对微控制器处在外部执行模式下无效。PSEN(29引脚):外部程序存储器选通信号是外部程序存储器选通信号。当AT89C51RC从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而访问外部数据存储器时,PSEN将不被激活。EA/VPP(31引脚):访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。注意加密方式1时,EA将内部锁定位RESET。为了执行内部程序指令,EA应当接VCC。在Flash编程期间,EA也接受12伏VPP电压。XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。XTAL2(18引脚):振荡器反相放大器的输入端。第2章系统的硬件设计和连接2.1、时钟电路STC89C52内部有一种用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟能够由内部方式产生或外部方式产生。以下:2.2、复位电路RST引脚是单片机复位端,高电频有效。在引脚端输入最少持续两个单片机周期的高电频,单片机复位。使用时,在引脚与VSS引脚之间接一种10KΩ的下拉电阻,与VCC引脚之间接一种约10μF的电解电容,即可确保上电自动复位。以下:2.2、显示模块LCD1602引脚功效图:2.3、传感器模块第3章总结回忆起本次单片机课程设计,我仍感慨颇多,从理论到实践,在靠近二星期的日子里,能够说得是苦多于甜,但是能够学到诸多诸多的的东西,同时不仅能够巩固了以前所学过的知识,并且学到了诸多在课本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才干真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中碰到问题,能够说得是困难重重,难免会碰到过多种各样的问题。首先,说说焊接的美观程度,这是我所骄傲的,我焊接的很美观、明了。但在设计的过程中也发现了自己的局限性之处,对以前所学过的知识理解得不够深,把硬件焊接出来后,由于编程不熟,造成推迟了对硬件功效的检测,最后在指导老师的耐心指导下完毕全部功效检测,两位老师的耐心指导,使我意识到专业知识的重要性,后来会更加努力!第4章程序:/***********************lcd1602.h***************************/U8codetable2[]="wendushidu";U8codetable3[]="..";sbitRS=P2^6;sbitRW=P2^5;sbitE=P2^7;voidwrite_com(U8com){E=0;RS=0;RW=0;Delay(5);E=1;P0=com;E=0;}voidwrite_date(U8date){E=0;RS=1;RW=0;Delay(5);E=1;P0=date;E=0;P0=0; }voidinit(){ U8num;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(table2[num]);Delay(1);}write_com(0x80+0x40);for(num=0;num<15;num++){write_date(table3[num]);Delay(1);}}voidwrite_dht11(U8add,U8date){U8shi,ge;shi=date/10;ge=date%10;write_com(0x80+0x40+add);write_date(0x30+shi);write_date(0x30+ge);}/***********************dht11.h***************************/typedefunsignedcharU8;typedefunsignedintU16;sbitP1_0=P2^0;U8U8FLAG,k;U8U8temp;U8U8T_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,U8checkdata_temp;U8U8comdata;voidDelay(U16z){U8x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voiddelay_10us(){U8i;i--;i--;i--;i--;i--;i--;}voidCOM(void)//数据01确认{U8i;for(i=0;i<8;i++){U8FLAG=2;while((!P1_0)&&U8FLAG++);//1bit与否结束delay_10us();delay_10us();delay_10us();U8temp=0;//26us~28us表达为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;}}voidRH(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的低电平响应信号与否结束 U8FLAG=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=(U8T_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=

温馨提示

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

评论

0/150

提交评论