温湿度控制器(上下限继电器)设计报告
温湿度监控系统设计报告书

温湿度监控系统设计报告书一、引言温湿度监控系统是一种用于实时监测和记录环境温度和湿度的设备。
它可以广泛应用于各种领域,例如医疗、制药、食品储存等。
本报告旨在详细介绍温湿度监控系统的设计过程和技术实现。
二、系统概述1. 项目背景温湿度是影响许多生产和存储过程的重要因素。
为了确保产品质量和食品安全,温湿度监控系统应用广泛。
本项目旨在设计一个高效可靠的温湿度监控系统,用于监控和记录环境中的温湿度值。
2. 设计目标本系统的设计目标包括:- 实时监测和记录环境温度和湿度;- 提供报警功能,一旦温湿度超出设定范围,能够及时通知相关人员;- 支持远程访问和控制,方便用户随时了解监控数据;- 具备数据分析和报表生成功能,提供决策支持。
三、系统设计1. 硬件设计在本系统中,将使用以下硬件设备:- 温湿度传感器:用于测量环境温度和湿度,采集数据并通过数据线传输给中央处理器;- 中央处理器:用于接收温湿度传感器发送的数据,进行数据处理和存储,并负责控制其他硬件设备;- 报警器:当温湿度超出设定范围时,通过声音或光线等方式向用户发出警报;- 通信模块:用于与远程服务器进行数据传输和远程访问。
2. 软件设计- 数据采集与处理:设计一个数据采集程序,在中央处理器上运行,负责接收温湿度传感器发送的数据,并进行处理和存储;- 报警系统:开发一个报警系统,当温湿度超出设定范围时,通过触发警报器进行警示;- 远程访问控制:实现一个远程访问控制系统,允许用户通过互联网随时访问和控制温湿度监控系统;- 数据分析和报表生成:设计一个数据分析程序,对温湿度数据进行统计和分析,并生成相应的报表。
四、系统实现1. 硬件组装和连接将温湿度传感器、中央处理器、报警器和通信模块按照设计要求进行组装和连接。
确保各个硬件设备可以正常工作并相互协调。
2. 软件开发和测试根据设计要求,进行软件的开发和测试。
包括数据采集与处理、报警系统、远程访问控制和数据分析报表生成等功能的实现。
温度控制器实验报告(1)1

单片机课程设计实验报告——温度控制器班级:学号:姓名:老师:合作者:一、实验要求和目的本课程设计的课题是温度控制器。
● ●用电压输入的变化来模拟温度的变化,对输入的模拟电压通过ADC0832转换成数字量输出。
输入的电压为0.00V——5.00V,在三位数码显示管中显示范围为00.0——99.9。
其中0V对应00.0,5V对应99.9单片机的控制目标是风机和加热器。
分别由两个继电器工作来模拟。
系统加了一个滞环。
适合温度为60度。
◆当显示为00.0-50.0时,继电器A闭合,灯A亮,模拟加热器工作。
◆当显示为为50.0-55.0时,保持继电器AB的动作。
◆当显示为55.0-65.0时,继电器A断开,灯A熄灭,模拟加热器停止工作。
◆当显示为65.0-70.0时,保持继电器AB的动作◆当显示为70.0-99.9时,继电器B闭合,灯B亮,模拟风机的工作。
二、实验电路涉及原件及电路图由于硬件系统电路已经给定,只需要了解它的功能,使用proteus 画出原理图就可以了。
实验设计的电路硬件有:1、AT89S52本温度控制器采用AT89C52单片机作为CPU,12MHZ晶振AT89C52的引脚结构图:AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes 的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash 存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
温湿度控制器实训报告

