PIC18F2510-I/ML Microchip Technology Inc., PIC18F2510-I/ML Datasheet - Page 161

no-image

PIC18F2510-I/ML

Manufacturer Part Number
PIC18F2510-I/ML
Description
Microcontroller; 32 KB Flash; 1024 RAM; 0 EEPROM; 21 I/O; 28-Pin-QFN
Manufacturer
Microchip Technology Inc.
Datasheet

Specifications of PIC18F2510-I/ML

A/d Inputs
10-Channel, 10-Bit
Comparators
2
Cpu Speed
10 MIPS
Eeprom Memory
0 Bytes
Input Output
21
Interface
I2C/SPI/USART
Memory Type
Flash
Number Of Bits
8
Package Type
28-pin QFN
Programmable Memory
32K Bytes
Ram Size
1.5K Bytes
Speed
40 MHz
Timers
1-8-bit, 3-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
Part Number:
PIC18F2510-I/ML
Manufacturer:
MICORCHIP
Quantity:
662
15.4.2
The MSSP module functions are enabled by setting the
MSSP Enable bit, SSPEN (SSPxCON1<5>).
The SSPxCON1 register allows control of the I
operation.
(SSPxCON1<3:0>) allow one of the following I
modes to be selected:
• I
• I
• I
• I
• I
• I
Selection of any I
forces the SCLx and SDAx pins to be open-drain,
provided these pins are programmed to inputs by
setting the appropriate TRISC or TRISD bits. To ensure
proper operation of the module, pull-up resistors must
be provided externally to the SCLx and SDAx pins.
15.4.3
In Slave mode, the SCLx and SDAx pins must be
configured as inputs (TRISC<4:3> or TRISD<1:0> set).
The MSSP module will override the input state with the
output data when required (slave-transmitter).
The I
interrupt on an address match. Through the mode
select bits, the user can also choose to interrupt on
Start and Stop bits
When an address is matched, or the data transfer after
an address match is received, the hardware auto-
matically will generate the Acknowledge (ACK) pulse
and load the SSPxBUF register with the received value
currently in the SSPxSR register.
Any combination of the following conditions will cause
the MSSP module not to give this ACK pulse:
• The Buffer Full bit, BF (SSPxSTAT<0>), was set
• The overflow bit, SSPOV (SSPxCON1<6>), was
In this case, the SSPxSR register value is not loaded
into the SSPxBUF, but bit SSPxIF is set. The BF bit is
cleared by reading the SSPxBUF register, while bit
SSPOV is cleared through software.
The SCLx clock input must have a minimum high and
low for proper operation. The high and low times of the
I
MSSP module, are shown in timing parameter 100 and
parameter 101.
© 2006 Microchip Technology Inc.
2
C specification, as well as the requirement of the
clock = (F
Stop bit interrupts enabled
Stop bit interrupts enabled
slave is Idle
before the transfer was received.
set before the transfer was received.
2
2
2
2
2
2
C Master mode,
C Slave mode (7-bit address)
C Slave mode (10-bit address)
C Slave mode (7-bit address) with Start and
C Slave mode (10-bit address) with Start and
C Firmware Controlled Master mode,
2
C Slave mode hardware will always generate an
OPERATION
SLAVE MODE
OSC
Four
/4) x (SSPxADD + 1)
2
C mode, with the SSPEN bit set,
mode
selection
Preliminary
bits
2
2
C
C
PIC18F45J10 FAMILY
15.4.3.1
Once the MSSP module has been enabled, it waits for
a Start condition to occur. Following the Start condition,
the 8 bits are shifted into the SSPxSR register. All
incoming bits are sampled with the rising edge of the
clock (SCLx) line. The value of register SSPxSR<7:1>
is compared to the value of the SSPxADD register. The
address is compared on the falling edge of the eighth
clock (SCLx) pulse. If the addresses match and the BF
and SSPOV bits are clear, the following events occur:
1.
2.
3.
4.
In 10-bit Address mode, two address bytes need to be
received by the slave. The five Most Significant bits
(MSbs) of the first address byte specify if this is a 10-bit
address. Bit R/W (SSPxSTAT<2>) must specify a write
so the slave device will receive the second address byte.
For a 10-bit address, the first byte would equal ‘11110
A9 A8 0’, where ‘A9’ and ‘A8’ are the two MSbs of the
address. The sequence of events for 10-bit address is as
follows, with steps 7 through 9 for the slave-transmitter:
1.
2.
3.
4.
5.
6.
7.
8.
9.
The SSPxSR register value is loaded into the
SSPxBUF register.
The Buffer Full bit, BF, is set.
An ACK pulse is generated.
The MSSP Interrupt Flag bit, SSPxIF, is set (and
interrupt is generated, if enabled) on the falling
edge of the ninth SCLx pulse.
Receive first (high) byte of address (bits SSPxIF,
BF and UA (SSPxSTAT<1>) are set).
Update the SSPxADD register with second (low)
byte of address (clears bit UA and releases the
SCLx line).
Read the SSPxBUF register (clears bit BF) and
clear flag bit SSPxIF.
Receive second (low) byte of address (bits
SSPxIF, BF and UA are set).
Update the SSPxADD register with the first
(high) byte of address. If match releases SCLx
line, this will clear bit UA.
Read the SSPxBUF register (clears bit BF) and
clear flag bit SSPxIF.
Receive Repeated Start condition.
Receive first (high) byte of address (bits SSPxIF
and BF are set).
Read the SSPxBUF register (clears bit BF) and
clear flag bit SSPxIF.
Addressing
DS39682B-page 159

Related parts for PIC18F2510-I/ML