CALL START ;Send start command
MOV A,#0A2H
CALL SENDDATA ;Send device address + write command
CALL RECVACK
MOV A,#002H ;Send storage address
CALL SENDDATA
CALL RECVACK
MOV A,#00H ;Set second value
CALL SENDDATA
CALL RECVACK
MOV A,#00H ;Set minute value
CALL SENDDATA
CALL RECVACK
MOV A,#12H ;Set hour value
CALL SENDDATA
CALL RECVACK
CALL STOP ;Send stop command
LOOP:
CALL START ;Send start command
MOV A,#0A2H ;Send device address + write command
CALL SENDDATA
CALL RECVACK
MOV A,#002H ;Send storage address
CALL SENDDATA
CALL RECVACK
CALL START ;Send start command
MOV A,#0A3H ;Send device address + read command
CALL SENDDATA
CALL RECVACK
CALL RECVDATA ;Read second value
MOV P0,A
CALL SENDACK
CALL RECVDATA ;Read minute value
MOV P2,A
CALL SENDACK
CALL RECVDATA ;Read hour value
MOV P3,A
CALL SENDNAK
CALL STOP ;Send stop command
CALL DELAY
JMP LOOP
END
21.5.4 I
2
C Slave Mode (Polling Mode)
C language code
//Operating frequency for test is 11.0592MHz
#include "reg51.h"
#include "intrins.h"