English
Language : 

PIC16LF1508 Datasheet, PDF (221/384 Pages) Microchip Technology – 20-Pin Flash, 8-Bit Microcontrollers with nanoWatt XLP Technology
Write to SSPxCON2<4>
to start Acknowledge sequence
Write to SSPxCON2<0>(SEN = 1),
SDAx = ACKDT (SSPxCON2<5>) = 0
begin Start condition
SEN = 0
Master configured as a receiver
by programming SSPxCON2<3> (RCEN = 1)
ACK from Master
SDAx = ACKDT = 0
Write to SSPxBUF occurs here,
start XMIT
ACK from Slave
RCEN cleared
automatically
RCEN = 1, start
next receive
Set ACKEN, start Acknowledge sequence
SDAx = ACKDT = 1
RCEN cleared
automatically
PEN bit = 1
written here
SDAx
Transmit Address to Slave
Receiving Data from Slave
A7 A6 A5 A4 A3 A2 A1 R/W ACK D7 D6 D5 D4 D3 D2 D1 D0
Receiving Data from Slave
ACK D7 D6 D5 D4 D3 D2 D1 D0 ACK
SCLx
S
1 23456 789
SSPxIF
SDAx = 0, SCLx = 1
while CPU
responds to SSPxIF
Cleared by software
1 23 45 6 78
9
Set SSPxIF interrupt
at end of receive
Cleared by software
Cleared by software
ACK is not sent
1 2 34 567 8
9
Data shifted in on falling edge of CLK
Set SSPxIF at end
of receive
Set SSPxIF interrupt
at end of Acknowledge
sequence
Cleared by software
Cleared in
software
Bus master
terminates
transfer
P
Set SSPxIF interrupt
at end of Acknow-
ledge sequence
Set P bit
(SSPxSTAT<4>)
and SSPxIF
BF
(SSPxSTAT<0>)
Last bit is shifted into SSPxSR and
contents are unloaded into SSPxBUF
SSPOV
ACKEN
SSPOV is set because
SSPxBUF is still full
RCEN
Master configured as a receiver
RCEN cleared
by programming SSPxCON2<3> (RCEN = 1) automatically
ACK from Master
SDAx = ACKDT = 0
RCEN cleared
automatically