温湿度控制器(液晶屏输出)设计报告
温湿度监控系统设计报告书
温湿度监控系统设计报告书一、引言温湿度监控系统是一种用于实时监测和记录环境温度和湿度的设备。
它可以广泛应用于各种领域,例如医疗、制药、食品储存等。
本报告旨在详细介绍温湿度监控系统的设计过程和技术实现。
二、系统概述1. 项目背景温湿度是影响许多生产和存储过程的重要因素。
为了确保产品质量和食品安全,温湿度监控系统应用广泛。
本项目旨在设计一个高效可靠的温湿度监控系统,用于监控和记录环境中的温湿度值。
2. 设计目标本系统的设计目标包括:- 实时监测和记录环境温度和湿度;- 提供报警功能,一旦温湿度超出设定范围,能够及时通知相关人员;- 支持远程访问和控制,方便用户随时了解监控数据;- 具备数据分析和报表生成功能,提供决策支持。
三、系统设计1. 硬件设计在本系统中,将使用以下硬件设备:- 温湿度传感器:用于测量环境温度和湿度,采集数据并通过数据线传输给中央处理器;- 中央处理器:用于接收温湿度传感器发送的数据,进行数据处理和存储,并负责控制其他硬件设备;- 报警器:当温湿度超出设定范围时,通过声音或光线等方式向用户发出警报;- 通信模块:用于与远程服务器进行数据传输和远程访问。
2. 软件设计- 数据采集与处理:设计一个数据采集程序,在中央处理器上运行,负责接收温湿度传感器发送的数据,并进行处理和存储;- 报警系统:开发一个报警系统,当温湿度超出设定范围时,通过触发警报器进行警示;- 远程访问控制:实现一个远程访问控制系统,允许用户通过互联网随时访问和控制温湿度监控系统;- 数据分析和报表生成:设计一个数据分析程序,对温湿度数据进行统计和分析,并生成相应的报表。
四、系统实现1. 硬件组装和连接将温湿度传感器、中央处理器、报警器和通信模块按照设计要求进行组装和连接。
确保各个硬件设备可以正常工作并相互协调。
2. 软件开发和测试根据设计要求,进行软件的开发和测试。
包括数据采集与处理、报警系统、远程访问控制和数据分析报表生成等功能的实现。
室内温湿度控制系统报告
室内温湿度控制系统设计报告新电八队室内温湿度控制系统摘要:本文利用89C52单片机设计一个温室大棚的温湿度检测控制系统,对室内的温湿度进行检测控制并实时显示。
其中温湿度传感器采用DHT11数字温湿度传感器,通过89C52单片机的处理把温湿度值显示在1602A液晶上。
并实时判断温湿度值是否满足设定的温湿度范围,若超出设定范围,通过89C52启动温湿度控制系统,达到恒温恒湿的目的。
关键字:89C52;DHT11;1602A液晶显示;温湿度控制系统目录摘要 (1)1本系统主要研究内容 (3)1.1基本要求 (3)1.2发挥部分 (3)2系统总体设计 (3)2.1系统的组成 (3)2.2系统的工作原理 (4)3单元电路设计 (6)3.1单片机系统设计 (6)3.2传感器的设计 (8)3.3液晶显示装置设计 (9)3.4光声报警系统与温湿度控制系统设计........................... 错误!未定义书签。
3.5温湿度系统设计 (13)4软件设计 (14)4.1初始化模块 (14)4.2温湿度检测模块 (14)4.3温湿度判断控制模块 (15)4.41602液晶显示模块 (15)4.5报警模块 (15)4.6系统整体软件程序 (16)5系统测试 (16)6总结 (17)参考文献: (17)附录 (18)1本系统主要研究内容设计一个室内温湿度检测装置,检测和显示室内的温度、湿度,并在温度、湿度超过设置的范围是采取相应的措施,使得温度达到设置的范围。
1.1 基本要求(1)采集温度传感器数据,在显示器上显示室内的温度。
(2)采集湿度传感器数据,在显示器上显示室内的湿度。
(3)可以通过按键来设定目标温度和湿度的范围。
1.2 发挥部分(1)当温度和湿度超过设置的范围时用蜂鸣器发出不同的声音报警,并且用LED灯指示是温度还是湿度超出了预设的范围。
(2)用两个电机模拟对温度和湿度的控制,当温度和湿度超出设置范围时控制两个电机动作,调节温度和湿度达到预设的范围。
温湿度控制器设计实验报告 计算机控制技术
课程:院(部):专业:班级: 学生姓名:学号:指导老师:完成时间:温湿度控制器设计报告本设计研究单片机数字温湿度控制器,通过全数字型温湿度传感器测量宽范围的温湿度数据,用来满足恒温湿车间控制、大棚温湿度控制等工农业生产领域需要,要求温湿度测量响应时间快、长期稳定性好,抗干扰能力强,具有较高的应用价值。
一、性能特点●配用全数字型温湿度传感器DHT11,温度测量范围0℃--100℃,湿度测量范围0%RH—90%RH,可以满足一般需要。
若要求更宽测量范围,只需更换温湿度传感器型号,硬件电路及软件程序全兼容。
●温湿度测量响应时间快、长期稳定性好。
●采用先进的专用微处理器芯片STC89C52,可靠性高,抗干扰能力强。
●配用EEPROM芯片AT24C04,使存储的温度上下限和湿度上下限可以掉电永久保存。
●可以通过四个按键方便地实现温湿度上下限的调整。
●当温度或湿度超限后,报警信号点亮相应报警灯。
●配用三极管和继电器,可以通过驱动继电器打开或切断风机、加热器等外部设备。
二、功能说明1、实时测量当前温度值和湿度值,在液晶屏动态显示。
2、可以显示当前允许温度范围,在液晶屏显示,如“20-45”表示允许温度范围为20摄氏度至45摄氏度。
3、可以显示当前允许湿度范围,在液晶屏显示,如“15-60”表示允许湿度范围为15%至60%。
4、当温度低于温度下限时,低温报警灯亮,控制继电器动作。
5、当温度高于温度上限时,高温报警灯亮,控制继电器动作。
6、当湿度低于湿度下限时,低湿报警灯亮,控制继电器动作。
7、当湿度高于湿度上限时,高湿报警灯亮,控制继电器动作。
8、可以通过键盘调整温度上下限和湿度上下限,具体方法是连续按设置键直至温度下限、温度上限、湿度下限、湿度上限相应的位置闪烁,再通过Up键和Down键调整数值,调整完毕继续按设置键进入正常状态。
9、可以保存设置参数至EEPROM中,具体方法是按保存键,此时当前设置参数存盘,重新上电显示新的设置值。
LCD数字式温度湿度测量计毕业设计
目录1绪论 (1)1.1课题开发背景及意义 (1)1.2主要内容及设计要求 (1)2硬件系统设计 (1)2.1系统设计框图 (1)2.2电源电路 ...................................................................................... 错误!未定义书签。
2.3系统硬件详细设计图 (2)2.4各芯片介绍 (3)2.4.1单片机AT89C51 (3)2.4.2 DS18B20简介 (4)2.4.3 SHT15简介 (8)2.5各功能模块电路的设计 (10)2.5.1温度测量电路 (10)2.5.2湿度测量电路 (11)3系统软件设计 (12)3.1系统功能模块图及各模块介绍 (12)3.1.1温度获取模块 (12)3.1.2湿度获取模块 (15)3.1.3 LCD显示控制模块 (17)3.2主程序流程图 (19)4硬件电路和软件系统的调试 (21)4.1印制电路板的设计与制作 (21)4.2系统软件调试 (24)5结论 (26)参考文献 (27)致谢 (28)附录1系统印制电路板 (29)附录2程序源代码 (1)摘要温度和湿度的测量在工业、农业、国防等行业有着广泛的应用。
使用单片机技术的温度和湿度测量计有体积小,使用性强等优点,在本设计中对LCD数字式温度湿度测量计进行了分析设计。
本论文针对所使用的AT89C51单片机的性能和使用做了比较详细的介绍,对本系统所使用的温度芯片DS18B20和湿度芯片SHT15做了性能方面的简单说明。
重点对硬件、软件的组成进行了划分、模块化设计。
对各部分的电路一一进行了介绍分析,最终实现了该系统的硬件设计,绘制了电路原理图、印制电路板图。
在软件设计方面绘制了各功能模块的流程图,并对需要实现的功能根据设计要求经过反复的模拟运行、调试、修改简化,得出一套完整的软件系统。
关键词:单片机AT89C51、温度传感器DS18B20、湿度传感器SHT15、液晶显示模块LCD1602AbstractThe test of temperature and moisture has been widely used in industry, agriculture, National defense and so on. By the advantage of small volume and high reliance of Single Chip Micyoco temperature and moisture meter, the article has analyzed and designed the digital temperature and moisture meter in this designing.This system made detailed introduction about performance and development situation of Single Chip microcomputer AT89C51, and made simple explanation about the temperature chip DS18B20 and humidity chip SHT15. It has mainly analyzed and designed the composition of hardware and software carried on the item, modulation gradually. This system has introduced part of the electric circuit step by step, and has finally realized the hardware electric circuit of this system. It has protracted the electric circuit principle diagram, the printed circuit board chart. According to the function that must be realized in designing, by repeated simulation run and debugging, it has revised and simplified the software system, and finally has formed a set of complete program.Key words: Microcomputer AT89C51; Temperature Sensor DS18B20; Humidity Sensor SHT15; Liquid-Crystal Display LCD16021绪论1.1课题开发背景及意义在我们日常生活和生产中,经常要测量环境的温、湿度,传统的测量方式通常采用水银温度计或者干湿球湿度计查算法,存在着误差大,操作使用很不便等问题,采用工业级测量仪表价格非常昂贵。
温湿度测量仪课程设计报告1
课程设计报告题目:简易温湿度测量仪目录一、设计目的 (2)二、设计器材清单 (2)三、任务要求 (2)1.基本要求 (2)2.发挥部分 (2)四、方案论证 (2)1.采集传感器数据方案 (2)2.键盘扫描方案 (2)3.设置上下限方案 (2)4.显示方案 (2)5.语言选择方案 (3)五、电路与程序设计 (3)1.温湿度采集电路的设计 (3)2.报警电路的设计 (4)3.液晶显示设置 (4)六、测试方案与测试结果 (4)1.测试方案与测试条件 (4)1)硬件测试方案 (4)2)软件测试方案 (5)3)综合测试方案 (5)2.测试结果及其完整性 (5)3测试结果分析 (5)1)硬件结果 (6)2)软件结果 (6)七、实现的功能 (6)八、心得体会 (6)九、参考文献 (6)附录:源程序代码 (7)设计原理图 (18)一:设计目的1、提高对单片机的工作原理的认识。
熟悉相关控制程序。
2、了解传感器的工作原理,学习相关电路知识。
3、通过综合设计,进一步提高动手能力。
二:设计器材AT89C51单片机学习板一个,USB线一根,DHT11传感器一个,蜂鸣器一个,LCD1602液晶显示屏一块,PNP三极管一个,5.1千欧和4.7千欧电阻各一个,插针和杜邦线若干。
三:任务要求利用51学习板和DHT11设计并制作数字式温湿度测量仪。
1. 基本要求1)测量空气温湿度2)通过数码管显示温度和湿度,显示位数精确到个位,要求观察时无闪烁;3)设置温度和湿度的上下限,通过蜂鸣器报警;4)将温度和湿度单位显示在数据后面,温度C、湿度%RH;2. 发挥部分1)温度和湿度报警以不同的声音,并闪烁显示告警项。
2)使用按键来设置上下限,并显示。
3)实现摄氏度与华氏度的转换。
4)采用液晶1602或者12864来显示温湿度情况。
5)其它(如进一步扩展量程和提高精度(显示小数),自动量程转换等)。
四:方案论证采集传感器数据方案通过DHT11直接采集数据,然后进行数据处理。
室内温湿度控制系统报告汇总
室内温湿度控制系统设计报告新电八队室内温湿度控制系统摘要:本文利用89C52单片机设计一个温室大棚的温湿度检测控制系统,对室内的温湿度进行检测控制并实时显示。
其中温湿度传感器采用DHT11数字温湿度传感器,通过89C52单片机的处理把温湿度值显示在1602A液晶上。
并实时判断温湿度值是否满足设定的温湿度范围,若超出设定范围,通过89C52启动温湿度控制系统,达到恒温恒湿的目的。
关键字:89C52;DHT11;1602A液晶显示;温湿度控制系统目录摘要 (1)1本系统主要研究内容 (3)基本要求 (3)1.2发挥部分 (3)2系统总体设计 (3)系统的组成 (3)系统的工作原理 (4)3单元电路设计 (6)单片机系统设计 (6)传感器的设计 (8)液晶显示装置设计 (9)光声报警系统与温湿度控制系统设计.............................. 错误!未定义书签。
温湿度系统设计. (13)4软件设计 (14)初始化模块 (14)温湿度检测模块 (14)温湿度判断控制模块 (15)1602液晶显示模块 (15)报警模块 (15)系统整体软件程序 (16)5系统测试 (16)6总结 (17)参考文献: (17)附录 (18)1本系统主要研究内容设计一个室内温湿度检测装置,检测和显示室内的温度、湿度,并在温度、湿度超过设置的范围是采取相应的措施,使得温度达到设置的范围。
基本要求(1)采集温度传感器数据,在显示器上显示室内的温度。
(2)采集湿度传感器数据,在显示器上显示室内的湿度。
(3)可以通过按键来设定目标温度和湿度的范围。
发挥部分(1)当温度和湿度超过设置的范围时用蜂鸣器发出不同的声音报警,并且用LED灯指示是温度还是湿度超出了预设的范围。
(2)用两个电机模拟对温度和湿度的控制,当温度和湿度超出设置范围时控制两个电机动作,调节温度和湿度达到预设的范围。
电机1正转(顺时针)表示加热,反转(逆时针)表示制冷。
温湿度控制器(液晶屏输出)设计报告
温湿度控制器设计报告一、功能与特点●配用全数字型温湿度传感器DHT11,温度测量范围0℃--50℃,湿度测量范围20%RH—90%RH,可以满足一般需要。
若要求更宽测量范围,只需更换温湿度传感器型号,硬件电路及软件程序全兼容。
●温湿度测量响应时间快、长期稳定性好。
●采用先进的专用微处理器芯片STC89C52,可靠性高,抗干扰能力强。
●配用EEPROM芯片AT24C04,使存储的温度上下限和湿度上下限可以掉电永久保存。
●可以通过四个按键方便地实现温湿度上下限的调整。
●当温度或湿度超限后,报警信号点亮相应报警灯。
如果配用三极管和继电器,该信号也可以驱动继电器打开或切断风机、加热器等外部设备。
二、硬件设计1、设计框图本研究设计的温湿度控制器框图如图1所示。
图1 温湿度控制器方框图图中STC89C52单片机每2秒钟从DHT11温湿度传感器中读入温度和湿度,在液晶屏上即时显示。
液晶屏上同时显示温湿度上限值,该上限值保存外外部EEPROM存储器中,掉电不失,并且可以通过四只按键上调或下调。
当温度或湿度值超过上限值时,报警信号点亮相应报警灯。
该报警信号可以通过三极管驱动继电器,以控制外部风机或加热器。
继电器电路套件中不标配,如果需要请另外说明。
2、温湿度传感器器及检测电路图2 DHT11温湿度传感器外型及管脚DHT11温湿度传感器外型及管脚如图2所示。
其中电源引脚的供电电压为3.5--5.5V。
传感器上电后,要等待 1s 以越过不稳定状态在此期间不要发送任何指令。
电源引脚(VDD,GND)之间可增加一个100nF 的电容,用以去耦滤波。
DHT11典型应用电路如图3所示,其连接电路简单,只需要占用控制器一个I/O 口即可完成上下位的连接。
建议连接线长度短于20时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻,图3 DHT11典型应用电路DHT11数字湿温度传感器采用单总线数据格式,即单个数据引脚端口完成输入输出双向传输。
湿度温度测量仪设计报告
第1章1.11.2.1 温度传感器集成温度传感器是目前应用范围最广、使用最普及的一种全集成化传感器。
其种类很多,大致可分为以下5类:1、模拟集成温度传感器;2、模拟集成温度控制器;3、智能温度传感器;4、通用智能温度控制器;5、微机散热保护专用的智能温度控制器。
集成温度传感器的主要应用领域有以下3个方面:1.温度测量:可以构成数字温度计、温度变送器、温度巡回检测仪、智能化温度检测系统及网络化测温系统。
2.温度控制:适用于智能化温度测控系统、工业过程控制、现场可编程温度控制系统、环境温度监测及报警系统、中央空调、风扇温控电路、微处理器及微机系统的过热保护装置、现代办公设备、电信设备、服务器中的温度测控系统、电池充电器的过热保护电路、音频功率放大器的过热保护电路及家用电器。
温度是表示物体冷热程度的物理量,微观上来讲是物体分子热运动的剧烈程度。
在整个宇宙当中,温度无处不存在。
无论在地球上还是在月球上,也无论是在炽热的太阳上还是在阴冷的冥王星上,这一切无不由于空间位置的不同而存在着温度的差别。
湿度,表示大气干燥程度的物理量。
在一定的温度下在一定体积的空气里含有的水汽越少,则空气越干燥;水汽越多,则空气越潮湿。
空气的干湿程度叫做“湿度”。
在此意义下,常用绝对湿度、相对湿度、比较湿度、混合比、饱和差以及露点等物理量来表示。
湿度表示气体中的水蒸汽含量,有绝1对湿度和相对湿度两种表示方法。
绝对湿度是一定体积的空气中含有的水蒸气的质量,一般其单位是克/立方米,绝对湿度的最大限度是饱和状态下的最高湿度;相对湿度是绝对湿度与最高湿度之间的比,它的值显示水蒸气的饱和度有多高[1]。
温度、湿度和人类的生产、生活有着密切的关系,同时也是工业生产中最常见最基本的工艺参数,例如机械、电子、石油、化工等各类工业中广泛需要对温度、湿度的检测与控制。
并且随着人们生活水平的提高,人们对自己的生存环境越来越关注,而空气中温湿度的变化与人体的舒适度和情绪都有直接的影响,所以对温度、湿度的检测及控制就非常有必要了。
温湿度测试实验报告
简易环境参数测试仪设计总结报告目录:1.系统方案………………………………………………………………1.1方案论证……………………………………………………………1.2方案选定1.3系统设计………………………………………………………………1.4结构框图………………………………………………………………2.理论分析与计算………………………………………………2.1测量与控制方法…………………………………………………………2.2理论计算……………………………………………………………………3.电路与程序设计…………………………………………………………………3.1硬件电路各模块或单元电路的设计3.2检测与驱动电路设计…………………………………………………………3.3总体电路设计…………………………………………………………………3.4软件设计与流程图……………………………………………………………4.结果分析…………………………………………………………………………4.1与设计指标进行比较,分析产生偏差的原因,并提出改进方法………………1.系统方案1.1方案论证方案1:温湿度传感器采用传统的模拟式器件,使用光敏电阻测光照,利用单片机进行显示与按键。
方案2:温湿度采用集成式器件,使用光敏电阻测光照,利用单片机进行显示与按键。
方案3:温湿度传感器采用数字式器件,使用光敏传感器,再通过单片机进行显示与按键。
方案论证:比较三种方案,在传感器的选择上,模拟传感器的模拟信号要先经过采样、放大和模数转换电路处理,再将转换得到的表示温度值的数字信号交由微处理器或DSP处理。
被测量信号从敏感元件接收的非物理量开始到转换微处理器可处理的数字信号之间。
而且模拟信号在传输的过程中容易受到干扰而产生误差。
而且魔术转换的精度不可能很高,存在一定的非线性,互换性较差。
直接采用数字数传感器就可以避免以上的问题。
数字传感器可以直接将被测模拟量直接换成数字量输出,具有很强的抗干扰能力,且具有高的精度和分辨率,稳定性好,信号易处理。
液晶显示温度控制器设计
液晶显示温度控制器设计一、进一步加深理解模拟电子技术、数字电子技术、单片机原理与应用等课程的基础知识,掌握一些小型电子系统的设计方法和制作过程的能力;培养学生们的科学性、系统性、及全面性的设计素质;开拓学生的设计思路,增强他们把理论知识与实践相结合的能力;为毕业后从事电子设备控制电路设计、调试、维修奠定基础。
二、设计要求1.基本要求(1)使用DS18B20数字式温度传感器对环境温度进行检测,并采用LCD液晶直读显示。
(2)要求精度误差在C.5以内。
2.发挥部分(1)增加按键功能,使其可以任意设定温度的上下限,并增加报警功能。
(2)增加继电器输出来对加热装置进行控制。
3.设计内容(1)根据设计功能要求,确定CPU的选型与硬件接口配置。
(2)进行硬件设计,主要是整个系统电路原理图的绘制和对应的PCB板的布线设计。
(3)进行软件设计,根据控制要求编写控制系统的控制程序。
(4)控制系统调试。
(5)源程序。
三、主要元器件DS18B20数字温度传感器、LCD液晶、继电器、按键、电阻、电容、导线、万能板等四、设计报告要求1、方案论证及方框图。
2、单元电路设计细则。
3、调试及性能分析。
4、系统的电原理图。
5、电子元器件清单。
6、源程序清单。
7、参考资料。
8、收获。
五、教材及参考书[1] 潘永雄. 新编单片机原理与应用(第二版). 西安:西安电子科技大学出版社,2007年[2] 余永权.单片机应用系统的功率接口技术. 北京:北京航空航天大学出版社,1992[3] 孙涵芳.MCS-51/96系列单片机原理与应用. 北京:北京航空航天大学出版社,1996[4] 丘关源编.电路分析基础.高等教育出版社. 1999年[5] 童诗白编.模拟电子技术基础.高等教育出版社.1999年[6]阎石编.数字电子技术基础.高等教育出版社.1997年[7] [8]刘文涛编.MCS-51单片机培训教程 C51版.电子工业出版社.2006年六、课程设计进度安排注:设计说明书使用课程设计报告本书写,每人一份,独立完成。
智能温湿度器设计报告
杭州电子科技大学智能温湿度计题目:智能温湿度计设计课程名称:单片机学院:自动化专业:电气工程与自动化年级: 3 学号:学生姓名:温湿度控制器设计报告一、功能与特点●配用全数字型温湿度传感器DHT11,温度测量范围0℃--50℃,湿度测量范围20%RH—90%RH,可以满足一般需要。
若要求更宽测量范围,只需更换温湿度传感器型号,硬件电路及软件程序全兼容。
●温湿度测量响应时间快、长期稳定性好。
●采用先进的专用微处理器芯片STC89C52,可靠性高,抗干扰能力强。
●配用EEPROM芯片AT24C04,使存储的温度上下限和湿度上下限可以掉电永久保存。
●可以通过四个按键方便地实现温湿度上下限的调整。
●当温度或湿度超限后,报警信号点亮相应报警灯。
如果配用三极管和继电器,该信号也可以驱动继电器打开或切断风机、加热器等外部设备。
二、硬件设计1、设计框图本研究设计的温湿度控制器框图如图1所示。
图1 温湿度控制器方框图图中STC89C52单片机每2秒钟从DHT11温湿度传感器中读入温度和湿度,在液晶屏上即时显示。
液晶屏上同时显示温湿度上限值,该上限值保存外外部EEPROM存储器中,掉电不失,并且可以通过四只按键上调或下调。
当温度或湿度值超过上限值时,报警信号点亮相应报警灯。
该报警信号可以通过三极管驱动继电器,以控制外部风机或加热器。
2、温湿度传感器器及检测电路图2 DHT11温湿度传感器外型及管脚DHT11温湿度传感器外型及管脚如图2所示。
其中电源引脚的供电电压为3.5--5.5V。
传感器上电后,要等待 1s 以越过不稳定状态在此期间不要发送任何指令。
电源引脚(VDD,GND)之间可增加一个100nF 的电容,用以去耦滤波。
DHT11典型应用电路如图3所示,其连接电路简单,只需要占用控制器一个I/O 口即可完成上下位的连接。
建议连接线长度短于20时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻,图3 DHT11典型应用电路DHT11数字湿温度传感器采用单总线数据格式,即单个数据引脚端口完成输入输出双向传输。
基于单片机的温湿度检测系统的设计的开题报告
基于单片机的温湿度检测系统的设计的开题报告一、选题背景随着现代生活水平的不断提高,人们越来越关注室内环境的舒适度,其中温度和湿度是影响人们舒适度的重要因素。
因此,基于单片机的温湿度检测系统已成为人们生活中必不可少的一部分。
本系统以AT89C51单片机为核心,通过传感器获取室内温湿度数据,在LCD12864液晶屏上显示,并通过蜂鸣器进行声音提示。
二、研究内容1. 系统硬件设计设计硬件电路,包括AT89C51单片机、温湿度传感器、LCD12864液晶屏、蜂鸣器、电源以及必要的外设电路等。
2. 系统软件设计编写程序,实现温湿度的检测、数据的存储与处理、系统状态的显示等功能。
通常使用C语言编写程序,并结合汇编语言优化程序。
3. 系统调试与优化完成软硬件设计后,进行系统调试,在确保功能正常的前提下,对系统进行优化,提升系统的运行效率和稳定性。
三、研究意义1. 实现室内环境的智能化监控与调节,提高人们生活的舒适度。
同时,通过持续监测室内温湿度,可以及时发现异常情况并采取相应的措施,保证室内环境的安全。
2. 掌握基于单片机的电子设计技术,加强对单片机的理解。
通过实践,学生可以了解单片机的硬件结构、工作原理和软件编程技巧等,并将所学知识应用于实际中,提高综合能力。
3. 面向应用产业界,提供了一种低成本、高效率、易于维护的温湿度检测系统方案。
适用于家庭、办公室、实验室等室内环境的温湿度监控。
四、研究方法和步骤1. 系统方案设计根据功能需求,综合考虑系统可行性和经济性,确定硬件系统的主要组成部分以及相应的软件编程方案。
2. 硬件设计根据系统方案设计的结果,进行电路图设计、原理图设计,完成电路板绘制与制作。
并且针对硬件问题进行调试与测试。
3. 软件设计编写程序,集成硬件系统,实现温湿度数据的读取、存储与显示等功能。
在调试过程中还需进行代码优化和缺陷检测等。
4. 系统测试与优化将硬、软件系统集成并进行初步测试,分析测试结果,进行系统问题排查、调整,保证系统出现的各种异常状况均能正确处理和输出。
室内温湿度控制系统报告
室内温湿度控制系统报告室内温湿度控制系统设计报告室内温湿度控制系统摘要本文利用89C52单片机设计一个温室大棚的温湿度检测控制系统对室内的温湿度进行检测控制并实时显示其中温湿度传感器采用DHT11数字温湿度传感器通过89C52单片机的处理把温湿度值显示在1602A液晶上并实时判断温湿度值是否满足设定的温湿度范围若超出设定范围通过89C52启动温湿度控制系统达到恒温恒湿的目的关键字89C52DHT111602A液晶显示温湿度控制系统目录摘要 11本系统主要研究内容 311基本要求 31.2发挥部分 32 系统总体设计 321系统的组成 322系统的工作原理43 单元电路设计 631单片机系统设计632传感器的设计833 液晶显示装置设计934 光声报警系统与温湿度控制系统设计1235温湿度系统设计134 软件设计1441初始化模块 1442温湿度检测模块1443 温湿度判断控制模块1544 1602液晶显示模块 1545报警模块1546 系统整体软件程序165 系统测试166总结17参考文献17附录181本系统主要研究内容设计一个室内温湿度检测装置检测和显示室内的温度湿度并在温度湿度超过设置的范围是采取相应的措施使得温度达到设置的范围11 基本要求1采集温度传感器数据在显示器上显示室内的温度2采集湿度传感器数据在显示器上显示室内的湿度3可以通过按键来设定目标温度和湿度的范围12 发挥部分1当温度和湿度超过设置的范围时用蜂鸣器发出不同的声音报警并且用LED 灯指示是温度还是湿度超出了预设的范围2用两个电机模拟对温度和湿度的控制当温度和湿度超出设置范围时控制两个电机动作调节温度和湿度达到预设的范围电机1正转顺时针表示加热反转逆时针表示制冷电机2正转顺时针表示加湿反转逆时针表示干燥3用电机的转速表示控制作用的强弱程度并与温度湿度的偏差大小相关2 系统的总体设计21 系统的组成以单片机为控制核心采用温湿度测量通信技术控制技术等技术以温湿度传感器作为测量元件构成智能温湿度测量控制系统可分为温湿度测量电路显示电路声光报警电路温湿度控制电路选用的主要器件有 89C52温湿度传感器DHT111602A显示模块红绿白LED灯报警装置蜂鸣器等系统原理图22 系统的工作原理本系统以单片机89C52为核心数据采集传输显示报警都要通过单片机数据采集通过单总线的智能数字温湿度传感器DHT11完成通过单片机把采集的数据显示在1602A上当采集的数据超出给定范围时有蜂鸣器实时报警并显示红灯提示并进行相应的控制处理在整个系统中采用了DHT11单总线技术单片机采用C 语言编程· 89C52作为中央控制装置负责中心运算和控制协调系统各个模块的工作·电机1反转实现系统的降温工作·电机1正转实现系统的加热工作·电机2正转实现系统的加湿工作·电机2反转实现系统的干燥工作·两盏灯报警模块负责系统的报警功能如果当前的温度超过用户设定的界限值时系统将自动报警灯在单片机的控制下有规律的闪烁同时报警模块发出报警声通知用户采取相应的措施系统工作流程图系统的工作流程图3 单元电路设计31 单片机系统设计经过上面的总体方案和实施措施的讨论后可以开始着手硬件系统的设计硬件系统是应用系统的基础软件系统设计的依据根据总体功能和性价比及其运行速度等因素的考虑选用STC89C52为主机满足上面的要求而且设计方便不需要再存储扩展STC89C52单片机概述STC89C52是一种低功耗高性能CMOS8位微控制器具8K在系统可编程Flash 存储器在单芯片上拥有灵巧的8位CPU和在系统可编程Flash使得STC89C52为众多嵌入式控制应用系统提供高灵活超有效的解决方案具有以下标准功能8k字节Flash512字节RAM32位IO口线看门狗定时器内置4KB EEPROM810复位电路2个16位定时器计数器一个6向量2级中断结构全双工串行口另外STC8952可降至0Hz静态逻辑操作支持2种软件可选择节电模式空闲模式下CPU停止工作允许RAM定时器计数器串口中断继续工作掉电保护方式下RAM内容被保存振荡器被冻结单片机一切工作停止直到下一个中断或硬件复位为止最高运作频率35MHz6T12T可选相关参数工作电压55V~33V5V单片机8V~20V3V单片机工作频率范围0~40MHz相当于普通8051的0~80MHz实际工作频率可达48MHz 用户应用程序空间为8K字节片上集成512字节RAM 通用IO口32个复位后为P0P1P2P3是准双向口上拉P口是漏极开路输出作为总线扩展用时不用加上拉电阻作为IO 口用时需加上拉电阻ISP在系统可编程IAP在应用可编程无需专用编程器无需专用仿真器可通过串口RxDP30TxDP31直接下载用户程序数秒即可完成具有EEPROM功能具有看门狗功能共3个16位定时器计数器即定时器T0T1T2 10外部中断4路下降沿中断或低电平触发电路PowerDown模式可由外部中断低电平触发中断方式唤醒11通用异步串行口UART还可用定时器软件实现多个UART 12工作温度范围-40~85℃工业级0~75℃商业级13PDIP封装89C532 传感器的设计DHT11产品概述DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器它应用专用的数字模块采集技术和温湿度传感技术确保产品具有极高的可靠性与卓越的长期稳定性传感器包括一个电阻式感湿元件和一个NTC 测温元件并与一个高性能8位单片机相连接因此该产品具有品质卓越超快响应抗干扰能力强性价比极高等优点每个DHT11传感器都在极为精确的湿度校验室中进行校准校准系数以程序的形式储存在OTP内存中传感器内部在检测信号的处理过程中要调用这些校准系数单线制串行接口使系统集成变得简易快捷超小的体积极低的功耗信号传输距离可达20米以上使其成为各类应用甚至最为苛刻的应用场合的最佳选则产品为4 针单排引脚封装连接方便特殊封装形式可根据用户需求而提供DHT11引脚说明VDD 供电3-55VDCDATA 串行数据单总线NC 空脚请悬空GND 接地电源负极33 液晶显示装置设计1602A是一种工业字符型液晶能够同时显示16x02即32个字符下图为1602A 模块尺寸图引脚接口说明VSS 电源地 9 D2 数据VDD 电源正极 10 D3 数据VL 液晶显示偏压11 D4 数据RS 数据命令选择12 D5 数据RW 读写选择13 D6 数据E 使能信号 14 D7 数据D0 数据 15 BLA 背光源正极D1 数据 16 BLK 背光源负极第1脚VSS为地电源第2脚VDD接5V正电源第3脚VL为液晶显示器对比度调整端接正电源时对比度最弱接地时对比度最高对比度过高时会产生鬼影使用时可以通过一个10K的电位器调整对比度第4脚RS为寄存器选择高电平时选择数据寄存器低电平时选择指令寄存器第5脚RW为读写信号线高电平时进行读操作低电平时进行写操作当RS和RW共同为低电平时可以写入指令或者显示地址当RS为低电平RW为高电平时可以读忙信号当RS为高电平RW为低电平时可以写入数据第6脚E端为使能端当E端由高电平跳变成低电平时液晶模块执行命令第7~14脚D0~D7为8位双向数据线第15脚背光源正极第16脚背光源负极控制命令表1602液晶模块的读写操作屏幕和光标的操作都是通过指令编程来实现的说明1为高电平0为低电平指令1清显示指令码01H光标复位到地址00H位置指令2光标复位光标返回到地址00H指令3光标和显示模式设置ID光标移动方向高电平右移低电平左移S屏幕上所有文字是否左移或者右移高电平表示有效低电平则无效指令4显示开关控制D控制整体显示的开与关高电平表示开显示低电平表示关显示C控制光标的开与关高电平表示有光标低电平表示无光标B控制光标是否闪烁高电平闪烁低电平不闪烁指令5光标或显示移位SC高电平时移动显示的文字低电平时移动光标指令6功能设置命令DL高电平时为4位总线低电平时为8位总线N低电平时为单行显示高电平时双行显示F 低电平时显示5x7的点阵字符高电平时显示5x10的点阵字符指令7字符发生器RAM地址设置指令8DDRAM地址设置指令9读忙信号和光标地址BF为忙标志位高电平表示忙此时模块不能接收命令或者数据如果为低电平表示不忙指令10写数据指令11读数据1602LCD的一般初始化复位过程延时15mS写指令38H不检测忙信号延时5mS以后每次写指令读写数据操作均需要检测忙信号写指令38H显示模式设置写指令08H显示关闭写指令01H显示清屏写指令06H显示光标移动设置写指令 0CH显示开及光标设置液晶显示原理读写操作时序如图13和图14所示读操作时序写操作时序34 光声报警系统与温湿度控制系统设计本系统采用绿白LED灯作为光报警提示当系统检测到的数据符合给定的要求时现场始终白绿灯不亮当系统检测到的数据不符合给定的要求时根据情况温度超限白灯亮湿度超限绿灯亮报警提示本系统采用蜂鸣器作为声报警提示当系统检测到的数据符合给定的要求时现场没有蜂鸣器报警提示当系统检测到的数据不符合给定的要求时现场蜂鸣器报警提示光声报警系统电路图35 温湿度控制系统本系统温湿度控制系统主要组成有电机1和电机2当系统检测到的数据不符合给定的要求时系统启动温湿度控制系统实现恒温恒湿的目的·电机1反转实现系统的降温工作·电机1正转实现系统的加热工作·电机2正转实现系统的加湿工作·电机2反转实现系统的干燥工作温湿度检测电路温湿度控制电路4 软件系统设计本系统软件系统设计包括系统初始化模块温湿度检测模块1602LCD显示模块报警模块温湿度判断控制模块系统软件总体流程图系统流程图41 初始化模块系统初始化模块的主要功能是完成系统的初始化以及设定系统的工作状态初始化部分包括以下方面的内容com 单片机初始化以及各种引脚定义com 1602液晶初始化及工作方式com 系统进入正常工作状态42 温湿度检测模块温湿度检测模块是本系统中的核心模块之一它负责完成温度和湿度的测量及模拟量转换为数字量的全过程这也是它为什么重要的原因数字式温湿度传感器DTH11直接把检测到的模拟量转化为数字量送给单片机在经过单片机的处理把温湿度值显示在1602液晶上温湿度传感器的精确度值直接影响到整个系统的检测与控制所以本系统采用数字式温湿度传感器DTH11采集温室内的温湿度43 温湿度判断控制模块温湿度判断控制模块也是系统的核心模块之一所谓判断控制模块就是对当前温室内的实际温湿度与给定的温湿度范围进行比较先进行判断然后再进行控制控制模块是决定系统将要进行什么工作的如温度高于上限时需要降温低于下限时需要升温如湿度高于上限时需要降湿低于下限时需要増湿同时还要启动警报等等温湿度判断控制部分的程序整体思路如图温湿度判断控制程序整体思路44 1602液晶显示模块本系统采用1602液晶显示温湿度值当系统刚开始上电时1602液晶不显示任何数据等待DTH11的监测数据双行显示在1602液晶上第一行显示T--C第二行显示H --45 报警模块报警模块具备两项功能即为报警灯和声音报警报警灯模块是完成LED有规律的闪烁以便从视觉上提醒用户LED是由单片机控制2个双色LED灯组成的其转换规律为1 系统温湿度值在给定的范围时绿色LED亮2 系统温湿度值超出给定的范围时白色LED亮在LED灯转换的同时声音报警也会同时启动可采用延时的方式来延长声音报警的声音46 系统整体软件程序见附录5系统测试整个软件通过C语言编程现在keilC51集成开发环境下将程序写出来并进行编译调试调试通过后会生成HEX文件具体过程为新建一个工程然后在新建一个C语言程序并把新建的C语言程序添加到工程中然后编译工程编译后就会生成HEX文件HEX文件就是要下载到单片机中的程序文件1点击Project菜单选择下拉菜单中的NEW Project工程名用test1表示保存文件2选择所要的单片机我们选择Ateml公司的AT89C513在工程中创建新的程序文件现在编写程序我们先编写一个单片机IO口控制LED灯闪烁的程序includesbit p1 p10unsigned int avoid maina 5000p1 0while a--a 5000p1 1while a--这段程序是用单片机的P10口控制小灯闪烁编译然后将HEX文件下载到单片机中运行程序观察LED灯的点亮情况当运行程序后LED灯闪烁说明编译的程序正确当简单的程序正确就可以慢慢的加深难度开始编写温湿度控制程序在这里就不在写了见附表将写好的程序编译好无错后下载到单片机运行软件观察程序运行情况进行优化改进6结论虽然这个设计做的比较简单但能完成给定的设计内容很多东西考虑的不是很细也有一些特别情况没有做但是用了很多精力用来完成这个设计鉴于个人水平和时间的关系所以并没有把自己当初设想的所有情况都考虑进去这两个星期的设计让我学会的很多觉得自己学的太少还有很多需要认真学习学无止境所以要更努力参考文献[1]林国汉基于单片机的温度控制系统设计[J]微计算机信息200925 21~24[2]易顺明基于单片机的大棚温湿度控制系统设计[J]现代电子技术20117 7~15[3]张毅刚单片机原理及应用[M]北京高等教育出版社200812~106[4] Atmel Atmel 89C51 Microcontrollers Hardware Manual2010 35~98[5]陈桂友柴远斌单片机应用技术[M]北京机械工业出版社200810~88[6]熊诗波机械工程测试技术基础[M]4版北京机械工业出版社2008 60~102[7]张新荣[J]工业控制计算机[8]夏晓南基于单片机的温箱温度和湿度的控制[J]现代电子技术2008 5 6~12[9]com[M]7版北京高等教育出版社200834~80附录includeincludeincludevoid dangqianzhivoid read_wsddefine uchar unsigned char 定义无符号字符型define uint unsigned int 定义无符号整型typedef unsigned char unint8 定义无符号字节型typedef unsigned char unint16 定义无符号字型sbit en1 P16 L298的Enable Asbit en2 P11 L298的Enable Bsbit IN1 P12 L298的Input 1sbit IN2 P13 L298的Input 2sbit IN3 P14 L298的Input 3sbit IN4 P15 L298的Input 4uchar t 0 中断计数器uchar m1 0 电机1速度值uchar m2 0 电机2速度值uchar tmp1tmp2 电机当前速度值sbit wsd P10 DHT11数据接受sbit s1 P30 按键s1sbit s2 P31 按键s2sbit s3 P32 按键s3sbit s4 P33 按键s4sbit s5 P36 按键s5sbit rs P37sbit fm P23 蜂鸣器接口sbit led1 P24 温度警报灯sbit led2 P25 湿度警报灯sbit lcden P34 液晶使能端sbit lcdrs P35 液晶数据命令选择端sbit dula P26 段选端sbit wela P27 位选端uchar code table[] "T" 温度uchar code table1[] "H" 湿度uchar code table2[] "FW" 温度范围uchar code table3[] "FW" 湿度范围uchar code table4[] 0x300x310x320x330x340x350x360x370x380x39 uchar code table5[] "0"uchar code table6[] "C"uchar numnum1s1numdiwengaowendishigaoshiunint8 RHRLTHTLCK_dataunint8 TH_tempTL_tempRH_tempRL_tempCK_tempunint8 com_datauntemptempunint8 respondchar piancha1piancha2piancha3piancha4void delay uint z 延时函数1ms为单位uint xyfor x zx 0x--for y 110y 0y--void write_com uchar com 液晶写命令函数lcdrs 0P0 comdelay 5lcden 1delay 5lcden 0void write_data uchar date 液晶写数据函数lcdrs 1P0 datedelay 5lcden 1delay 5lcden 0void motor1 char speed1 电机1read_wsddangqianzhim1 abs speed1void motor2 char speed2 电机2read_wsddangqianzhim2 abs speed2void initdiwen 0gaowen 0dishi 0gaoshi 0TMOD 0x02 设定T0的工作模式为2TH0 0x9B 装入定时器的初值TL0 0x9BEA 1 开中断ET0 1 定时器0允许中断TR0 0rs 0dula 0wela 0s1num 0num1 0lcden 0write_com 0x38 设置16X2显示5X7点阵8位数据接口write_com 0x0f 设置开显示不显示光标write_com 0x06 写一个字符后地址指针加1write_com 0x01 显示清零数据指针清write_com 0x80 设置显示初始坐标void timer0 interrupt 1 T0中断服务程序if t 0 1个PWM周期完成后才会接受新数值tmp1 m1tmp2 m2if t tmp1en1 1elseen1 0 产生电机1的PWM信号if t tmp2en2 1elseen2 0 产生电机2的PWM信号tif t 100t 0read_wsddangqianzhi1个PWM信号由100次中断产生if s5 0TR0 0en1 0en2 0void keyscan 按键扫描函数if s1 0delay 5if s1 0s1numwhile s1if s1num 1write_com 0x800x4fwrite_com 0x0fif s1num 2write_com 0x800x4cwrite_com 0x0fif s1num 3write_com 0x800x0fwrite_com 0x0fif s1num 4write_com 0x800x0cwrite_com 0x0fif s1num 5s1num 0write_com 0x0cif s1num 0if s2 0delay 5if s2 0while s2if s1num 1gaoshiwrite_com 0x800x4ewrite_datatable4[gaoshi10]write_com 0x800x4fwrite_datatable4[gaoshi10]write_com 0x800x4fif s1num 2dishiwrite_com 0x800x4bwrite_datatable4[dishi10]write_com 0x800x4cwrite_datatable4[dishi10]write_com 0x800x4cif s1num 3gaowenwrite_com 0x800x0ewrite_datatable4[gaowen10]write_com 0x800x0fwrite_datatable4[gaowen10]write_com 0x800x0fif s1num 4diwenwrite_com 0x800x0bwrite_datatable4[diwen10]write_com 0x800x0cwrite_datatable4[diwen10]write_com 0x800x0cif s3 0delay 1if s3 0while s3if s1num 1gaoshi--write_com0x800x4ewrite_datatable4[gaoshi10]write_com0x800x4fwrite_datatable4[gaoshi10]write_com0x800x4fif s1num 2dishi--write_com 0x800x4bwrite_data table4[dishi10]write_com 0x800x4cwrite_data table4[dishi10]write_com 0x800x4cif s1num 3gaowen--write_com 0x800x0ewrite_data table4[gaowen10]write_com 0x800x0fwrite_data table4[gaowen10]write_com 0x800x0fif s1num 4diwen--write_com 0x800x0bwrite_data table4[diwen10]write_com 0x800x0cwrite_data table4[diwen10]write_com 0x800x0cif s4 0delay 1if s4 0s1num 0num1 0write_com 0x0cTR0 0en1 1en2 1void delay_usunint8 ii--i--i--i--i--i--char receiveunint8 icom_data 0for i 0i 7irespond 2while wsd responddelay_usdelay_usdelay_usif wsdtemp 1respond 2while wsd respondelsetemp 0com_data 1 左移后赋值为1 com_data temp 按位或后赋值com_data com_datatempreturn com_datavoid read_wsd 湿度读取子程序wsd 0 主机拉低18msdelay 18wsd 1 DATA总线由上拉电阻拉高主机延时20usdelay_usdelay_usdelay_usdelay_uswsd 1 主机设为输入判断从机响应信号if wsd 判断DHT11是否有低电平响应信号如不响应则跳出响应则向下运行respond 2while wsd respond 判断DHT11发出 80us 的低电平响应信号是否结束respond 2while wsdrespond 判断从机是否发出80us 的高电平如发出则进入数据接收状态RH_temp receive 数据接收状态RL_temp receiveTH_temp receiveTL_temp receiveCK_temp receivewsd 1untemp RH_tempRL_tempTH_tempTL_temp 数据校验 if untemp CK_tempRH RH_temp 湿度高8位RL RL_temp 湿度低8位TH TH_temp 温度高8位 TL TL_temp 温度低8位CK_data CK_temp 数据校检位void xianshiwrite_com 0x80 给液晶写入数据for num 0num 2numwrite_data table[num]delay 5delay 5write_com 0x800x04for num 0num 2numwrite_data table5[num]delay 5write_com 0x800x06write_data table6[2]write_com 0x800x40for num 0num 2numwrite_data table1[num]delay 5write_com 0x800x44for num 0num 2numwrite_data table5[num]delay 5write_com 0x800x46write_data table6[1]delay 5write_com 0x800x08for num 0num 3numwrite_data table2[num]delay 1void xiefanweiwrite_com 0x800x0Bwrite_data table4[diwen10]delay 1write_com 0x800x0cwrite_data table4[diwen10]delay 1write_com 0x800x0dwrite_data table6[0]delay 1write_com 0x800x0ewrite_data table4[gaowen10]delay 1write_com 0x800x0fwrite_data table4[gaowen10]delay 1write_com 0x800x48for num 0num 3numwrite_data table3[num]delay 1write_com 0x800x4Bwrite_data table4[dishi10]delay 1write_com 0x800x4cwrite_data table4[dishi10]delay 1write_com 0x800x4dwrite_data table6[0]delay 1write_com 0x800x4ewrite_data table4[gaoshi10]delay 1write_com 0x800x4fwrite_data table4[gaoshi10]delay 1void dangqianzhiwrite_com 0x800x02write_data table4[TH10]delay 1write_com 0x800x03write_data table4[TH10]delay 1write_com 0x800x42write_data table4[RH10]delay 1write_com 0x800x43write_data table4[RH10]write_com 0x0cvoid jingbao1 温湿度低于下限while TH diwen RH dishiread_wsddangqianzhiif s5 0TH diwenRH dishiTR0 0en1 0en2 0breakfm 0delay 50fm 1delay 50led1 0delay 50led1 1delay 50led2 0delay 50led2 1delay 50piancha1 diwen-THif piancha1 1piancha1 3piancha1 30else if piancha1 3piancha1 6piancha1 40else if piancha1 6piancha1 10piancha1 60elsepiancha1 80delay 5motor1 piancha1delay 2IN1 0IN2 1piancha2 dishi-RHdelay 5if piancha2 1piancha2 5piancha2 30else if piancha2 5piancha2 10piancha2 40else if piancha2 10piancha2 20piancha1 60elsepiancha1 80delay 2motor2 piancha2delay 2IN3 0IN4 1void jingbao2 温度低于下限while TH diwen RH dishi RH gaoshiread_wsddangqianzhiif s5 0TH diwenRH dishiRH gaoshiTR0 0en1 0en2 0breakfm 0delay 10fm 1delay 10led1 0delay 50led1 1delay 50piancha1 diwen-THdelay 10if piancha1 1piancha1 3piancha1 30else if piancha1 3piancha1 6piancha1 40else if piancha1 6piancha1 10piancha1 60elsepiancha1 80delay 10motor1 piancha1delay 1IN1 0IN2 1void jingbao3 温度低于下限湿度高于上限while TH diwen RH gaoshiread_wsddangqianzhiif s5 0TH diwenRH gaoshiTR0 0en1 0en2 0breakfm 0delay 50fm 1delay 50led1 0delay 50led1 1delay 50led2 0delay 50led2 1delay 50piancha1 diwen-THdelay 10if piancha1 1piancha1 3piancha1 30else if piancha1 3piancha1 6piancha1 40else if piancha1 6piancha1 10piancha1 60elsepiancha1 80delay 2motor1 piancha1delay 2IN1 0IN2 1piancha3 RH-gaoshidelay 5if piancha3 1piancha3 5piancha3 30else if piancha3 5piancha3 10piancha3 40else if piancha3 10piancha3 20piancha3 60elsepiancha3 80delay 2motor2 piancha3IN3 1IN4 0void jingbao4 湿度低于下限while TH diwen TH gaowen RH dishiread_wsddangqianzhiif s5 0TH diwenTH gaowenRH dishiTR0 0en1 0en2 0breakfm 0delay 100fm 1delay 100led2 0delay 50led2 1delay 50piancha2 dishi-RHdelay 5if piancha2 1piancha2 5piancha2 30else if piancha2 5piancha2 10piancha2 40else if piancha2 10piancha2 20piancha2 60elsepiancha2 80motor2 piancha2IN3 0IN4 1void jingbao5 湿度高于上限while TH diwen TH gaowen RH gaoshiread_wsddangqianzhiif s5 0TH diwenTH gaowenRH gaoshiTR0 0en1 0en2 0breakfm 0delay 100fm 1delay 100led2 0delay 50led2 1delay 50piancha3 RH-gaoshidelay 5if piancha3 1piancha3 5piancha3 30else if piancha3 5piancha3 10piancha3 40else if piancha3 10piancha3 20piancha3 60elsepiancha3 80delay 1motor2 piancha3delay 1IN3 1IN4 0void jingbao6 温度高于上限湿度低于下限while TH gaowen RH dishiread_wsddangqianzhiif s5 0TH gaowenRH dishiTR0 0en1 0en2 0breakfm 0delay 50fm 1delay 50led1 0delay 50led1 1delay 50led2 0delay 50led2 1delay 50piancha4 TH-gaowenif piancha4 1piancha4 3piancha4 30else if piancha4 3piancha4 6 piancha4 40else if piancha4 6piancha4 10 piancha4 60elsepiancha4 80delay 4motor1 piancha4delay 1IN1 1IN2 0piancha2 dishi-RHif piancha2 1piancha2 5piancha2 30else if piancha2 5piancha2 10piancha2 40else if piancha2 10piancha2 20piancha2 60elsepiancha2 80delay 1motor2 piancha2IN3 0IN4 1void jingbao7 温度高于上限while TH gaowen RH dishi RH gaoshiread_wsddangqianzhiif s5 0TH gaowenRH dishiRH gaoshiTR0 0en1 0en2 0breakfm 0delay 10fm 1delay 10led1 0delay 50led1 1delay 50piancha4 TH-gaowenif piancha4 1piancha4 3piancha4 30else if piancha4 3piancha4 6piancha4 40else if piancha4 6piancha4 10piancha4 60elsepiancha4 80motor1 piancha4delay 1IN1 1IN2 0void jingbao8 温湿度高于上限while TH gaowen RH gaoshiread_wsddangqianzhiif s5 0TH gaowenRH gaoshiTR0 0en1 0en2 0breakfm 0delay 50fm 1delay 50led1 0delay 50led1 1delay 50led2 0delay 50led2 1delay 50piancha4 TH-gaowenif piancha4 1piancha4 3piancha4 30else if piancha4 3piancha4 6piancha4 40else if piancha4 6piancha4 10piancha4 60elsepiancha4 80motor1 piancha4IN1 1IN2 0piancha3 RH-gaoshiif piancha3 1piancha3 5piancha3 20else if piancha3 5piancha3 10piancha3 40else if piancha3 10piancha3 20piancha3 60elsepiancha3 80motor2 piancha3IN3 1IN4 0void maininitxianshixiefanweiwhile 1read_wsddangqianzhiif s5 0breakwhile 1num1 0if s5 0delay 5TR0 0en1 0en2 0IN1 0IN2 0IN3 0IN4 0if s5 0while s5num1while num1 0TR0 0en1 0en2 0IN1 0IN2 0IN3 0IN4 0fm 1led1 1led2 1keyscan if num1 0while 1if s5 0TR0 0en1 0en2 0breakread_wsddangqianzhikeyscanif TH diwenTH gaowen RH dishiRH gaoshiTR0 0en1 0en2 0if TH diwen RH dishijingbao1。
温湿度测试系统传感器课程设计报告书
/*************************************/
void writeab()
{
unsigned char i;
lcd_wcmd(0x40);
for(i=0;i<8;i++)
lcd_wdat(mttab[i]);
}
/*us级延时函数*/
/***************************/
主要的系统电路有:电源电路,温度传感器与湿度传感器电路,显示电路,报警电路,键盘输入电路。
该系统的主要特点有:
(1)、该产品互换性好,响应速度快,抗干扰电路图,外围电路简单易懂,因此体积小。
(2)、该系统能用软件的方式控制硬件,所有用软件方式设计的系统向硬件的转换是由有关开发软件完成的,易操作。
(3)、可以从以前的组合设计转向真正的自由设计,所以设计的移植性好,效率高。
如上图所示。其中温度传感器DS18B20的各引脚功能如下:
1:GND接地;2:DQ输出端;3:VCC电源。
3.HS1101湿度检测模块
555芯片外接电阻R4、R5、R6、R8与HS1101,构成对HS1101的充电回路,7端通过芯片部的晶体管对地短路实现对HS1101的放电回路,并将引脚2,6端相连引入片比较器,构成多谐振荡器。
void Delay(unsigned int num)
{
while(--num);
}
/**********************************/
/***********8温度测量****************/
/*******************************/
温湿度测量设计实训报告
一、实训目的本次实训旨在通过设计、搭建和调试一个温湿度测量系统,使学生掌握温湿度传感器的工作原理,了解温湿度测量系统的设计方法,提高学生的实际操作能力和工程实践能力。
二、实训内容1. 传感器选型:选择合适的温湿度传感器,如SHT11或DHT11。
2. 电路设计:设计温湿度传感器的电路,包括传感器与单片机的接口电路、电源电路等。
3. 程序编写:编写单片机程序,实现温湿度数据的采集、处理和显示。
4. 系统调试:对系统进行调试,确保其正常运行。
三、实训过程1. 传感器选型:根据实训要求,选择SHT11温湿度传感器。
SHT11传感器具有精度高、响应速度快、功耗低等优点,适用于各种温湿度测量场合。
2. 电路设计:(1)传感器与单片机的接口电路:将SHT11传感器的输出信号与单片机的I/O 口相连,实现数据的采集。
(2)电源电路:为SHT11传感器和单片机提供稳定的电源。
3. 程序编写:(1)初始化单片机,配置I/O口、定时器等。
(2)读取SHT11传感器的数据,包括温度和湿度。
(3)对数据进行处理,转换为实际值。
(4)将温度和湿度值显示在LCD屏幕上。
4. 系统调试:(1)检查电路连接是否正确,确保传感器与单片机之间的信号传输正常。
(2)运行程序,观察LCD屏幕上的显示,确保温湿度数据采集和显示正确。
(3)对系统进行校准,确保测量精度。
四、实训结果1. 系统功能:(1)实时采集温湿度数据。
(2)显示温度和湿度值。
(3)具有数据保存和查询功能。
2. 系统性能:(1)测量精度:温度精度±0.5℃,湿度精度±3%RH。
(2)响应时间:≤1秒。
(3)功耗:≤0.5W。
3. 系统优点:(1)结构简单,易于搭建。
(2)操作方便,易于使用。
(3)测量精度高,可靠性好。
五、实训总结通过本次实训,我们学习了温湿度传感器的工作原理,掌握了温湿度测量系统的设计方法。
在实训过程中,我们学会了电路设计、程序编写和系统调试等技能,提高了自己的实际操作能力和工程实践能力。
温控设计报告
摘要:本系统采用EasyARM1138型单片机作为控制核心,通过控制灯泡和风扇的工作状态来实现恒温控制,保证恒温箱内的温度在误差允许范围内保持恒定。
在实现的过程中,选用Pt100热敏电阻作为温度传感器,利用单片机自带的A/D模块实现对传感器信号的定时采样,同时利用Pt100在0~150℃时良好的线性特性实现“电压-温度〞的高精度转换,并通过LCD显示屏显示。
编写控制算法处理计算得到的当前温度值并输出控制信号,实现控制功能。
同时,通过设计温度检测电路、温度控制电路、电源转换电路等硬件电路,实现“电阻-电压〞信号的转换、控制信号的放大、稳压电源电压的转换等功能,保证控制系统的正常工作。
并最终通过实验,证明系统的工作状态良好。
关键字:EasyARM1138单片机Pt100 温度控制一、设计任务本任务是设计并制作一个温度控制系统,通过控制恒温箱中灯泡和风扇的工作以到达控制恒温箱温度在一定误差允许范围内保持恒定的目的。
同时,选用EasyARM1138单片机作为控制器处理输入输出数据控制继电器进而控制灯泡和风扇,选用LCD液晶显示屏显示当前温度值,实现完整的系统。
二、总体方案设计2.1系统控制思想系统可采用分程控制思想实现,即输入设定值,同时对恒温箱内的温度值进展实时采样,当采样温度高于设定温度时,关闭灯泡,开启风扇;当采样温度低于设定温度时,翻开灯泡,关闭风扇。
为了防止风扇和灯泡的频繁开关,延长装置的使用寿命和稳定性,在误差允许范围内设计一个回差阈值,使得当“采样温度>=设定温度+阈值〞时,关闭灯泡,开启风扇;当“采样温度<=设定温度-阈值〞时,翻开灯泡,关闭风扇。
根据上述控制思想,可通过构造反应控制回路来实现控制功能。
通过温度传感器向单片机反应输入信号,经过单片机的运算输出对灯泡和风扇控制信号,进而改变恒温箱内的温度,那么系统的控制流程图如下:图1. 系统控制流程图2.2方案论证根据上述控制思想,可以提出以下三种控制方案:(1)方案一:使用Pt100作为温度测量元件,向单片机输入信号,那么在Pt100后需增加温度测量电路,将Pt100的电阻信号转换为电压信号输入单片机,经单片机计算后将输出信号通过温度控制电路的放大,控制继电器,进而控制灯泡和风扇的工作和停顿。
led温湿度恒定控制器设计
led温湿度恒定控制器设计温湿度控制器,用于各种高压柜和低压柜,如出线柜,电流互感器柜,过电压保护器柜,变压器柜,PT柜,变压器中性点接地电阻柜,发电机中性点接地电阻柜等。
是检测柜内的温度和湿度,防止温度过低或者湿度过高,产生凝露,使器件生锈老化,影响电力正常运行。
改进型导轨式温湿度控制器,不用面板开孔。
直接在仪表室导轨上安装就行,适用于工矿企业的各种配电设备,用于户内。
设计时购买了导轨式外壳,测量各个方向的尺寸,确定了线路板的大小,固定孔的位置,进出线的方式,开关电源的大小。
用PROTEL99软件设计原理图,原理图,包括按键型号,大小,数量,数码管的安装方向等,电流电压或者温度和湿度信号输入端,设计时为了增加功能,同时设计了电流和电压继电器功能,设计线路板一次到位。
设计了485通讯接口功能,可以和电力系统上位机进行通讯,通讯协议使用modbus通讯规约。
更加方便电力用户使用。
继电器采用5A的触点,可以直接带动加热板和小型风机,无需外接继电器。
由于空间过小,在原来的基础上取消了时间功能芯片,保留了按键设置,数码显示,通讯功能等。
参数使用默认值,到现场无特殊情况,无需整定,就可以工作。
设定的加热板启动值可以改,回差是5℃,风机启动值也可以更改,回差也是5℃。
探头采用国内标准的AMT探头,百度可以查具体参数,每个温度对应的电阻值,用户可以查到每一度的值。
工作范围-20到55℃,可以检测-40到120℃的温度,湿度范围是0-99%。
导轨就是普通高低压柜用的导轨,使用简单,直接插上,接上电源,温湿度信号,加热板信号,是无源的,可以接100W-300W的加热板。
风机的电流不大于1A,如果自冷设备无需加热功能。
通讯参数,说明书提供了,每个参数的地址,包括配电柜内的温度和湿度,加热板和风机的工作状态。
通讯线尽量用屏蔽电缆,防止干扰。
AMT1001型号的温湿度控制器,采用4线制,有电源5V信号,电源地信号,就是0V信号。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
温湿度控制器设计报告一、功能与特点●配用全数字型温湿度传感器DHT11,温度测量范围0℃--50℃,湿度测量范围20%RH—90%RH,可以满足一般需要。
若要求更宽测量范围,只需更换温湿度传感器型号,硬件电路及软件程序全兼容。
●温湿度测量响应时间快、长期稳定性好。
●采用先进的专用微处理器芯片STC89C52,可靠性高,抗干扰能力强。
●配用EEPROM芯片A T24C04,使存储的温度上下限和湿度上下限可以掉电永久保存。
●可以通过四个按键方便地实现温湿度上下限的调整。
●当温度或湿度超限后,报警信号点亮相应报警灯。
如果配用三极管和继电器,该信号也可以驱动继电器打开或切断风机、加热器等外部设备。
二、硬件设计1、设计框图本研究设计的温湿度控制器框图如图1所示。
图1 温湿度控制器方框图图中STC89C52单片机每2秒钟从DHT11温湿度传感器中读入温度和湿度,在液晶屏上即时显示。
液晶屏上同时显示温湿度上限值,该上限值保存外外部EEPROM存储器中,掉电不失,并且可以通过四只按键上调或下调。
当温度或湿度值超过上限值时,报警信号点亮相应报警灯。
该报警信号可以通过三极管驱动继电器,以控制外部风机或加热器。
继电器电路套件中不标配,如果需要请另外说明。
2、温湿度传感器器及检测电路图2 DHT11温湿度传感器外型及管脚DHT11温湿度传感器外型及管脚如图2所示。
其中电源引脚的供电电压为3.5--5.5V。
传感器上电后,要等待 1s 以越过不稳定状态在此期间不要发送任何指令。
电源引脚(VDD,GND)之间可增加一个100nF 的电容,用以去耦滤波。
DHT11典型应用电路如图3所示,其连接电路简单,只需要占用控制器一个I/O 口即可完成上下位的连接。
建议连接线长度短于20时用5K上拉电阻,大于20米时根据实际情况使用合适的上拉电阻,图3 DHT11典型应用电路DHT11数字湿温度传感器采用单总线数据格式,即单个数据引脚端口完成输入输出双向传输。
其数据包由5Byte(40Bit)组成。
一次通讯时间最大3ms,数据分小数部分和整数部分。
一次完整的数据传输为40bit,高位先出。
数据格式如表一:表1 DHT11数据格式3、单片机电路本设计选用宏晶公司高性能单片机STC89C52,其管脚如图4所示。
图4 STC89C52单片机管脚图该芯片为52内核8位单片机,兼容Intel等52内核单片机,支持ISP下载,适用于常用检测控制电路。
由STC89C52组成的单片机系统原理图如图5所示。
图中DATA引脚为温湿度传感器单总线引脚,K1、K2、K3、K4为四只调节按键,用以调整温湿度上限值。
L3、L4、L5为三只报警灯,其中L3为超温报警,L4为超湿报警,L5保留给用户定义。
图5 单片机系统原理图4、显示电路显示部分采用SMC 1602液晶屏进行数据显示,其主要技术参数为:表2 液晶屏技术指标表3 液晶屏接口信号说明与单片机接口电路如图6所示。
图6 LCD与单片机接口电路5、温湿度上限存储温湿度阈值存储在EEPROM芯片AT24C04中,并可以通过K1—K4按键调节并保存,其中K1为温度上限增加,K2为温度上限减小,K3为湿度上限增加,K4为湿度上限减小。
AT24C04是IIC芯片,其电路如图7所示。
图7 EEPROM存储电路6、供电及程序下载电路本设计采用USB接口供电,电源电压5V。
同时,USB接口通过内含PL2303芯片的转换电路对单片机进行程序编写。
其电路原理如图8所示。
图8 供电及程序下载电路三、软件编程1、软件流程图本设计软件主程序流程图如图9所示。
图9 主程序流程图2、主程序下面介绍main.c主程序编写,其他程序略。
(1) 头文件和一些宏定义#include <reg52.h>#include "1602.h"#include "dht.h"#include "2402.h"(2) 管脚定义sbit Led_qushi=P1^6; //去湿灯sbit Led_jiangwen=P1^5; //降温灯sbit Led_shengwen=P1^4; //升温灯sbit Key_TH1 = P3^2;sbit Key_TH2 = P3^3;sbit Key_HH1 = P3^4;sbit Key_HH2 = P3^5;(3) 常量、变量定义//定义标识volatile bit FlagStartRH = 0; //开始温湿度转换标志volatile bit FlagKeyPress = 0; //有键按下//定义温湿度传感器用外部变量extern U8 U8FLAG,k;extern U8 U8count,U8temp;extern U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;extern U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp; extern U8 U8checkdata_temp;extern U8 U8comdata;extern U8 count, count_r;U16 temp;S16 temperature, humidity;S16 idata TH, HH; //温度上限和湿度上限char * pSave;U8 keyvalue, keyTH1, keyTH2, keyHH1, keyHH2;U16 RHCounter;(4) 各子程序//数据初始化void Data_Init(){RHCounter = 0;Led_qushi = 1;Led_jiangwen = 1;Led_shengwen = 1;TH = 40;HH = 85;keyvalue = 0;keyTH1 = 1;keyTH2 = 1;keyHH1 = 1;keyHH2 = 1;}//定时器0初始化void Timer0_Init(){ET0 = 1; //允许定时器0中断TMOD = 1; //定时器工作方式选择TL0 = 0x06;TH0 = 0xf8; //定时器赋予初值TR0 = 1; //启动定时器}//定时器0中断void Timer0_ISR (void) interrupt 1 using 0{TL0 = 0x06;TH0 = 0xf8; //定时器赋予初值//每2秒钟启动一次温湿度转换RHCounter ++;if (RHCounter >= 1000){FlagStartRH = 1;RHCounter = 0;}}//存入设定值、void Save_Setting(){pSave = (char *)&TH; //地址低位对应低8位,高位对应高8位wrteeprom(0, *pSave); //存温度上限值TH低8位DELAY(500);pSave ++;wrteeprom(1, *pSave); //存温度上限值TH高8位DELAY(500);pSave = (char *)&HH;wrteeprom(2, *pSave); //存湿度上限值RH低8位DELAY(500);pSave ++;wrteeprom(3, *pSave); //存湿度上限值RH高8位DELAY(500);}//载入设定值、void Load_Setting(){pSave = (char *)&TH;*pSave++ = rdeeprom(0);*pSave = rdeeprom(1);pSave = (char *)&HH;*pSave++ = rdeeprom(2);*pSave = rdeeprom(3);if ((TH>99)||(TH<0)) TH = 40;if ((HH>99)||(HH<0)) HH = 85;}void KeyProcess(uint num){switch (num){case 1:if (TH<99) TH++;L1602_char(1, 15, TH/10+48);L1602_char(1, 16, TH%10+48);break;case 2:if (TH>1) TH--;L1602_char(1, 15, TH/10+48);L1602_char(1, 16, TH%10+48);break;case 3:if (HH<99) HH++;L1602_char(2, 15, HH/10+48);L1602_char(2, 16, HH%10+48);break;case 4:if (HH>1) HH--;L1602_char(2, 15, HH/10+48);L1602_char(2, 16, HH%10+48);break;default:break;}Save_Setting();}(5) main()函数void main(){U16 i, j, testnum;EA = 0;Timer0_Init(); //定时器0初始化Data_Init();EA = 1;L1602_init();L1602_string(1,1," Welcome to T&H ");L1602_string(2,1," Control System! ");//延时for (i=0;i<1000;i++)for (j=0;j<1000;j++){;}//清屏L1602_string(1,1," ");L1602_string(2,1," ");L1602_string(1,1,"Tem: C TH:");L1602_string(2,1,"Hum: % HH:");//载入温度上限和湿度上限设定值Load_Setting();L1602_char(1, 15, TH/10+48);L1602_char(1, 16, TH%10+48);L1602_char(2, 15, HH/10+48);L1602_char(2, 16, HH%10+48);while(1){//温湿度转换标志检查if (FlagStartRH == 1){TR0 = 0;testnum = RH();FlagStartRH = 0;TR0 = 1;//读出温湿度,只取整数部分humidity = U8RH_data_H;temperature = U8T_data_H;//显示温湿度L1602_int(1,5,temperature);L1602_int(2,5,humidity);}//温湿度控制if (temperature > TH) Led_jiangwen = 0;else Led_jiangwen = 1; //降温if (humidity > HH) Led_qushi = 0;else Led_qushi = 1; //去湿//键盘查询,在弹起时响应if ((Key_TH1)&&(keyTH1==0)) {FlagKeyPress = 1; keyvalue = 1;}else if ((Key_TH2)&&(keyTH2==0)) {FlagKeyPress = 1; keyvalue = 2;}else if ((Key_HH1)&&(keyHH1==0)) {FlagKeyPress = 1; keyvalue = 3;}else if ((Key_HH2)&&(keyHH2==0)) {FlagKeyPress = 1; keyvalue = 4;}if (FlagKeyPress == 1){KeyProcess(keyvalue);FlagKeyPress = 0;}if (!Key_TH1) keyTH1 = 0;else keyTH1 = 1;if (!Key_TH2) keyTH2 = 0;else keyTH2 = 1;if (!Key_HH1) keyHH1 = 0;else keyHH1 = 1;if (!Key_HH2) keyHH2 = 0;else keyHH2 = 1;}}四、下载与调试提供例程在uVision4环境下编译,如果是其他版本uVision,只需将所有.c 和.h 文件拷贝至新建项目,重新编译即可。