新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 鐵電存儲器FM24C16原理及其在多MCU系統(tǒng)中的應(yīng)用

        鐵電存儲器FM24C16原理及其在多MCU系統(tǒng)中的應(yīng)用

        作者: 時間:2012-04-11 來源:網(wǎng)絡(luò) 收藏

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


        頁面寫子程序:
        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為從應(yīng)答子程序,在此檢測
        從應(yīng)答位
        MOV A,#00H
        MOV R7,#8
        ACALL SHFTO
        ;以上3行確定寫入數(shù)據(jù)首地址為00H
        ACALLSLAVE-ACK ;檢測從應(yīng)答位
        MOV R0,#00H ;R0中為被寫人數(shù)據(jù)
        所在單元首地址
        MOV R4,#7FH ;R4中為寫入字節(jié)數(shù)
        (現(xiàn)為256B)
        NEXT-DATA:MOV A,@R0 ;調(diào)入第1個寫入數(shù)據(jù)
        INC R0 ;R0指向第2個數(shù)據(jù)所在單元地址
        MOV R7,#8
        ACALL SHFTO;寫入數(shù)據(jù)
        ACALL SLAVE-ACK ;檢測從應(yīng)答位
        DJNZ R4,NEXT-DATA
        ;循環(huán)寫入下一個字節(jié)數(shù)據(jù)
        ACALL STOP-BIT
        ;STOP-BIT為停止位,結(jié)束寫操作(此處沒有寫延時等待)
        RET ;返回,程序結(jié)束


        讀任意地址子程序:
        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單元數(shù)據(jù)
        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,以存儲讀出數(shù)據(jù)
        MOV R7,#8 ;R7作讀出位記數(shù)器
        CLOCK8: SETB SCL
        MOV C,SDA
        CLR SCL
        MOV A,R5
        RLC A
        MOV R5,A
        ;以上6行讀出FM24C16送來的1位
        DJNZ R7,CLOCK8 ;循環(huán)讀出1B數(shù)據(jù)
        ACALL NO_ACK
        ;NO_ACK為無需應(yīng)答位子程序
        ACLL STOP_BIT ;停止
        RET ;程序結(jié)束

        存儲器相關(guān)文章:存儲器原理


        上拉電阻相關(guān)文章:上拉電阻原理

        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 安多县| 南木林县| 舞阳县| 河南省| 黎川县| 临泉县| 乌兰县| 象山县| 钦州市| 繁峙县| 新巴尔虎右旗| 广安市| 错那县| 财经| 吉隆县| 通渭县| 蓬溪县| 安岳县| 龙陵县| 鄱阳县| 伊春市| 柯坪县| 江门市| 土默特右旗| 台南市| 泉州市| 保亭| 漯河市| 麟游县| 永春县| 犍为县| 晋中市| 奉节县| 西贡区| 襄城县| 绥江县| 永仁县| 双柏县| 基隆市| 民丰县| 泸水县|