基于DHT11的温湿度检测报告(共24页).docx
《基于DHT11的温湿度检测报告(共24页).docx》由会员分享,可在线阅读,更多相关《基于DHT11的温湿度检测报告(共24页).docx(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上目录引言由于对生态环境的破坏,导致近几年气候极其不稳定。有时昨天还短衣短裤,过着夏天的生活,一觉醒来,一朝回到寒冷冬季。由于没注意到温、湿度的变化,及时添衣补水,导致感冒频发,所以对温湿度的检测及控制就非常有必要了。51系列单片机由于价格低廉,便于控制,时常用于小型程序的控制。本文便采用AT89C52来进行对DHT11采集到的信号进行分析、控制,使其能实时采集当前温度、湿度,并可通过对应来按键来进行温湿度上下限的设置,若当前温度超过设定的上下限时,产生报警、提醒。将采集信号置于室外,可提醒人们出门需添衣补水;将采集信号置于大棚种植中,可提醒农夫对大棚进行调温、对农作物
2、进行补水,防止农作物死亡。一、设计目的1、掌握AT89C52的控制2、掌握DHT11的控制原理3、掌握数码管的动态扫描4、掌握按键的输入二、设计要求1、温、湿度实时检测及显示:通过4位数码管实时显示传感器DHT11检测到的温度和湿度,并可通过固定时间切换显示温度和湿度。2、温、湿度上下限设置按钮:分配按键,通过对应的按键,可实现对温度上、下限的设置;湿度上、下限的控制。3、自动报警:当温度或湿度超过其上、下限时,蜂鸣器会通过不同的报警对象来产生不同的报警方式。三、DHT11介绍1、基本参数型号测量范围测湿精度测温精度封装建议扫描周期DHT112090%RH0505%RH24针单排直插=1s图一
3、:DHT11实物图图二:DHT11封装尺寸图2、引脚说明正面从左向右数第一根引脚第二根引脚第三根引脚第四根引脚VDD供电35.5VDC串行数据单总线空脚,请悬空GND接地,电源负极3、工作原理3.1数据传输格式单片机发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待单片机开始信号结束后,DHT11发送40bit的数据,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和数据传输正确时,校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据”所得结果的末八位如果没有接
4、收到单片机发送的开始信号,DHT11不会主动进行温湿度采集,转换到低功耗模式。图三:DHT11工作时序图3.2 采集开始方式DHT11空闲时为高电平,单片机把总线拉低等待DHT11响应,拉低时间需大于18ms,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待单片机开始信号结束,然后发送80us低电平响应信号。单片机发送开始信号结束后,延时等待2040us后,读取DHT11的响应信号,可以切换到输入模式,或者输出高电平均可,总线由上拉电阻拉高。图四:DHT11启动时序图3.3DHT11信号发送方式图五:“0”信号表示时序图图六:“1”信号表示时序图如果总线为低电平,说明DH
5、T11发送响应信号,DHT11发送响应信号后,会再把总线拉高80us,开始准备数据,每一bit数据都以50us低电平开始,通过判断高电平的时间,来决定采集到的数是“0”还是“1”;当高电平时间为26us28us时,则采集到的数为“0”,如图四所示;当高电平时间大于28us时,则采集到的数 “1”,如图五所示。当最后1bit数据传输完毕后,DHT11拉低总线50us,随后由上拉电阻拉高进入空闲状态。如果总线为高电平,说明DHT11没有响应,有可能是线路没插好。四、方案说明及相关功能电路接线图控制中心AT89C52采集装置DHT11输入装置按键显示装置数码管报警装置蜂鸣器4.1整体框架图4.2控制
6、中心AT89C52单片机图七:AT89C52单片机的最小系统电路图该系统的控制中心,是由一片AT89C52单片机来控制、分析。该款单片机的最小系统由复位电路、晶振电路,IO口电路,完成其它功能的元器件均接在该片单片机的IO口上,由该单片机控制。4.3 采集装置DHT11传感器DHT11信号端接单片机的P2.1口,外加上拉电阻。DHT11与单片机之间的数据传输都是从该P2.1口上传输。电路接法如图八所示。4.4 输入装置按键图八:DHT11接线图按键由一个光电开关和4个普通按键组成。用户可根据固定的按键来设置温湿度报警的上限线,电路解法如图九所示。各个按键的作用如下:P3.3口的光电开关:用于切
7、换进入设置界面 还是显示界面P3.4口的普通按键:当前设定对象值减一P3.5口的普通按键:当前设定对象值加一P3.6口的普通按键:切换设置对象的上、下限P3.7口的普通按键:切换设置对象(温湿度) 图九:按键接线图 4.5 显示装置数码管显示部分由四位数码管构成的,用户可根据数码管的显示,看到的温、湿度,以及其当前设置的上、下限。接线图如图十所示。每位数码管的功能如下:首位:当首位灭时,为显示状态;亮时为设置状态 当显示“”时,表示设置当前对象的上限当显示为“”时,表示设置当前对象的下限末尾:用于判别对象:当显示“E”时,则表示 湿度 当显示“C“时,则表示 温度中间两位数:用于显示数值图十:
8、数码管接线图4.6 报警装置蜂鸣器当温湿度的其中一项超过其设定的上下限,蜂鸣器就会产生报警,用户可根据不同的报警方式,判断是温度超过界限,还是湿度超过界限。温度报警:急促的响声湿度报警:缓慢的响声二则同时报警:响停时间一样图十一:蜂鸣器接线图五、主要程序流程图等待响应信号结束把读到的40bit的数,分别放在对应的位置,出来的顺序依次是 湿度整数、湿度小数、温度整数、温度小数、校验码DHT11拉低约50us再拉高,使其进入空闲状态计算四个数据的校验码计算的校验码与读到的是否相等数据正确,把读到的数据,存在对应的位置返回NYDHT11采集程序DHT11先拉低20ms再拉高2040us将DHT11拉
9、高设为输入模式判断有无响应NY主程序中断初始化开启总中断开启定时器中断调用DHT11采集程序调用按键操作程序判断是否采集信号判断显示温度还是湿度调用DHT11采集程序温湿度标志位切换YNNY中断程序各类定时次数加一显示时间到调用数码管显示程序定时次数清零YN返回是否该响蜂鸣器停蜂鸣器响返回YN报警处理程序温、湿度同时报警周期适中温度报警湿度报警周期长周期短YYNN响期清零周期清零Y计数周期?计数清零YNYN按键操作程序判断是否进入设置界面NY温湿度切换按钮按下上下限切换按钮按下N切换温湿度切换上下限加一按钮按下判断出现在的操作对象、上下限,把该位加一减一按钮按下判断出现在的操作对象、上下限,把
10、该位减一返回NNYYYN首位符号出现显示湿度最大值末位符号出现数码管显示判断程序显示界面?数码管首位灭调用报警判断显示温度?温度整数显示末尾标志出现湿度整数显示末尾标志出现湿度最小值?温度最小值?湿度最大值?首位符号出现显示湿度最小值末位符号出现首位符号出现显示温度最小值末位符号出现首位符号出现显示温度最大值末位符号出现返回YYYYYNNNNN六、调试结果:6.1总体显示:开机上电后,数码管能正常显示当前温度、湿度,并且每隔一段时间会温湿度自动切换。6.2按键调试:1、进入设置界面(光电开关P3.3),后,数码管会自动显示成当前对应对象所设的对应值,再按一次,则又退出设置界面。例如:数码管显示
11、“40C”,则表示当前设置的温度上限为40;显示“50E”则表示当前湿度下限设置值为50%。2、进入设置界面后(光电开关P3.3),按温湿度切换按钮(普通按键P3.7),数码管会自动切换对应对象,并且出现前对应对象所设的对应值。例如:数码管本来显示“50E”,按下按钮后,变成“20C”,则表示数码管本来显示的是湿度下限设置为50%,按下按钮后,则数码管变成显示温度下限当前设置值位20。3、进入设置界面后(光电开关P3.3),按上下限切换按钮(普通按键P3.6),数码管会自动切换显示当前对象所设的对应值。例如:数码管本来显示“40C”,按下该按钮后,数码管会变成“20C”,则表示数码管本来显示的
12、是温度上限为40,按下该按钮后,则数码管会变成显示温度下限当前设置值位20。4、进入设置界面后(光电开关P3.3),按加一按钮(普通按键P3.5),会把当前对象的设置值加一,数码管显示的值也会对应加一。例如:数码管本来显示“20C”,按下该按钮后,数码管显示“21C”。即表示本来当前的温度下限设置值为20,按下该按钮后,温度下限的设置值变为21。5、进入设置界面后(光电开关P3.3),按减一按钮(普通按键P3.4),会把当前对象的设置值减一,数码管显示的值也会对应减一。例如:数码管本来显示“50E”,按下该按钮后,数码管显示“49E”。即表示湿度下限本来设置值为50%,按下该按钮后,湿度下限设
13、置值变49%。6、没有进入设置界面,按其它四个按键无反应。6.3报警调试1、将温度的报警下限调到超过当前温度或者报警上限调低于当前温度时,蜂鸣器会发出急促的报警声。2、将湿度的报警下限调到超过当前湿度或者报警上限调低于当前湿度时,蜂鸣器会发出缓慢的报警声。3、当温湿度同时都报警时,蜂鸣器会发出响停一致的报警声。4、当正处于报警时,进入设置界面,报警声会停止,用户可重新设置上下限,让报警取消,以免扰民。七、调试过程遇到的问题7.1问题:单片机始终未接收到DHT11的信号。现象:运行程序后,数码管始终显示00。分析:硬件原因,1、DHT11坏了,信号未采集,导致单片机无信号。 软件原因,1、采集步
14、骤出错,未理解透DHT11采集原理,导致信号未采集。 2、显示程序错误,未正确赋值显示,以至于DHT11已采集到信号,但未能正确显示,以至于误以为是DHT11未采集信号。问题解决:硬件问题排除,买了几个全新的DHT11,分别接上单片机,发现全都不能使用,所以初步排除了硬件原因。软件原因,最有可能的就是未能正确理解DHT11采集过程,所以特地跟组员规定,先不探讨,各自去看DHT11采集原理,之后再探讨各自认为DHT11如何采集,然后再按各自的理解,一个一个实验,看那个能采集到信号,确定出DHT11正确的采集过程。7.2问题:数码管动态扫描不稳定。现象:本来在主程序调用数码管显示程序,使4位数码管
15、逐个给值、显示,4位数码管都能正常稳定的显示,但经过一次数据采集之后,数码管会有一段时间的晃动,甚至全灭,之后再变稳定。分析:未采集信号前,数码管能正常显示,遇到采集信号时,数码管不能正常显示,推测是DHT11采集时耗时太久,所以数码管更新显示时间边长,所以数码管动态扫描不稳定。问题解决:采用定时器中断,每隔一段时间,中断发生时,扫描数码管的一位,下次扫描时,自动切换到扫描数码管下一位。这样能保证数码管稳定显示。但用中断时,DHT11采集前时,需把中断关掉,防止采集过程中,信号丢失。7.3问题:数码管显示位数太少,要显示的东西太多。现象:数码管只有四位,不仅要显示温度、湿度,还要显示湿度与温度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DHT11 温湿度 检测 报告 24
限制150内