#include“ IIC.H”
#包括
未签名的字符询问;
无效的delay()
{
_NOP_();
_NOP_();
_NOP_();
_nop_();
_nop_();
_nop_();
}
void IICinit()
{
SDA=1;
delay();
SCL = 1;
延迟();
SDA = 0;
延迟();
SCL = 0;
}
IICstart()无效
{
SDA = 1;
延迟();
SCL = 1;
延迟();
SDA = 0;
延迟();
SCL = 0;
}
IICrespons()无效
{
无符号字符i = 0;
SCL = 1;
延迟();
while((SDA == 1)&&(i <255))
i ++;
SCL=0;
delay();
}
void IICstop()
{
SDA=0;
delay();
SCL=1;
delay();
SDA=1;
delay();
SCL=0;
}
void IICwritebyte(unsigned char date)
{
unsigned char i,temp;
temp=date;
for(i=0;i<8;i++)
{
temp=temp<<1;
SCL=0;
delay();
SDA=CY;
delay();
SCL=1;
delay();
}
SCL = 0;
延迟();
SDA = 1;
延迟();
}
无符号字符IICreadbyte()
{
未签名的字符i,k;
SCL = 0;
延迟();
SDA = 1;
for(i = 0; i <8; i ++)
{
SCL = 1;
延迟();
k =(k << 1)| SDA;
SCL = 0;
延迟();
}
延迟();
返回k;
}