Overview of the 8051 Family
Learning Goals
- Explain the historical significance and widespread adoption of the 8051 microcontroller family
- Identify key members of the MCS-51 family and their distinguishing features: 8051, 8031, 8951, and variants with different ROM configurations
- Differentiate between 8051 (with 4KB internal ROM), 8031 (with 0KB ROM, external only), and 8951 (OTP ROM variants)
- Understand the Harvard architecture employed by 8051 and its advantages for embedded systems
- Analyze the salient features of 8051: 8-bit data path, 16-bit address bus, internal RAM/ROM, timer/counters, serial port, and interrupt structure
- Compare internal ROM/RAM ratios in microcontroller-based systems versus microprocessor-based systems
- Describe the role of 8051 variants with 0KB internal ROM in systems requiring external program memory
- Evaluate the 8051 family's continued relevance and applications in modern embedded systems despite newer alternatives
The Intel MCS-51 (commonly known as the 8051) was developed by Intel in 1980 and has since become one of the most popular and enduring microcontroller architectures in history. Unlike general-purpose microprocessors (like the Intel 8085), which require external peripherals to function, the 8051 is a "system-on-a-chip." It integrates a CPU, memory, and I/O ports into a single package, making it ideal for embedded systems.
The 8051's widespread adoption is due to its versatile instruction set, low cost, and the availability of numerous variants from manufacturers like Atmel (now Microchip), NXP, and Dallas Semiconductor.
The Harvard Architecture
The 8051 employs a Harvard Architecture, which differentiates it from the Von Neumann architecture used in many early microprocessors.
Key Advantages for Embedded Systems:
- Simultaneous Access: The CPU can read an instruction from Program Memory and access Data Memory at the same time, increasing throughput.
- Security: Since the data and program spaces are separate, it is harder for a program to accidentally overwrite its own code.
- Optimization: Program memory (ROM) and Data memory (RAM) can have different word widths and addressing logic.
Introduction to 8051 Microcontroller
Salient Features of the MCS-51
The original 8051 is an -bit microcontroller, meaning its internal data path and ALU process bits of data at a time. However, it uses a -bit address bus, allowing it to address up to KB of memory.
Core Specifications:
- 8-bit CPU: Optimized for control applications.
- Memory: KB internal ROM and bytes internal RAM.
- I/O Ports: Four -bit ports (P0, P1, P2, P3), totaling I/O pins.
- Timers/Counters: Two -bit timers.
- Serial Port: Full-duplex UART for communication.
- Interrupt Structure: Five interrupt sources (2 external, 3 internal).
Evolution of the MCS-51 Family Members
- 1Step 1
The original member with KB of Mask ROM and bytes of RAM. It is used when the program is finalized and can be factory-programmed.
- 2Step 2
A version with KB of internal ROM. It requires an external EPROM to store the program, making it flexible for prototyping but requiring more board space.
- 3Step 3
A 'superset' of the 8051, featuring KB of internal ROM, bytes of RAM, and a third -bit timer.
- 4Step 4
Contains KB of EPROM (Erasable Programmable ROM). It has a glass window on the chip for UV erasure, allowing developers to rewrite code.
- 5Step 5
Developed by Atmel, this variant uses Flash memory instead of Mask ROM or EPROM. This allows for fast, electronic erasing and reprogramming, making it the most popular choice for modern education and small-scale projects.
Comparison of 8051 Family Memory Configurations
Internal ROM and RAM sizes across key MCS-51 members
In a microcontroller system, the ratio of RAM to ROM is very low. For example, the 8051 has KB of ROM but only bytes of RAM. This is because embedded applications usually run a fixed program that requires very little temporary data storage.
Deep Dive into 8051 Peripherals
The 8031 Limitation
Since the 8031 has KB of internal ROM, you MUST use the pin (connected to Ground) and provide external memory chips. This uses up Port 0 and Port 2 for address/data lines, reducing the available I/O pins for your application.
Modern Relevance
While 32-bit ARM Cortex-M processors are common today, the 8051 core is still widely used as a 'sub-processor' inside larger SoCs (System on Chips) to manage low-level tasks like power management or keyboard scanning due to its tiny silicon footprint.
Knowledge Check
Which architecture does the 8051 family use?