资源简介

以51单片机为主体 实现多点的温湿度测量和显示 外接一个迷你usb加湿器 在当前湿度低于设定值时启动

资源截图

代码片段和文件信息


#include “DHT11.h“

U8  U8FLAGk;
U8  U8countU8temp;
U8  U8T_data_HU8T_data_LU8RH_data_HU8RH_data_LU8checkdata;
U8  U8T_data_H_tempU8T_data_L_tempU8RH_data_H_tempU8RH_data_L_tempU8checkdata_temp;
U8  U8comdata;
U8  count count_r=0;

U8  U8FLAG11k11;
U8  U8count11U8temp11;
U8  U8T_data_H11U8T_data_L11U8RH_data_H11U8RH_data_L11U8checkdata11;
U8  U8T_data_H_temp11U8T_data_L_temp11U8RH_data_H_temp11U8RH_data_L_temp11U8checkdata_temp11;
U8  U8comdata11;
U8  count11 count_r11=0;

void Delay1(U16 j)
{
    U8 i;
    for(;j>0;j--)
    { 
for(i=0;i<27;i++);
    }
}

void  Delay_10us(void)
{
    U8 i;
    i--;
    i--;
    i--;
    i--;
    i--;
    i--;
}

void  COM(void)
{
    U8 i;
    for(i=0;i<8;i++)    
    {
       U8FLAG=2;
    while((!DATA)&&U8FLAG++);
Delay_10us();
Delay_10us();
Delay_10us();
   U8temp=0;
        if(DATA)U8temp=1;
    U8FLAG=2;
while((DATA)&&U8FLAG++);
    //超时则跳出for循环   
    if(U8FLAG==1)break;
    //判断数据位是0还是1  
       
// 如果高电平高过预定0高电平值则数据位为 1 
     
U8comdata<<=1;
    U8comdata|=U8temp;        //0
    }//rof
}

//--------------------------------
//-----温湿度读取子程序 ------------
//--------------------------------
//----以下变量均为全局变量--------
//----温度高8位== U8T_data_H------
//----温度低8位== U8T_data_L------
//----湿度高8位== U8RH_data_H-----
//----湿度低8位== U8RH_data_L-----
//----校验 8位 == U8checkdata-----
//----调用相关子程序如下----------
//---- Delay(); Delay_10us();COM(); 
//--------------------------------
U8 RH(void)
{
    //主机拉低18ms 
    DATA=0;
Delay1(180);  //原来为5
DATA=1;
//总线由上拉电阻拉高 主机延时20us
Delay_10us();
Delay_10us();
Delay_10us();
Delay_10us();
//主机设为输入 判断从机响应信号 
DATA=1;
//判断从机是否有低电平响应信号 如不响应则跳出,响应则向下运行   
if(!DATA)  //T !   
{
    U8FLAG=2;
    //判断从机是否发出 80us 的低电平响应信号是否结束  
    while((!DATA)&&U8FLAG++);
    U8FLAG=2;
    //判断从机是否发出 80us 的高电平,如发出则进入数据接收状态
    while((DATA)&&U8FLAG++);
    //数据接收状态  
    COM();
    U8RH_data_H_temp=U8comdata;
    COM();
    U8RH_data_L_temp=U8comdata;
    COM();
    U8T_data_H_temp=U8comdata;
    COM();
    U8T_data_L_temp=U8comdata;
    COM();
    U8checkdata_temp=U8comdata;
    DATA=1;
    //数据校验 
    U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp);
    if(U8temp==U8checkdata_temp)
    {
       U8RH_data_H=U8RH_data_H_temp;
       U8RH_data_L=U8RH_data_L_temp;
       U8T_data_H=U8T_data_H_temp;
       U8T_data_L=U8T_data_L_temp;
       U8checkdata=U8checkdata_temp;
    }//fi
return 1;
}//fi
else   //传感器不响应
{
   return 0;
}
}



void  COM11(void)
{
    U8 i;
    for(i=0;i<8;i++)    
    {
       U8FLAG11=2;
    while((!DATA11)&&U8FLAG11++);
Delay_10us();
Delay_10us();
Delay_10us();
   U8temp11=0;
        if(DATA11)U8temp11=1;
    U8FLAG11=2;
while((DATA11)&&U8FLAG11++);
    //超时则跳出for循环   
    if(U8FLAG11==1)break;
    //判断数据位是0还是

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5143  2018-03-24 15:14  34401多路温湿度程序\DHT11.c

     文件       1215  2018-03-24 15:12  34401多路温湿度程序\DHT11.h

     文件      10609  2018-03-27 15:52  34401多路温湿度程序\DHT11.LST

     文件      11559  2018-03-27 15:52  34401多路温湿度程序\DHT11.OBJ

     文件       3468  2018-03-01 21:57  34401多路温湿度程序\DS1302.c

     文件        855  2018-03-01 19:49  34401多路温湿度程序\DS1302.h

     文件       7615  2018-03-01 22:04  34401多路温湿度程序\DS1302.OBJ

     文件       2147  2017-10-20 13:03  34401多路温湿度程序\LCD1602.c

     文件        434  2018-01-09 20:18  34401多路温湿度程序\LCD1602.h

     文件       4402  2018-03-27 15:52  34401多路温湿度程序\LCD1602.LST

     文件       5314  2018-03-27 15:52  34401多路温湿度程序\LCD1602.OBJ

     文件       7893  2018-03-27 15:52  34401多路温湿度程序\main.LST

     文件       9698  2018-03-27 15:52  34401多路温湿度程序\main.OBJ

     文件        943  2017-01-17 17:59  34401多路温湿度程序\main.opt.bak

     文件       2069  2017-01-17 17:59  34401多路温湿度程序\main.Uv2.bak

    .......     68873  2018-03-27 16:59  34401多路温湿度程序\main.uvopt

    .......     13739  2018-03-27 15:51  34401多路温湿度程序\main.uvproj

     文件       1685  2017-01-17 17:59  34401多路温湿度程序\main_Opt.Bak

    .......     68867  2018-03-27 16:30  34401多路温湿度程序\main_uvopt.bak

    .......     13742  2018-03-24 14:10  34401多路温湿度程序\main_uvproj.bak

     文件       5116  2017-01-17 17:59  34401多路温湿度程序\STARTUP.A51

     文件      11666  2018-03-27 15:52  34401多路温湿度程序\Startup.LST

     文件        749  2018-03-27 15:52  34401多路温湿度程序\Startup.OBJ

     文件      23024  2018-03-27 15:52  34401多路温湿度程序\温湿度

     文件       4224  2018-03-27 15:52  34401多路温湿度程序\温湿度.hex

     文件      25246  2018-03-27 15:52  34401多路温湿度程序\温湿度.M51

     文件        223  2018-03-27 16:51  34401多路温湿度程序\温湿度.plg

     文件      35840  2018-10-10 12:52  lunwen.doc

     目录          0  2018-10-10 12:52  34401多路温湿度程序

----------- ---------  ---------- -----  ----

............此处省略2个文件信息

评论

共有 条评论