• 大小: 86.02MB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2023-05-04
  • 语言: 其他
  • 标签: 51单片机  DHT11  

资源简介

源码 原理图 PCB 51温湿度检测通过1602实时显示 并且按键控制温湿度阈值 控制四个继电器 加湿趋势升温降温 带开题报告参考 论文 材料清单

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
  
#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 U8FLAGU8tempU8comdataU8RH_data_H_tempU8RH_data_L_tempU8T_data_H_tempU8T_data_L_tempU8checkdata_temp;
uchar U8RH_data_HU8RH_data_LU8T_data_HU8T_data_LU8checkdata;
uchar Modehumiditytemperature;
char THTLHHHL;
bit bdata FlagStartRHhotcoldhumiddryBJ;

//定时器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;
    }
}

/*********************************
      base  DRIVE
**********************************/
void DELAY(unsigned int t)
{
while(t!=0)
t--;
}

/******************************
      IIC  DRIVE
******************************/
void IICStart(void)
{
     SCL=0;  
   DELAY(1);
     SDA=1; SCL=1; DELAY(1);
     SDA=0; DELAY(1);
     SCL=0; 
}

void IICStop(void)
{
 SDA=0;SCL=1; DELAY(1);
     SDA=1; DELAY(1);
     SCL=0; 
}
void SEND0(void)
{
SDA=0;
SCL=1;
DELAY(1);
SCL=0;
}

void SEND1(void)
{
SDA=1;
DELAY(1);
SCL=1;
DELAY(1);
SCL=0;
}

bit Check_Ack(void)
{
unsigned char errtime=250;
DELAY(1);
SCL=1; 
DELAY(1);
CY=SDA;
while(CY)
{
errtime--; 
CY=SDA;
if (!errtime)
{
IICStop();
return 1;
}
}
DELAY(1);
SCL=0; 
return 0;
}

void Write_byte(unsigned char dat) 
{
    unsigned char i;
for(i=0;i<8;i++)
{
if((dat< SEND1();
else
SEND0();
}
}

unsigned char Read_byte(void)
{
unsigned char itemp=0;     
for(i=0;i<8;i++)
{
        SDA=1;
    SCL=1;
    DELAY(1);  
if(SDA==1)
{
temp=temp<<1;
temp=temp|0x01;
}
else
temp=temp<<1;
 SCL=0;
  }
  return temp;
}

/************************************
      EEPROM  DRIVE
  Addr:from 0x00-->
*************************************/
unsigned char rdeeprom(unsigned char addr)

        unsigned char temp=0;
bit flag=0;
IICStart();
Write_byte(0xa0);
        Check_Ack();
Write_byte(addr);
Check_Ack();
IICStart();
Write_byte(0xa1);
Check_Ack();
temp=Read_byte();
SEND1();
IICStop

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-05-15 21:53  项目 1    基于51单片机温湿度的检测及控制的设计\
     目录           0  2018-04-16 18:04  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\
     文件        6376  2017-10-11 11:18  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\STARTUP.A51
     文件       14052  2018-04-16 17:38  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\STARTUP.LST
     文件         749  2018-04-16 17:38  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\STARTUP.OBJ
     文件       31551  2018-04-16 17:38  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\dht
     文件       28626  2018-04-16 17:38  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\dht.LST
     文件       40829  2018-04-16 17:38  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\dht.M51
     文件       36802  2018-04-16 17:38  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\dht.OBJ
     文件        1059  2018-04-16 17:38  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\dht.build_log.htm
     文件       14616  2017-11-22 12:21  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\dht.c
     文件        7388  2018-04-16 17:38  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\dht.hex
     文件          39  2018-04-16 17:38  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\dht.lnp
     文件         235  2017-11-24 23:24  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\dht.plg
     文件      174830  2018-04-16 18:04  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\dht.uvgui.26964
     文件       70737  2018-03-27 13:32  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\dht.uvgui.Shinelon
     文件        5737  2018-04-16 17:38  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\dht.uvopt
     文件       14421  2018-04-16 17:38  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\dht.uvproj
     文件       55257  2017-11-24 19:37  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\dht_uvopt.bak
     文件       13389  2017-10-11 11:18  项目 1    基于51单片机温湿度的检测及控制的设计\1-源程序\dht_uvproj.bak
     目录           0  2017-12-05 20:55  项目 1    基于51单片机温湿度的检测及控制的设计\10-开发资料\
     目录           0  2017-12-05 20:55  项目 1    基于51单片机温湿度的检测及控制的设计\10-开发资料\1602资料\
     文件      262017  2017-10-11 11:19  项目 1    基于51单片机温湿度的检测及控制的设计\10-开发资料\1602资料\1602液晶说明.pdf
     文件      268206  2017-10-11 11:19  项目 1    基于51单片机温湿度的检测及控制的设计\10-开发资料\1602资料\1602液晶资料[1].pdf
     文件     1205196  2017-10-11 11:19  项目 1    基于51单片机温湿度的检测及控制的设计\10-开发资料\1602资料\EN_TC1602.pdf
     文件     1347951  2017-10-11 11:19  项目 1    基于51单片机温湿度的检测及控制的设计\10-开发资料\1602资料\字符手册.pdf
     文件      577648  2017-10-11 11:19  项目 1    基于51单片机温湿度的检测及控制的设计\10-开发资料\24c02.pdf
     文件      267902  2017-10-11 11:19  项目 1    基于51单片机温湿度的检测及控制的设计\10-开发资料\AT24C02SC.pdf
     文件     5226818  2017-10-11 11:19  项目 1    基于51单片机温湿度的检测及控制的设计\10-开发资料\AT89C51.pdf
     文件     1581040  2017-10-11 11:19  项目 1    基于51单片机温湿度的检测及控制的设计\10-开发资料\AT89S51.doc
     文件       52224  2017-10-11 11:19  项目 1    基于51单片机温湿度的检测及控制的设计\10-开发资料\AT89S52的中文资料.doc
............此处省略196个文件信息

评论

共有 条评论