Configuration, At8xc51snd1c – Rainbow Electronics AT89C51SND1C User Manual
Page 152

152
AT8xC51SND1C
4109E–8051–06/03
Configuration
The SPI configuration is made through SPCON.
Master Configuration
The SPI operates in master mode when the MSTR bit in SPCON is set.
Slave Configuration
The SPI operates in slave mode when the MSTR bit in SPCON is cleared and data has
been loaded is SPDAT.
Data Exchange
There are 2 possible methods to exchange data in master and slave modes:
•
polling
•
interrupts
Master Mode with Polling
Policy
Figure 119 shows the initialization phase and the transfer phase flows using the polling
method. Using this flow prevents any overrun error occurrence.
The bit rate is selected according to Table 131. The transfer format depends on the
slave peripheral.
SS may be deasserted between transfers depending also on the slave peripheral.
SPIF flag is cleared when reading SPDAT (SPSTA has been read before by the “end of
transfer” check).
This polling method provides the fastest effective transmission and is well adapted when
communicating at high speed with other microcontrollers. However, the procedure may
then be interrupted at any time by higher priority tasks.
Figure 119. Master SPI Polling Flows
SPI Initialization
Polling Policy
Disable interrupt
SPIE = 0
SPI Transfer
Polling Policy
End Of Transfer?
SPIF = 1?
Select Master Mode
MSTR = 1
Select Bit Rate
program SPR2:0
Select Format
program CPOL & CPHA
Enable SPI
SPEN = 1
Select Slave
Pn.x = L
Start Transfer
write data in SPDAT
Last Transfer?
Get Data Received
read SPDAT
Deselect Slave
Pn.x = H