资源简介
使用51系列单片机 驱动传感器HTU21D 显示温度 湿度在液晶LCD1602显示 按键设置上下限报警 设置的数值掉电保存
代码片段和文件信息
#include
#include
#include “IIC.h“
#include “HTU.h“
unsigned char flag;
/*================================================================
【名 称】void Delay(unsigned int t)
【功 能】延时长
================================================================*/
void Delay(unsigned int t)
{
unsigned char i;
while(t--)
{
for(i = 0;i < 200;i++);
}
}
/*================================================================
【名 称】void SHT21Init(void)
【功 能】SHT21初始化函数
================================================================*/
void HTU21DInit(void)
{
I2CInit(); //I2C初始化
I2CStart(); //启动I2C
I2CWriteByte(HTU21DADDR&0xfe); //写SHT21的I2C地址
I2CWriteByte(0xfe);
I2CStop(); //停止I2C
Delay(600); //短延时
}
/*================================================================
【名 称】long Sht21Work(unsigned char order)
【功 能】Sht21测量温湿度
================================================================*/
int HTU21DWork(unsigned char order)
{
float temp = 0TH = 0;
unsigned char MSBLSB;
unsigned int shiduwendu;
I2CStart();
if(I2CWriteByte(HTU21DADDR & 0xfe) == ACK)
{
if(I2CWriteByte(order) == ACK)
{
do
{
Delay(30);
I2CStart();
}
while(I2CWriteByte(HTU21DADDR | 0x01) == NACK);
MSB = I2CReadByte(ACK);
Delay(30);
LSB = I2CReadByte(ACK);
I2CReadByte(NACK);
I2CStop();
LSB &= 0xfc;
temp = MSB*256+LSB;
if (order == 0xf3)//触发开启温度检测
{
TH=(175.72)*temp/65536-46.85;//温度:T= -46.85 + 175.72 * ST/2^16
wendu =(unsigned int)(fabs(TH)*100);
if(TH >= 0)
flag = 0;
else
flag = 1;
return wendu;
}
else
{
TH = (temp*125)/65536-6;
shidu = (unsigned int)(fabs(TH)*100);//湿度: RH%= -6 + 125 * SRH/2^16
return shidu;
}
}
}
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1941 2017-03-02 09:41 HTU21d程序 成功\eeprom.h
文件 1894 2017-09-06 10:36 HTU21d程序 成功\HTU.c
文件 148 2015-11-23 19:00 HTU21d程序 成功\HTU.h
文件 26425 2017-09-13 15:01 HTU21d程序 成功\HTU21D
文件 10268 2017-09-13 15:01 HTU21d程序 成功\HTU21D.hex
文件 58 2017-09-13 15:01 HTU21d程序 成功\HTU21D.lnp
文件 33713 2017-09-13 15:01 HTU21d程序 成功\HTU21D.M51
文件 198 2017-09-13 15:59 HTU21d程序 成功\HTU21D.plg
....... 59012 2017-09-13 15:57 HTU21d程序 成功\HTU21D.uvopt
....... 13400 2017-09-06 16:37 HTU21d程序 成功\HTU21D.uvproj
....... 58969 2017-09-06 16:37 HTU21d程序 成功\HTU21D_uvopt.bak
....... 0 2017-09-06 10:18 HTU21d程序 成功\HTU21D_uvproj.bak
文件 3001 2017-09-06 10:35 HTU21d程序 成功\IIC.c
文件 324 2017-09-06 10:52 HTU21d程序 成功\IIC.h
文件 2873 2017-09-06 11:34 HTU21d程序 成功\lcd.c
文件 552 2017-09-06 10:25 HTU21d程序 成功\lcd.h
文件 4681 2017-09-06 12:14 HTU21d程序 成功\main.c
文件 12103 2017-09-13 15:01 HTU21d程序 成功\main.LST
文件 29352 2017-09-13 15:01 HTU21d程序 成功\main.OBJ
文件 6376 2009-05-07 14:37 HTU21d程序 成功\STARTUP.A51
文件 14048 2017-09-13 15:01 HTU21d程序 成功\STARTUP.LST
文件 749 2017-09-13 15:01 HTU21d程序 成功\STARTUP.OBJ
目录 0 2017-09-13 15:59 HTU21d程序 成功
----------- --------- ---------- ----- ----
280085 23
- 上一篇:43t9sb.rar
- 下一篇:华为软件工程师面试和参考答案
相关资源
- 基于labview温湿度采集,粮仓温湿度波
- 基于MSP430单片机温湿度控制器
- QT 串口温湿度控制系统
- 温湿度、火灾气体检测,LCD1602串口双
- nRF24L01_的无线温湿度检测系统电路及
- 孵化环境温湿度监控系统设计.rar
- 基于CC2530的温湿度传感器及串口通信
- 温湿度传感器DHT11 +烟雾报警 8位数码
- 基于Arduino的温湿度传感器DHT11库
- HDC1080 模拟I2C驱动
- 温湿度监测和串口通讯
- sht31 温湿度传感器stm32 实现
- SHT75 程序 CRC
- MSP430g2231+nrf24l01+DHT11实现温湿度远程监
- 基于51单片机SHT11温湿度传感器检测程
- STM32 之DHT11驱动程序
- SHT10程序采集+显示温湿度含代码和电
- DHT11_LCD1602温湿度检测与显示程序
- C51_温湿度传感器DHT11驱动_LCD1602显示程
- STC15W4K系列单片机读取DHT11温湿度数据
- STM32F103+GPRS原理图 PCB制作PM2.5检测仪和
- stm32f1+esp8266+温湿度+光强+噪音+红外检
- 基于单片机的多点温湿度测控系统
- 基于LabVIEW及单片机的温度测控系统设
- 基于STM8的温湿度传感器DHT11驱动代码
- 51单片机DHT11温湿度传感器12864显示
- DHT11温湿度传感器 资料
- DHT11程序液晶1602显示湿度和温度
- 基于Atmega16湿度传感器源代码
- am2301 温湿度传感器程序
评论
共有 条评论