基于DTT11的温湿度传感系统总结报告.doc

上传人:精*** 文档编号:859703 上传时间:2023-09-23 格式:DOC 页数:17 大小:1.82MB
下载 相关 举报
基于DTT11的温湿度传感系统总结报告.doc_第1页
第1页 / 共17页
基于DTT11的温湿度传感系统总结报告.doc_第2页
第2页 / 共17页
基于DTT11的温湿度传感系统总结报告.doc_第3页
第3页 / 共17页
基于DTT11的温湿度传感系统总结报告.doc_第4页
第4页 / 共17页
基于DTT11的温湿度传感系统总结报告.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、目 录1 项目计划11.1 方案可行性分析11.2 项目执行计划12 各单元模块设计说明22.1 主控制模块22.2 温湿度传感器32.2.1 DHT11的简介42.2.2 DHT11的引脚应用电路连接说明42.2.3 DHT11的硬件连接图53 调试说明53.1 调试方法及步骤53.2 调试数据73.3 调试结果83.4 材料清单94 总结95 参考文献106 附录101 项目计划1.1 方案可行性分析随着电子科技的迅速发展,对仓库、工厂、博物馆等等地方温湿度监测系统的要求不断增高,从而也促进自动监测系统的迅速发展,本文详细叙述一个温湿度自动监测系统的总体结构,设计原则及具体性能指标。由于系

2、统具有较高的精度,反应速度快,在环境测试方面具有良好的应用前景。随着人们生活水平的提高,人们逐渐对温湿度变得敏感起来,对于温湿度的了解,有助于人们的生活起居。有时候需要知道空气中的温湿度,以便于出行和穿戴的选择,有时候需要知道太阳能热水器的水温,以便于洗浴。为了能实时了解空气中的温度和湿度,有必要制作一种测量温度和湿度的仪器。随着温湿度传感器快速发展,可想而知的是研发一个湿度计不再是难事。人类高端技术不断发展,电子集成电路越来越简单方便,将之投注与工业加工也并非难事。从设计方案看了,我们所运用的电子技术也不会很复杂,所以,研发一种新的湿度计可谓是轻而易举,水到渠成。就工业技术可行度是一定的。

3、图1-1 温湿度传感器1.2 项目执行计划老师对本学期任务介绍后,本小组先讨论了项目内容,明确大致方向后用1周时间查阅相关的资料使其有更深入的了解,并对实物的制作有初步的概念,讨论给出最终方案后用2周时间绘制原理图、PCB排版以及着手对实物制作材料的准备,1周时间软件学习以及程序的完成和最终检查,1周就开始实物的制作、改进、调试和测试数据。最后一周报告设计以及PPT的制作和最终的组内检查,准备期末答辩。2 各单元模块设计说明2.1 主控制模块控制器部分基于STC12C2052AD单片机来实现,ST12系列内部带有8KB的程序存储器,在外面扩展了32K数据存储器,以满足系统要求,STC12C20

4、52AD单片机有一个时钟机器周期的增强型8051内核,因此SCT12系列单片机速度非常高,STC12C2052AD单片机管脚图如图2-1所示。STC12C2052AD系列带A/D转换的单片机的A/D转换口在P1口(P1.7-P1.0),8路电压输入型A/D,可做温度检测、电池电压检测等。图2-1 STC12C2052AD引脚说明:1. RST:复位。2. RxD/P3.0:串口数据输入端I/O口接口。3. TxD/P3.1: 串口数据输出端I/O口接口。4. XLAT1.XLAT2:内部时钟电路反响放大电路输入端。5. INTO/P3.2:外部中断0I/O口。6. INTI/P3.3:外部中断

5、1I/O口。7. ECI/TO/P3.4:PCA计数器外部时钟输入脚/定时器和计数器0外部时钟输入I/O口。8. PWMI/PCAI/TI/P3.5:脉冲调制输出1/可编程门阵列输出脚/定时器和计数器1外部时钟输入I/O口。9. GND:地。10. VCC:高电平11. P1.7/SCLK/ADC7:标准I/O口/同步串行接口的时钟信号/AD转换通道6.12. P1.6/MISO/ADC6: 标准I/O口/SPI同步串行接口的主出从入/AD转换通7.13. P1.5/MOSC/ADC514. 标准I/O口/SPI同步串行接口的主入从出/AD转换通道5.15. P1.4/SS/ADC4: 标准I

