基于51单片机的DHT22温湿度检测调节系统
目录
具体实现功能
设计介绍
资料内容
全部内容
资料获取
具体实现功能
具体功能:
(1)采用DHT22温湿度传感器检测温湿度,LCD1602第一行显示当前温度,第二行显示当前湿度;
(2)四个按键为设置、加、减、确认,用于设置温湿度报警值;
(3)当温湿度值超过报警值时,蜂鸣器响,报警灯亮,继电器动作,相应指示灯亮。

仿真演示视频:
基于51单片机的DHT22温湿度检测调节系统
设计介绍

51单片机简介
51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。
本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

资料内容
仿真实现(protues8.7)
本设计利用protues8.7软件实现仿真设计,具体如图。

程序(Keil5)
本设计利用KEIL5软件实现程序设计。
主函数如下:
///////////////////////////////////////////////////
/********************************************************************
* 名称 : Main()
* 功能 : 主函数
***********************************************************************/
void main()
{uint i, j;EA = 0;Timer0_Init(); EA = 1;L1602_init();L1602_string(1,1," Welcome to T&H ");L1602_string(2,1," Control System!");for (i=0;i<500;i++)for (j=0;j<500;j++){;} L1602_string(1,1," ");L1602_string(2,1," ");L1602_string(1,1," Temp: . C ");L1602_string(2,1," Humi: . % ");bit_flag=0;Led=0;while(1){if (FlagStartRH == 1) //温湿度转换标志检查{TR0 = 0;RH();FlagStartRH = 0;TR0 = 1;bit_flag=U8T_data_H&0x80;if(bit_flag){temperature = ((U8T_data_H& 0x7F)<<8)+U8T_data_L; //读出温湿度,只取整数部分}else{temperature = (U8T_data_H<<8)+U8T_data_L; //读出温湿度,只取整数部分}humidity = (U8RH_data_H<<8)+U8RH_data_L;if ((temperature>TH*10)&&(bit_flag==0)){Led1 = 0;}else{Led1 = 1;}if((temperature<TL*10)||(bit_flag==1)){Led2 = 0;} else{Led2 = 1;}if ((humidity) > HH*10){Led3 = 0;Led4 = 1;}else if((humidity) <HL*10){Led4 = 0;Led3 = 1;} else{Led3=1;Led4=1;} if(((temperature) > TH*10)||((temperature)<TL*10)||((humidity) > HH*10)||((humidity) <HL*10)||(bit_flag==1)){buzz=0;Led=~Led;}else{buzz=1;Led=0;}}display();KEY();}
}
程序运行结果如图:

全部内容
全部资料包括程序(keil5)、protues仿真(protues8.7)、设计说明、答辩PPT、开发资料、资料使用介绍、仿真视频、最小系统介绍视频等。

资料获取
https://docs.qq.com/doc/DT0JoenBiekJwRUZF
