8051 Microcontroller
Microcontrollers integrate all the key features of microprocessors, including built-in ROM, RAM, I/O ports, serial ports, timers, interrupts, and clock circuits, making them essentially a compact computer on a single chip that can be embedded in various applications. They are widely utilized in both household devices (like washing machines, VCD players, microwave ovens, and robotics) and across industrial and automotive applications.
The 8051 microcontroller, introduced in 1980 by Intel, was the first of the MCS-51 family. Initially developed using N-type Metal-Oxide-Semiconductor (NMOS) technology, later models, such as the 80C51, used Complementary Metal-Oxide-Semiconductor (CMOS) technology. CMOS offered lower power consumption, making these microcontrollers ideal for battery-powered applications.
Microcontrollers are classified by their bit-processing capability—for example, an 8-bit microcontroller can read, write, and process 8-bit data, which defines the width of its data bus. Modern microcontrollers, such as those in the AVR and PIC families, offer compact, cost-effective, and highly efficient options with advanced capabilities, further expanding the scope and versatility of embedded systems.
Here’s a revised version of your text:
As illustrated in the figure, microprocessors require external components to function effectively, including RAM for data storage, ROM for program storage, the PPI 8255 for I/O ports, the 8253 for timing functions, and USART for serial communication.
These peripherals are integrated to create a complete control unit that is ready for embedding within various applications.
8051 Microcontroller Blocks
8051 Microcontroller Family Member Specifications
In contrast, microcontrollers come with all essential memory and I/O ports integrated on-chip, as illustrated in the figure. This compact design enhances their popularity across various applications. Over time, many semiconductor companies have developed their own microcontrollers, each offering distinct specifications to meet diverse needs.
Here’s a formatted table summarizing the specifications of the 8051 microcontroller family members based on the data you provided:
Developed by | Family Member | RAM (bytes) | ROM (Kbytes) | Timers | I/O Pins | Serial Port | Interrupt Sources |
---|---|---|---|---|---|---|---|
Intel | 8051 | 128 | 4 | 2 | 32 | 1 | 6 |
8052 | 256 | 8 | 3 | 32 | 1 | 8 | |
8031 | 128 | None | 2 | 32 | 1 | 6 | |
Atmel | AT89C51 | 128 | 4 | 2 | 32 | 1 | 6 |
AT89C52 | 256 | 8 | 3 | 32 | 1 | 6 | |
Dallas | DS5000-8 | 128 | 8 | 2 | 32 | 1 | 6 |
DS5000-32 | 128 | 32 | 2 | 32 | 1 | 6 | |
Philips | P89C51RD2 | 1024 | 64 | 3 | 32 | 1 | 8 |
This table provides a clear overview of the key specifications for various members of the 8051 microcontroller family, including RAM and ROM sizes, timer counts, I/O pin availability, serial port support, and interrupt sources.
Pin Diagram of 8051 Microcontroller
Architecture of 8051 Microcontroller
8051 Architecture Diagram
All 8051 microcontrollers feature a distinct architecture, as illustrated in the figure. This architecture comprises various functional blocks that work together to create powerful control systems.
Here’s a refined version of your text about the 8051 microcontroller’s components:
CPU
The 8051 microcontroller features a central processing unit (CPU), which is also referred to as the Arithmetic Logic Unit (ALU). The ALU performs all arithmetic and logical operations required for program execution.
RAM (Random-Access Memory)
The 8051 microcontroller is equipped with 128 bytes of RAM for data storage. This RAM is volatile, meaning that data is lost when power is turned off. It is utilized during execution to temporarily store data. The RAM includes a register bank, a stack, temporary data storage, and several special function registers (SFRs).
ROM (Read-Only Memory)
The 8051 microcontroller has 4 KB of ROM for program storage. This ROM is non-volatile, ensuring that data is retained even during power loss. The 8051 features a 16-bit address bus, allowing it to access (2^{16}) memory locations and enabling the interfacing of up to 64 KB of external program memory for larger applications. The specified sizes of RAM and ROM can vary by manufacturer.
Timers and Counters
The 8051 microcontroller includes two timer pins, T0 and T1. These timers can generate specific delays in timer mode or count external pulses/events in counter mode. Each timer consists of two 16-bit registers: T0 (TH0 and TL0) and T1 (TH1 and TL1). For instance, to load T0, the higher 8 bits are loaded into TH0, while the lower 8 bits are loaded into TL0. The TMOD and TCON registers are used to select the mode and control timer operations.
Interrupts
Interrupts can be requested by internal or external peripherals and are masked when not in use. When an interrupt event occurs, the corresponding interrupt handler routine, known as the Interrupt Service Routine (ISR), is called and located in a specific memory location. The INT0 and INT1 pins are used to accept external interrupts.
Oscillator
The oscillator provides a clock signal to the 8051, determining its operational speed and baud rate. Crystals with frequencies ranging from 4 MHz to 30 MHz are typically used, with 11.0592 MHz being the standard frequency for achieving a 9600 baud rate in serial communication.
I/O Ports
The 8051 microcontroller has four 8-bit wide input/output ports: P0, P1, P2, and P3. Each port’s special function registers (SFRs) are bit-accessible, allowing individual bits to be set or reset. Some ports have dual functionalities:
- P0: Multiplexed with an 8-bit data bus and the lower-order address bus (AD0-AD7), de-multiplexed by the ALE signal, and used for external memory access.
- P2: Multiplexed with the higher-order address bus (A8-A15).
- P3: Offers several dual functions:
- P3.0 – RXD (Serial data receive)
- P3.1 – TXD (Serial data transmit)
- P3.2 – INT0 (External Interrupt 0)
- P3.3 – INT1 (External Interrupt 1)
- P3.4 – T0 (Clock input for counter 0)
- P3.5 – T1 (Clock input for counter 1)
- P3.6 – WR (Signal for writing to external memory)
- P3.7 – RD (Signal for reading from external memory)
Note that P0 and P2 cannot be used as I/O pins during external memory access operations.
Serial Communication Port
The 8051 microcontroller includes two serial communication (UART) pins, TXD and RXD, for transmitting and receiving data serially via the SBUF register. The SCON SFR is used to control serial operations.
This version provides a clear and structured overview of the 8051 microcontroller’s key components and functionalities.