串行E2PROM 24LC65在單片機中的應(yīng)用
1. 概述
本文引用地址:http://m.butianyuan.cn/article/171989.htm24LC65是目前容量較大的一種串行E2PROM 芯片,具有8kB的存儲容量,體積小,功耗低,可掉電保護(hù)。AT89C52單片機亦具有8kB內(nèi)部ROM,同樣具備低功耗和控制功能強等特點,由兩者構(gòu)成的單片機小系統(tǒng)硬件開銷少,數(shù)據(jù)可串行傳送,功耗低,非常實用。但是,讀、寫24LC65的程序編寫卻比較麻煩,本文將介紹對其編程的方法,并介紹采用子程序結(jié)構(gòu)編寫的已通過的寫、讀24LC65的應(yīng)用編程。
2. 24LC65與單片機的連接
2.1 24LC65的引腳功能
24LC65采用8腳DIP封裝,引腳功能如下:
1~3腳(A0、A1、A2)為三位地址輸入端;
4腳GND為接地端;
5腳SDA為二進(jìn)制數(shù)據(jù)輸入輸出端;
6腳SCL為時鐘輸入端;
7腳NC懸空;
8腳VCC為5V正電源。
2.2 24LC65與單片機的連接
連接電路如圖1所示,圖中共接有8片24LC65芯片,芯片的三位地址A2、A1、A0接成8種組態(tài),由A2、A1、A0排列組成8個片選地址,因此在兩線上最多可選用8片,可尋址64kB存儲空間,每片尋址8kB,其中,1#芯片地址范圍是0000H~1FFFH,8#芯片地址范圍是 E000H~FFFFH。SDA為串行數(shù)據(jù)輸入輸出線,SCL是時鐘輸入端,每次訪問24LC65之前,必須執(zhí)行啟動I2C數(shù)據(jù)總線操作,每次結(jié)束訪問時,也必須執(zhí)行停止I2C數(shù)據(jù)總線操作,其操作時序由SCL與SDA的關(guān)系確定,如圖2的示,可以看出,當(dāng)SCL為高電平時,SDA由高變低時啟動I2C總線,而SDA由低變高時,停止總線操作。若啟動總線為讀操作,則在SCL脈沖的下降沿讀出1 bit的數(shù)據(jù),若啟動寫操作,則在SCL脈沖的上升沿寫入1 bit 的數(shù)據(jù)。
3. 數(shù)據(jù)格式
對E2PROM 24LC65每次寫一個字節(jié)操作的數(shù)據(jù)格式由4個字節(jié)構(gòu)成。第1字節(jié)為:
其中,×為任意,A12、A11、A10、A9、A8為E2PROM 24LC65的高5位地址。
第3字節(jié)是E2PROM 24LC65的低8位地址A7~A0。第4字節(jié)才是8位數(shù)據(jù)。注意,每個字節(jié)后緊跟一個回答(ACK)信號。
4. 寫24LC65程序
用MCS-51單片機的指令編寫對24LC65寫一字節(jié)的子程序是關(guān)鍵,主程序連續(xù)調(diào)四次便可實現(xiàn)對24LC65寫一字節(jié)數(shù)據(jù)的目的。假設(shè)待寫入字節(jié)在單片機內(nèi)字節(jié)地址分別是6FH、6EH、…、68H,并分別存放在待寫入字節(jié)的D7、D6、…、D0位,作為調(diào)用寫一字節(jié)子程序的入口參數(shù)。由主程序啟動,并停止總線。其程序分別如下:
評論