51I2C匯流排往E2PROM讀寫資料

2021-10-12 22:59:09 字數 2450 閱讀 9124

main.c

#include

#include

#include

<24c02.h>

char code music=

;unsigned

char data buffer[

100]

;//用於快取從24c02中讀取的資料。

void

main()

p1=0x00

;//到此為止,向24c02中寫入資料的過程均已結束。下面的程式為附加的。

//將已寫入的資料再讀出,送到p1口,通過觀察led的亮滅來檢驗寫入的資料是否正確。

while

(m!=add)

while

(j!=add)

while(1

);}//void main()

//;// unsigned char tube_num;

// unsigned char i=0;

// while(1)

// // key_num[i]=tube_num;

// i++;

// }

// tube_light(key_num);

// }

//}

i2c.h

#ifndef _i2c_h

#define _i2c_h

#include

void

nop();

void

delay_i2c

(unsigned

int m)

;void

init()

;void

start()

;void

stop()

;void

writebyte

(unsigned

char j)

;unsigned

char

readbyte()

;void

clock()

;#endif

i2c.c

#include

#include

#define uint unsigned int

#define uchar unsigned char

sbit sda=p2^0;

//io口定義

sbit scl=p2^1;

void

nop(

)/24c02讀寫驅動程式

void

delay_i2c

(unsigned

int m)

void

init()

//24c02初始化子程式

void

start()

//啟動i2c匯流排

void

stop()

//停止i2c匯流排

void

writebyte

(unsigned

char j)

//寫乙個位元組

scl=0;

//發完乙個位元組,傳送ack訊號

nop();

sda=1;

nop();

}unsigned

char

readbyte()

//讀乙個位元組

nop();

return

(k);

}void

clock()

//i2c匯流排時鐘

2402.h

#ifndef _24c02_h

#define _24c02_h

#include

#include

unsigned

char

read24c02

(unsigned

char address)

;void

write24c02

(unsigned

char address,

unsigned

char info)

;#endif

2402.c

#include

<24c02.h>

從24c02的位址address中讀取乙個位元組資料/

unsigned

char

read24c02

(unsigned

char address)

//向24c02的address位址中寫入一位元組資料info/

void

write24c02

(unsigned

char address,

unsigned

char info)

E2PROM晶元24C02的讀寫程式

一 實驗目的 給24c02的內部ram寫入一組資料0xb0,資料從24c02內部ram的0x01開始存放。然後再把這組資料讀出來,來點亮led燈,檢驗寫入和讀出是否正確。二 理論知識準備 下面我們先介紹一下i2c匯流排的相關理論知識。一 i2c匯流排概念 i2c匯流排是一種雙向二線制匯流排,它的結構...

E2PROM的I2C通訊(基於24LC01B)

起始位 時鐘線和資料線為都為高電平時空閒狀態。當時鐘線為高電平,資料線狀態由高 低時,為起始位。停止位 與起始位相反,時鐘線保持電平高狀態,資料線電平由低 高,為停止位。有效資料 起始位和停止位之間傳送資料。時鐘線低電平時,資料線可以改變,時鐘線高電平時,資料線的資料保持穩定。在此期間每個時鐘週期傳...

i2c連續讀寫間隔 I2C匯流排協議分析

i2c匯流排是由philips公司開發的一種簡單 雙向二線制同步序列匯流排。它只需要兩根線即可在連線於匯流排上的裝置之間通訊。i2c的兩根線sda 序列資料線 和scl 序列時鐘線 都是雙向i o線,介面電路為開漏輸出,需通過上拉電阻接電源vcc,當匯流排空閒時,兩根線都是高電平。常見的硬體結構圖 ...