基于51单片机的SHT11温湿度检测调节系统(LCD12864显示)
2025-10-27 来源:bilibili
具体实现功能
(1)实时检测温湿度值,LCD12864分别显示温度值、湿度值、温度上下限值、湿度上下限值;
(2)通过按键可以设定温湿度报警阈值;
(3)当温度值过高且湿度值过低时,相应的指示灯亮,蜂鸣器响,继电器控制风扇转动,表示降温;
(4)当温度值过低且湿度值过高时,相应的指示灯亮,蜂鸣器响,继电器控制加热膜工作,表示升温。
(5)温度测量范围0-99,湿度测量范围0-99,误差±1。

仿真演示视频:
https://www.bilibili.com/video/BV1dZ42127md/?vd_source=cb7d37314419614c8c9f43f514f7d751
设计介绍

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

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

程序(Keil5)
本设计利用KEIL5软件实现程序设计。
主函数如下:
/****************主函数***************/
void main()//主函数
{
value humi_val,temp_val;
uchar humi_max=50,humi_min=15,temp_max=40,temp_min=20,temp,humi;//定义变量
uchar error,checksum;
uchar flag=0;
DisplayOn();
s_connectionreset();
Led1=1;
jiangwen=1;
Led2=1;
shengwen=1;
beep=1;
while(1)
{
error=0;
error+=s_measure((unsigned char*) &humi_val.i,&checksum,HUMI); //measure humidity
error+=s_measure((unsigned char*) &temp_val.i,&checksum,TEMP); //measure temperature
if(error!=0)
s_connectionreset(); //in case of an error: connection reset
else
{
//温湿度值、阈值读取及显示
humi_val.f=(float)humi_val.i; //converts integer to float
temp_val.f=(float)temp_val.i; //converts integer to float
calc_sth11(&humi_val.f,&temp_val.f); //calculate humidity, temperature
//dew_point=calc_dewpoint(humi_val.f,temp_val.f); //calculate dew point
if(temp_val.f>99)
temp_val.f=99;
if(humi_val.f>99)
humi_val.f=99;
temp=(uchar)temp_val.f+1;
humi=(uchar)humi_val.f-3;
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
while(P1!=0xff||flag!=0)
{
if(SetTempMax==0)
{
while(SetTempMax==0);
flag=1;
//显示文字
DispHZ(0,3,she);
DispHZ(16,3,ding);
DispHZ(32,3,wen);
DispHZ(48,3,du);
DispHZ(64,3,shang);
DispHZ(80,3,xian);
}
else if(SetTempMin==0)
{
//显示文字
while(SetTempMin==0);
flag=2;
DispHZ(0,3,she);
DispHZ(16,3,ding);
DispHZ(32,3,wen);
DispHZ(48,3,du);
DispHZ(64,3,xia);
DispHZ(80,3,xian);
}
if(SetHumiMax==0)
{
//显示文字
while(SetHumiMax==0);
flag=3;
DispHZ(0,3,she);
DispHZ(16,3,ding);
DispHZ(32,3,shi);
DispHZ(48,3,du);
DispHZ(64,3,shang);
DispHZ(80,3,xian);
}
if(SetHumiMin==0)
{
//显示文字
while(SetHumiMin==0);
flag=4;
DispHZ(0,3,she);
DispHZ(16,3,ding);
DispHZ(32,3,shi);
DispHZ(48,3,du);
DispHZ(64,3,xia);
DispHZ(80,3,xian);
}
else if(flag==1&&NumInc==0)
{
while(NumInc==0);//改变温度上限++
temp_max++;
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
else if(flag==2&&NumInc==0)
{
while(NumInc==0);//改变温度下限++
temp_min++;
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
else if(flag==3&&NumInc==0)
{
while(NumInc==0);
humi_max++;//改变温湿度上限++
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
else if(flag==4&&NumInc==0)
{
while(NumInc==0);
humi_min++;//改变温度下限++
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
else if(flag==1&&NumDec==0)
{
while(NumDec==0);
temp_max--;//改变温度上限--
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
else if(flag==2&&NumDec==0)
{
while(NumDec==0);
temp_min--;//改变温度下限--
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
else if(flag==3&&NumDec==0)
{
while(NumDec==0);
humi_max--;//改变湿度上限--
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
else if(flag==4&&NumDec==0)
{
while(NumDec==0);
humi_min--;//改变湿度下限--
Disp(temp,humi,temp_max,temp_min,humi_max,humi_min);
}
else if(isOK==0)
{
//清空文字显示
while(isOK==0);
flag=0;
DispHZ(0,3,blank);
DispHZ(16,3,blank);
DispHZ(32,3,blank);
DispHZ(48,3,blank);
DispHZ(64,3,blank);
DispHZ(80,3,blank);
}
}
if((temp>temp_max)&&(humi Led1=0; jiangwen=0; Led2=1; shengwen=1; beep=0; } else if((temp { Led1=1; jiangwen=1; Led2=0; shengwen=0; beep=0; } else { Led1=1; jiangwen=1; Led2=1; shengwen=1; beep=1; } delayms(10); } } 程序运行结果如图: 全部内容 全部资料包括程序(keil5)、protues仿真(protues8.7)、开发资料、资料使用介绍、仿真视频、程序讲解视频、仿真讲解视频、最小系统介绍视频等。 资料获取 资料链接:https://docs.qq.com/doc/DT2JidWJ6WmRFZ2dm

- 六大全新产品系列推出,MCX A微控制器家族迎来创新
- 意法半导体全新STM32C5系列,重新定义入门级微控制器性能与价值,赋能万千智能设备
- 模组复用与整机重测在SRRC、CCC、CTA/NAL认证中的实践操作指南
- 有源晶振与无源晶振的六大区别详解
- 英飞凌持续巩固全球微控制器市场领导地位
- 使用 Keil Studio for Visual Studio Code开发 STM32 设备
- 从控制到系统:TI利用边缘AI重塑嵌入式MCU的边界
- 蓝牙信道探测技术原理与开发套件实践
- Microchip 推出生产就绪型全栈边缘 AI 解决方案,赋能MCU和MPU实现 智能实时决策
- LoRa、LoRaWAN、NB-IoT与4G DTU技术对比及工业无线方案选型分析




