找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1229|回复: 0
打印 上一主题 下一主题
收起左侧

DTH11温度传感器模块

[复制链接]
跳转到指定楼层
楼主
ID:757374 发表于 2020-5-21 14:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DTH11温度传感器模块
#include <reg51.h>
#include <intrins.h>
#include "dht11.h"
//typedef unsigned char  U8;       /* defined for unsigned 8-bits integer variable           ???8?????  */
typedef signed   char  S8;       /* defined for signed 8-bits integer variable                  ???8?????  */
typedef unsigned int   U16;      /* defined for unsigned 16-bits integer variable           ???16????? */
typedef signed   int   S16;      /* defined for signed 16-bits integer variable           ???16????? */
typedef unsigned long  U32;      /* defined for unsigned 32-bits integer variable           ???32????? */
typedef signed   long  S32;      /* defined for signed 32-bits integer variable           ???32????? */
typedef float          F32;      /* single precision floating point variable (32bits) ??????(32???) */
typedef double         F64;      /* double precision floating point variable (64bits) ??????(64???) */
#define uchar unsigned char
#define uint unsigned int
#define   Data_0_time    4
sbit  dht=P3^6;
U8  U8FLAG,k;
U8  U8count,U8temp;
//U8  U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;
U8  U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;
U8  U8comdata;
U8  outdata[5];  //????????          
U8  indata[5];
U8  count, count_r=0;
U8  str[5]={"RS232"};
U16 U16temp1,U16temp2;
void Delay(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((!dht)&&U8FLAG++);
                Delay_10us();
                Delay_10us();
                Delay_10us();
                U8temp=0;
                if(dht)U8temp=1;
                U8FLAG=2;
                while((dht)&&U8FLAG++);          
                if(U8FLAG==1)break;
                U8comdata<<=1;
                U8comdata|=U8temp;        //0
        }//rof
}
void RH(void)
{
        dht=0;
        Delay(180);
        dht=1;
        Delay_10us();
        Delay_10us();
        Delay_10us();
        Delay_10us();
        dht=1;  
        if(!dht)                 //T !          
        {
                U8FLAG=2;
                while((!dht)&&U8FLAG++);
                U8FLAG=2;
                while((dht)&&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;
                dht=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
        }//fi
}
//void main()
//{
//        while(1)
//        {
//                RH();
//                str[0]=U8RH_data_H;
//                str[1]=U8RH_data_L;
//                str[2]=U8T_data_H;
//                str[3]=U8T_data_L;
//                str[4]=U8checkdata;
//                Delay(20000);
//        }//elihw
//}// main

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表