91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-10
  • 語言: C/C++
  • 標簽: iicTMP75??

資源簡介

模擬iic讀取TMP75 今天花了一上午,把那幾天沒有弄出來的TMP75,搞出來了…… 其實我驅(qū)動程序都是寫對了的,以前沒有正確接收到溫度的原因,在于C語言不扎實,想傳個參數(shù)過去接收I2C的溫度值 ,但是總會出錯,接收到的數(shù)據(jù)總是0XFF,今天用了個最笨的方法,就是定義了兩個全局溫度變量來接收I2C的數(shù)據(jù),結(jié)果一下子就不再是那個0XFF了,現(xiàn)在就把整個TMP75 驅(qū)動完成了 還有測試圖片 精確率選的是12bits 0.625攝氏度,還是很準確de。

資源截圖

代碼片段和文件信息

#include?“i2c.h“
#if?1

//#define??NOP()???_nop_()???/*?定義空指令?*/?
#define??_Nop()??_nop_()???/*定義空指令*/?????
#define??NOPS();{_nop_();_nop_();_nop_();_nop_();_nop_();}


sbit?????SCL=P0^1;?????//I2C??時鐘??
sbit?????SDA=P0^0;?????//I2C??數(shù)據(jù)????bit?ack;?????????????????/*應(yīng)答標志位*/?


UINT8?ack=0;

/*******************************************************************
????????????????????????????????起動總線函數(shù)
函數(shù)原型:?void?Start_I2c();
功能:啟動I2C總線即發(fā)送I2C起始條件.
SCL線為高電平期間,SDA線由高電平向低電平的變化表示起始信號
********************************************************************/
void?I2C_Start(void)
{
SDA=1;?????????//發(fā)送起始條件的數(shù)據(jù)信號
SCL=1;
NOPS();
SDA=0;
NOPS();
SCL=0;??????????//鉗住I2C總線,準備發(fā)送或接收數(shù)據(jù)
}
/********************************************************
結(jié)束 i2c傳輸
SCL線為高電平期間,SDA線由低電平向高電平的變化表示終止信號
********************************************************/
void?I2C_Stop(void)
{
SCL=0;
SDA=0;
NOPS();
SCL=1;
NOPS();
SDA=1;
}

INT8?I2C_WaitAck(void)
{
UINT8?errtime=255;

SCL=0;
SDA=1;
NOPS();
SCL=1;
NOPS();
while(SDA)
{
errtime--;
if(errtime==0)
{
SCL=0;
return?1;
}
}
SCL=0;

return?0;
}

UINT8?I2C_SendByte(UINT8?sdata)
{
UINT8?ret;
UINT8?i;

for(i?=?0;i<8;i++)
{
SCL=0;
if((sdata< SDA=1;
else
SDA=0;

NOPS();
SCL=1;
NOPS();
}

if(I2C_WaitAck()==0)
ret=0;
else
ret=1;


return?ret;
}

UINT8?I2C_RcvByte(void)
{
UINT8?ret=0;
UINT8?i;

SDA=1;
for(i=0;i<8;i++)
{
SCL=0;
NOPS();
SCL=1;
NOPS();
ret=ret<<1;
if(SDA==1)
ret|=0x01;
}
SCL=0;

return?ret;
}

void?I2C_SendACk(void)
{
SDA=0;
NOPS();
SCL=1;
NOPS();
SCL=0;
}

/*void?I2C_SendNotAck(void)
{?
SDA?=1?;
NOPS();
SCL?=?1;
NOPS();
SCL?=?0;
}*/

#endif

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2300??2015-07-30?10:33??TMP75.c

?????文件????????584??2015-07-30?10:33??TMP75.h

?????文件???????1937??2015-07-30?10:33??i2c.c

?????文件????????305??2015-07-30?10:33??i2c.h

-----------?---------??----------?-----??----

?????????????????5126????????????????????4


評論

共有 條評論

相關(guān)資源