#include"IIC.H"
#include
unsigned char ask;
void delay()
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
void IICinit()
{
SDA=1;
delay();
SCL=1;
delay();
SDA=0;
delay();
SCL=0;
}
void IICstart()
{
SDA=1;
delay();
SCL=1;
delay();
SDA=0;
delay();
SCL=0;
}
void IICrespons()
{
unsigned char i=0;
SCL=1;
delay();
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;
delay();
SDA=1;
delay();
}
unsigned char IICreadbyte()
{
unsigned char i,k;
SCL=0;
delay();
SDA=1;
for(i=0;i<8;i++)
{
SCL=1;
delay();
k=(k<<1)|SDA;
SCL=0;
delay();
}
delay();
return k;
}
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』