AT24C02操作方法及程序(含时序图).doc总线工作原理
数据线上的数据必须保持稳定,
只有在时钟线上的信号为
I2C总线进行数据传送时, 时钟信号为高电平期间,
低电平期间,数据线上的高电平或低电平状态才允许变化。
圮始讹S
舞止伯弓P
誓点药■ 允钓魏 鉴求敦
貂樹定 堂变化 駅稳定
起始和终止信号 :SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号; SCL线为高电平期间,SDA
线由低电平向高电平的变化表示终止信号 数据传送格式(1 )字节传送与应答
每一个字节必须保证是 8位长度。数据传送时,先传送最高位( MSB),每一个被传送的字节后面都必须跟随一位应答
位(即一帧共有9位)。如果一段时间内没有收到从机的应答信号,则自动认为从机已正确接收到数据。
AT24C02的芯片地址如下图,1010为固定,A0,A1,A2正好与芯片的1,2,3引角对应,为当前电路中的地 址选择线,三根线可选择 8个芯片同时连接在电路中,当要与哪个芯片通信时传送相应的地址即可与该芯片建立连接,
TX-1B实验板上三根地址线都为 0。最后一位R/W为告诉从机下一字节数据是要读还是写, 0为写入,1为读出。
1
0
1
0
A2
A1
Ao |R/W
MSB
I
LSB
SDA ME
AT24C02的芯片地址(OxaO为写,0xa1为读)
u
Illi 1
1
i i i n i
.I
1
i ii」
I
b1
01?
9 A i
我1
H
? 1
Y DEVICE I
ADDRESS WORD ADD旺SB DaTA
任一地址写入数据格式
A
B DEVICE J
1 ADORED 卜 AOWE備■
DEVICE
ADDRESS
mniTT
I
i r i I r i i
i 1 i I i 1 k
,1 斜
I 『 s
A 口ATAn
SDA LINE
DUUWr
任一地址读取数据格式
void init()
{
SCL=1; delay(); SDA=1; delay();
} 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=O;SCL=1;delay();
while((SDA==1)&&(i<255))i++;
ScL=O;delay();} 「人宀卄
void writebyte(uchar date)// 与一个字节
uchar 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(); S
AT24C02操作方法及程序(含时序图) 来自淘豆网m.daumloan.com转载请标明出处.