1 / 11
文档名称:

DHT22数字温湿度传感器AM2302温湿度模块(带说明书).doc

格式:doc   大小:357KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

DHT22数字温湿度传感器AM2302温湿度模块(带说明书).doc

上传人:cxmckate6 2022/1/25 文件大小:357 KB

下载得到文件列表

DHT22数字温湿度传感器AM2302温湿度模块(带说明书).doc

文档介绍

文档介绍:word
word
1 / 11
word
AM2302温湿度传感器C程序〔测试可以用〕
2017-8-13
说明:
DHT22与DHT11程序根本一样,DHT11起始信号拉低18ms,DHT22起始信号拉低是800us,variable (64bits) 双精度浮点数〔64位长度〕 */
//
#define uchar unsigned char
#define uint unsigned int
#define Data_0_time 4
//----------------------------------------------//
//----------------IO口定义区--------------------//
//----------------------------------------------//
sbit P2_0 = P3^2 ;
//----------------------------------------------//
//----------------定义区--------------------//
//----------------------------------------------//
U8 U8FLAG,k;
U8 U8count,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 U8data;
U8 outdata[5]; //定义发送的字节数
U8 indata[5];
U8 count, count_r=0;
U8 str[5]={"RS232"};
U16 U16temp1,U16temp2;
U16 R_H,R_L,T_H,T_L;
void Delay(U16 j)
word
word
3 / 11
word
{ 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 (void)
{
U8 i;
for(i=0;i<8;i++)
{
U8FLAG=2;
while((!P2_0)&&U8FLAG++);
Delay_10us();
Delay_10us();
Delay_10us();
U8temp=0;
if(P2_0)U8temp=1;
U8FLAG=2;
while((P2_0)&&U8FLAG++);
//超时如此跳出for循环
if(U8FLAG==1)break;
//判断数据位是0还是1
// 如果高电平高过预定0高电平值如此数据位为 1
U8data<<=1;
U8data|=U8temp; //0
}//rof
}
//--------------------------------
//-----湿度读取子程序 ------------
//--------------------------------
//----以下变量均为全局变量--------
//----温度高8位== U8T_data_H------
//----温度低8位== U8T_data_L------
//----湿度高8位== U8RH_data_H-----
word
word
4 / 11
word
//----湿度低8位== U8RH_data_L-----
//----校验 8位 == U8checkdata-----
//----调用相关子程序如下----------
//---- Delay();, Delay_10us();,();
//--------------------------------
void RH(void)
{