上接Mega8学习笔记(10.3.1)-------cocoguojia 原创
void send_ack(u8 ack)
{
if(ack==1)
SDA_HIGHT;
}
else
SDA_LOW;
SCL_HIGHT;
SCL_LOW;
u8 read(void)
u8 r_data=0,i;
for(i=0;i<=7;i++)
if(SDA_INPUT==1)
r_data++;
;
if(i!=7) //***********注意************
r_data<<=1;
send_ack(0);
return r_data;
void main(void)
init();
start();
write(0xa0);
write(0x20);
write(0x55);
stop();
delay_ms(15);
write(0xa1);
PORTB=read();
while (1)