OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4771|回复: 2

AM2301问题求帮助

[复制链接]

13

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2014-7-11
在线时间
0 小时
发表于 2014-9-15 11:55:59 | 显示全部楼层 |阅读模式
5金钱

为什么我调出来程序一直都是这样温度一点变化都没有求帮助谢谢

#include<reg51.h> 
#include <intrins.h>
#include"lcd.h"
typedef unsigned char  U8;     
typedef signed   char  S8;     
typedef unsigned int   U16;     
typedef signed   int   S16;     
typedef unsigned long  U32;     
typedef signed   long  S32;     
typedef float          F32;     
typedef double         F64;    
#define uchar unsigned char
#define uint unsigned int
sbit  DHT  = P2^0 ; 
sbit  JDQ  = P2^7;
bit flagtemp;
bit flagsendtemp;
U8  U8FLAG;
U8  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;
U16  DHTData1,DHTData2;
U8  outdata[5]; 
U8  indata[5];
U8  count, count_r=0;
U8  RevData;
U8  str[5];
U8  data tab[6]={0x00,0x00,0x00,0x00,0x00,0x00};
unsigned char PuZh[]="wendu  shidu";
void Delay123(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 delay(uint z)
{
  uint x,y;
  for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
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;        
        }//end i
   
 }
 void RH(void)
 {
      
  
     DHT=0;
    Delay123(5);
    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;
     COM();
    DHT=1;
      
    U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp);
    if(U8temp==U8checkdata_temp)
         if(1)
      {
     U8RH_data_H = U8RH_data_H_temp;
    U8RH_data_L = U8RH_data_L_temp;
    DHTData1  = U8RH_data_H;
    DHTData1 <<= 8;
    DHTData1 |= U8RH_data_L;
     tab[0]=DHTData1/100+0x30;  
    tab[1]=DHTData1%100/10+0x30;
    tab[2]=DHTData1%10+0x30;      
   
     U8T_data_H = U8T_data_H_temp;
     U8T_data_L = U8T_data_L_temp;
    DHTData2  = U8T_data_H;
    DHTData2<<=8;
    DHTData2 |= U8T_data_L;
    if(DHTData2&0x8000)
   {
     flagtemp=1;
     DHTData2&=0x7FFF;
   }
    tab[3]=DHTData2/100+0x30;
    tab[4]=DHTData2%100/10+0x30;
    tab[5]=DHTData2%10+0x30;
   
   //    

       U8checkdata=U8checkdata_temp;
      }
    }

 }


 void aa()
 {
  uchar dd[6];
   dd[0]= tab[0] ;
   dd[1]= tab[1];
  dd[2]= tab[2];
  //
   dd[3]=  tab[3] ; 
   dd[4]= tab[4];
  dd[5]= tab[5];
  //
  //  
  LcdWriteCom(0x80+0x40+1); 
   if(flagtemp)LcdWriteCom('-');
   else LcdWriteCom('+');
  LcdWriteData(dd[0]);
  LcdWriteData(dd[1]);
  LcdWriteData('.');
  LcdWriteData(dd[2]);
  LcdWriteData('c');
  //
  LcdWriteCom(0x80+0x40+8);

  LcdWriteData(dd[3]);
  LcdWriteData(dd[4]);
  LcdWriteData('.');
  LcdWriteData(dd[5]);
  LcdWriteData('%');
 }
void main(void)
{  
   unsigned char i;
   LcdInit();
  LcdWriteCom(0x80+1);
 for(i=0;i<12;i++)
 {
  LcdWriteData(PuZh); 
 }
 while(1)
 {
   RH();
    aa();
  }
 Delay123(20000);

IMAG1607.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-9-15 22:54:46 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

13

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
112
金钱
112
注册时间
2014-7-11
在线时间
0 小时
 楼主| 发表于 2014-9-16 20:52:28 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢原子哥已经憋了两天了不知道硬件出问题还是程序有问题
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 04:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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