E2PROM的I2C通訊(基於24LC01B)

2021-10-01 18:29:40 字數 1079 閱讀 2280

起始位:時鐘線和資料線為都為高電平時空閒狀態。當時鐘線為高電平,資料線狀態由高→低時,為起始位。

停止位:與起始位相反,時鐘線保持電平高狀態,資料線電平由低→高,為停止位。

有效資料:起始位和停止位之間傳送資料。時鐘線低電平時,資料線可以改變,時鐘線高電平時,資料線的資料保持穩定。在此期間每個時鐘週期傳送乙個bit。傳送資料時,從高位開始發,低位結束。

應答: 主機接收應答:主機向從機傳送完位址後,從機必須向主機傳送響應(確認)。故在傳送位址之後需再為應答位增加乙個時鐘週期,在應答週期內,主機(微控制器)引腳設定為輸入,從機(e2prom)控制資料線,在時鐘保持高電平時,資料線保持低電平,主機則認為此為合法應答。

主機傳送應答/不應答:主機從e2prom讀取資料時,若讀完乙個位元組後主機向從機傳送不應答,從機將釋放資料線,停止向主機傳送資料。若傳送應答,則主機繼續讀取資料。不應答和應答相反:乙個應答週期內保持高電平。

讀寫命令:高四位固定1010,零位控制讀寫,讀為1,寫為0。另外3位是位址位,e2prom的位址通過a1、a2、a3控制,從高位到低位依次為a3、a2、a1。如果只用乙個e2prom,一般通過將其全接地置為000。

讀寫時鐘週期大小:時鐘週期限制了讀寫的速度。使用到的e2prom最大讀寫週期為400khz,因此寫程式時應該注意週期的大小。

e2prom的儲存管理: 可以將資料分成三塊區域儲存相同的資料,每次讀取從三個區域中讀取,然後比較資料的異同,從而判斷資料是否異常。當向其中寫入新資料時(覆蓋原來資料),寫完一次讀取一次或者多次,把讀出來的資料和要儲存的資料比較,如果不同則可能發生故障。

此外如果要儲存的資料較多,可以將同類的資料儲存在連續一塊區域,設定開頭、資料位、校驗和。通過讀取校驗和與讀取出來的資料生成的校驗和比較可以判斷資料是否異常。

每次讀寫資料的間隔:在兩個讀取操作之間是否需要間隔一端時間?

wp寫保護:wp接高電平將禁止寫操作(可以讀),低電平讀寫操作皆可以。

51I2C匯流排往E2PROM讀寫資料

main.c include include include 24c02.h char code music unsigned char data buffer 100 用於快取從24c02中讀取的資料。void main p1 0x00 到此為止,向24c02中寫入資料的過程均已結束。下面的程式為...

基於序列E2PROM掉電保護計數器的設計

本實驗是利用數碼管來顯示乙個不斷累加的兩位數,其效果如圖4 5所示 圖4 5 數碼管的顯示實驗 在這個實驗中,數碼管的讀數是經過iic匯流排,從型號為24c02c的eprom中讀取出來的,該數字每累加一次,也會把累加後的數值儲存到24c02c中,當微控制器復位或斷電時,該數值就不會丟失,當復位後或再...

E2PROM晶元24C02的讀寫程式

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