基于51单片机的DHT22温湿度检测及串口传输系统

目录

具体实现功能

设计介绍

资料内容

全部内容

资料获取


具体实现功能

具体功能:

(1)DHT22温湿度传感器实时检测当前温湿度值,并用LCD1602显示;

(2)可按键设置温湿度报警值,超过报警值蜂鸣器响,相应的指示灯亮;

(3)可通过串口实时传输温湿度值。

仿真演示视频:

146-基于51单片机的DHT22温湿度检测及串口传输系统

设计介绍

51单片机简介

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

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

资料内容

仿真实现(protues8.7)

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

程序(Keil5)

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

主函数如下:

复制代码
///////////////////////////////////////////////////
/********************************************************************
* 名称 : Main()
* 功能 : 主函数
***********************************************************************/
void main()
{
		UsartInit();
		
		L1602_init();
		L1602_string(1,1,"  Temp:   .  C  ");
		L1602_string(2,1,"  Humi:  . %    ");
    bit_flag=0;
   
	while(1)
	{
		RH();
		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/10>TH)&&(bit_flag==0))
		{
			Led1 = 0;
		}
		else
		{
			Led1 = 1;
		}
		if((temperature/10<TL)||(bit_flag==1))
		{
			Led2 = 0;
		}	
		else
		{
			Led2 = 1;
		}
		if ((humidity/10) > HH)
		{
			Led3 = 0;
			Led4 = 1;
		}
		else if((humidity/10) <HL)
		{
			Led4 = 0;
			Led3 = 1;
		}		
		else
		{
			Led3=1;
			Led4=1;
		}	
		if(((temperature/10) > TH)||((temperature/10)<TL)||((humidity/10) > HH)||((humidity/10) <HL)||(bit_flag==1))
		{
			buzz=0;
		}
		else
		{
			buzz=1;
		}
		display();
		KEY();
	}	
}

程序运行结果如图:

全部内容

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

资料获取

https://docs.qq.com/doc/DT2JYek1RRGFGWHNT

相关推荐
Porco.w1 小时前
STM32之ESP8266
stm32·单片机·嵌入式硬件
梁洪飞2 小时前
noc 片上网络
linux·arm开发·嵌入式硬件·arm
日更嵌入式的打工仔3 小时前
RS-485通讯协议
笔记·嵌入式硬件
蓝桥_吹雪3 小时前
HAL库深入了解--STM32与GPIO
单片机·嵌入式硬件
嗯嗯=3 小时前
STM32单片机学习篇5
stm32·单片机·学习
不能跑的代码不是好代码3 小时前
STM32:LED共阴/共阳连接与GPIO控制逻辑的关系,如何实现电平转换
stm32·单片机·嵌入式硬件
Jason_zhao_MR5 小时前
YOLO5目标检测方案-基于米尔RK3576开发板
linux·人工智能·嵌入式硬件·目标检测·计算机视觉·目标跟踪·嵌入式
qq_25814297-npl5 小时前
HEX数据00,显示为ASC码,怎么是是\0
单片机
不做无法实现的梦~6 小时前
使用ros2跑mid360的fastlio2建图
git·单片机·嵌入式硬件·gitcode
Joshua-a6 小时前
正点原子DS100示波器测DC电源纹波方法
单片机·嵌入式硬件