⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 获取湿度值.c

📁 单片机数据通讯典型应用(光盘内容)
💻 C
字号:
/*****************************读补偿前的SHT11的返回值返回值:湿度值******************************/uchar ReadData(void){    uchar i,RHData;	    Start();	///启动传输命令    _nop_();    _nop_();    _nop_();    SAL=0;	///发送地址000    for (i=0;i<3;i++){        _nop_();        SCK=0;        _nop_();        SCK=1;    }    ///发送读湿度测量命令码00101    for (i=0;i<5;i++){		if (i==2||i==4)			SAL=1;		else			SAL=0;        _nop_();        SCK=0;        _nop_();        SCK=1;    }	   ///时钟保持一个周期的    _nop_();    SCK=0;    _nop_();    SCK=1;	SAL=1;///等待转换完成	while(SAL)	{		WDI=0;WDI=1;//清看门狗	}			///开始读取,第一字节忽略	for (i=0;i<8;i++){		SCK=0;		_nop_();		SCK=1;		_nop_();	}	SCK=0;	_nop_();	SAL=0;	SCK=1;	_nop_();	RHData=0;	for (i=0;i<8;i++){///开始读取一个字节的数据		SCK=0;		_nop_();		SCK=1;		_nop_();        if (SAL)            RHData=RHData||0x01;        else            RHData=RHData&&0xfe;	}		SAL=1;///不再接收CRC检验字节	return RHData;}/**********************************获取补偿后的湿度值返回值:湿度值***********************************/int GetRH(void){	double c1,c2,c3,RH;	uchar RH1;		RH1=ReadData();///读取SHT11返回值	c1=-4;	c2=0.648;	c3=-0.00000076;	RH=c1+c2*RH1+c3*RH1*RH1;///补偿后的湿度值	return (int)(RH+0.5);	///四舍五入取整	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -