一.硬件方案
本设计采用51单片机每2秒钟从DHT11温湿度传感器中读入温度和湿度,在液晶屏上即时显示。液晶屏上同时显示温湿度上限值,该上限值保存外外部EEPROM存储器中,掉电不失,并且可以通过四只按键上调或下调。当温度或湿度值超过上限值时,报警信号点亮相应报警灯。该报警信号可以通过三极管驱动继电器,以控制外部风机或加热器。电路主要由51单片机+最小系统+LCD1602液晶显示模块+温湿度采集模块+继电器驱动模块+风扇模块+LED指示灯模块+按键模块+AT24C02存储模块+蜂鸣器报警模块;
二.设计功能
(1)AT24c02芯片掉电存储设置的上下限。
(2)四个按键为设置、加、减、确定,实现了阀值的调节。
(3)LCD1602液晶显示,上面行显示当前的温度和湿度,下面行显示相应的冷、热、干、湿。
(4)配用全数字型温湿度传感器DHT11,温度测量范围0℃–50℃,湿度测量范围20%RH—90%RH,可以满足一般需要。
(5)当超过阀值的时候,有蜂鸣器闪烁报警提示。并有开关可以关闭或打开报警。
(6)当温度或湿度超限后,报警信号灯点亮同时相应的继电器吸合。继电器可以驱动打开或切断通风机、抽湿机、加热器、制冷器、加湿器、报警器等外部设备;
三.设计原理图
(1)原理图主要采用AD软件进行设计,如图:
(2)Protues仿真图如下:
四.软件设计
主程序源码
//数据初始化
void Data_Init()
{
Led_qushi = 1;
Led_jiashi=1;
Led_jiangwen = 1;
Led_shengwen = 1;
}
/********************************************************************
* 名称 : Main()
* 功能 : 主函数
***********************************************************************/
void main()
{
uint i, j, testnum;
EA = 0;
Timer0_Init(); //定时器0初始化
Data_Init();
EA = 1;
L1602_init();
//延时
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 Hum: %");
L1602_string(2,1,"Smalldi@2017");
/***载入温度上限和湿度上限设定值***/
TH=rdeeprom(0);
Delay1(20); //加延时可以存取稳定
TL=rdeeprom(1);
Delay1(20);
HH=rdeeprom(2);
Delay1(20);
HL=rdeeprom(3);
while(1)
{
if (FlagStartRH == 1) //温湿度转换标志检查
{
TR0 = 0;
testnum = RH();
FlagStartRH = 0;
TR0 = 1;
humidity = U8RH_data_H; //读出温湿度,只取整数部分
temperature = U8T_data_H;
if(Mode==0) //温湿度控制
{
if (temperature > TH)
{
Led_jiangwen = 0;
hot=1;
Led_shengwen = 1;
cold=0;
// BJ=1;
}
else if(temperature<TL)
{
Led_shengwen = 0;
cold=1;
Led_jiangwen = 1;
hot=0;
buzz=0;
// BJ=1;
}
else
{
Led_jiangwen=1;
Led_shengwen=1;
hot=0;
cold=0;
buzz=1;
}
if (humidity > HH)
{
Led_qushi = 0;
humid=1;
Led_jiashi = 1;
dry=0;
// BJ=1;
}
else if(humidity<HL)
{
Led_jiashi = 0;
dry=1;
Led_qushi = 1;
humid=0;
// BJ=1;
}
else
{
Led_qushi=1;
Led_jiashi=1;
humid=0;
dry=0;
}
}
else
{
Led_shengwen=1;
Led_jiangwen=1;
Led_jiashi=1;
Led_qushi=1;
hot=0;
cold=0;
humid=0;
dry=0;
BJ=0;
}
}
display();
KEY();
}
}
资料链接:https://pan.baidu.com/s/1qgz2Z1v2hDcxkEuL0h6bzg?pwd=jcea