ImageVerifierCode 换一换
格式:DOC , 页数:21 ,大小:5.38MB ,
资源ID:3558453      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3558453.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(温湿度检测系统的设计与实现.doc)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

温湿度检测系统的设计与实现.doc

1、 无线传感网络技术 课程实训 温湿度检测系统的设计与实现 院(系)名称 电子与信息工程学院 专业班级 学号 学生姓名 指导教师 起 止 时 间: 2017.6.26—2017.7.14 课程设计(论文)任务及评语 院(系):电子与信息工程学院 教研室:软件工程 学 号 xxxx 学生姓名 Xx 专业班级 物xxxx1 课程设计(论文)题目 温湿度检测系统的设计与实现 课程设计(论文)任务 任务要求: 对室内温度进行采集,并将采集结果实时显示到L

2、ED显示屏中 技术要求: 1 购置51单片机最小系统套件,独立焊接(也可以购置空白开发板独立设计并焊接) 2 采用温度传感器进行温度采集; 3 采用无线通信协议(WIFI,蓝牙,ZIGBEE均可)将温度传输至51单片机; 4 采用51单片机进行数据分析与处理; 5 将处理结果在LED液晶屏上显示; 6 将相关信息传输至手机上(选做)。 指导教师评语及成绩 平时成绩: 答辩成绩: 论文成绩: 总成绩: 指导教师签字:

3、 年 月 日 注:平时成绩占20%,答辩成绩占40%,论文成绩占40%。 本科生课程设计(论文) 目 录 第1章 绪论 1 1.1系统的开发背景 1 1.2开发工具 1 第2章 需求分析 2 2.1调研情况 2 2.2 模块划分 2 2.3 系统原理图 3 2.4 系统性能需求 3 第3章 系统概要设计 4 3.1系统总体结构设计 4 3.2模块的创建 4 第4章 硬件设计 5 4.1 DHT11温度湿度传感器电路设计 5 4.2 晶振

4、电路和复位电路设计 6 4.3 LED数码显示模块设计 7 4.4 报警模块设计 7 4.5 主程序设计 8 4.6 LED显示子程序设计 9 第5章 系统的测试 10 5.1 系统安装接线图 10 5.2 调试与结果 10 第6章 总结 12 参考文献 13 附录 程序 14 第1章 绪论 1.1系统的开发背景 随着科学技术的快速发展,人类社会已取得了巨大进步!在居家生活、工农业生产、环保、气象、国防、科研、航天等部门,经常需要对环境中的湿度和温度进行测量及控制。传统的方法是用温度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合

5、温度和湿度要求的场所进行换气、降温和去湿等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性相对较大。随着生产的发展急需一个含有微型计算机或微处理器的测量仪器,由于它拥有对数据存储,运算逻辑判断及自动化的功能,有着智能作用等优点,一个低成本和具有较高精度的温度湿度检测器将在许多领域代替人工操作,自动不间断检测环境温度和湿度。目前市场上普遍存在的温湿度检测仪器大都是单点测量,而且温湿度信息传递不及时,精度达不到要求,不利于控制者根据温度、湿度变化及时做出决定。为此,本设计开发了一种能够同时测量多点,并实时性高、精度高,通过显示器显示温湿度信息,并能进行温湿度超限报警的测控产

6、品。 本文设计的是基于单片机的室内温湿度检测与报警系统,运用温湿度传感器进行温度和湿度的检测,该仪器具有测量精度较高、硬件电路简单、并能很好的进行显示,可测试一定范围室内环境温湿度的特点。省去了人工检测的繁琐、耗时的过程,随时通过检测器的显示器进行读数,既方便,又快捷。 1.2开发工具 STC89C52是一种低功耗、高性能CMOS八位微控制器,具有8K在系统可编程Flash存储器,使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。 LED数码管是现在电子设计中使用相当普遍的一种显示设备,每个数码管由7个发光二极管按照一定的排列结构组成,根据