一、实训背景随着现代工业、农业、科研等领域对环境控制要求的不断提高,温湿度控制器作为维持特定环境条件的核心设备,其性能和稳定性显得尤为重要。
本次实训旨在通过实际操作和理论学习,深入了解温湿度控制器的工作原理、结构组成以及应用方法,提高学生对温湿度控制系统的理解与应用能力。
二、实训目的1. 掌握温湿度控制器的基本原理和结构组成。
2. 熟悉温湿度传感器的类型和特点。
3. 学会温湿度控制器的安装、调试和维护。
4. 提高学生对实际工程问题的分析和解决能力。
三、实训内容1. 温湿度控制器工作原理温湿度控制器通过温湿度传感器实时监测环境中的温度和湿度,根据预设的参数对加热器、加湿器、通风机等执行元件进行控制,以达到维持环境稳定的目的。
2. 温湿度传感器实训中使用的温湿度传感器主要有以下几种:- DHT11传感器:数字输出,具有高精度、抗干扰能力强等特点。
- SHT75传感器:模拟输出,具有高精度、稳定性好等特点。
3. 温湿度控制器结构组成温湿度控制器主要由以下部分组成:- 传感器:用于检测环境中的温度和湿度。
- 微控制器:用于处理传感器数据,并根据预设参数控制执行元件。
- 执行元件:包括加热器、加湿器、通风机等,用于调节环境温度和湿度。
- 显示模块:用于显示当前温度和湿度。
- 按键模块:用于设置温度和湿度参数。
4. 温湿度控制器安装与调试- 安装:根据实际需求选择合适的安装位置,确保传感器能够准确反映环境温度和湿度。
- 调试:连接传感器、微控制器和执行元件,设置温度和湿度参数,进行试运行,观察控制器是否能够正常工作。
5. 温湿度控制器维护- 定期检查:检查传感器、微控制器、执行元件等部件是否正常工作。
- 清洁保养:定期清洁传感器、执行元件等部件,防止灰尘、杂物影响控制器性能。
- 更换部件:当传感器、执行元件等部件损坏时,及时更换。
四、实训过程1. 理论学习:通过查阅资料、阅读教材,了解温湿度控制器的工作原理、结构组成、安装调试和维护方法。
继电器控制实验报告

继电器控制实验报告目录1. 实验目的 (2)1.1 了解继电器的基本工作原理 (2)1.2 掌握继电器的使用和电路调试方法 (3)1.3 实践电气控制系统的设计和操作技能 (4)2. 实验原理 (5)2.1 继电器的工作机制 (6)2.2 继电器的类型与参数 (7)2.3 继电器与电路图的对应关系 (8)3. 实验材料与工具 (9)3.1 继电器实物与模型 (10)3.2 直流电源 (12)3.3 电阻、电容、电感等常用电子元件 (12)4. 实验步骤 (14)4.1 实验准备 (15)4.2 电路搭建 (16)4.3 继电器控制电路测试 (17)4.4 故障排查与修正 (18)4.5 实验结果记录 (20)5. 实验内容 (21)5.1 继电器的工作条件与参数选择 (22)5.2 继电器的连接与调试 (22)5.3 继电器在电路中的应用实例 (24)5.4 继电器在不同控制电路中的作用 (25)6. 实验数据分析 (26)6.1 测试数据记录 (27)6.2 数据处理与分析 (27)6.3 数据分析结果展示 (28)7. 实验结论 (29)7.1 继电器控制的优势与局限 (30)7.2 实际应用中的注意事项 (31)7.3 对实验结果的总结与反思 (33)8. 实验创新点与改进建议 (34)8.1 实验的创新之处 (35)8.2 实验过程中的难点与解决方案 (36)8.3 对实验设备的建议与改进 (38)1. 实验目的本次“继电器控制实验报告”的目的是深入理解继电器的基本功能和操作原理,掌握其在自动化控制电路中的应用。
通过实际操作继电器,学生将学习如何快速、准确地调整电路负载,实现对电气设备运行状态的有效控制。
通过该实验,学生们不仅能够积累实验技能,还能提升分析和解决问题的能力,为未来的工程实践打下坚实的基础。
本实验不仅关注理论知识的验证,还旨在培养学生创新思维和实际操作能力,对强化工程教学具有重要意义。
温控继电器实验报告

