Architecture of 8051 Microcontroller

8051 Microcontroller:

The 8051 is a single chip microcontroller series developed by Intel in 1980. 8051 is an 8-bit microcontroller that is mainly used in embedded systems.

8051 Microcontroller Architecture:

The 8051 microcontroller provides many functions (CPU, RAM, ROM, I/O, interrupt logic, Timer, etc) in a single package. 8051 microcontroller also includes four banks’ of selectable working register sets which greatly reduces the amount of time required to complete an interrupted service routine. With a single instruction, the 8051 can switch register banks as opposed to the time-consuming tasks of transferring the critical registers to the stack or designated RAM locations. These registers also allowed the 8051 to quickly perform a context switch.

Architecture of 8051 Microcontroller

1. It has an 8-bit ALU and Accumulator, 8-bit Registers (one 16-bit register with special move instructions), 8-bit data bus, and 2×16-bit address bus/program counter/data pointer and related 8/11/16-bit operations. Hence it is mainly an 8-bit microcontroller.

2. Boolean processor with 17 instructions, 1-bit accumulator, 32 registers (4-bit addressable 8-bit), and up to 144 special 1-bit-addressable RAM variables (18-bit addressable 8-bit).

3. It has to multiply, divide and compare instructions.

4. 4 fast switchable register banks with 8 registers each (memory mapped)

5. Fast interrupt with optional register bank switching.

6. Interrupts and threads with selectable priority.

7. It has a dual 16-bit address bus, it can access 2×216 memory locations – 64 KB (65536 locations) each of RAM and ROM.

8. 128 bytes of on-chip RAM (IRAM).

9. 4 KiB of on-chip ROM with a 16-bit (64 KiB) address space (PMEM). Not included on 803X variants.

10. Four 8-bit bi-directional I/O ports.

11. UART (Serial port)

12. Two 16-bit Counter/timers.

13. Power saving mode

14. 8051 core is the inclusion of a boolean processing engine that allows bit-level boolean logic operations to be carried out directly and efficiently on select internal registers and select RAM locations.