Example: Using an SPI EEPROM (X25320 or similar)
In this example we present an SPI library allowing communication with an external EEPROM. In this case we have used a X25320 (4k × 8-bit) device, but any similar SPI EEPROM can be used without difficulty. Such devices are very useful as a means of storing non-volatile information such as passwords and similar information.
The hardware is based on the Atmel 89S53 (see Figure 24.2). Note that in main() we do the following:
SPI_Init_AT89S53(0x51);
In this case, with a 12 MHz crystal on the board, this sets the SPI clock rate to 750,000 bits/second: this is roughly 100 bytes / millisecond, meaning that the dura- tion of the basic data transfer tasks is approximately 0.01 ms.
The key files are given in Listings 24.4 to 24.6. You will also need the core SPI files presented earlier. As usual, all the files for this project are included on the CD.