温控继电器实验报告1. 实验目的本实验旨在通过使用温控继电器,了解温度传感器和继电器的原理,并掌握温控继电器的使用方法。
2. 实验原理温控继电器是一种能够根据温度变化自动开关电路的设备。
它由温度传感器和继电器两部分组成。
2.1 温度传感器温度传感器是用来感知环境温度的装置,常见的温度传感器有热敏电阻、热电偶和半导体温度传感器等。
2.2 继电器继电器是一种电磁式开关,当通过控制信号(电流或电压)使其电磁线圈激磁时,可以控制大电流或高压的电路开关。
3. 实验器材实验中我们使用以下器材:- 温控继电器模块- 温度传感器- 电烙铁- 连接线- 电源4. 实验步骤4.1 连接电路首先,将温控继电器和温度传感器通过连接线连接起来。
温度传感器的输入端连接到温控继电器的输入端,输出端连接到温控继电器的输出端。
4.2 设置温度阈值根据实验需求,使用螺丝刀旋转温控继电器上的旋钮,调节温度阈值。
当温度超过设定的阈值时,温控继电器将触发继电器动作。
4.3 连接电源将电源的正负极正确地接入温控继电器模块,确保电路接线正确。
4.4 测试将温度传感器放置在需要监测温度的位置,接通电源开关。
当温度超过设定的阈值时,温控继电器将触发继电器动作,电路将断开或闭合。
5. 实验结果根据实验设置的温度阈值,成功触发了继电器的动作。
在温度超过设定的阈值时,电路断开或闭合,实现了自动开关电路的功能。
6. 实验分析本实验通过温控继电器模块,成功实现了根据温度变化自动开关电路的功能。
温度传感器可以感知环境温度,并通过与温控继电器的连接将温度信号传递给继电器,从而实现对电路的控制。
温控继电器在实际应用中具有广泛的用途,例如用于恒温设备、空调控制、温度报警等。
通过合理设置温度阈值,可以根据实际需要实现对环境温度的自动控制。
7. 实验总结通过本次实验,我们深入了解了温控继电器的原理和使用方法。
温控继电器可实现对温度变化的自动感知和控制,具有重要的应用价值。
温度控制器设计报告

温度控制器设计报告温度控制器课程设计报告随着社会的发展、科技的进步以及温度控制器在各个领域的应⽤,⾃动化已是现代温度控制系统发展的主流⽅向。
特别是近年来,温度控制器已⼴泛应⽤于⼈们⽣活的各个⽅⾯。
温度控制在⽇常⽣活及⼯业领域应⽤相当⼴泛,⽐如温室、⽔池、发酵缸、电源等场所。
以往的温度控制都是由⼈⼯完成,⽽且⼤家都不重视温度控制,因⽽常常发⽣意外。
所以为了防⽌意外发⽣,许多场所都需要对温度实⾏监控。
本⽂利⽤AT89C51单⽚机、ADC0909模数转换器等芯⽚设计⼀个数码管显⽰的热⽔器控制器,通过调节开关来上下调节温度。
现在介绍⼀下关于这个热⽔器控制器的具体情况,它是⽤6只共阴极的⼋段数码管来分别显⽰⼯作状态、设定温度和实际温度温度。
⽤3只按钮来分别作为开机/关机键、温度设定上升键和下降键。
⽤1只LED发光⼆极管来表⽰加热器开关量控制输出,发光⼆极管要求⽤三极管放⼤驱动。
温度设定范围0~99℃,在装置处于开机状态情况下,当实际温度⾼于等于设定温度时,加热器控制输出“关”;当实际温度低于设定温度5℃时,加热器控制输出“开”。
上电后,⾃动显⽰关机状态、设定温度50℃和实际室内温度,这时⽤户可以设定温度进⾏设定,但只有在按下ON键后,控制器正式⼯作;在运⾏期间,若对温度状态进⾏设定,则控制器按新设定开始。
若关机后(⾮断电)重新启动控制器,则⾃动进⼊上次关机前的设定状态。
温度传感器采⽤AT502热敏电阻。
基于以上这些情况,通过protues软件做出温度控制器的电路图,(protues软件是由英国Labcenter Electronics公司开发的EDA⼯具软件,它集电路设计、制版及仿真等多种功能于⼀⾝,不仅能够对电⼯、电⼦技术学科涉及的电路进⾏设计与分析,还能够对微处理器进⾏设计和仿真。
)并列出以下材料清单其中,LED数码管是数字量输出,⼯作⽅式是动态扫描显⽰,按钮是数字量输⼊,⼯作⽅式是直接电平输⼊,加热器是开关量输出,⼯作⽅式是电平控制输出,温度传感器是模拟量输⼊,⼯作⽅式是电压输⼊。
继电器控制的实验报告

