一.硬件方案
本设计采用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