找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2342|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

atmega16 驅(qū)動dht11,一直不好使,求大神指點(diǎn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:103094 發(fā)表于 2016-3-19 19:56 | 只看該作者 回帖獎勵(lì) |倒序?yàn)g覽 |閱讀模式
寫的atmega16 驅(qū)動dht11,一直不好使,求大神指點(diǎn)
#define F_CPU 8000000
#include <avr/io.h>
#include "12864.h"
#define  TRH0 PORTA&=~(1<<0)
#define  TRH1 PORTA|=(1<<0)
#define  TRH_read (PINA&(1<<0))
#define  SET_IN DDRA&=~(1<<0)
#define  SET_OUT DDRA|=(1<<0)
#define u8 unsigned char
u8 date[5];
u8 fengle[5];
u8 humi,humi1,temp,temp1;
static uchar flag;
void mcu_init(void)   //起始信號
{
SET_OUT ;//輸出模式
TRH0;
_delay_ms(20);
TRH1;
_delay_us(30);
}
u8 dht_init(void)
{
u8 i=0;
SET_IN;//輸入模式
while(TRH_read&&(i<100))//判斷dht11拉低電平
{
  i++;
  //_delay_us(1);
}
if(i>=100)return 1;
else i=0;
while((!TRH_read)&&(i<100)) //判斷拉高電平
{
  i++;
  //_delay_us(1);
}
if(i>=100)return 1;
else return 0;  //響應(yīng)成功返回
}
u8 send_one_bit(void)
{
u8 i=0;
while(TRH_read&&(i<100))// 等待拉低電平,等100us不拉低,退出循環(huán)
{
  i++;
  //_delay_us(1);
}
i=0;
while((!TRH_read)&&(i<100))// 等待拉高電平
{
  i++;
  //_delay_us(1);
}
_delay_us(30);
if(TRH_read) return 1; //延時(shí)40us,如果輸出仍為高電平,表示信號為高電平,返回電平1
else return 0; //
}
u8 send_one_byte(void)
{
u8 i,dat=0;
for(i=0;i<8;i++)
{
  dat<<=1;
  dat|=send_one_bit();
}
return dat;
}
void send_date()
{
u8 i;
mcu_init();//起始信號
if(dht_init()==0) //收到響應(yīng)信號
{
  for(i=0;i<5;i++)    //發(fā)數(shù)據(jù)
  {
   date[i]=send_one_byte();
  }
  if(date[0]+date[1]+date[2]+date[3]==date[4])
  {
   flag++;
   fengle[0]=date[0];
   fengle[1]=date[1];
   fengle[2]=date[2];
   fengle[3]=date[3];
  }
}
}
void display()
{  send_cmd(0x80);
  send_data(0x30+fengle[0]/10);
  send_data(0x30+fengle[1]%10);
  send_cmd(0x98);
  send_data(0x30+fengle[2]/10);
  send_data(0x30+fengle[3]%10);
  send_cmd(0x88);
  send_data(0x30+flag/10);
  send_data(0x30+flag%10);
}
void main()
{
init_12864();
while(1)
{
  send_date();
  display();
}

}



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表