The 8051 Microcontroller is one of the most commonly used microcontrollers, designed by Intel in 1981. It is used in various fields like embedded systems, consumer electronics, robotics, remote controls, automotive industry, telecom applications, power tools etc. Here in this article we are going to study the architecture and applications of 8051 microcontroller.
A microcontroller is a programmable integrated circuit (IC) that consists of a small CPU, RAM and I/O pins. Microcontroller units (MCUs) are widely used in many devices.
8051 also known as MCS-51 is one of the most popular microcontroller.
Initially, it was created using NMOS technology but since NMOS technology needs more power to function therefore later Intel introduced a new version of 8051 microcontroller based on CMOS technology and this new edition is called 80C51. These most modern Microcontrollers need a fewer amount of power to function in comparison to their forerunners.
8051 is an 8-bit microcontroller that includes 40-pins with dual inline package or DIP, 128 bytes RAM, 4-kb ROM and two 16-bit timers. It also includes four parallel 8-bit ports that are programmable and addressable based on the requirement. It also has an on-chip crystal oscillator of frequency 12 MHz integrated in it.
The block diagram of 8051 microcontroller architecture is shown below. Let’s discuss each unit briefly :
As you already know, the Central Processor Unit or CPU is the mind of any processing machine. It scrutinizes and manages all processes that are carried out in the Microcontroller. It interprets the program printed in storage space (ROM) and carries out all of them and does the projected duty. It also manages different types of registers in the microcontroller.
Interrupt is a subroutine call that temporarily suspends the Microcontroller’s main program and helps it to perform some other program which is more important than that at that particular time and resume the main program where it had left it off.
Interrupts provide us a method to postpone the current process, carry out a sub-routine task and then all over again restart standard program implementation.
8051 has 5 interrupt sources, out of which two are peripheral Interrupts, two are timer interrupts and one is a serial port interrupt.
A program is a set of commands, which is needed by the Microcontroller to perform a particular task. These programs need a storage space where they can be stored and later the microcontroller interpret them and perform the specific task.
8051 microcontroller architecture include two types of memory, such as : program memory and data memory.
Basically, Bus is a group of wires which function as a communication canal or means to transfer the Data. These buses consists of 8, 16, or more cables. As a result, a bus can bear 8 bits, 16 bits altogether. There are two types of buses:
Microcontroller 8051 consists of an on-chip oscillator that functions as a time source for the CPU . It allows the operations inside the microcontroller and other parts to be synchronous.
8051 consists of 4 parallel ports of 8 bit each thereby providing 32 input-output pins. All the 4 ports function bidirectionally i.e., either input or output according to the software control.
Timers are used to create a time gap or delay between two events. The timer produces the delay according to the demand of the processor and sends the signal to the processor once the respective delay gets produced.
Microcontroller 8051 is incorporated with two 16 bit counters & timers. The counters are separated into 8-bit registers. The timers are utilized for measuring the intervals, to find out pulse width, etc.
The microcontroller also includes a program counter, data pointer, stack & stack pointer, instruction registers including latches, temporary registers & buffers for the I/O ports.
Let’s discuss the common feature of 8051 microcontroller:
Even with the development of many advanced and superior Microcontrollers, 8051 Microcontroller is still being used in many embedded system and applications.
Some of the applications of 8051 Microcontroller are mentioned below: