一、资料内容(私信)
- (1)、基于51单片机的DHT11温湿度检测与控制系统proteus仿真设计一份;
- (2)、基于51单片机的DHT11温湿度检测与控制系统proteus仿真设计keli源代码一份;
- (3)、基于51单片机的DHT11温湿度检测与控制系统proteus仿真设计Altium designer原理图一份;
- (4)、基于51单片机的DHT11温湿度检测与控制系统proteus仿真设计Altium designer PCB(图片形式)一份;
- (5)、基于51单片机的DHT11温湿度检测与控制系统proteus仿真设计视频讲解一份;
- (6)资料还有很多,具体参考下图;
二、设计要求
- (1)、要求以51系列单片机为核心,设计dht11温湿度检测与报警装置;
- (2)、系统可以通过lcd1602显示检测到的数据;
- (3)、系统可以通过按键设置温度、湿度的最大值与最小值;
- (4)、系统能够根据触发规则执行相应动作;
三、相关资料截图
图1. 系统proteus仿真图
图2. 系统keil源代码工程文件截图
图3. 系统原理图设计图
图4. 系统PCB
四、视频讲解
部分代码:
#include <reg52.h>
#include <intrins.h>
#include <absacc.h>
#include <math.h>
#define uchar unsigned char
#define uint unsigned int
//定义四个输出端口
sbit Led_jiashi=P3^4; //加湿
sbit Led_qushi=P3^3; //去湿
sbit Led_jiangwen=P3^1; //降温
sbit Led_shengwen=P3^2; //升温
//定义三个设置按键
sbit Key_SET = P2^0;
sbit Key_ADD = P2^1;
sbit Key_SUB = P2^2;
sbit Key_OK = P2^3;
//定义24C02数据口
sbit SCL = P1^0;
sbit SDA = P1^1;
//定义DHT11数据口
sbit DATA = P1^7;
sbit buzz=P3^5;
//定义LCD1602端口
sbit E=P1^3; //1602使能引脚
//sbit RW=P2^6; //1602读写引脚
sbit RS=P1^2; //1602数据/命令选择引脚
//定义全局变量
uchar U8FLAG,U8temp,U8comdata,U8RH_data_H_temp,U8RH_data_L_temp,U8T_data_H_temp,U8T_data_L_temp,U8checkdata_temp;
uchar U8RH_data_H,U8RH_data_L,U8T_data_H,U8T_data_L,U8checkdata;
uchar Mode,humidity,temperature;
char TH,TL,HH,HL;
bit bdata FlagStartRH,hot,cold,humid,dry,BJ;
//定时器0初始化
void Timer0_Init()
{
ET0 = 1; //允许定时器0中断
TMOD = 0x11; //定时器工作方式选择
TL0 = 0xFF;
TH0 = 0x4B; //定时器赋予初值
TR0 = 1; //启动定时器
}
//定时器0中断
void Timer0_ISR (void) interrupt 1 using 0
{
uchar RHCounter;
TL0 = 0xFF;
TH0 = 0x4B; //定时器赋予初值
RHCounter++;
if(RHCounter%10==0&&BJ==1)
buzz=!buzz;
else if(BJ==0)
buzz=1;
//每2秒钟启动一次温湿度转换
if (RHCounter >= 40)
{
FlagStartRH = 1;
RHCounter = 0;
}
}