7、七个发光二极管的正负极连接不同,又分为共阴极数码管和共阳极数码管两种,选择的数码管不同,程序设计上也有一定的差别。 编程采用Keil C 软件,使用C语音。 注:页脚字体为Times New Roman,字号为小五号,居中。 第2章 需求分析 2.1调研情况 在需求分析阶段,本设计采用STC89C52RC 单片机做为嵌入式控制核心,处理温度和湿度信号,基于设计目的对于信号采集的数字滤波考虑,本设计采用模拟量输出的温湿度传感器,采用TLC254312位串行A/D转换器进行模数转换,非信号因素采用专用硬件看门狗芯片X25045等多项软硬件抗干扰措施,减少额外干扰对于实验设计的影响,并

8、基于产品性功耗考虑,显示器件采用字符液晶。设计充分利用端口资源,考虑整体性,显示精确性以及功耗要求,很好的完成了设计目的。 2.2 模块划分 通过网上查询、翻阅图书了解空调系统原理,借鉴前人经验;传感器使用方法;用数码管显示可实现系统设计。 主要内容有 ⑴学习强化单片机知识 ⑵掌握智能温湿度检测系统,提出硬件电路设计方案 ⑶画出原理图 ⑷编写单片机控制软件 ⑸完成系统整体功能调 2.3 系统原理图 DHT11传感器模块 按键电路模块 STC90C52RC 单片机 LED数码显示模块 报警模块 晶振电路 复位电路

9、 图2.1 系统原理图 2.4 系统性能需求 设计中包括硬件电路的设计和系统程序的设计。其硬件电路主要由电源电路、主控制器和显示电路等构成。其中单片机是核心部分,负责对温度信号进行接收、检验并传输处理。 第3章 系统概要设计 3.1系统总体结构设计 要求以单片机为核心,采用温湿度传感器 DHT11设计一个对环境温度湿度的检测系统,要求用按键控制系统选择分别对温度或湿度的测试、复位、用四位LED数码管显示实时温度和温度。 3.模块的创建 DHT11传感器模块 按键电路模块 STC89C52RC 单片机 LED数码显示模块 报警模块 晶振

10、电路 复位电路 本次设计主要设计了温湿度的测量与显示,硬件方面共分为7个模块,即单片机主控模块、按键模块、晶振电路、复位电路、LED显示模块、报警模块以及DHT11电路模块。数字温湿度传感器DHT11送来数据,经单片机STC89C52RC处理后,并送入LED显示模块,一个显示温度,一个显示湿度,另外一个负责启动DHT11。。系统总体框图如图3.1。 图3.1 系统总体框图 第4章 硬件设计 4.1 DHT11温度湿度传感器电路设计 此次单片机课程设计采用的是DHT11数字温湿度传感器,而且是单总线(双向)结构,所以

11、温湿度检测电路的结构比较简单。此次课程设计温度测量范围:0-50摄氏度;湿度测量范围:20%-90%RH。DHT11只有一根数据线,一根电源线,一根地线,还有一根(NC)悬空。直接将电源线与单片机的电源VCC相连,地线与单片机的GND相连。数据线DATA与单片机的P30口相连,外加一个5K的上拉电阻。所需要的温湿度数据便是由DATA引脚通过P30送入单片机的,在单片机内做出相应的处理之后得到相应的温湿度数据,原理图如图4.1所示。 悬空 DATA DHT11 VCC STC89C52RC P30 图4.1 温度检测原理图 4.2 晶振电路和复

12、位电路设计 STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。其晶振电路如图4.2所示。 图4.2晶振电路 复位电路是保证单片机正常运行的关键因素,所以可靠地复位电路设计是必要的。将RST引脚连续输入2个机器周期(即24个时钟振荡期间)以上高电平,即可以完成单片机的初始化操作。本设计采用按钮复位方式,其复位电路如图4.3所示。 图4.3 复位电路 4.3 LED数码显示模块设计 此次课程设计采用的共阳极LED动态数码显示,所谓动态显示

