• 大小: 3KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: 其他
  • 标签:

资源简介

SHT75温湿度传感器的模拟IIC驱动程序,得到工程应用。

资源截图

代码片段和文件信息

#include “SHT75.h“
InttoFloat  Temperature_data={0x00};
InttoFloat  Humidity_data={0x00};

/******************************************************************************
* 函数名称:void AT24C04_Start(void)
* 功    能:SHT75发送命令开始信号
* 入口参数:无
* 出口参数:无
* 修改日志:
******************************************************************************/
void SHT7X_Start(void)
{
  SHT7X_SDA_OUT;SHT7X_SCL_OUT;
  asm(“nop“);asm(“nop“);
  SHT7X_SDA_H;
  SHT7X_SCL_L;//初始化接口
  SHT7X_SCL_H;
  SHT7X_SDA_L;
  SHT7X_SCL_L;
  SHT7X_SCL_H;
  SHT7X_SDA_H;
  SHT7X_SCL_L;
}
/******************************************************************************
* 函数名称:void SHT7X_Connectionreset()
* 功    能:SHT75复位信号
* 入口参数:无
* 出口参数:无
* 修改日志:
******************************************************************************/
void SHT7X_Connectionreset()
{
    unsigned char i ;
    SHT7X_SDA_OUT; SHT7X_SCL_OUT;
    asm(“nop“);asm(“nop“);
    SHT7X_SDA_H;
    SHT7X_SCL_L;//初始化接口
    for(i=0;i<9;i++)        //9 SCk cycles
    {
        SHT7X_SCL_H;
        SHT7X_SCL_L;
    }
    SHT7X_Start();
}
/******************************************************************************
* 函数名称:unsigned char SHT7X_WriteOneByte(unsigned char value)
* 功    能:向SHT7X中写一个字节数据
* 入口参数:value:被写入的数据
* 出口参数:error:1:Salver无回应;0:Salver回应收到数据
* 修改日志:
******************************************************************************/
unsigned char SHT7X_WriteOneByte(unsigned char value)
{
   unsigned char ierror=0;
   for(i=0;i<8;i++)
   {
     if(value&0x80)
       SHT7X_SDA_H;
     else
       SHT7X_SDA_L;
     SHT7X_SCL_H;
     value=value<<1;
     SHT7X_SCL_L;
   }
   SHT7X_SDA_H;     //释放SDA线,第9个时钟周期开始
   SHT7X_SDA_IN;
   asm(“nop“);asm(“nop“);
   SHT7X_SCL_H;     //clk #9 for ack
   error=SHT7X_RSDA;//check ack (DATA will be pulled down by SHT11)
   SHT7X_SCL_L;
   SHT7X_SDA_H;     //释放SDA线
   return error;    //error=1 in case of no acknowledge
}
/******************************************************************************
* 函数名称:unsigned char SHT7X_ReadOneByte()
* 功    能:向SHT7X中写一个字节数据
* 入口参数:无
* 出口参数:error:1:Salver无回应;0:Salver回应收到数据
* 修改日志:
******************************************************************************/
unsigned char SHT7X_ReadOneByte(unsigned char ack)
{
   unsigned char idata8=0;
   SHT7X_SDA_H;//释放SDA线
   SHT7X_SDA_IN;//置数据线输入
   asm(“nop“);asm(“nop“);
   for(i=0;i<8;i++)
   {
      SHT7X_SCL_H;
      data8=data8<<1;
      if(SHT7X_RSDA)data8|=0x01;
      SHT7X_SCL_L;
   }
   SHT7X_SDA_OUT;
   asm(“nop“);asm(“nop“);
   if(ack)
     SHT7X_SDA_L;
   else
     SHT7X_SDA_H;
   SHT7X_SCL_H;  //clk #9 for ack
   SHT7X_SCL_L;
   SHT7X_SDA_H;
   return data8;
}
/******************************************************************************
* 函数名称:unsigned char SHT7X_ReadOneByte()
* 功    能:向SHT7X中写一个字节数据
* 入口参数:无
* 出口参数:error:1:Salver无回应;0:Salver回应收到数据
* 修改日志:
******************************************

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        9894  2014-04-08 20:53  SHT7X.c
     文件        2252  2014-04-08 20:53  SHT7X.h

评论

共有 条评论

相关资源