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 micro-controller provides many functions (CPU, RAM, ROM, I/O, interrupt logic, Timer, etc) in a single package.

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 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.

8051 microcontroller also the inclusion of four bank 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.