<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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


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

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

5結束語(yǔ)

由AT與AT89C2051等非總線(xiàn)構成的數據采集存儲系統具有體積小、成本低、可靠性高的特點(diǎn),因而具有很高的價(jià)值。


上一頁(yè) 1 2 3 下一頁(yè)

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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>