beautypg.com

Configuration, At8xc51snd1c – Rainbow Electronics AT89C51SND1C User Manual

Page 152

background image

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