基于51单片机的温湿度检测及调节系统

目录

具体实现功能

设计介绍

51单片机简介

设计思路

设计内容

原理图(AD19)

程序(Keil5)

仿真实现(protues8.7)

全部资料


具体实现功能

系统由STC89C52单片机+AT24c02芯片+LCD1602液晶显示屏+继电器模块+按键模块+报警模块构成。

具体实现功能:

1、LCD1602液晶显示,第一行显示当前的温度和湿度,第二行显示相应的冷、热、干、湿;

2、AT24c02芯片掉电存储设置的上下限;

3、四个按键为设置、加、减、确定,实现了温湿度范围的调节;

4、采用温湿度传感器DHT11,温度测量范围0℃--50℃,湿度测量范围20%RH—90%RH;

5、当超过温湿度设置范围时,蜂鸣器响起,相应指示灯闪烁以报警;

6、当温度或湿度超过范围后,报警信号灯点亮同时相应的继电器吸合。

设计介绍

51单片机简介

51单片是一种低功耗、高性能CMOS-8位微控制器,具有8K可编程Flash存储器,使得其为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

51系列单片机具有以下标准功能:

8k字节Flash,512字节RAM,

32位I/O口线,看门狗定时器,

内置4KB EEPROM,

MAX810复位电路,

三个16位定时器/计数器,

一个6向量2级中断结构,

全双工串行口。

另外, 51系列在空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机停止工作,直到下一个中断或硬件复位为止。本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

设计思路

文献研究法:搜集整理相关研究资料,阅读文献,为研究做准备;

调查研究法:通过调查、分析、具体实验等方法,发现相关存在问题和解决办法;

比较分析法:比较不同设计的具体原理,以及同一类传感器性能的区别,分析系统的研究现状与发展前景;

软硬件设计法:通过软硬件设计实现硬件,最后测试各项功能是否满足要求。

设计内容

原理图(AD19)

本系统原理图设计采用Altium Designer19,具体如图。

程序(Keil5)

本设计利用KEIL5软件实现程序设计,主函数如下:

/********************************************************************
* 名称 : Main()
* 功能 : 主函数
***********************************************************************/

void main()
{
  uint i, j, testnum;

  EA = 0;

	Timer0_Init();   

  Data_Init();
	EA = 1;

	L1602_init();
	L1602_string(1,1," Welcome to T&H ");
	L1602_string(2,1," Control System!");
	 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,"Good environment");
    
    
	TH=rdeeprom(0);	 
	Delay1(20);		  
	TL=rdeeprom(1);
	Delay1(20);
	HH=rdeeprom(2);
	Delay1(20);
	HL=rdeeprom(3);
	Mode=0;

	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();
	}	
}

代码运行截图:

仿真实现(protues8.7)

本设计利用protues8.7软件实现仿真设计。

全部资料

全部资料包括程序(注释)、AD原理图、PCB源文件、protues仿真、参考论文、程序讲解、仿真讲解、仿真视频、原理图讲解、资料使用介绍等,全网最全!!

资料获取:【腾讯文档】24-基于51单片机的温湿度检测及调节系统
https://docs.qq.com/doc/DSVVQeUprYUtYRnVx

  • 25
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在STM32温湿度检测系统中,可以使用DHT11传感器来监测环境的温度和湿度。根据引用\[1\]和引用\[2\]的描述,用户可以通过按键设置温度阈值和湿度阈值,系统会采集当前环境的温度和湿度。然后,系统将当前环境温湿度与设定的阈值进行比较。如果检测到温度超过温度阈值或湿度超过湿度阈值,系统会触发一系列警报和显示操作,包括LCD显示警告信息、蜂鸣器报警、灯光闪烁以及通过串口输出警告信息。 在硬件连接方面,具体的连接方式可以参考引用\[1\]中的描述。至于DHT11的数据格式,根据引用\[3\]的说明,DHT11采用单总线数据格式进行通信。每次传输的数据包括5个字节(40bit),其中包括湿度整数数据、湿度小数数据、温度整数数据、温度小数数据和校验和。校验和是前4个字节的数据相加并保留低8位。由于DHT11无法采集温湿度的小数部分,因此微控制器收到的湿度小数部分和温度小数部分是无用的。 综上所述,STM32温湿度检测系统可以通过DHT11传感器实现温度和湿度的监测,并根据设定的阈值触发相应的警报和显示操作。 #### 引用[.reference_title] - *1* *2* [单片机课程设计:基于STM32的温湿度检监测报警系统的设计](https://blog.csdn.net/qq_50185399/article/details/124798499)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [STM32应用开发实践教程:环境温湿度监测的应用开发](https://blog.csdn.net/tysonchiu/article/details/125787322)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值