6、/O口/SPI同步串行接口的从机选择信号/AD转换通道4.16. P1.3/ADC3: 标准I/O口/AD转换通道317. P1.2/ADC2: 标准I/O口/AD转换通道218. P1.1/ADC1/CLKOUT1: 标准I/O口/AD转换通道1/定时器,记数器时钟输出口。19. P1.0/ADC0/CLKOUT0: 标准I/O口/AD转换通道0/定时器,记数器时钟输出口。20. P3.7/PCAO/PWMO:I/O口/可编程门阵列输出脚/脉冲调制输出1.单片机最小系统如下图所示:图2-2 主控电路2.2 温湿度传感器2.2.1 DHT11的简介DHT11是一款湿温度一体化的数字传感器。该传

7、感器包括一个电阻式测湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。DHT11与单片机之间能采用简单的单总线进行通信,仅仅需要一个I/O口。传感器内部湿度和温度数据40Bit的数据一次性传给单片机,数据采用校验和方式进行校验,有效的保证数据传输的准确性。DHT11功耗很低,5V电源电压下,工作平均最大电流0.5mA。2.2.2 DHT11的引脚应用电路连接说明DHT11数字湿温度传感器连接方法极为简单。第一脚接电源正,第四脚接电源地端。数据端为第二脚。可直接接主机(单片机)的I/O口。为提高稳定性,建议在数据端和电源

8、正之间接一只4.7K的上拉电阻。第三脚为空脚,此管脚悬空不用。管脚排列如图2-3:图2-3 管脚排列引脚说明:VCC 正电源Dout 输出NC 空脚GND 地2.2.3 DHT11的硬件连接图图2-4 DHT11硬件连接图如上图5所示,采用数字式温湿度传感器DHT11,它是数字式温度传感器,具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,我们用的STC12C2052AD的P3.7口与DHT11的2口相连。3 调试说明3.1 调试方法及步骤在确定程序正确后检查原理图是否无误。图3-1 温湿度电路原理图确定原理图无误后生成PCB。图3-2 最小系统的PCB制作最小系统的板

9、子。图3-3 最小系统板子3.2 调试数据用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。图3-4 通讯过程总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号.主机

10、发送开始信号结束后,延时等待20-40us后, 读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可, 总线由上拉电阻拉高。图3-5 数字“0”信号表示方法总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1.格式见下面图示.如果读取响应信号为高电平,则DHT11没有响应,请检查线路是否连接正常.当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。3.3 调试结果编写程序并对程序进行调试(源程序见

11、附录),经测试,得如下数据:图3-6 温度对比折线图图3-7 湿度对比折线图3.4 材料清单表3-3 材料清单材料名称型号封装数量单片机STC12C2052ADDIP201数字温度传感器DHT11DHT111电解电容10uF/50VDIANR1陶瓷电容30pFRAD0.12电阻10k、5.1kAXIAL0.3各1排阻1k*8SIP91晶振22.1184MHzJINZ1数码管(共阴)SMG1插针SIP2、SIP4若干4 总结项目设计结束了,在设计之初并没想象的那么简单,因为平时总是学的理论,而这次亲手的动手操作,虽然说很累,但感觉收获却特别大。同时我们学会了很多芯片的原理,虽然我们只用了几个芯片

12、,但是我们是使用它们就必须知道它的性能指标以及使用方法。想SCT12C2052AD等芯片在平时学习中并不清楚它的具体功能,也没想到它们与我们的生活联系密切,通过我们这几周的课程设计,我们查资料,仔细研究它们的逻辑功能,用途,要求等,终于基本完成我们的温湿度设计,这激发了我们学习专业知识的兴趣,也增强了我们的动手能力,但同时,由于掌握知识有限,再设计过程中我们遇到一些问题我们暂时还没有能力去解决,因此,我们会在以后的学习中,尽可能的扩大自己的知识面,不能仅仅局限课本,要更加刻苦努力的学习专业知识,充分利用图书馆和网络资源,多查多练多学,打好扎实功底,为以后更好的发展奠定一个坚实的基础。我觉得这不

13、仅仅是一个设计,更重要的是一个人生的锻炼,相信我会从中走向成熟,走向自己新的目标,并未此奋斗。5 参考文献1) 广州奥松电子:2) 宏晶科技:www.MCU-M6 附录源程序代码及注释:/* 温湿度程序作者:王虎林完成时间:2011.11.30*/* 描述 :程序里有注释,DHT11初始化单片机发18ms低40us高, DHT11回答80us低80us高, 然后是40bit数据,50低25高代表“0”,50低70高代表“1”。 主要是用T0控制 *-* 历史记录 *-* 日期 | 作者 | 描述 *-* * 10/15/07 | 陆继庆 | 编制 *-* 04/01/08 | 陆继庆 | 添加

