資源簡介
SHT75溫濕度傳感器的模擬IIC驅動程序,得到工程應用。

代碼片段和文件信息
#include?“SHT75.h“
InttoFloat??Temperature_data={0x00};
InttoFloat??Humidity_data={0x00};
/******************************************************************************
*?函數(shù)名稱:void?AT24C04_Start(void)
*?功????能:SHT75發(fā)送命令開始信號
*?入口參數(shù):無
*?出口參數(shù):無
*?修改日志:
******************************************************************************/
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;
}
/******************************************************************************
*?函數(shù)名稱:void?SHT7X_Connectionreset()
*?功????能:SHT75復位信號
*?入口參數(shù):無
*?出口參數(shù):無
*?修改日志:
******************************************************************************/
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();
}
/******************************************************************************
*?函數(shù)名稱:unsigned?char?SHT7X_WriteOneByte(unsigned?char?value)
*?功????能:向SHT7X中寫一個字節(jié)數(shù)據(jù)
*?入口參數(shù):value:被寫入的數(shù)據(jù)
*?出口參數(shù):error:1:Salver無回應;0:Salver回應收到數(shù)據(jù)
*?修改日志:
******************************************************************************/
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
}
/******************************************************************************
*?函數(shù)名稱:unsigned?char?SHT7X_ReadOneByte()
*?功????能:向SHT7X中寫一個字節(jié)數(shù)據(jù)
*?入口參數(shù):無
*?出口參數(shù):error:1:Salver無回應;0:Salver回應收到數(shù)據(jù)
*?修改日志:
******************************************************************************/
unsigned?char?SHT7X_ReadOneByte(unsigned?char?ack)
{
???unsigned?char?idata8=0;
???SHT7X_SDA_H;//釋放SDA線
???SHT7X_SDA_IN;//置數(shù)據(jù)線輸入
???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;
}
/******************************************************************************
*?函數(shù)名稱:unsigned?char?SHT7X_ReadOneByte()
*?功????能:向SHT7X中寫一個字節(jié)數(shù)據(jù)
*?入口參數(shù):無
*?出口參數(shù):error:1:Salver無回應;0:Salver回應收到數(shù)據(jù)
*?修改日志:
******************************************
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????9894??2014-04-08?20:53??SHT7X.c
?????文件????????2252??2014-04-08?20:53??SHT7X.h
評論
共有 條評論