13、是采用动态扫描的方法逐个地循环点亮各位显示器。虽然在任一时刻只有一位显示器被点亮,但由于人眼具有视觉残留效应看起来与全部显示器持续点亮效果是完全一样的。为了实现LED显示器的动态扫描,除了要给显示器提供段码(字形代码)的输入外,还要对显示器进行位控制,这就是通常所说的段控和位控。本次课程设计中段码控制为单片机的P01-P07分别与LED的A.B.C.D。E.F.G.Dp相连,实现了字符的显示,单片机的P02-P07分别与四个LED显示起相连,实现位控制。 4.4 报警模块设计 此次课程设计的报警模块采用一个LED显示灯、一个10K的限流电阻和一个扬声器。当实测温度湿度在设定的范围内,

14、LED灯熄灭,扬声器不会发出警报,工作正常!如果实测温湿度不在设定的范围内,LED灯亮,扬声器发出警报,此时系统工作不正常!应根据要求调节温湿度设定的上下阀值!报警指示原理图如图4.4所示。 图4.4 报警指示原理 4.5 主程序设计 开机启动系统,进入主函数MAIN后延时0.1S等待启动,当按下启动键S4,然后调用温湿度子程序CWD读取温湿度,并用数组将实测的温湿度数据保存起来,分别将温湿度除十取整,将处理后的数据调用到温湿度范围检测函数temphumi_range判断实测的温湿度是否在设定的范围内并作出相应的处理。其主程序流程图如图4.5所示。

15、 开机 延时、启动 读取温湿度、处理、存储 N 温湿度越限? Y 按键是否按下? 报警 N Y 结束 显示实测温、湿度 图4.5 主程序流程图 4.6 LED显示子程序设计 数码管显示主要用于同时显示温湿度和单独显示精确的温度和湿度,其显示流程图如图4.6所示 开始 段码送入P30 位码送入P02-P07 显示 结束

16、 图4.6 显示流程图 第5章 系统的测试 5.1 系统安装接线图 本设计是在Keil C环境下开发的,在编译完Keil C后,再运用STC_ISP_V48.8软件烧录到开发板上,实现实物与程序的连接。如图5.1系统安装接线图。 图5.1 系统安装接线图 5.2 调试与结果 调试完成后,可进行温湿度的测量。如图5.2 所示。 图5.2 调试结果 第6章 总结 时间一点点的逼近了,耗时3周的课程设计即将结束,在老师的指导和自己的努力下我的毕业设计

17、也完成了。通过这段时间里的学习,我了解到了很多知识,也对软件开发的过程有了一个更深的了解,并且对程序的基本设计思路有了较深的认识。 本次课程设计还算比较的成功,设计初期,老师要我们确定系统的主体设计,比如一些主流程图、按键显示模块等,我们这个小组也能按时完成李老师布置的任务,跟着李老师一步步的走过来,其实感觉起来这个课程设计不是那么的难,比我刚开始着手的时候要简单。在设计的过程中,为了找到自己需要的资料我们一起去读书馆找一些单片机课程设计实例来看看,不过在南校区读书馆资源也是非常的有限,而且还是比较旧的资料,像关于本次用的温湿度传感器DHT11在南院的图书馆几乎没有,图书馆只有什么单个测温度

18、或者湿度的传感器,不过这个对我们的课程设计帮助也挺大的,另外此次课程设计的程序来源与百度百科,不过并不是按部就班,我们在它的基础上把它弄懂、理解之后加入自己的设计想法,我想做课程设计无非是想让我们学到,在别人已有的基础上加入自己的设计方案,慢慢的变为自己的知识。在此分别对李晓秀老师和我这组的同学表示感谢。 本人签字: 参考文献 [1] 王迎旭编.单片机原理与应用[M].机械工业出版社.2012 [2] 陈海晏编.51单片机原理与应用[M].北京航空航天大

19、学出版社.2010 [3] 黄仁欣编.单片机原理与应用技术[M].清华大学出版社.2010 [4] 张中明编.单片计算机原理及接口技术[M].人民邮电出版社出版社.2009 [5] 赛奎春.MySql数据库开发实例解析[M].北京:机械工业出版社,2010 附录 程序 #include #define uchar unsigned char #define uint unsigned int uchar num,z,dat,a,c,d,f; uint b; sbit JDQ=P3^7; //管脚定义 类似于起名字 //用JDQ来代

