• 大小: 1KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: 其他
  • 标签: k60  dht11  

资源简介

关于K60的时序写法,直接复制该头文件就行了。当时用的是山外的

资源截图

代码片段和文件信息



#include “include.h“
#include “dht11.h“  //导入头文件dht11.h


//uint32 timevar2;
#define DTH11_PORT      PTC9
uint8 TEMP_RHTEMP_RLTEMP_THTEMP_TL;
void DHT11_GPIO_IN(void)
{
    gpio_init (DTH11_PORT GPI0);//初始化输入模式
     
   
}

void DHT11_GPIO_OUT(void)
{
   gpio_init (DTH11_PORT GPO1);
  

}


DHT11_Data DHT11;



void DHT11WriteStart(void)//开始标志
{
    DHT11_GPIO_OUT(); //输出
    gpio_set (DTH11_PORT 1);
    gpio_set (DTH11_PORT 0);
    lptmr_delay_ms(20);
    gpio_set (DTH11_PORT 1);
    lptmr_delay_us(30);
    DHT11_GPIO_IN(); //主机发送信号等待
  
}


u8 DHT11ReadByte(void)
{
  u8 temp=0i;
for(i=0;i<8;i++)
  {
     
    while( gpio_get(DTH11_PORT)==0);//DHT11输出低电平
     lptmr_delay_us(60);
   
    if(gpio_get(DTH11_PORT)==1) //60us是否高电平,是标志1
      {
       while(gpio_get(DTH11_PORT)==1)
        temp|=(u8)(0x01<<(7-i));
 
       }
    
   else //否表示0
    {
      temp&=(u8)~(0x01<<(7-i));
        
   }
  
   
 }
return temp;
}




//时序图编写的接受函数
void DHT11Read(void)
{   
    
    DHT11WriteStart(); 
    if(DHT11_DATA_IN==0)
      {
       while(gpio_get(DTH11_PORT)==0);
 
        while(gpio_get(DTH11_PORT) ==1);
          
        DHT11.RH= DHT11ReadByte(); 
        DHT11.RL= DHT11ReadByte(); 
        DHT11.TH= DHT11ReadByte(); 
        DHT11.TL= DHT11ReadByte(); 
        DHT11.sum= DHT11ReadByte(); 

        DHT11_GPIO_OUT(); 
        DHT11_DATA_OUT=1; 
      }
       

}
uint8 temperature[10];
void get_temperature()
{

        if(DHT11.sum== DHT11.RH+DHT11.RL+DHT11.TH+DHT11.TL) 
{        
               //装逼数据,实际采集回来小数点后面为0
                DHT11.RL=6;
                DHT11.TL=2;
               
                TEMP_RH=(uint8)DHT11.RH;
               
                PAR_out_2(504TEMP_RH);
                LCD_Print(754“.“);
                TEMP_RL=(uint8)DHT11.RL;
                PAR_out_1(754TEMP_RL);
                LCD_Print(904“%“);
                TEMP_TH=(uint8)DHT11.TH;
                PAR_out_2(954TEMP_TH);
                LCD_Print(1204“C“);
                //TEMP_TL=(uint8)DHT11.TL;

}

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2236  2018-08-03 20:22  DHT11.c
     文件         724  2018-08-03 19:20  dht11.h

评论

共有 条评论