DJNZ R5,WAIT
DJNZ R3,WAIT
AJMP WAIT1
SSS: CLR RI
MOV A,SBUF
MOV @R0,A
MOV R7,NUMBYT
INC R7
MOV NUMBYT,R7
;该程序为将RAM30H-37H中的内容写到24C02的00H
WRADD:LCALL STA
MOV A,SLAW
LCALL WRBYT
LCALL CACK
JB F0,WRADD
MOV A,R7;写入EEPROM单元地址
LCALL WRBYT
LCALL CACK
JB F0,WRADD
MOV R0,NWD
WRDA:MOV A,@R0
LCALL WRBYT
LCALL CACK
JB F0,WRADD
LCALL STOP;至此将数据0AAH写入了EEPROM地址单元00中
PROGRAM:LCALL SDL1
JB RI,SSS
AJMP WAIT1
WAIT1:LCALL DIR
CLR P1.4
SETB P2.6
CLR P2.6
JB RI,SSS
CLR P1.4
SETB P2.6
CLR P2.6
AJMP WRITEONE
DIR:NOP
NOP
NOP
RET
STA:SETB VSDA
SETB VSCL
NOP
NOP
CLR VSDA
NOP
NOP
CLR VSCL
RET
STOP:CLR VSDA
SETB VSCL
NOP
NOP
SETB VSDA
NOP
NOP
CLR VSCL
CLR VSDA
RET
MNACK:SETB VSDA
SETB VSCL
NOP
NOP
CLR VSCL
CLR VSDA
RET
MACK:CLR VSDA
SETB VSCL
NOP
NOP
CLR VSCL
SETB VSDA
RET
CACK:SETB VSDA
SETB VSCL
CLR F0
MOV C,VSDA
JNC CEND
SETB F0
CEND:CLR VSCL
RET
WRBYT:MOV R6,#08H
WLP:RLC A
MOV VSDA,C
SETB VSCL
NOP
NOP
CLR VSCL
DJNZ R6,WLP
RET
RDBYT:MOV R6,#08H
RLP:SETB VSDA
SETB VSCL
MOV C,VSDA
MOV A,R2
RLC A
MOV R2,A
CLR VSCL
DJNZ R6,RLP
RET
WRITEONE:
LCALL STA
MOV A,SLAW
LCALL WRBYT
LCALL CACK
JB F0,WRITEONE
MOV A,#00H;写入EEPROM单元地址
LCALL WRBYT
LCALL CACK
JB F0,WRITEONE
MOV A,NUMBYT
LCALL WRBYT
LCALL CACK
JB F0,WRITEONE
LCALL STOP;至此将数据0AAH写入了EEPROM地址单元00中
NOP
LL:END