24.5.1 SPI Control Register 0

Name: SPCR
Offset: 0x4C
Reset: 0x00
Property: When addressing as I/O Register: address offset is 0x2C

Bit 76543210 
 SPIESPEDORDMSTRCPOLCPHASPR0 [1:0] 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset 00000000 

Bit 7 – SPIE SPI0 Interrupt Enable

This bit causes the SPI interrupt to be executed if SPIF bit in the SPSR Register is set and if the Global Interrupt Enable bit in SREG is set.

Bit 6 – SPE SPI0 Enable

When the SPE bit is written to one, the SPI is enabled. This bit must be set to enable any SPI operations.

Bit 5 – DORD Data0 Order

When the DORD bit is written to one, the LSB of the data word is transmitted first.

When the DORD bit is written to zero, the MSB of the data word is transmitted first.

Bit 4 – MSTR Master/Slave0 Select

This bit selects Master SPI mode when written to one, and Slave SPI mode when written logic zero. If SS is configured as an input and is driven low while MSTR is set, MSTR will be cleared, and SPIF in SPSR will become set. The user will then have to set MSTR to re-enable SPI Master mode.

Bit 3 – CPOL Clock0 Polarity

When this bit is written to one, SCK is high when idle. When CPOL is written to zero, SCK is low when idle. Refer to Figure 24-3 and Figure 24-4 for an example. The CPOL functionality is summarized below:

Table 24-3. CPOL0 Functionality
CPOLLeading EdgeTrailing Edge
0RisingFalling
1FallingRising

Bit 2 – CPHA Clock0 Phase

The settings of the Clock Phase bit (CPHA) determine if data is sampled on the leading (first) or trailing (last) edge of SCK. Refer to Figure 24-3 and Figure 24-4 for an example. The CPHA functionality is summarized below:

Table 24-4. CPHA0 Functionality
CPHALeading EdgeTrailing Edge
0SampleSetup
1SetupSample

Bits 1:0 – SPR0 [1:0] SPI0 Clock Rate Select

These two bits control the SCK rate of the device configured as a Master. SPR1 and SPR0 have no effect on the Slave. The relationship between SCK and the Oscillator Clock frequency fosc is shown in the table below.

Table 24-5. Relationship between SCK and Oscillator Frequency
SPI2XSPR0[1]SPR0[0]SCK Frequency
000fosc/4
001fosc/16
010fosc/64
011fosc/128
100fosc/2
101fosc/8
110fosc/32
111fosc/64