Electronic Components Datasheet Search
  New Zealand  ▼
ALLDATASHEET.CO.NZ

X  

PIC16F1824-E/ML Datasheet(PDF) 263 Page - Microchip Technology

Part # PIC16F1824-E/ML
Description  14/20-Pin Flash Microcontrollers with nanoWatt XLP Technology
PDF  420 Pages
Scroll/Zoom Zoom In 100%  Zoom Out
Manufacturer  MICROCHIP [Microchip Technology]
Direct Link  http://www.microchip.com
Logo MICROCHIP - Microchip Technology

PIC16F1824-E/ML Datasheet(HTML) 263 Page - Microchip Technology

Back Button PIC16F1824-E/ML Datasheet HTML 259Page - Microchip Technology PIC16F1824-E/ML Datasheet HTML 260Page - Microchip Technology PIC16F1824-E/ML Datasheet HTML 261Page - Microchip Technology PIC16F1824-E/ML Datasheet HTML 262Page - Microchip Technology PIC16F1824-E/ML Datasheet HTML 263Page - Microchip Technology PIC16F1824-E/ML Datasheet HTML 264Page - Microchip Technology PIC16F1824-E/ML Datasheet HTML 265Page - Microchip Technology PIC16F1824-E/ML Datasheet HTML 266Page - Microchip Technology PIC16F1824-E/ML Datasheet HTML 267Page - Microchip Technology Next Button
Zoom Inzoom in Zoom Outzoom out
 263 / 420 page
background image
 2010 Microchip Technology Inc.
Preliminary
DS41419A-page 263
PIC16F/LF1824/1828
24.5.3
SLAVE TRANSMISSION
When the R/W bit of the incoming address byte is set
and an address match occurs, the R/W bit of the
SSP1STAT register is set. The received address is
loaded into the SSP1BUF register, and an ACK pulse
is sent by the slave on the ninth bit.
Following the ACK, slave hardware clears the CKP bit
and the SCL pin is held low (see Section 24.5.6
“Clock Stretching” for more detail). By stretching the
clock, the master will be unable to assert another clock
pulse until the slave is done preparing the transmit
data.
The transmit data must be loaded into the SSP1BUF
register which also loads the SSP1SR register. Then
the SCL pin should be released by setting the CKP bit
of the SSP1CON1 register. 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.
The ACK pulse from the master-receiver is latched on
the rising edge of the ninth SCL input pulse. This ACK
value is copied to the ACKSTAT bit of the SSP1CON2
register. If ACKSTAT is set (not ACK), then the data
transfer is complete. In this case, when the not ACK is
latched by the slave, the slave goes idle and waits for
another occurrence of the Start bit. If the SDA line was
low (ACK), the next transmit data must be loaded into
the SSP1BUF register. Again, the SCL pin must be
released by setting bit CKP.
An MSSP1 interrupt is generated for each data transfer
byte. The SSP1IF bit must be cleared by software and
the SSP1STAT register is used to determine the status
of the byte. The SSP1IF bit is set on the falling edge of
the ninth clock pulse.
24.5.3.1
Slave Mode Bus Collision
A slave receives a read request and begins shifting
data out on the SDA line. If a bus collision is detected
and the SBCDE bit of the SSP1CON3 register is set,
the BCL1IF bit of the PIRx register is set. Once a bus
collision is detected, the slave goes Idle and waits to be
addressed again. User software can use the BCL1IF bit
to handle a slave bus collision.
24.5.3.2
7-bit Transmission
A master device can transmit a read request to a
slave, and then clock data out of the slave. The list
below outlines what software for a slave will need to
do
to
accomplish
a
standard
transmission.
Figure 24-17 can be used as a reference to this list.
1.
Master sends a Start condition on SDA and
SCL.
2.
S bit of SSP1STAT is set; SSP1IF is set if inter-
rupt on Start detect is enabled.
3.
Matching address with R/W bit set is received by
the Slave setting SSP1IF bit.
4.
Slave hardware generates an ACK and sets
SSP1IF.
5.
SSP1IF bit is cleared by user.
6.
Software reads the received address from
SSP1BUF, clearing BF.
7.
R/W is set so CKP was automatically cleared
after the ACK.
8.
The slave software loads the transmit data into
SSP1BUF.
9.
CKP bit is set releasing SCL, allowing the mas-
ter to clock the data out of the slave.
10. SSP1IF is set after the ACK response from the
master is loaded into the ACKSTAT register.
11. SSP1IF bit is cleared.
12. The slave software checks the ACKSTAT bit to
see if the master wants to clock out more data.
13. Steps 9-13 are repeated for each transmitted
byte.
14. If the master sends a not ACK; the clock is not
held, but SSP1IF is still set.
15. The master sends a Restart condition or a Stop.
16. The slave is no longer addressed.
Note 1: If the master ACKs the clock will be
stretched.
2: ACKSTAT is the only bit updated on the
rising edge of SCL (9th) rather than the
falling.



Html Pages

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100  ...More


Datasheet Download

Go To PDF Page


Link URL



Does ALLDATASHEET help your business so far?  [ DONATE ] 

About Alldatasheet   |   Advertisement   |   Contact us   |   Privacy Policy   |   Link to Datasheet    |   Link Exchange   |   Manufacturer List
All Rights Reserved©Alldatasheet.com


Mirror Sites
English : Alldatasheet.com  |   English : Alldatasheet.net  |   Chinese : Alldatasheetcn.com  |   German : Alldatasheetde.com  |   Japanese : Alldatasheet.jp
Russian : Alldatasheetru.com  |   Korean : Alldatasheet.co.kr  |   Spanish : Alldatasheet.es  |   French : Alldatasheet.fr  |   Italian : Alldatasheetit.com
Portuguese : Alldatasheetpt.com  |   Polish : Alldatasheet.pl  |   Vietnamese : Alldatasheet.vn
Indian : Alldatasheet.in  |   Mexican : Alldatasheet.com.mx  |   British : Alldatasheet.co.uk  |   New Zealand : Alldatasheet.co.nz
Family Site : ic2ic.com  |   icmetro.com