20、替P1.4控制继电器工作 unsigned int tempL; //设全局变量 unsigned int tempH; unsigned int sdata; unsigned int s; code unsigned char seg7code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92, 0x82,0xf8,0x80,0x90,0xff}; //不带小数点的共阳数码管段码 code unsigned char

21、seg7codeB[]={0x40,0x79,0x24,0x30,0x19,0x12, 0x02,0x78,0x00,0x10,0xff}; //带小数点的共阳数码管段码 bit fg=1; //正负标志 //******************延时子程序 ******************************* //这个延时程序的具体延时时间是time=i*8+10,适用于小于2ms的延时 //*****************************

22、 void delay(unsigned char i) { for(i;i>0;i--); } //*********************************************************** // 延时子程序 //************************************************************ void delay1ms() { unsigned char i; for(i=124

23、i>0;i--); //延时124*8+10=1002us } //读值(低位放tempL;高位放tempH;) ReadTemperature(void) { tempH=c; tempL=d; s = (tempH*256+tempL); //整数部分 sdata=s/100; } //控制继电器 //********************显示函数**************** void Led(unsigned int date) { if(fg==1) { P2=0xfe; //

24、P1.0=0,选通第一位 P0=seg7code[date/10]; //十位数,查表,输出 delay1ms(); P0=0xff; //消隐 P2=0xfd; //P1.1=0,选通第二位,个位数 P0=seg7codeB[date%10]; delay1ms(); P0=0xff; //消隐 P2=0xfb; //P1.3=0,选通第三位,小数点第一位 P0=seg7code[s%100/10]; delay1ms(); P0=0xff; //消隐

25、 P2=0xf7; //P1.3=0,选通第四位,小数点第二位 P0=seg7code[s%10]; delay1ms(); P0=0xff; //消隐 } if(fg==0) //温度为负时显示的数据 { P2=0xfe; //P1.0=0,选通第一位 P0=seg7code[11]; //显示负号 delay1ms(); P0=0xff; //消隐 P2=0xfd; //P1.1=0,选通第二位,十位数 P0=seg7code[date/10];

26、 delay1ms(); P0=0xff; //消隐 P2=0xfb; //P1.3=0,选通第三位,个位数 P0=seg7codeB[date%10]; delay1ms(); P0=0xff; //消隐 P2=0xf7; //P1.3=0,选通第四位,小数点第一位 P0=seg7code[date]; delay1ms(); P0=0xff; //消隐 } } //主函数,C语言的入口函数: void Relay() { if(sda

27、ta<10) JDQ=0; //P1.4引脚控制三极管再由三极管控制继电器, if(sdata>11) JDQ=1; //输出0三极管导通继电器得电吸合,输出1三极管截止继电器失电断开 delay1ms(); P0=0xff; //消隐 while(1){Led(sdata); if(num==1) { num=0;break; } }; //主程序循环,即程序要停止在这里,很多初学者忘记了这点,只输入了上面一行,结果程序跑飞,找不出问题 } void main() { TMOD=0x20;

28、 //用定时器设置串口波特率9600 TH1=0xfd; TL1=0xfd; TR1=1; REN=1; //串口初始化 SM0=0; SM1=1; EA=1; //开启总中断 ES=1; while(1) { if(z==1) //判断是否有串口数据的传送 { ES=0; z=0; SBUF=1; //发送数据a到SBUF,即将单片机的数据发送到计算机 while(!TI); TI=0; ES=1; } ReadTempe

29、rature(); Relay(); } } void ser() interrupt 4 { RI=0; a=SBUF; if(a==238)b=0; //接收数据SBUF,即将计算机的数据接收。 z=1; b++; if(b==5)f=a; if(f==0x01) { num=1; if(b==6)c=a; if(b==7) {d=a;} } } 专业文档供参考,如有帮助请下载。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服