继电器控制的实验报告
《继电器控制的实验报告》
继电器是一种常用的电气控制器件,它可以通过控制小电流来开关大电流,被
广泛应用于各种电气控制系统中。
为了更好地了解继电器的工作原理和控制方法,我们进行了一系列的实验。
实验一:继电器的基本原理
在这个实验中,我们首先学习了继电器的基本原理。
我们使用了一个简单的继
电器电路,通过接通和断开控制电路来观察继电器的工作状态。
通过这个实验,我们深入了解了继电器是如何通过控制小电流来实现开关大电流的功能。
实验二:继电器的控制方法
在第二个实验中,我们学习了继电器的控制方法。
我们使用了不同的电路布置
和控制信号,来观察继电器的响应和工作状态。
通过这个实验,我们掌握了不
同控制方法对继电器的影响,为以后的实际应用提供了重要的参考。
实验三:继电器在电气控制系统中的应用
最后,我们进行了一次继电器在电气控制系统中的应用实验。
我们设计了一个
简单的电气控制系统,并使用继电器来实现对电路的开关控制。
通过这个实验,我们深入了解了继电器在实际应用中的重要性和作用,为今后的工程实践提供
了宝贵的经验。
通过以上一系列的实验,我们对继电器的工作原理、控制方法和实际应用有了
更深入的了解。
这些实验不仅加深了我们对继电器的理论知识,也为我们今后
在电气控制领域的工作提供了重要的实践经验。
继电器作为一种重要的电气控
制器件,将继续在各种电气控制系统中发挥重要作用。
温湿度控制器测试报告

