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

上传人:suij****uang 文档编号:178056710 上传时间:2022-12-27 格式:DOCX 页数:21 大小:367.01KB
收藏 版权申诉 举报 下载
温湿度检测系统的设计与实现_第1页
第1页 / 共21页
温湿度检测系统的设计与实现_第2页
第2页 / 共21页
温湿度检测系统的设计与实现_第3页
第3页 / 共21页
资源描述:

《温湿度检测系统的设计与实现》由会员分享,可在线阅读,更多相关《温湿度检测系统的设计与实现(21页珍藏版)》请在装配图网上搜索。

1、i无线传感网络技术课程实训温湿度检测系统的设计与实现院系名称 电子与信息工程学院专业班级学号学生姓名指导教师起止时 间:2021.6.26 2021.7.14课程设计论文任务及评语院系:电子与信息工程学院 教研室:软件工程号 学XX现 实 与 计 设 的 统 系 测 检 度 湿 温课程设计论文I任务中 空 艇 屏 置 約 示 购 儿 显 以 D 可 E 也 # L 代 E 到 妾BE 一 kIG 显 站 Z1; 如 派 .,尢 如灵L 结 孙 采讪和咙 集O度TF刖訶上 采 辭 温wW请上 将 K 行 该” 并R/进议 曲ED至 E耳 口冒 4S? L 厶刖 几 刍协I 驚 集感信在传 采 阿

2、I倚通 阿栗息 行 耳接度线 耳结信 进51焊温无51理关 :度:置并用用;用处相 求温求购计采采!| 采将将 要内要1设2 3 4 5 6 务室术 立 单 任对技 独51指导教师评语及成绩日月 贵 、:年 时 成 平 总注:平时成绩占 20%,辩论成绩占40%,论文成绩占 40%。目录第 1 章 绪论 11.1系统的开发背景 11.2开发工具 1第 2 章 需求分析 22.1调研情况 22.2 模块划分 22.3 系统原理图 22.4 系统性能需求 3第 3 章 系统概要设计 43.1系统总体结构设计 43.2模块的创立 4第 4 章 硬件设计 54.1 DHT11温度湿度传感器电路设计54

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

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

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

6、同,又分为共 阴极数码管和共阳极数码管两种,选择的数码管不同,程序设计上也有一定的差异。编程采用Keil C软件,使用C语音。第 2 章 需求分析2.1 调研情况在需求分析阶段,本设计采用 STC89C52RC 单片机做为嵌入式控制核心,处理温度 和湿度信号,基于设计目的对于信号采集的数字滤波考虑,本设计采用模拟量输出的温 湿度传感器,采用TLC254312位串行A/D转换器进行模数转换,非信号因素采用专用硬 件看门狗芯片X25045等多项软硬件抗干扰措施,减少额外干扰对于实验设计的影响, 并基于产品性功耗考虑,显示器件采用字符液晶。设计充分利用端口资源,考虑整体性, 显示精确性以及功耗要求,

7、很好的完成了设计目的。2.2 模块划分通过网上查询、翻阅图书了解空调系统原理,借鉴前人经验;传感器使用方法;用 数码管显示可实现系统设计。主要内容有学习强化单片机知识掌握智能温湿度检测系统,提出硬件电路设计方案画出原理图编写单片机控制软件完成系统整体功能调2.3 系统原理图图 2.1 系统原理图2.4系统性能需求设计中包括硬件电路的设计和系统程序的设计。其硬件电路主要由电源电路、主控 制器和显示电路等构成。其中单片机是核心局部,负责对温度信号进行接收、检验并传 输处理。第 3 章 系统概要设计3.1 系统总体结构设计要求以单片机为核心,采用温湿度传感器DHT11设计一个对环境温度湿度的检测 系

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

9、电路的结构比拟简单。此次课程设计温度测量范围:0-50摄氏度; 湿度测量范围:20%-90%RH。DHT11只有一根数据线,一根电源线,一根地线,还有一根NC悬空。直接将电源线与单片机的电源VCC相连,地线与单片机的GND相连。数据 线DATA与单片机的P30 口相连,外加一个5K的上拉电阻。所需要的温湿度数据便是由 DATA引脚通过P30送入单片机的,在单片机内做出相应的处理之后得到相应的温湿度数图4.1温度检测原理图4.2晶振电路和复位电路设计STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是 此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生

10、。其晶振电路如 图4.2所示。图4.2晶振电路复位电路是保证单片机正常运行的关键因素,所以可靠地复位电路设计是必要的。 将 RST 引脚连续输入 2 个机器周期即 24 个时钟振荡期间以上高电平,即可以完成 单片机的初始化操作。本设计采用按钮复位方式,其复位电路如图 4.3 所示。o oRSTR1lkSW-RSTVCC VCl+Tf20 pF图4.3复位电路4.3 LED数码显示模块设计此次课程设计采用的共阳极 LED 动态数码显示,所谓动态显示,是采用动态扫描的 方法逐个地循环点亮各位显示器。虽然在任一时刻只有一位显示器被点亮,但由于人眼 具有视觉残留效应看起来与全部显示器持续点亮效果是完全

11、一样的。为了实现 LED 显示 器的动态扫描,除了要给显示器提供段码字形代码的输入外,还要对显示器进行位 控制,这就是通常所说的段控和位控。本次课程设计中段码控制为单片机的P01-P07分 别与LED的A.B.C.D。E.F.G.Dp相连,实现了字符的显示,单片机的P02-P07分别与四 个 LED 显示起相连,实现位控制。4.4 报警模块设计此次课程设计的报警模块采用一个LED显示灯、一个10K的限流电阻和一个扬声器。 当实测温度湿度在设定的范围内,LED灯熄灭,扬声器不会发出警报,工作正常!如果实图 4.4 报警指示原理4.5 主程序设计开机启动系统,进入主函数MAIN后延时0.1S等待启

