The 8051 microcontroller has an 8-bit CPU, 64KB program memory, 64KB data memory, 4KB onboard program memory, 128 bytes onboard data RAM, 32 I/O lines, two 16-bit timers/counters, a full duplex UART, and a 6-source interrupt structure. It consists of a CPU, two memory sections, I/O ports, special function registers, and control logic connected via an 8-bit internal data bus. The 8051 has 40 pins, with some pins having alternate functions.