MOV A,R0 ;發(fā)送塊內(nèi)寫入字節(jié)地址
LCALLSBWR
SETBP1.1
SETBP1.0
JBP1.1,$ ;判確認(rèn)信號
CLRP1.0
MOV A,R1 。话l(fā)送寫入數(shù)據(jù)
LCALLSBWR
SETBP1.1
SETBP1.0
JBP1.1,$ 。慌写_認(rèn)信號
CLRP1.0
CLRP1.1 。划a(chǎn)生停止位
SETBP1.0
SETBP1.1
CLRP1.0
RET
②字節(jié)寫子程序
入口條件:R0中存放塊內(nèi)讀出字節(jié)的地址;R2中存放控制字節(jié),其最低位為0。
返回結(jié)果:讀出的數(shù)據(jù)存于R1中。
BYRD:SETBP1.0 ;產(chǎn)生開始位
CLR P1.1
CLR P1.0
MOV A,R2 ;發(fā)送控制字節(jié)
LCALLSBWR
SETBP1.1
SETBP1.0
NOP
JBP1.1,BYRD
。慌写_認(rèn)信號,接收器未確認(rèn)重新開始
CLR P1.0
MOV A,R0 ;發(fā)送塊內(nèi)讀出字節(jié)地址
LCALLSBWR
SETBP1.1
SETBP1.0
JBP1.1,$ 。慌写_認(rèn)信號
CLR P1.0 。划a(chǎn)生讀開始位
SETBP1.0
CLR P1.1
CLR P1.0
MOV A,R2 ;發(fā)送控制字節(jié)
SETBACC.0LCALLSBWR
SETBP1.1
SETBP1.0
JBP1.1,$ ;判確認(rèn)信號
CLR P1.0
MOV R7,#8 ;接收8位數(shù)據(jù)
BYR1:SETBP1.0
MOV C,P1.1
RLC ACLRP1.0
DJNZR7,BYR1
CLRP1.1
SETBP1.0 ;產(chǎn)生停止位
SETBP1.1
CLRP1.0
MOV R1,A
RET
SBWR:MOV R7,#8
SB1: RLC A
MOVP1.1,C
SETBP1.0
CLRP1.0
DJNZR7,SB1
RET
以上子程序?qū)Χ制串行E2PROM讀寫可靠,提供入口條件后可直接調(diào)用,此外,串行E2PROM還可進(jìn)行順序讀和頁面寫,限于篇幅,不再列出其程序。
<!--→參考文獻(xiàn)CH(開始)-->