12、动,当按下启动键S4,然后调用 温湿度子程序CWD读取温湿度,并用数组将实测的温湿度数据保存起来,分别将温湿度 除十取整,将处理后的数据调用到温湿度范围检测函数 temphumi_range 判断实测的温 湿度是否在设定的范围内并作出相应的处理。其主程序流程图如图4.5所示。图4.5主程序流程图4.6 LED 显示子程序设计数码管显示主要用于同时显示温湿度和单独显示精确的温度和湿度,其显示流程图 如图 4.6所示图 4.6 显示流程图第5草系统的测试5.1系统安装接线图本设计是在Keil C环境下开发的,在编译完Keil C后,再运用STC_ISP_V48.8软 件烧录到开发板上,实现实物与程

13、序的连接。如图5.1系统安装接线图。图5.1系统安装接线图5.2调试与结果调试完成后,可进行温湿度的测量。如图5.2所示。图5.2调试结果第 6 章 总结时间一点点的逼近了,耗时 3 周的课程设计即将结束,在老师的指导和自己的努 力下我的毕业设计也完成了。通过这段时间里的学习,我了解到了很多知识,也对软件 开发的过程有了一个更深的了解,并且对程序的根本设计思路有了较深的认识。本次课程设计还算比拟的成功,设计初期,老师要我们确定系统的主体设计,比 方一些主流程图、按键显示模块等,我们这个小组也能按时完成李老师布置的任务,跟 着李老师一步步的走过来,其实感觉起来这个课程设计不是那么的难,比我刚开始

14、着手 的时候要简单。在设计的过程中,为了找到自己需要的资料我们一起去读书馆找一些单 片机课程设计实例来看看,不过在南校区读书馆资源也是非常的有限,而且还是比拟旧 的资料,像关于本次用的温湿度传感器 DHT11 在南院的图书馆几乎没有,图书馆只有什 么单个测温度或者湿度的传感器,不过这个对我们的课程设计帮助也挺大的,另外此次 课程设计的程序来源与百度百科,不过并不是按部就班,我们在它的根底上把它弄懂、 理解之后参加自己的设计想法,我想做课程设计无非是想让我们学到,在别人已有的根 底上参加自己的设计方案,慢慢的变为自己的知识。在此分别对李晓秀老师和我这组的 同学表示感谢。本人签字:参考文献1 王迎

15、旭编.单片机原理与应用M.机械工业出版社.20212 陈海晏编.51单片机原理与应用M.北京航空航天大学出版社.20213 黄仁欣编.单片机原理与应用技术M.清华大学出版社.20214 张中明编.单片计算机原理及接口技术M.人民邮电出版社出版社.2021赛奎春.MySql数据库开发实例解析M.北京:机械工业出版社,2021附录 程序#include #define uchar unsigned char#define uint unsigned intuchar num,z,dat,a,c,d,f; uint b;sbit JDQ=P3人7;管脚定义 类似于起名字用JDQ来代替P1.4控制继电

16、器工作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 seg7codeB=0x40,0x79,0x24,0x30,0x19,0x12, 0x02,0x78,0x00,0x10,0xff; /带小数点的共阳数 码管段码bit fg=1;/正负标志#J* #J

17、* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J*/*延时子程序这个延时程序的具体延时时间是time=i*8+10,适用于小于2ms的延时void delay(unsigned char i) for(i;i0;i-);/ / / #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J*

18、#J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J* #J*/延时子程序void delay1ms()unsigned char i;for(i=124;i0;i-); /延时 124*8+10=1002us读值低位放tempL;高位放tempH;ReadTemperature(void)tempH=c; tempL=d;s = (tempH*256+tempL);/整数局部sdata=s/100;/控制继电器#J* #J* #J* #J* #J* #J* #J*

19、#J* #J* #J* #J* #J* #J* #J* #J* #J*/*显示函数void Led(unsigned int date)if(fg=1)P2=0xfe;P1.0=0,选通第一位P0=seg7codedate/10; /十位数,查表,输出delay1ms();P0=0xff;/消隐P2=0xfd;P1.1=0,选通第二位,个位数P0=seg7codeBdate%10;delay1ms();P0=0xff;/消隐P2=0xfb;P1.3=0,选通第三位,小数点第一位P0=seg7codes%100/10;delay1ms();P0=0xff;/消隐P2=0xf7;P1.3=0,选通

20、第四位,小数点第二位P0=seg7codes%10;delay1ms();P0=0xff;/消隐if(fg=0) /温度为负时显示的数据P2=0xfe;P1.0=0,选通第一位P0=seg7code11; /显示负号delay1ms();P0=0xff;/消隐P2=0xfd;P1.1=0,选通第二位,十位数P0=seg7codedate/10;delay1ms();P0=0xff;/消隐P2=0xfb;P1.3=0,选通第三位,个位数P0=seg7codeBdate%10;delay1ms();P0=0xff;/消隐P2=0xf7;P1.3=0,选通第四位,小数点第一位P0=seg7coded

21、ate;delay1ms();P0=0xff;/消隐主函数,C语言的入口函数:void Relay() if(sdata11)JDQ=1;/输出 0 三极管导通继电器得电吸合,输出 1 三极管截止继电器失电断开delay1ms();P0=0xff;/消隐while(1)Led(sdata);if(num=1)num=0;break; ; /主程序循环,即程序要停止在这里,很多初学者忘记了这点,只输入了上面 一行,结果程序跑飞,找不出问题void main()TMOD=0x20;/用定时器设置串口波特率 9600TH1=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;ReadTemperature();Relay();void ser() interrupt 4RI=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: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!