PIC16F877-04/P Microchip Technology Inc., PIC16F877-04/P Datasheet - Page 91
![no-image](/images/manufacturer_photos/0/4/440/microchip_technology_inc__sml.jpg)
PIC16F877-04/P
Manufacturer Part Number
PIC16F877-04/P
Description
40 PIN, 7 KB FLASH, 368 RAM, 33 I/O
Manufacturer
Microchip Technology Inc.
Datasheet
1.PIC16F877-04P.pdf
(218 pages)
Specifications of PIC16F877-04/P
A/d Inputs
8-Channel, 10-Bit
Comparators
2
Cpu Speed
5 MIPS
Eeprom Memory
256 Bytes
Input Output
33
Interface
I2C/SPI/USART
Memory Type
Flash
Number Of Bits
8
Package Type
40-pin PDIP
Programmable Memory
14K Bytes
Ram Size
368 Bytes
Speed
20 MHz
Timers
2-8-bit, 1-16-bit
Voltage, Range
2-5.5 V
Lead Free Status / Rohs Status
RoHS Compliant part
Electrostatic Device
Available stocks
Company
Part Number
Manufacturer
Quantity
Price
Company:
Part Number:
PIC16F877-04/P
Manufacturer:
MIC
Quantity:
11 200
Company:
Part Number:
PIC16F877-04/PQ
Manufacturer:
Microchip Technology
Quantity:
135
Company:
Part Number:
PIC16F877-04/PQ
Manufacturer:
Microchip Technology
Quantity:
10 000
Company:
Part Number:
PIC16F877-04/PT
Manufacturer:
MIC
Quantity:
12
Company:
Part Number:
PIC16F877-04/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC16F877-04/PT
Manufacturer:
MIC
Quantity:
20 000
9.2.18
Multi-Master mode support is achieved by bus arbitra-
tion. When the master outputs address/data bits onto
the SDA pin, arbitration takes place when the master
outputs a ’1’ on SDA, by letting SDA float high and
another master asserts a ’0’. When the SCL pin floats
high, data should be stable. If the expected data on
SDA is a ’1’ and the data sampled on the SDA pin = ’0’,
a bus collision has taken place. The master will set the
Bus Collision Interrupt Flag, BCLIF and reset the I
port to its IDLE state (Figure 9-19).
If a transmit was in progress when the bus collision
occurred, the transmission is halted, the BF flag is
cleared, the SDA and SCL lines are de-asserted, and
the SSPBUF can be written to. When the user services
the bus collision Interrupt Service Routine, and if the
I
asserting a START condition.
FIGURE 9-19:
2
C bus is free, the user can resume communication by
2001 Microchip Technology Inc.
SDA
SCL
BCLIF
MULTI -MASTER
COMMUNICATION,
BUS COLLISION, AND
BUS ARBITRATION
BUS COLLISION TIMING FOR TRANSMIT AND ACKNOWLEDGE
Data changes
while SCL = 0
SDA released
2
C
by master
SDA line pulled low
by another source
If a START, Repeated START, STOP, or Acknowledge
condition was in progress when the bus collision
occurred, the condition is aborted, the SDA and SCL
lines are de-asserted, and the respective control bits in
the SSPCON2 register are cleared. When the user ser-
vices the bus collision Interrupt Service Routine, and if
the I
by asserting a START condition.
The master will continue to monitor the SDA and SCL
pins and if a STOP condition occurs, the SSPIF bit will
be set.
A write to the SSPBUF will start the transmission of
data at the first data bit, regardless of where the trans-
mitter left off when the bus collision occurred.
In Multi-Master mode, the interrupt generation on the
detection of START and STOP conditions allows the
determination of when the bus is free. Control of the I
bus can be taken when the P bit is set in the SSPSTAT
register, or the bus is idle and the S and P bits are
cleared.
2
C bus is free, the user can resume communication
Sample SDA. While SCL is high,
data doesn’t match what is driven
by the master.
Bus collision has occurred.
Set bus collision
interrupt
PIC16F87X
DS30292C-page 89
2
C