AT24C256在單片機(jī)系統(tǒng)中的應(yīng)用
4AT24C256的讀寫(xiě)方式和5工作時(shí)序
4.1寫(xiě)操作
有兩種方式:寫(xiě)字節(jié)和寫(xiě)頁(yè)。
1)寫(xiě)字節(jié)
向 AT24C256發(fā)送設(shè)備地址字并接到應(yīng)答信號(hào)后,需要發(fā)送2個(gè)8位地址來(lái)選擇要寫(xiě)數(shù)據(jù)的地址,AT24C256接收到這個(gè)地址,應(yīng)答一個(gè)零信號(hào),然后根據(jù)時(shí)鐘寫(xiě)8位數(shù)據(jù)到AT24C256。存儲(chǔ)器接收到數(shù)據(jù)后返回一個(gè)應(yīng)答信號(hào)。寫(xiě)數(shù)據(jù)結(jié)束,AT24C256進(jìn)入內(nèi)部計(jì)時(shí)的寫(xiě)周期。在寫(xiě)循環(huán)過(guò)程中所有的輸入都不能進(jìn)行,直到寫(xiě)結(jié)束,EEPROM才響應(yīng),寫(xiě)字節(jié)過(guò)程如圖2所示。
2)寫(xiě)頁(yè)
AT24C256 具有64字節(jié)作為一頁(yè)的寫(xiě)頁(yè)功能,可以一次性寫(xiě)入一頁(yè)。寫(xiě)頁(yè)的初始化過(guò)程與寫(xiě)字節(jié)的方法基本相同。不同的是寫(xiě)入一個(gè)字節(jié)后,微控制器不發(fā)停止?fàn)顟B(tài)命令,而是在應(yīng)答信號(hào)后,接著輸入63個(gè)字節(jié)。每一個(gè)字節(jié)接收到后,EEPROM照樣輸出一個(gè)為零的應(yīng)答信號(hào)。因?yàn)橐豁?yè)只有64個(gè)單元,所以數(shù)據(jù)字的地址低6位接收到一個(gè)字節(jié)后會(huì)自動(dòng)加1,高位地址不變,即頁(yè)地址不變。當(dāng)內(nèi)部產(chǎn)生的地址到頁(yè)邊界時(shí),接下來(lái)的字節(jié)要放至該頁(yè)的開(kāi)始。如果發(fā)送至E2PROM的數(shù)據(jù)超過(guò) 64字節(jié),則最早寫(xiě)的字節(jié)將被覆蓋,流程見(jiàn)圖3的寫(xiě)頁(yè)操作。
4.2讀操作
讀操作有3種方式。初始化過(guò)程與寫(xiě)操作基本相同,只是將設(shè)備選擇字中的最低位改成讀。讀操作流程圖見(jiàn)圖4。
1)當(dāng)前地址讀
內(nèi)部數(shù)據(jù)的地址保持在最后的讀寫(xiě)操作地址加1上,只要芯片有電源供給,這個(gè)地址一直保持著。讀到EEPROM的最后字節(jié)后又回到最開(kāi)始的位置。
2)隨機(jī)讀
隨機(jī)讀前先要向EEPROM寫(xiě)入一個(gè)字節(jié)地址,然后才能讀。
3)讀串
既可以是當(dāng)前地址讀,也可以是隨機(jī)地址讀。微控制器接收到一個(gè)字后,回一個(gè)應(yīng)答信號(hào)。一旦EEPROM接收到應(yīng)答信號(hào),地址加1,接著輸出下一個(gè)字節(jié)。微控制器接收到數(shù)據(jù)后不回應(yīng)答信號(hào)時(shí),表示讀過(guò)程結(jié)束。
評(píng)論