新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 串行E2PROMAT 24C512在單片機中應用

        串行E2PROMAT 24C512在單片機中應用

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


        MAIN: MOV SP #60H;設(shè)堆棧
        Write: MOV SlvAdr, #A0H;選擇1個器件地址
        MOV ByteCnt, #08H;設(shè)寫入數(shù)據(jù)長度為8字節(jié)
        MOV SubAdr1, #00H;設(shè)寫入單元首址為0020H
        MOV SubAdr2, #20H;
        LCALL WriteData ; 寫數(shù)據(jù)
        ……
        Read: MOV Slvadr, #A0H;選擇1個器件地址
        MOV Bytecnt, #08H;設(shè)讀出數(shù)據(jù)長度為8字節(jié)
        MOV SubAdr1, #00H;設(shè)讀出單元
        MOV SubAdr2, #20H;首址為0020H
        LCALL ReadData; 讀數(shù)據(jù)
        ……
        WriteData:LCALL Start; I2C總線起始條件
        MOV A,SlvAdr; 取器件地址
        LCALL writeByte; 發(fā)送器件地址
        MOV A,SubAdr1
        LCALL writeByte;發(fā)送高8位地址
        MOV A,SubAdr2
        LCALLwriteByte;發(fā)送低8位地址
        MOVR0,#WriteDat;取寫入數(shù)據(jù)的首地址
        Next:MOVA,@R0
        LCALLwriteByte;寫入1字節(jié)數(shù)據(jù)
        LNCR0;取下1個數(shù)據(jù)
        DJNZByteCnt,Next;重復操作直到寫完全部數(shù)據(jù)
        LCALLStop;發(fā)送I2C總線停止條件
        LCALLDL10ms;延時10ms等待E2PROM內(nèi)部數(shù)據(jù)
        ;寫完
        RET
        ;讀數(shù)據(jù)子程序
        ReadData:LCALLStart
        MOVA,SlvAdr
        LCALLWriteByte
        MOVA,Subadr1
        LCALLWriteByte
        MOVA,Subadr2
        LCALLWriteByte
        LCALLStart;重復發(fā)送I2C總線起始條件
        MOVA,Slvadr
        SETBACC.0;R/W位置1
        LCALLWriteByte
        CLRACK;請讀非應答標志
        MOVR0,#RdadData;讀緩沖區(qū)首址
        DJNZByteCnt,Next1
        SJMPLast
        Next1:LCALLReadByte;接收1個字節(jié)數(shù)據(jù)
        MOV@R0,A;接收數(shù)據(jù)送緩沖區(qū)
        INCR0
        DJNZByteCnt,Next1;重復接收
        Last:SETBACK;接收最后1個字節(jié)數(shù)據(jù)
        ACALLReadByte
        MOV#R0,A
        LCALLStop
        RET

        上面給出讀寫操作主程序、頁面寫入子程序及其多字節(jié)讀子程序。受篇幅限制,部分子程序沒有給出,讀者可根據(jù)AT的操作時序自行編制或參閱相關(guān)文獻。

        5結(jié)束語

        由AT與AT89C2051等非總線構(gòu)成的數(shù)據(jù)采集存儲系統(tǒng)具有體積小、成本低、可靠性高的特點,因而具有很高的價值。


        上一頁 1 2 3 下一頁

        關(guān)鍵詞: 應用 單片機 24C512 E2PROMAT 串行

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 玉龙| 宁津县| 永福县| 日土县| 周宁县| 黔南| 盈江县| 安平县| 五常市| 江西省| 监利县| 临高县| 龙山县| 长沙市| 大埔县| 炎陵县| 新龙县| 绥宁县| 荆州市| 新民市| 泽普县| 南雄市| 兴城市| 麻江县| 沅陵县| 双江| 桂平市| 务川| 嘉祥县| 若尔盖县| 永修县| 墨竹工卡县| 德保县| 秦安县| 佛学| 平邑县| 武鸣县| 泸州市| 肥乡县| 藁城市| 射阳县|