基于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

相关推荐
LCG米3 小时前
STM32硬件CRC外设实测:多项式固定陷阱、CRC-32校验不匹配根因与软件查表法耗时对比落地
stm32·单片机·嵌入式硬件
La Pulga7 小时前
【FreeRTOS源码学习笔记】任务切换
单片机·mcu·学习·嵌入式·freertos·实时操作系统
女神下凡10 小时前
芯参谋(85):Linux_PPI_NAND_驱动开发指南
linux·运维·arm开发·驱动开发·单片机·嵌入式硬件·设计规范
硅基手札12 小时前
【Linux 内核专栏 19】20 · 嵌入式子系统 — GPIO·pinctrl·clock·regulator
linux·运维·单片机·linux内核·嵌入式开发·调试定位
何粥学14 小时前
Vivado 2024.2 开发记录(AC820 Zynq-7020)——软件使用,点亮led灯
单片机·嵌入式硬件·zynq
Sakura_j_h_15 小时前
51 单片机驱动四位数码管:动态扫描、限流电阻与消影的取舍
单片机·嵌入式硬件·51单片机·嵌入式·数码管·动态扫描·限流电阻
HANDY0920016 小时前
从“不照人”到“剂量达标”:扇叶遮挡式UV-C空气消毒的工程边界与可验证评估框架
开发语言·人工智能·嵌入式硬件·智能家居
飞凌嵌入式19 小时前
千次静电放电试炼,守住飞凌嵌入式硬件可靠底线
嵌入式硬件
蹊黎1 天前
Linux 下用 C 语言实现进度条
linux·c语言·单片机
无敌贵点大王1 天前
从寄存器层面重学STM32(6)——串口USART实战部分
stm32·单片机·嵌入式硬件