
Analysis of the Logical Structure of the MCS-51 Microcontroller
The MCS-51 microcontroller (such as the classic 8051) is a milestone design in embedded systems, with its logical structure centered around modular integration and Harvard architecture, perfectly balancing performance and cost. Below is a detailed breakdown of its logical structure:
1. Core Control Unit (CPU)
- 8-bit ALU supports addition, subtraction, multiplication, division, logical operations, and bit manipulation, with a maximum clock frequency of 12MHz (for traditional models).
- Program Counter (PC) 16-bit width, supports addressing 64KB of program memory.
- Instruction Decoder parses machine code into control signals, driving data flow.
- Special Function Registers (SFR) include 21 registers such as the Accumulator (ACC), Program Status Word (PSW), and Stack Pointer (SP), directly mapped to addresses 80H~FFH.
Key Features: Supports bit addressing (such as directly manipulating a specific bit of an I/O port) through the Boolean processor, greatly enhancing control efficiency.
2. Memory Structure (Harvard Architecture)
- Program Memory (ROM)
- Internal 4KB mask ROM (8031 has no internal ROM)
- Externally expandable to 64KB, with the EA pin selecting internal or external ROM
- Data Memory (RAM)
- Working Register Group (00H~1FH): 4 sets of R0-R7
- Bit Addressable Area (20H~2FH): 16 bytes supporting 128 bit addresses
- General RAM Area (30H~7FH)
- Internal 128B RAM (00H~7FH)
- Externally expandable 64KB RAM, accessed via MOVX instruction
Harvard Advantage: Independent program and data storage spaces avoid bus contention, improving instruction execution efficiency by 30%.
3. Input/Output (I/O) System
- 4 8-bit bidirectional ports (P0-P3)
- P0 multiplexed as data bus (D0-D7) and low 8-bit address bus (A0-A7)
- P2 high 8-bit address bus (A8-A15)
- P3 multiplexed special functions (such as serial port, interrupts, timer pins)
- Driving Capability Each I/O pin can sink 20mA current (push-pull output structure), capable of directly driving LEDs.
Expansion Logic: By using an address latch (such as 74LS373) to separate the address/data signals of port P0, an external bus system can be constructed.
4. Timer/Counter
- 2 16-bit timers (T0/T1)
- Operating modes: 13-bit/16-bit timer, 8-bit auto-reload, counter
- Clock source can be selected as internal instruction cycle or external pin (such as T0/P3.4)
- Baud Rate Generator works with serial communication to achieve precise rate control.
Application Scenarios: Motor PWM generation (mode 2 auto-reload), external event counting (such as speed measurement).
5. Interrupt System
- 5 interrupt sources
- External Interrupt 0/1 (INT0/INT1)
- Timer Interrupt 0/1 (TF0/TF1)
- Serial Port Interrupt (TI/RI)
- Two-level priority configured via the IP register, supporting nested interrupts.
- Triggering Method can be set to low level/falling edge (configured via the TCON register).
Response Time: Typical 3-8 machine cycles, minimum 3μs (at 12MHz clock).
6. Serial Communication Interface (UART)
- Full-duplex asynchronous communication supports 8/9 bit data formats
- Operating Modes
- Mode 0: Synchronous shift register (extended I/O)
- Modes 1-3: Asynchronous communication, baud rate programmable
- Data Buffer SBUF register implements send/receive double buffering.
Typical Applications: RS-232 level conversion using the MAX232 chip to connect to a PC terminal.
7. Bus Logic and Expansion
- Three-bus structure
- Address Bus 16-bit (P0+P2), addressing 64KB space
- Data Bus 8-bit (P0)
- Control Bus ALE (address latch), PSEN (program read), EA (memory selection)
- External Device Expansion through 8255 to expand parallel I/O, ADC0809 to connect analog signals.
Logical Structure Block Diagram
+-------------------+
| CPU Core |
| (ALU+PC+SFR+IR) |
+---------+---------+
|
| Internal Bus
+---------v---------+
| Program Memory (ROM) |
+---------+---------+
|
+---------v---------+
| Data Memory (RAM) |
+---------+---------+
|
+---------v---------+
| Timer/Counter |
+---------+---------+
|
+---------v---------+
| Serial Communication Unit |
+---------+---------+
|
+---------v---------+
| Interrupt Control System |
+---------+---------+
|
+---------v---------+
| I/O Port Driver Logic |
+-------------------+
Design Philosophy and Impact
The logical structure of the MCS-51 embodies the classic ideas of functional modularity and hardware/software co-design:
- Unified Addressing: Maps SFR, RAM, and peripherals uniformly into memory space, simplifying the instruction set;
- Bit Manipulation Revolution: The world’s first MCU to support bit-level operations, establishing a paradigm for embedded control;
- Expandable Gene: Seamless integration of peripherals like ADC and LCD through open bus architecture.
Although modern Cortex-M series performance far exceeds that of the 8051, the logical architecture still shows the shadow of the MCS-51 (such as SFR design). To this day, over 500 million compatible chips are produced annually in China, proving the enduring vitality of this structure.
Appendix: Quick Reference Table of Technical Parameters
| Module | Key Parameters |
|---|---|
| CPU | 8-bit, 12MHz, 111 instructions |
| ROM | 4KB (8051), supports external expansion |
| RAM | 128B, supports external expansion |
| Timer | 2×16-bit, 4 operating modes |
| Interrupt | 5 sources, 2 levels, response time 3-8 cycles |
| I/O | 32-bit programmable, bit addressing capability |
| Serial Port | Full-duplex UART, adjustable baud rate |
Mastering this structure is the first key to unlocking the embedded world.


Some screenshots of electronic books

【Complete Set of Hardware Learning Materials Collection】
