資源簡介
清晰明確的操作思路 詳細的注釋
通過IIC總線讀寫AT24C02B(EEPROM),同時用LED反映讀出數據狀態
代碼片段和文件信息
#include?
#define?uchar?unsigned?char
sbit?SCL=P3^2;
sbit?SDA=P3^3;
void?delay()
{?;?;?}
void?delay1(uchar?x)
{
uchar?ab;
for(a=x;a>0;a--)
for(b=100;b>0;b--);
}
void?start()//起始信號
{
SDA=1;
delay();
SCL=1;
delay();
SDA=0;
delay();
}
void?stop()//終止信號
{
SDA=0;
delay();
SCL=1;
delay();
SDA=1;
delay();
}
void?respons()//應答信號
{
uchar?i;
SCL=1;
delay();
while((SDA==1)&&(i<255))//等待應答信號,255可以變動
{
i++;
}
SCL=0;
delay();
}
void?init()
{
SDA=1;
SCL=1;
}
void?write_byte(uchar?date)//寫一個字節
{
uchar?itemp;
temp=date;
SCL=0;
delay();
for(i=0;i<8;i++)
{
temp=temp<<1;//左移最高位移入CY寄存器中
SDA=CY;
delay();
SCL=1;
delay();
SCL=0;
delay();
}
SDA=1;//總線釋放,準備讀取應答信號
delay();
}
uchar?read_byte()//讀一個字節
{
uchar?ijk;
評論
共有 條評論