江苏翔盟温湿度控制柜,接线完毕后,通电调试。
调试结果;
1 温度传感器反馈温度范围从空气温度(25摄氏度左右)到用热风枪吹热风温度(50~60摄氏度),满足工作需求。
2 湿度传感器反馈湿度下限到30%左右,不能反馈更低的空气湿度信号,不能满足工作反馈15%的湿度甚至更低的湿度。
在烘干房内测试,测试结果相同,湿度反馈不能满足工作。
从仓库再领了三个温湿度控制器,测试结果基本相同。
湿度反馈均不满足设备正常工况。
从包装和外观观察,包装盒上没品牌,没联系方式,说明书过于简单且印刷模糊,三无产品,建议更换。
2015.4.28。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
温湿度控制器设计报告本设计研究单片机数字温湿度控制器,通过全数字型温湿度传感器测量宽范围的温湿度数据,用来满足恒温湿车间控制、大棚温湿度控制等工农业生产领域需要,要求温湿度测量响应时间快、长期稳定性好,抗干扰能力强,具有较高的应用价值。
一、性能特点●配用全数字型温湿度传感器DHT11,温度测量范围0℃--100℃,湿度测量范围0%RH—90%RH,可以满足一般需要。
若要求更宽测量范围,只需更换温湿度传感器型号,硬件电路及软件程序全兼容。
●温湿度测量响应时间快、长期稳定性好。
●采用先进的专用微处理器芯片STC89C52,可靠性高,抗干扰能力强。
●配用EEPROM芯片A T24C04,使存储的温度上下限和湿度上下限可以掉电永久保存。
●可以通过四个按键方便地实现温湿度上下限的调整。
●当温度或湿度超限后,报警信号点亮相应报警灯。
●配用三极管和继电器,可以通过驱动继电器打开或切断风机、加热器等外部设备。
二、功能说明1、实时测量当前温度值和湿度值,在液晶屏动态显示。
2、可以显示当前允许温度范围,在液晶屏显示,如“20-45”表示允许温度范围为20摄氏度至45摄氏度。
3、可以显示当前允许湿度范围,在液晶屏显示,如“15-60”表示允许湿度范围为15%至60%。
4、当温度低于温度下限时,低温报警灯亮,控制继电器动作。
5、当温度高于温度上限时,高温报警灯亮,控制继电器动作。
6、当湿度低于湿度下限时,低湿报警灯亮,控制继电器动作。
7、当湿度高于湿度上限时,高湿报警灯亮,控制继电器动作。
8、可以通过键盘调整温度上下限和湿度上下限,具体方法是连续按设置键直至温度下限、温度上限、湿度下限、湿度上限相应的位置闪烁,再通过Up键和Down键调整数值,调整完毕继续按设置键进入正常状态。
9、可以保存设置参数至EEPROM中,具体方法是按保存键,此时当前设置参数存盘,重新上电显示新的设置值。
如果不按保存键,所调整的设置参数只在此次运行有效,关电后恢复原先设定值。
三、硬件设计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)组成。
一次完整的数据传输为40bit,高位先出。
数据格式如表一:表1 DHT11数据格式3、单片机电路(1) STC89C52 单片机特点●增强型 8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051;●工作电压: 5.5V - 3.5V(5V单片机);●工作频率范围:0~40MHz,相当于普通8051的 0~80MHz;●用户应用程序空间 4K//8K/16k/32K/64K字节;●片上集成1280字节 RAM;●通用I/O口(32/36个),复位后为准双向口/弱上拉(普通8051传统I/O口);●ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器。
●每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA;●可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片;●有EEPROM功能;●看门狗;●内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地);●时钟源:外部高精度晶体/时钟,内部R/C振荡器;●用户在下载用户程序时,可选择是使用内部R/C 振荡器还是外部晶体/时钟;●常温下内部R/C 振荡器频率为:5.0V 单片机为: 11MHz ~ 17MHz;●共4个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率发生器,再加上2路PCA模块可再实现2个16位定时器;●外部中断I/O口4路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块,Power Down模式可由外部中断唤醒;●通用全双工异步串行口(UART) ;●工作温度范围:-40 ~ +85℃(工业级) / 0 ~ 75℃(商业级) ;封装:PDIP-40, PLCC-44。
(2) STC89C52 单片机管脚及封装STC89C52 单片机有多种封装形式,本设计中选用40DIP封装,其管脚定义如图4所示。
其最小应用系统如图5所示。
图4 STC89C52 管脚图图5 单片机最小系统(4) 单片机电路由STC89C52组成的温湿度控制器单片机系统原理图如图6所示。
图中DATA引脚为温湿度传感器单总线引脚,单片机通过该引脚和传感器通信,读取温湿度数据。
K1、K2、K3、K4为四只调节按键,分别为设置键、上调键、下调键和保存键,用以调整温湿度上下限值并保存数据。
L2、L3、L4、L5为四只报警灯,其中L2为低温报警,L3为高温报警,L4为低湿报警,L5为高湿报警。
图6 单片机系统原理图4、显示电路显示部分采用SMC 1602液晶屏进行数据显示,其主要技术参数为:表2 液晶屏技术指标接口信号说明如表3所示。
表3 液晶屏接口信号说明与单片机接口电路如图7所示。
图7 LCD与单片机接口电路5、温湿度上限存储温湿度阈值存储在EEPROM芯片AT24C04中,并可以通过K1—K4按键调节并保存,其中K1、K2、K3、K4分别为设置键、上调键、下调键和保存键。
AT24C04是IIC芯片,其电路如图8所示。
图8 EEPROM存储电路6、继电器驱动电路当温湿度数据超过正常范围时,单片机发出继电器动作信号。
该低电平信号通过三极管方法,驱动继电器线圈得电,继电器结点动作。
该结点可以控制空调、加热器、抽风机等电器,以控制温湿度范围。
具体电路如图9所示。
图9 继电器电路四、Portel电路图设计Protel是目前国内最流行的通用EDA软件,它是将电路原理图设计、PCB板图设计、电路仿真和PLD设计等多个实用工具软件组合后构成的EDA工作平台,是第一个将EDA软件设计成基于Windows的普及型产品。
它集成了软件界面、仿真功能和PLD设计和信号完整性分析,在此基础上Protel 99SE又增加了一些新的功能,用户使用更加方便灵活。
Protel的功能十分强大,在电子电路设计领域占有极其重要的地位。
它以其强大功能和实用性,逐渐获得广大硬件设计人员的青睐,是目前众多EDA设计软件中用户最多的产品之一。
Protel软件组成Protel软件主要由电路原理图设计模块、印制电路板设计模块(PCB设计模块)、电路信号仿真模块和PLD逻辑器件设计模块等组成,各模块具有强大的功能,可以很好的实现电路设计与分析。
(1) 原理图设计模块(Schematic模块)电路原理图是表示电气产品或电路工作原理的重要技术文件,电路原理图主要由代表各种电子器件的图形符号、线路和结点组成。
图4.1所示为一张电路原理图。
该原理图是由Schematic模块设计完成的。
Schematic 模块具有如下功能:丰富而灵活的编辑功能、在线库编辑及完善的库管理功能、强大的设计自动化功能、支持层次化设计功能等。
(2) 印制电路板设计模块(PCB设计模块)印制电路板(PCB)制板图是由电路原理图到制作电路板的桥梁。
设计了电路原理图后,需要根据原理图生设计成印制电路板的制板图,然后在根据制板图制作具体的电路板。
印制电路板设计模块具有如下主要功能和特点:可完成复杂印制电路板(PCB)的设计;方便而又灵活的编辑功能;强大的设计自动化功能;在线式库编辑及完善的库管理;完备的输出系统等。
(3) 电路信号仿真模块电路信号仿真模块是一个功能强大的数字/模拟混合信号电路仿真器,能提供连续的模拟信号和离散的数字信号仿真。
它运行在Protel的EDA/Client集成环境下,与Protel Advanced Schematic原理图输入程序协同工作,作为Advanced Schematic的扩展,为用户提供了一个完整的从设计到验证仿真设计环境。
在Protel中进行仿真,只需从仿真用元器件库中放置所需的元器件,连接好原理图,加上激励源,然后单击防真按钮即可自动开始。
五、软件编程1、软件流程图本设计软件主程序流程图如图13所示。
图13 主程序流程图2、主程序下面介绍main.c主程序编写,其他程序略。
(1) 头文件和一些宏定义#include <reg52.h>#include "1602.h"#include "dht.h"#include "2402.h"(2) 管脚定义//定义三个LED灯sbit L2=P1^3;sbit L3=P1^4;sbit L4=P1^5;sbit L5=P1^6;sbit Key_SET = P3^2; //设置键sbit Key_UP= P3^3; //加键sbit Key_DOWN = P3^4; //减键sbit Key_SA VE = P3^5; //保存键sbit Relay = P2^0;(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,U8checkdata_temp;extern U8 U8comdata;extern U8 count, count_r;U16 temp;S16 temperature, humidity;S16 idata TH, TL, HH, HL; //温度上限和湿度上限char * pSave;U8 keyvalue, keySET, keySA VE, keyUP, keyDOWN;//定义变量U16 RHCounter;U8 FlagSet,hide;(4) 各子程序//数据初始化void Data_Init(){RHCounter = 0;L2 = 1;L3 = 1;L4 = 1;TH = 40;TL = 20;HH = 85;HL = 20;keyvalue = 0;keySET = 1;keySA VE = 1;keyUP = 1;keyDOWN = 1;FlagSet = 0;hide = 0;}//定时器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; //定时器赋予初值RHCounter ++;//设闪烁标志if (RHCounter>400) hide = 0;else hide = 1;//每2秒钟启动一次温湿度转换if (RHCounter >= 800){FlagStartRH = 1;RHCounter = 0;}}//存入设定值、void Save_Setting(){pSave = (char *)&TL; //地址低位对应低8位,高位对应高8位wrteeprom(0, *pSave); //存温度上限值TH低8位DELAY(500);pSave ++;wrteeprom(1, *pSave); //存温度上限值TH高8位DELAY(500);pSave = (char *)&TH;wrteeprom(2, *pSave); //存温度下限值TL低8位DELAY(500);pSave ++;wrteeprom(3, *pSave); //存温度下限值TL高8位DELAY(500);pSave = (char *)&HL; //地址低位对应低8位,高位对应高8位wrteeprom(4, *pSave); //存湿度上限值HH低8位DELAY(500);pSave ++;wrteeprom(5, *pSave); //存湿度上限值HH高8位DELAY(500);pSave = (char *)&HH;wrteeprom(6, *pSave); //存湿度下限值HL低8位DELAY(500);pSave ++;wrteeprom(7, *pSave); //存湿度下限值HL高8位DELAY(500);}//载入设定值、void Load_Setting(){pSave = (char *)&TL;*pSave++ = rdeeprom(0);*pSave = rdeeprom(1);pSave = (char *)&TH;*pSave++ = rdeeprom(2);*pSave = rdeeprom(3);pSave = (char *)&HL;*pSave++ = rdeeprom(4);*pSave = rdeeprom(5);pSave = (char *)&HH;*pSave++ = rdeeprom(6);*pSave = rdeeprom(7);if ((TL>99)||(TL<0)) TL = 20;if ((TH>99)||(TH<0)) TH = 40;if ((HL>99)||(HL<0)) HH = 20;if ((HH>99)||(HH<0)) HH = 85;}void KeyProcess(uint num){//键盘设置功能:通过设置键和加、减键修改当前设置,只有按下保存键才存盘,否则掉电不保存。