久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 鐵電存儲器FM24C16原理及其在多MCU系統中的應用

鐵電存儲器FM24C16原理及其在多MCU系統中的應用

作者: 時間:2012-04-11 來源:網絡 收藏

下面給出的頁面寫和任意字節讀匯編子程序。程序經過驗證,效果良好(為保證穩定性,可以在相應地方加入空語句以延時)。


頁面寫子程序:
PAGE-WR: ACALL START_BIT
MOV A,#10100000B
MOV R7,#4
ACALL SHFTO
;SHFTO為送位子程序,以上3行送
1010到
MOV A,#20H
MOV R7,#3
ACALL SHFTO
;以上3行確定寫的00l頁
MOV A,#00H
MOV R7,#1
ACALL SHFTO ;以上3行送寫控制位0
ACALL SlAVE_ACK
;SLAVE-ACK為從應答子程序,在此檢測
從應答位
MOV A,#00H
MOV R7,#8
ACALL SHFTO
;以上3行確定寫入數據首地址為00H
ACALLSLAVE-ACK ;檢測從應答位
MOV R0,#00H ;R0中為被寫人數據
所在單元首地址
MOV R4,#7FH ;R4中為寫入字節數
(現為256B)
NEXT-DATA:MOV A,@R0 ;調入第1個寫入數據
INC R0 ;R0指向第2個數據所在單元地址
MOV R7,#8
ACALL SHFTO;寫入數據
ACALL SLAVE-ACK ;檢測從應答位
DJNZ R4,NEXT-DATA
;循環寫入下一個字節數據
ACALL STOP-BIT
;STOP-BIT為停止位,結束寫操作(此處沒有寫延時等待)
RET ;返回,程序結束


讀任意地址子程序:
SELECT-RD:ACALL START-BIT
ACALL START-BIT
MOV A,#10100000B
MOV R7,#4
ACALL SHFTO
MOV A,#20H
MOV R7,#3
ACALL SHFTO
MOV A,#0FOH
MOV R7,#1
ACALL SHFTO
ACALL SlAVE-ACK
MOV R5,#00H
MOV R7,#8
ACALL SHFTO
ACALL SlAVE-ACK
;以上為偽寫,確定讀FM24C16的001
00H單元數據
ACALL START-BIT
MOV A,#10100000B
MOV R7,#4
ACALL SHFTO
MOV A,#20H
MOV R7,#3
ACALL SHFTO
MOV A,#0FOH
MOV R7,#1
ACALL SHFTO ;上面3行送讀控制位1
ACALL SlAVE-ACK
MOV R5,#00H ;清R5,以存儲讀出數據
MOV R7,#8 ;R7作讀出位記數器
CLOCK8: SETB SCL
MOV C,SDA
CLR SCL
MOV A,R5
RLC A
MOV R5,A
;以上6行讀出FM24C16送來的1位
DJNZ R7,CLOCK8 ;循環讀出1B數據
ACALL NO_ACK
;NO_ACK為無需應答位子程序
ACLL STOP_BIT ;停止
RET ;程序結束

存儲器相關文章:存儲器原理


上拉電阻相關文章:上拉電阻原理

上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