14、注释,规范化编程 *-*/#includeSTC12C5A60S2.h#define uchar unsigned char#define uint unsigned int#define ulong unsigned long/*全局变量定义部分 */硬件设计接口不同,要修改下一行uchar code acLEDCS=0x1c,0x2c,0x34,0x38;/* 位选地址码,“0”有效,位选接的是P2口高4位 */Uchar code acLedSegCode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/* 段码 */uchar ac

15、LED4;/* 显示缓冲区 */uchar cScanIndex;/* 位选指针03 */uchar Mode;/* 显示方式变量,03对应4种方式 */uint nTimer;/* 定时计数变量,为定时中断间隔时间的整数倍*/sbit DHT11 = P37;int Temp;uint Humidity;uchar bdata P3Bak;sbit P30 = P3Bak0;sbit P31 = P3Bak1;sbit P36 = P3Bak6;sbit P37 = P3Bak7;bit OK;uint Temp1;uint Humidity1;uchar Num;uchar Delay1m

16、s;uint Timer;uchar Check;/* 联合变量(大名2字节,小名2*1字节保存在同一物理空间),可用于定时器初值计算,控制中断周期 */union UniTuint N;uchar n2;uT,uH;/* 函数声明部分 */* 数码管显示函数 */void Display(void)/if(Temp 990)Temp = 990;if(Mode = 0)acLED0 = 0x39;/* LED显示第1位 */acLED1 = acLedSegCodeTemp / 100;/* LED显示第2位 */acLED2 = acLedSegCodeTemp / 10 % 10 | 0

17、x80;/* LED显示第3位 */acLED3 = acLedSegCodeTemp % 10;/* LED显示第4位 */if(Temp 0)acLED0 |= 0x40;/* LED显示第1位 */elseacLED0 = 0x76;/* LED显示第1位 */acLED1 = acLedSegCodeHumidity / 100;/* LED显示第2位 */acLED2 = acLedSegCodeHumidity / 10 % 10 | 0x80;/* LED显示第3位 */acLED3 = acLedSegCodeHumidity % 10;/* LED显示第4位 */uchar

18、ReadByte(void)uchar Dat = 0;uchar i;ET0 = 0;for(i=0; i8; i+)Dat 30)Dat+;ET0 = 1;return(Dat);void ReadDHT11(void)DHT11 = 0;P37 = 0;Delay1ms = 17;/ 18ms:0while(Delay1ms);DHT11 = 1;P37 = 1;TL0 = -27;/ 等40us若DHT11没应答则显示错误信息while(TL0 != 0);if(DHT11 = 1)Temp = 999;Humidity = 111;elsewhile(DHT11 = 0);/ 80u

19、s:0while(DHT11 = 1);/ 80us:1uH.n0 = ReadByte();uH.n1 = ReadByte();uT.n0 = ReadByte();uT.n1 = ReadByte();Check = ReadByte();if(Check = uT.n0 + uT.n1 + uH.n0 + uH.n1)Humidity1 += uH.n0;Temp1 += uT.n0;Num+;if(Num = 10)Num = 0;Temp = Temp1-60;Humidity = Humidity1 + 250;Temp1 = 0;Humidity1 = 0;Mode = !Mo

20、de;Display(); /* 显示初始界面 */elseTemp = 888;Humidity = 777 ;/* 主函数 */void main(void)/* 初始化 */TMOD = 0x21;/* 定义T0和T1都工作于方式28位自动重装定时器 */TL0 = -222;TH0 = -3;TR0 = 1;ET0 = 1;EA = 1;/* 开总中断*/Display();/* 显示初始界面 */P3Bak = 0xc3;while(1)if(OK = 1)OK = 0;ReadDHT11();/DHT11 = !DHT11;/P37 = !P37;/* 多任务时序控制时钟中断 */

21、void IntT0(void) interrupt 1/* 定时器0每1ms中断一次,完成1秒定时和LED延时 */TH0 = -3;P3 = P3Bak | 0x3c;/* 消隐:先清显示再换位选 */P1 = acLEDcScanIndex;/* 送显示数据,位选指针移位 */ P3 = P3Bak | acLEDCScScanIndex+;/* 送位选数据 */cScanIndex %= 4;/* 位选指针回位 */if(Delay1ms != 0)Delay1ms-;nTimer+;if(nTimer = 300)nTimer = 0;OK = 1;Delay1(2000);if(FW=1)aa=0;FM = 0;16

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922