课设论文DHT11温湿度模块的开发及应用.docx
- 文档编号:4499220
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:20
- 大小:1.51MB
课设论文DHT11温湿度模块的开发及应用.docx
《课设论文DHT11温湿度模块的开发及应用.docx》由会员分享,可在线阅读,更多相关《课设论文DHT11温湿度模块的开发及应用.docx(20页珍藏版)》请在冰豆网上搜索。
课设论文DHT11温湿度模块的开发及应用
课程设计(论文)说明书
题目:
DHT11温湿度模块的开发及应用
院(系):
信息与通信学院
专业:
电子信息工程
学生姓名:
学号:
指导教师:
职称:
副教授
2013年5月12日
摘要
本课设采用8051系列单片机以及DHT11温湿度传感器相结合的方式来测量周围环境温度,其特点具有采集温度、湿度的时间快,所采集到的温湿度数值精度相对传统温湿度计要高,且易于读数,抗干扰能力强等特点。
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。
它应用专用的数字模块采集技术和温湿度传感技术,确保产品有极高的可靠性与卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
8051单片机是常用于控制的芯片,使用8051单片机能够实现温湿度全程的自动控制,而且8051单片机易于学习掌握。
使用8051型单片机设计温湿度控制系统,可以即时快速精确的反应温室内的温度的变化。
完成诸如升温到特定的温度时进行报警,引起注意。
关键词:
8051 DHT11
Abstract
ThisCurriculumDesignsetwith8051seriessinglechipmicrocomputerandacombinationofDHT11temperatureandhumiditysensortomeasureambienttemperature,itscharacteristichasquicklytocollectiontemperature,humidity.collectedbythetemperatureandhumidityvaluesrelativetothetraditionaltemperatureandhumiditymeterhighaccuracy,easyreading,stronganti-jammingcapability,etc.
DHT11digitaltemperatureandhumiditysensorisacontainsacompositeofthetemperatureandhumiditysensorhasbeencalibrateddigitalsignaloutput.Itdedicateddigitalmoduleacquisitiontechnologyandthetemperatureandhumiditysensortechnology,ensurethattheproducthasahighreliabilityandexcellentlong-termstability.SensorconsistsofaresistancetypemoistureelementandaNTCtemperaturemeasuringelement,andconnectedtoahigh-performance8-bitmicrocontroller.
8051microcontrollerisoftenusedtocontrolchip,using8051singlechipmicrocomputertoachievetemperatureandhumidityautomaticcontrolofthedistance,and8051single-chipcomputeriseasytolearn.
Using8051single-chipmicrocomputertemperatureandhumiditycontrolsystem,canquicklyandaccuratelyresponseimmediatelychangeoftemperatureinthegreenhouse.Finishsuchasheatinguptoaspecifictemperatureforalarm,attractattention.
Keywords:
8051 DHT11
目录
前言…………………………………………………………………………………………5
第一章系统总体设计……………………………………………………………………..5
1.1系统实现的主要功能…………………………..............................................................5
1.2系统工作原理…………………………………………………………………………..5
1.3总体构成………………………………………………………………………………..6
1.3.1总体设计框图………………………………………………………………………...6
第二章系统的硬件设计…………………………………………………………………..7
2.1主控模块设计…………………………………………………………………………..7
2.1.1主控模块原理图……………………………………………………………………..7
2.2DHT11传感器模块设计……………………………………………………………….7
2.2.1DHT11传感器简介…………………………………………………………………...7
2.3数码管显示模块设计…………………………………………………………………..11
2.3.1数码管简介…………………………………………………………………………...11
2.3.2数码管模块…………………………………………………………………………...11
2.4蜂鸣器报警模块………………………………………………………………………..12
第三章系统的软件设计…………………………………………………………………..13
3.1总体程序框架流程图…………………………………………………………………...13
第四章调试过程和注意问题…………………………………………………...………...14
4.1程序下载软件说明……………………………………………………………………...14
4.2设计中遇到的问题及解决……………………………………………………………...15
结论………………………………………………………………………………………...16
谢辞………………………………………………………………………………………...17
参考文献…………………………………………………………………………………….18
附录…………………………………………………………………………………………19
前言
本次课程设计主要针对软件的开发以及软件与硬件相结合的形式来提高自我的动手操作能力以及对程序理解与操作能力。
主要为了让自己在大学的课程学习中学会学以致用,不能光有一嘴理论而不赋予实践验证当中去,这样学到的知识也只不过是空洞无力的。
只有通过将所学的知识应用于实际的操作中,让知识与实践相结合的形式,才能让我们将学到的东西举一反三,真正体现知识的重要性。
也为今后毕业后在工作中能够具有较强的动手操作能力奠定基础。
另外,在现代生活中,温度与湿度与人们的生活息息相关。
温度与湿度在各个领域部门经常需要对其进行测量及控制。
准确测量温湿度在一些领域中至关重要的,而传统的温度计是用水银的热胀冷缩性来度量温度的值,所以精确度不高,湿度计则采用干湿球显示法,不仅复杂而且测量精度不高。
故在此我们使用单片机对温湿度进行测量,这样不仅控制方便,简单灵活,而且可以大幅度提高温度控制的技术指标,在测量中我们直接使用数码管进行对温湿度的数值进行显示,从而更容易读数。
在本次设计中,我们采用DHT11数字温湿度传感器与HOT51增强型单片机开发板相结合,从而设计出一个能够直接在单片机的数码管上直接显示出小范围环境中温度与湿度的数值,从而完成本次设计的要求。
第一章系统总体设计
1.1系统实现的主要功能
本系统所要实现的功能是:
1、温湿度的实时检测和显示。
通过数码管实时地显示传感器DHT11检测到的温湿度的值。
2、当温湿度超出所设定的阈值时便会自动报警。
通过蜂鸣器发出声音实现报警。
1.2系统的工作原理
本次设计主要涉及了温湿度的测量、显示以及报警。
所以再硬件方面涉及了单片机主控模块、传感器模块、数码管显示模块、蜂鸣器报警模块,共四大模块。
传感器模块使用DHT11数字温湿度传感器。
通过DHT11检测当前环境下的温湿度,讲所测得的数据提交给单片机进行处理和分析。
数码管显示模块仅仅为了实现湿度与湿度的检测数值显示。
左边两位显示的为DHT11传感器检测到的湿度的数值,右边两位则为温度的数值。
蜂鸣器报警模块则用于实现当温度超过所设阈值时鸣响报警。
当传感器检测到环境周围的温度大于或等于所设定的安全温度时,驱动蜂鸣器,时蜂鸣器鸣响,引起注意,从而采取降温措施。
1.3.总体构成
1.3.1总体设计框图
系统总体设计框图如图1.1所示。
图1.1:
系统总体设计框图
第二章系统的硬件设计
2.1主控模块设计
本次课程设计使用的主模块为90C516RD+为核心的芯片。
使用时将P12口作为与DHT11数据端的传输口。
P17口接蜂鸣器控制端,以控制报警器控制模块工作。
P00-P07则用于控制数码管的显示功能。
2.1.1主控模块原理图
主控模块原理图如图2.1所示。
图2.1:
主控模块原理图
2.2DHT11传感器模块接口设计
2.2.1DHT11传感器简介
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。
它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
每个DHT11传感器都在极为精确的湿度校验室中进行校准。
校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。
单线制串行接口,使系统集成变得简易快捷。
超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。
产品为3针单排引脚封装。
连接方便,特殊封装形式可根据用户需求而提供。
DHT11实物图如图2.2所示。
图2.2:
DHT11实物图
(1)引脚介绍:
Pin1:
(VDD),电源引脚,供电电压为3~5.5V。
Pin2:
(DATA),串行数据,单总线。
Pin3:
(NC),空脚,悬浮。
Pin4:
(VDD),接地端,电源负极。
(2)接口说明:
建议连接线长度短于20米时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻。
DHT11接口如图2.3所示。
图2.3:
单片机与传感器接口
(3)数据帧的描述:
DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,具体格式在下面说明.操作流程如下:
一次完整的数据传输为40bit,高位先出。
数据格式:
8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据
数据传送正确时校验和数据等于“8bit湿度整数数据+8bi温度整数数据”
(4)电气特性:
VDD=5V,T=25℃,除非特殊标注。
DHT11的电气特性
参数
条件
Min
typ
max
单位
供电
DC
3
5
5.5
V
供电电流
测量
0.5
2.5
mA
平均
0.2
1
mA
待机
100
150
uA
采样周期
秒
1
次
注:
采样周期间隔不得低于1秒钟。
(5)时序描述:
用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。
通讯过程如图2.4所示:
图2.4:
通讯过程图
总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。
DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机发送开始信号结束后,延时等待20-40us后,读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可,总线由上拉电阻拉高。
通讯初始化如图2.5所示。
图2.5通讯初始化要求图
总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示。
如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常.当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。
数字0信号表示方法如图2.6所示:
图2.6:
数字0信号电平变化图
数字1信号表示方法如图2.7所示
图2.7:
数字1数据线电平变化图
2.3数码管显示模块设计
2.3.1数码管简介
数码管是一种半导体发光器件,其基本单元是发光二极管。
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元链接方式分为共阳极和共阴极数码管。
2.3.2数码管模块
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们想要的数字,因为根据驱动方式的不同又可分为静态式和动态式,由于本课程设计使用的是动态式,一下介绍动态式的工作原理:
动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。
数码管模块原理图如图2.8所示
图2.8:
数码管模块原理图
2.4蜂鸣器报警模块
(1)蜂鸣器介绍
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机等电子产品中作发生器件。
(2)蜂鸣器工作原理
蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗配器及共鸣箱、外壳等组成。
当接通电源后,多谐振荡器起振,输出1.5~2.5KHZ的音频信号,阻抗匹配器推动压电蜂鸣器片发声。
本课程所使用的蜂鸣器原理图如图2.9
图2.9:
蜂鸣器原理图
第三章系统的软件设计
3.1总体程序框图流程图
软件设计流程框图如图3.1所示
图3.1:
软件设计流程框图
整体程序参见附录
第四章调试过程和注意问题
4.1程序下载软件说明
本课程设计是基于KeiluVision4环境下开发,该软件支持C语言的编程及调试,运用方便。
当在该软件下把程序准确无误编写好之后,通过软件中的编译功能获得后缀名为.hex文件后,再使用程序烧写软件STC_ISP_V483将数据烧写到系统中。
再烧写先应需先将开发板与电脑用连接线连接好,并检查好开发板所对应的COM口,以免烧写失败。
KeiluVision4软件程序编写窗口:
软件程序编写窗口图入图4.1所示
图4.1:
软件程序编写窗口图
STC_ISP_V483软件程序烧写窗口:
软件程序烧写窗口图如图4.2所示
图4.2:
软件程序烧写窗口
4.2设计中遇到的问题及解决
1、蜂鸣器不响
在调试过程中有可能会发现,当温度达到或超过所设定的阈值时,但是蜂鸣器却没有响。
解决此问题首先要了解所用的蜂鸣器是有源的还是无源的,属于脉冲蜂鸣器还是直流蜂鸣器。
有源直流蜂鸣器直接有电流通过即可鸣响,而无源脉冲蜂鸣器则要加方波信号才能使其发声,所以在程序编写是需要特别注意。
2、烧写失败
在将程序烧写到系统中时可能出现烧写失败的情况。
原因主要是在选择COM口的时候没有选择正确。
比如开发板接入到电脑的是COM3口,而烧写软件选择到了COM1口,导致烧写失败。
解决方法可通过:
打开电脑属性界面——设备管理器——点击端口查看
如图4.3所示,接口为COM3口。
。
图4.3:
COM口所接端口示意图
结论
经过本次的课程设计,首先最大的体会就是,在做仿真跟实物的过程中是完全不同的。
在做实物的过程中会遇到很多很多的问题是仿真中所没有的。
同样的程序,在仿真中完美的运行,但是放到了实物中却无法得到自己想要的效果。
这是因为在实物有很多外界的因素的影响,一方面有可能是硬件的损坏,另一方面是软件与硬件不匹配,导致软件无法驱动硬件,从而硬件无法正常的工作。
所以,我们必须要记住,仿真仅仅只是仿真,无法取代实物,仿真永远只能为我们提供参考,不能代替实物。
谢辞
记过几周的努力,由于第一次进行课程设计,在设计过程中有需要难点需要解决,加上自我的知识不全面,导致设计过程中增添了许多麻烦,在此期间,幸得老师以及同学的指点,给我提供了许多帮助,再通过自己查书以及通过网络解决一些难以解决的问题,从而使我顺利地完成了设计任务,也让我从中重新认识到自学的重要性,以及学以致用的道理。
然后经过这次的课程设计提高了遇到问题能解决问题的能力和亲自动手能力,为今后的毕设打下了良好的基础。
参考文献
[1]李凤霞.C语言程序设计教程北京:
北京理工大学出版社,2010
[2]李群芳.单片机微型计算机与接口技术北京:
电子工业出版社,2010
[3]康华光。
电子技术基础(数字部分)北京:
高等教育出版社,2011
[4]杨素行模拟电子技术基础北京:
高等教育出版社,2010
[5]巧媛单片机原理及应用北京:
电子工业出版社,2003
[6]胡汉才单片机原理及系统北京:
清华大学出版社,2002
[7]余发山单片机原理及应用技术北京:
中国矿业大学出版社,2004
[8]GuiyunTianFoumdationandApplicationpfMicrocontroller高等教育出版社
[9]LLH.-Programming.Microcontrollers.C.(Embedded.Technology.Serise)
附录
硬件原理图:
主控模块如图5.1所示
图5.1:
主控制模块原理图
数码管原理图如图5.2所示
图5.2:
数码管原理图
蜂鸣器相关原理图如图5.3所示
图5.3:
蜂鸣器相关原理图
硬件实物图:
整体硬件实物如图5.4所示
图5.4:
整体硬件实物图
程序清单:
#include"reg52.h"
#include"intrins.h"
#defineucharunsignedchar
#defineuintunsignedint
sbitDH=P1^2;
ucharRHL,RHH,CL,CH;
uintm,n,num;
//intn=1;
ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
sbitbuzzer=P1^7;
voidalarm()
{
if(CH>=30)buzzer=1;
elsebuzzer=0;
}
voiddelayms(unsignedintz)
{
unsignedintx,y;
for(x=z;x>0;x--)
for(y=125;y>0;y--);
}
voiddelayus(unsignedcharn)
{
while(n--);
}
voidinit()
{
EA=1;
TMOD|=0x10;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
ET1=1;
TR1=1;
}
uintinteger(ucharx)
{
ucharh,l;
uintn;
l=x&0x0f;
h=(x&0xf0)>>4;
n=h*16+l;
returnn;
}
readdht11_byte()
{
uchari,dht;
for(i=8;i>0;i--)
{
dht=dht<<1;
while(!
DH);//等待50ms
delayus(3);//延时29us
if(DH==1)
{dht=dht|0x01;
delayus(10);}
else
delayus(3);//延时29us
}
return(dht);
}
voidread_dht11()
{
DH=0;//数据线拉低>18ms
delayms(30);//延时>18ms
DH=1;//拉高等待
delayus(3);//延时29us
DH=1;
if(!
DH)
{
while(!
DH);//
while(DH);
RHH=readdht11_byte();//湿度整数数据
RHL=readdht11_byte();//湿度小数数据
CH=readdht11_byte();//温度整数数据
CL=readdht11_byte();//温度小数数据
}
}
voidmain()
{
init();
while
(1)
{
P2=0;
P0=table[m/10];
delayms
(1);
P2=1;
P0=table[m%10];
delayms
(1);
P2=4;
P0=table[n/10];
delayms
(1);
P2=5;
P0=table[n%10];
delayms
(1);
//delayms(1000);
if(num==20)
{
read_dht11();
num=0;
}
m=integer(RHH);
n=integer(CH);
alarm();
//delayms(5);
}
}
voidtime1(void)interrupt3using0
{
TH1=(65536-50000)/256;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 论文 DHT11 温湿度 模块 开发 应用