- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
温湿度控制器设计报告
功能与特点
配用全数字型温湿度传感器测量范围—90%RH,可以满足一般需要。若要求更宽测量范围,只需更换温湿度传感器型号,硬件电路及软件程序全兼容。
温湿度测量响应时间快、长期稳定性好。采用先进的专用微处理器芯片,可靠性高,抗干扰能力强。可以个按键方便地实现。
图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所示。
表3 液晶屏接口信号说明
与单片机接口电路如图6所示。
图6 LCD与单片机接口电路
5、温湿度上限存储
温湿度阈值存储在EEPROM芯片AT24C04中,并可以通过K1—K4按键调节并保存,其中K1为温度上限增加,K2为
图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
文档评论(0)