打印
[DemoCode下载]

N76E003 DHT11

[复制链接]
1764|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主



使用特权

评论回复
沙发
643757107|  楼主 | 2019-6-11 20:40 | 只看该作者

使用特权

评论回复
板凳
643757107|  楼主 | 2019-6-11 20:40 | 只看该作者
#include "N76E003.h"
#include "Common.h"
#include "Delay.h"
#include "SFR_Macro.h"
#include "Function_define.h"

#define uint unsigned int
#define uchar unsigned  char

uint WtkCount=0;
bit WtkFlag=0;

sbit DATA_PIN=P1^5;


//温湿度定义
uchar ucharFLAG,uchartemp;
uchar shidu_shi,shidu_ge,wendu_shi,wendu_ge=4;
uchar ucharT_data_H,ucharT_data_L,ucharRH_data_H,ucharRH_data_L,ucharcheckdata;
uchar ucharT_data_H_temp,ucharT_data_L_temp,ucharRH_data_H_temp,ucharRH_data_L_temp,ucharcheckdata_temp;
uchar ucharcomdata;
uchar shidu,wendu;

//延时函数
void Delay_us() //1 us延时
{
    nop;
nop; nop; nop; nop; nop; nop; nop; nop;
}

void Delay_10us() //10 us延时
{
  Delay_us();
  Delay_us();
  Delay_us();
  Delay_us();
  Delay_us();
  Delay_us();
  Delay_us();
  Delay_us();
  Delay_us();
  Delay_us();   
}


//温湿度传感
void COM(void)    // 温湿写入
{     
    uchar i;         
    for(i=0;i<8;i++)   
    {
        ucharFLAG=2;
        
        DATA_PIN=0;
        DATA_PIN=1;
        
       while((!DATA_PIN)&&ucharFLAG++);
        Delay_10us();
        Delay_10us();
        Delay_10us();
        uchartemp=0;
        if(DATA_PIN)uchartemp=1;
        ucharFLAG=2;
        while((DATA_PIN)&&ucharFLAG++);
        
        DATA_PIN=0;
        DATA_PIN=1;
        
        if(ucharFLAG==1)break;   
        ucharcomdata<<=1;
        ucharcomdata|=uchartemp;
    }   
}

void DHT11(void)   //温湿传感启动
{
    DATA_PIN=0;         //拉低总线
    Timer0_Delay1ms(19);        //>18MS
    DATA_PIN=1;         //总线拉高,此时已改变IO状态为读
//   P0DIR &= ~0x01; //重新配置IO口方向
    Delay_10us();
    Delay_10us();                        
    Delay_10us();
    Delay_10us();
    DATA_PIN=1;
    if(!DATA_PIN) //等待传感器拉低总线
    {
        ucharFLAG=2;
        while((!DATA_PIN)&&ucharFLAG++);
        ucharFLAG=2;
        while((DATA_PIN)&&ucharFLAG++); //传感器开始发送数据
        COM();
        ucharRH_data_H_temp=ucharcomdata;
        COM();
        ucharRH_data_L_temp=ucharcomdata;
        COM();
        ucharT_data_H_temp=ucharcomdata;
        COM();
        ucharT_data_L_temp=ucharcomdata;
        COM();
        ucharcheckdata_temp=ucharcomdata;
        DATA_PIN=1; //接收完成,拉高总线
        uchartemp=(ucharT_data_H_temp+ucharT_data_L_temp+ucharRH_data_H_temp+ucharRH_data_L_temp);
        if(uchartemp==ucharcheckdata_temp)
        {
            ucharRH_data_H=ucharRH_data_H_temp;
            ucharRH_data_L=ucharRH_data_L_temp;
            ucharT_data_H=ucharT_data_H_temp;
            ucharT_data_L=ucharT_data_L_temp;
            ucharcheckdata=ucharcheckdata_temp;
        }
        //只使用了高八位数据(整数),低八位数据为小数
        wendu_shi=ucharT_data_H/10;
        wendu_ge=ucharT_data_H%10;
        
        shidu_shi=ucharRH_data_H/10;
        shidu_ge=ucharRH_data_H%10;        
    }
}


void main (void)
{
        Set_All_GPIO_Quasi_Mode;
        LED=1;
         while(1)
   {   
         DHT11();  
                        wendu=(wendu_shi*10)+wendu_ge;
                        shidu=(shidu_shi*10)+shidu_ge;                 
   }
}

使用特权

评论回复
地板
643757107|  楼主 | 2019-6-11 20:41 | 只看该作者

使用特权

评论回复
5
643757107|  楼主 | 2019-6-11 20:42 | 只看该作者
DHT11精度真的不高,只适合在一些要求不严的地方使用。

使用特权

评论回复
6
dongnanxibei| | 2019-6-13 23:59 | 只看该作者
这个虽然精度不高,但是便宜好用

使用特权

评论回复
7
dongnanxibei| | 2019-6-14 00:05 | 只看该作者
环节温度测量的很好选择。

使用特权

评论回复
8
yiyigirl2014| | 2019-6-14 23:51 | 只看该作者
使用过这个的路过。

使用特权

评论回复
9
huangcunxiake| | 2019-6-17 09:47 | 只看该作者
这个是单线协议

使用特权

评论回复
10
yingtexin| | 2019-6-18 22:57 | 只看该作者
有相关成品的图片吗?

使用特权

评论回复
11
643757107|  楼主 | 2019-6-18 23:04 | 只看该作者
yingtexin 发表于 2019-6-18 22:57
有相关成品的图片吗?

一个学习笔记还要成品图?直接杜邦线连接。

使用特权

评论回复
12
zhuomuniao110| | 2019-6-21 11:41 | 只看该作者
学习单片机入门的外设。

使用特权

评论回复
13
cmyldd| | 2022-3-8 11:19 | 只看该作者
这个传感器应该还是不少的,毕竟价格摆上来的现实

使用特权

评论回复
14
sparrow054| | 2022-3-9 14:28 | 只看该作者
643757107 发表于 2019-6-11 20:42
DHT11精度真的不高,只适合在一些要求不严的地方使用。

从价格你就知道了

使用特权

评论回复
15
uiint| | 2022-4-1 12:37 | 只看该作者
这个主要是延时的控制

使用特权

评论回复
16
iamaiqiyi| | 2022-4-1 14:12 | 只看该作者
DHT11可以挂几个软件呢

使用特权

评论回复
17
linfelix| | 2022-4-1 15:27 | 只看该作者
是不是内部有系统可以参考呢

使用特权

评论回复
18
wanduzi| | 2022-4-8 19:47 | 只看该作者
学习一下

使用特权

评论回复
19
zhuotuzi| | 2022-4-8 19:48 | 只看该作者
这给力啊,我手里还有几十个这个芯片,学习学习,准备做个板子玩玩。

使用特权

评论回复
20
pklong| | 2022-4-11 15:04 | 只看该作者
内部延时怎么做大精确到1us呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

213

主题

3784

帖子

11

粉丝