4.3 The AT89S8253 Microcontroller Memory Organization
Program Memory (ROM)
Program memory (ROM) with a capacity of 12Kb is designed in FLASH technology, which enables programs to be loaded and erased a large number of times. It is programmed via embedded SPI module (Serial Peripheral Interface). If necessary, it is possible to add external ROM memory chip, although 12Kb of ROM is usually more than enough.
Random Access Memory (RAM)
RAM memory consists of 3 blocks containing 128 registers each. Its structure falls into the 8051 standard:
- 128 general-purpose registers;
- 128 memory locations reserved for SFRs. Even though only some of them are trully used, free locations shouldn’t be used for storing variables; and
- 128 additional registers available for use (have no special purpose). Since they have the same addresses as SFRs, they are accessed by indirect addressing.
EEPROM Memory
EEPROM is a special type of memory having features of both RAM and ROM. The contents of the EEPROM may be changed during operation, but remains permanently saved even after the loss of power. The AT89S8253 microcontroller has in total of 2K of EEPROM, that is 2048 locations.
Memory Expansion
All mentioned above about ROM and RAM memory expansion remains in force when it comes to the AT89S8253 microcontroller as it is based on the 8051 core. In other words, both memories can be added as external chips with the capacity of up to 64Kb. The process of addressing is also the same as in the 8051 standard.
Types of addressing
Similar to all microcontrollers compatible with the 8051, there are two ways of addressing:
- Direct addressing (for example: MOV A,30h); and
- Indirect addressing (for example: MOV A,@R0).