24C02发送八个以上字节老是有问题各位老师,24C02缠了我一周不能解决,快帮帮我吧!该程序编完之后,当时实验没有问题了,编程思路和例题也没有两样,可是后来发现问题,当写入八个字节确实没有问题,可是一旦超过八个字节就写不进去,八个字节写到00H-07H没有问题,可是一旦九个字节就又写到00H了,总之超过八个字节就写不进去了,谁给我把问题指一下?
;该程序为将RAM30H-37H中的内容写到24C02的00H
MOV 30H,#80H
MOV 31H,#81H
MOV 32H,#82H
MOV 33H,#83H
MOV 34H,#84H
MOV 35H,#86H
MOV 36H,#86H
MOV 37H,#87H
MOV 38H,#88H
MOV 39H,#89H
MOV 3AH,#8AH
WRB08:MOV 40H,#0A0H
MOV 41H,#8h
MOV 42H,#30H
MOV R1,#00H
SLAW EQU 40H
NUMBYT EQU 41H
NWD EQU 42H
VSDA EQU P1.2
VSCL EQU P1.1
WRADD:MOV R7,NUMBYT
LCALL STA
MOV A,SLAW
LCALL WRBYT
LCALL CACK
JB F0,WRADD
MOV A,#00H
LCALL WRBYT
LCALL CACK
JB F0,WRADD
MOV R0,NWD
WRDA:MOV A,@R0
LCALL WRBYT
LCALL CACK
JB F0,WRADD
INC R0
DJNZ R7,WRDA
LCALL STOP
LCALL DIR
AJMP LL
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
LL:END