In the given tutorial we will discuss about the Extra 128-byte on-chip RAM in 8052 microcontroller, how it is organized, its functions and uses. This tutorial is designed to keep the idea in mind that student should understand the internal architecture and working of microcontroller so that they can easily use them in their projects. After getting familiar student can start development rapidly. 8051 is one of the most popular microcontroller of its all time due to its 8 bit architecture and speed. Using small piece of code an embedded Engineer can design a powerful embedded applications. On the other hand, its variants AT89C52 comes with extra on chip RAM, which offers very large and versatile application development. 128K external memory with basic time instruction 1 microsecond on 12 MHz.
The original version of MCS8031/8051 microcontroller offers 128 bytes on chip Read Write Memory and this memory was increased upto 256 bytes in 8052 version thus offers wide range of large application development, a revolution in embedded systems. This memory supports features like 8 bit Registers four banks, with the help of PSW active bank can be selected using two bits. Total 128 bits (16 Bytes) can be read write in bit storage and can be cleared at any time using a single instruction.
It contains the on chip 128 Bytes of Internal RAM offers fastest RAM available at that time. It was most recommended and flexible while reading, writing and modifying its internal values and data. By nature it is a volatile RAM means when we switch off or reset the system then contents vanished immediately.
Up to 256 bytes of internal data memory are available depending on the 8051 derivative. Locations available to the user occupy addressing space from 0 to 7Fh, i.e. first 128 registers and this part of RAM is divided in several blocks. The first 128 bytes of internal data memory are both directly and indirectly addressable. The upper 128 bytes of data memory (from 0x80 to 0xFF) can be addressed only indirectly. Depending on the variant of 8051 microcontroller upto 256 bytes are available for use. To access the memory addressing space to work with these memory location is 0 to 7Fh, 128 registers and this RAM locations are divided into various other blocks and locations. Available first 128 bytes of internal memory data can be addressed directly and indirectly. Means we can use both of the methods to access the memory locations with direct method or indirect it gives a flexibility and ease to the developer. On the other hand rest of the memory 128 bytes can be accessed from 0x80 to 0xFF can be access only with the indirect method.
Keep in mind that memory block range starts from 20h to 2Fh is a bit addressable memory locations, which means each bit storage location has its own personal address to access which is 0 to 7Fh. There are 16 same types of registers having bit addressable memory locations. Total 128 bits having address separately bit 0 of byte 20h has bit addressable location 0 and bit 7 of byte memory location byte 2Fh has bit addressable 7Fh. To refer internal data memory there are three memory type specifiers are used these are Data, iData and Bdata.
8051 Memory Organization, Internal Data Memory, Program Memory (ROM), Internal Data Memory