前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实物设计|基于51单片机的温湿度检测报警系统

实物设计|基于51单片机的温湿度检测报警系统

原创
作者头像
电子工程师成长日记
修改2023-01-03 21:57:47
1.1K1
修改2023-01-03 21:57:47
举报

具体实现功能:

由STC89C51/52单片机+DHT11温湿度传感器+LCD1602液晶显示屏+按键模块+报警模块构成。

具体功能:

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

2、四个按键为设置、加、减、确定,用于温湿度报警值的设置;

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

4、当超过温湿度设置范围时,蜂鸣器响起,相应指示灯亮。

仿真视频(实物功能与仿真类似):

视频内容

设计介绍

51单片机简介

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

本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

设计方案

设计方案如下:

DHT11检测空气中的温度值、湿度值,利用单片机进行数据处理后通过LCD1602实时显示,并根据按键设定的报警阈值进行报警处理。

资料内容

原理图和PCB(AD19)

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

注1:请使用Altium Designer19直接打开资料中的工程文件(资料中已说明打开方式)!

注2:此设计需按照原理图制作实物,不可直接烧录到任何开发板中运行(需要修改程序)!

仿真实现(protues8.7)

本设计利用protues8.7软件实现仿真设计,具体如图。

注1:请使用protues8.7直接打开资料中的工程文件(资料中已说明打开方式)!

注2:由于仿真软件限制,仿真设计和实物设计无法百分百对应!!

程序(Keil5)

本设计利用KEIL5软件实现程序设计。

注意:请使用KEIL C51直接打开资料中的工程文件(资料中已说明打开方式)!!

主程序如下:

代码语言:javascript
复制
/********************************************************************
* 名称 : 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");
    
   
	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)
				{
					Led1 = 0;
					hot=1;
					Led2 = 1;
					cold=0;
			//		BJ=1;
				}
				else if(temperature<TL)
				{
					Led2 = 0;
					cold=1;
					Led1 = 1;
					hot=0;
					buzz=0;
			//		BJ=1;
				}			      
				else
				{
					Led1=1;
					Led2=1;
					hot=0;
					cold=0;
					buzz=1;
				}
				if (humidity > HH)
				{
					Led3 = 0;
					humid=1;
					Led4 = 1;
					dry=0;
			//		BJ=1;
				}
				else if(humidity<HL)
				{
					Led4 = 0;
					dry=1;
					Led3 = 1;
					humid=0;
			//		BJ=1;
				}		
				else
				{
					Led3=1;
					Led4=1;
					humid=0;
					dry=0;
				}	
			 }
			 else
			 {
			 	Led2=1;
				Led1=1;
				Led4=1;
				Led3=1;
				hot=0;
				cold=0;
				humid=0;
				dry=0;
				BJ=0;
			 }	
		}
		display();
		KEY();
	}	
}

程序运行结果如图:

全部资料(压缩文件)

全部资料包括原理图和PCB源文件(AD19)、程序(Keil5)、protues仿真(protues8.7)、设计报告(仅供参考,非一对一)、仿真视频、开发资料、资料使用介绍视频、仿真讲解视频、原理图讲解视频、程序讲解视频、仿真视频、单片机最小系统介绍等,全网最全!

注:打开资料后请先看资料使用介绍视频,仿真讲解视频,原理图讲解视频,程序讲解视频,仿真视频,单片机最小系统介绍视频,仿真最小系统介绍视频,资料使用前必读,常见问题解决办法等!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 具体实现功能:
  • 设计介绍
    • 51单片机简介
      • 设计方案
      • 资料内容
        • 原理图和PCB(AD19)
          • 仿真实现(protues8.7)
            • 程序(Keil5)
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档