![Microchip Technology PIC16C63A Скачать руководство пользователя страница 63](http://html1.mh-extra.com/html/microchip-technology/pic16c63a/pic16c63a_operators-manual_1785772063.webp)
2000 Microchip Technology Inc.
DS30605C-page 63
PIC16C63A/65B/73B/74B
10.3.1.3
Transmission
When the R/W bit of the incoming address byte is set
and an address match occurs, the R/W bit of the
SSPSTAT register is set. The received address is
loaded into the SSPBUF register. The ACK pulse will
be sent on the ninth bit and pin RC3/SCK/SCL is held
low. The transmit data must be loaded into the
SSPBUF register, which also loads the SSPSR regis-
ter. Then pin RC3/SCK/SCL should be enabled by set-
ting bit CKP (SSPCON<4>). The master must monitor
the SCL pin prior to asserting another clock pulse. The
slave devices may be holding off the master by stretch-
ing the clock. The eight data bits are shifted out on the
falling edge of the SCL input. This ensures that the
SDA signal is valid during the SCL high time
(Figure 10-7).
An SSP interrupt is generated for each data transfer
byte. Flag bit SSPIF must be cleared in software, and
the SSPSTAT register is used to determine the status
of the byte. Flag bit SSPIF is set on the falling edge of
the ninth clock pulse.
As a slave-transmitter, the ACK pulse from the
master-receiver is latched on the rising edge of the
ninth SCL input pulse. If the SDA line was high (not
ACK), then the data transfer is complete. When the
ACK is latched by the slave, the slave logic is reset
(resets SSPSTAT register) and the slave then monitors
for another occurrence of the START bit. If the SDA line
was low (ACK), the transmit data must be loaded into
the SSPBUF register, which also loads the SSPSR reg-
ister. Then pin RC3/SCK/SCL should be enabled by
setting bit CKP.
FIGURE 10-7:
I
2
C WAVEFORMS FOR TRANSMISSION (7-BIT ADDRESS)
SDA
SCL
SSPIF (PIR1<3>)
BF (SSPSTAT<0>)
CKP (SSPCON<4>)
A7
A6
A5
A4
A3
A2
A1
ACK
D7
D6
D5
D4
D3
D2
D1
D0
ACK
Transmitting Data
R/W = 1
Receiving Address
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
P
Cleared in software
SSPBUF is written in software
From SSP Interrupt
Service Routine
Set bit after writing to SSPBUF
S
Data in
sampled
SCL held low
while CPU
responds to SSPIF
(the SSPBUF must be written to
before the CKP bit can be set)
Содержание PIC16C63A
Страница 4: ...PIC16C63A 65B 73B 74B DS30605C page 4 2000 Microchip Technology Inc NOTES ...
Страница 6: ...PIC16C63A 65B 73B 74B DS30605C page 6 2000 Microchip Technology Inc NOTES ...
Страница 8: ...PIC16C63A 65B 73B 74B DS30605C page 8 2000 Microchip Technology Inc NOTES ...
Страница 28: ...PIC16C63A 65B 73B 74B DS30605C page 28 2000 Microchip Technology Inc NOTES ...
Страница 42: ...PIC16C63A 65B 73B 74B DS30605C page 42 2000 Microchip Technology Inc NOTES ...
Страница 78: ...PIC16C63A 65B 73B 74B DS30605C page 78 2000 Microchip Technology Inc NOTES ...
Страница 112: ...PIC16C63A 65B 73B 74B DS30605C page 112 2000 Microchip Technology Inc NOTES ...
Страница 152: ...PIC16C63A 65B 73B 74B DS30605C page 152 2000 Microchip Technology Inc NOTES ...
Страница 164: ...PIC16C63A 65B 73B 74B DS30605C page 164 2000 Microchip Technology Inc NOTES ...
Страница 174: ...PIC16C63A 65B 73B 74B DS30605C page 174 2000 Microchip Technology Inc NOTES ...
Страница 178: ...PIC16C63A 65B 73B 74B DS30605C page 178 2000 Microchip Technology Inc NOTES ...
Страница 179: ... 2000 Microchip Technology Inc DS30605C page 179 PIC16C63A 65B 73B 74B NOTES ...
Страница 180: ...PIC16C63A 65B 73B 74B DS30605C page 180 2000 Microchip Technology Inc NOTES ...
Страница 181: ... 2000 Microchip Technology Inc DS30605C page 181 PIC16C63A 65B 73B 74B NOTES ...
Страница 182: ...PIC16C63A 65B 73B 74B DS30605C page 182 2000 Microchip Technology Inc NOTES ...
Страница 183: ... 2000 Microchip Technology Inc DS30605C page 183 PIC16C63A 65B 73B 74B NOTES ...