51mcu和24C01
I_init();
wait_5ms();
IIC_start();
_Nop();
if(I_send(0xa0)) led4=0;
_Nop();
if(I_send(0x00)) led3=0;
EAROM2[0]=(I_receive());
I_stop();
uchar I_receive(void)
{
uchar I_data=0;
uchar i;
SDA=1;
for(i=0;i <8;i++)
{ _Nop();
SCL=0; /*置时钟线为低,准备接收数据位*/
_Nop();
_Nop(); /*时钟低电平周期大于4.7μs*/
_Nop();
_Nop();
_Nop();
SCL=1; /*置时钟线为高使数据线上数据有效*/
_Nop();
_Nop();
I_data*=2;
if(SDA==1)I_data=I_data+1; /*读数据位,接收的数据位放入I_data中 */
_Nop();
_Nop();
end_if
end_for
}
SCL=0;
_Nop();
_Nop();
return(I_data);
}
EAROM2[1]=(I_receive());
却发现 EAROM2[0]=0xff。我原来写在里面的是0xaa。
发表时间:2005年2月27日20:43:50