Introduction
All practical microcontroller-based systems require some form of non-volatile code memory (to store the program code) and some form of volatile memory (to store data and the stack).
In many cases, it is possible to create useful applications without adding external memory devices. The first pattern in this chapter (ON – CHIP MEMOR Y [page 82]) dis- cusses how to do this by making effective use of the various memory areas available in members of the 8051 family.
In some applications, it is necessary to add external memory: the remaining patterns in this chapter (OFF – CHIP DA T A MEMOR Y [page 94] and OFF – CHIP CODE MEMOR Y [page 100]) consider how best to add additional memory to your 8051-based application.
Please note that the material in this chapter is concerned primarily with devices using the Standard 8051 memory architecture. Some of the more recent 8051 devices, such as the Dallas 80C390, Analog Devices ADµC812 and Philips 80C51MX, provide support for much larger amounts of external memory than was possible in the origi- nal 8051 device: we briefly consider such extended memory devices in this chapter, but – as each manufacturer has an individual solution – we do not attempt to cover them in detail.