標(biāo)題: DHt11程序 [打印本頁(yè)]

作者: ljb956520    時(shí)間: 2017-4-21 19:38
標(biāo)題: DHt11程序
bit dht11_VDD=P2^1;
sbit dht11_data=P2^2;
sbit dht11_GND=P2^3;
uchar DHT11_data[11]={0};
uchar data_byte;
void delay_8us()
{
   uchar i;
   for(i=0;i<1;i++);
}
void start()
{
   dht11_data=1;
   delay_8us();//延時(shí)8微秒
   dht11_data=0;
   delay(25);
   dht11_data=1;
   delay_8us();
   delay_8us();
   delay_8us();
}
uchar recevice_DHT11byte()
{
  uchar i,temp;
     for(i=0;i<8;i++)
           {
             while(!dht11_data);
                 delay_8us();
         delay_8us();
         delay_8us();
                 temp=0;
                 if(dht11_data==1)
                    temp=1;
                 while(dht11_data);
                data_byte<<=1;
                 data_byte=data_byte|temp;
           }
        return data_byte;
}
void receive_DHT11()
{
   uchar T_H,T_L,R_H,R_L;
   uchar check,num_check,i;
   start();
   dht11_data=1;
   if(!dht11_data)
      {
            while(!dht11_data);
                while(dht11_data);
                R_H=recevice_DHT11byte();
        R_L=recevice_DHT11byte();
                T_H=recevice_DHT11byte();
                T_L=recevice_DHT11byte();
                check=recevice_DHT11byte();
        dht11_data=0;
                for(i=0;i<8;i++)
                {
                  delay_8us();
                }
                dht11_data=1;
                num_check=T_H+T_L+R_H+R_L;
                if(num_check==check)
                  {
                    DHT11_data[0]=R_H;
                    DHT11_data[1]=R_L;
                        DHT11_data[2]=T_H;
                    DHT11_data[3]=T_L;
                        DHT11_data[4]=check;
                  }
          }
}
void deal_DHT11data()
{
   DHT11_data[5]=0x30+DHT11_data[0]/10;
   DHT11_data[6]=0x30+DHT11_data[0]%10;
   DHT11_data[7]=0x30+DHT11_data[1]/10;
   DHT11_data[8]=0x30+DHT11_data[2]/10;
   DHT11_data[9]=0x30+DHT11_data[2]%10;
   DHT11_data[10]=0x30+DHT11_data[3]/10;
}



作者: 一笑泯恩仇啊    時(shí)間: 2017-11-1 20:30
我最近也在學(xué)這個(gè),就是你的最后的數(shù)據(jù)處理是啥意思,沒(méi)看懂,你能給說(shuō)說(shuō)嗎




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1