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