In 1981, Intel introduced an 8-bit microcontroller called the 8051 microcontroller. This is one of the basic type of microcontroller based on Harvard Architecture and developed primarily use in embedded systems. Basically, 8051 microcontroller was developed by using HMOS technology, which required more power to operate. Therefore, Intel redesigned Microcontroller 8051 using CMOS technology and their updated versions is 80C51 this required less power to operate.
Features of 8051 Microcontroller
- It having 8 bit CPU.
- It is built with 40 pins DIP (dual inline package) IC.
- On-chip program memory (ROM) 4KB bytes
- On-chip data memory (RAM) 128 bytes
- Four register banks ( Bank 0- Bank 3)
- 128 user defined software flags
- 8-bit bidirectional data bus
- 16-bit unidirectional address bus
- 32 general purpose registers each of 8-bit
- 2- sixteen bit Timer/Counter ( Timer 0 and Timer 1).
- Three internal and two external Interrupts.
- 32 bidirectional I/O lines arranged as four 8-bit port ( port 0 – port 3).
- 16-bit program counter and data pointer.
- An on-chip crystal oscillator is integrated in the microcontroller having crystal frequency of 12 MHz.
- Direct bit and byte addressability.
- 8051 also have a number of special features such as UARTs, ADC, Op-amp, etc.
Internal Architecture Of 8051 Microcontroller
Now discuss the internal architecture and each functional block of 8051 Microcontroller.
CPU (Central Processing Unit)
we know that CPU is the main component of any processor it is also called the heart of the processor. It control and manages all processes that are carried out in microcontroller unit. It also communicating with peripheral devices like Memory, Input and Output. CPU contain Arithmetic Logic Unit (ALU) , a Control Unit (CU) and some resistors.
Arithmetic and logic unit (ALU) perform arithmetic and logic operation. It also manipulate data. Individual bit of register can be set, reset, cleared complimented, tested used in logical computation. Control Unit (CU) is responsible for timing of the communication process between the CPU and its peripherals.
To perform any specific task microcontroller required a group of instructions which is called program. So to store these program microcontroller having a memory called program memory or code memory. In microcontroller ROM (Read only memory) is used as a program memory to store program or instructions. Program Memory generally made up of EEPROM (Electrically Erasable Programmable Read – only Memory), which is a type of non – volatile memory. In this type of memory, the data can be erased and reprogrammed using special programming signals.
To store data, microcontroller having a sperate memory called data memory. Microcontroller used RAM (Random Access Memory ) for temporarily storing of data and the auxiliary results generated during the runtime. RAM is volatile memory since cutting off power to the IC will result in loss of information or data.
In microcontroller 8051 there is code or program memory of 4 KB that is it has 4 KB ROM and it also have data memory (RAM) of 128 bytes.
Group of wires is called BUS. which uses as a communication channel or it acts as means of data transfer. In microcontroller buses consists of 8, 16 or more wires. Thus, these can carry 8 bits,16 bits simultaneously.
There are two type of buses used in 8051 microcontroller :
- Address Bus: 8051 microcontrollers has 16 bit address bus. It is used for transferring the data from CPU (Central Processing Unit) to Memory.
- Data Bus: 8051 microcontroller has 8 bits data bus. It is used for transferring the data from one peripherals to other peripherals.
Input and Output Ports
The 8051 has four important ports Port 0, Port 1, Port 2 and Port 3. These ports allow the microcontroller to connect with external devices, machines or other peripherals. Each port has 8 pins. Thus the four ports jointly comprise 32 pins. All ports are bidirectional. Each port has a latch and driver (or buffer). When external memory is employed the port-0 lines will function as multiplexed low byte address/data lines and port-2 lines will function as high byte address lines.
The 8051 has two 16-bit Programmable timers / counters (Timer 0 – Timer 1). Which can be used either as timer to generate a time delay or as counter to count events happening outside the microcontroller.
The microcontroller is a digital device, therefore it requires clock pulses for its operation. To synchronize all the part of microcontroller and perform operation microcontroller has an on-chip oscillator which works as a clock source for Central Processing Unit of the microcontroller.
Interrupts are the events that temporarily suspend the main program executed by the microcontroller. Intimate the microcontroller by sending it an interrupt signal (inform microcontroller that a device needs its service). When Microcontroller receiving an interrupt signal, the microcontroller interrupts whatever it is doing and serves the device. After that microcontroller resume the execution main program.
The program which associated with interrupt is called ISR (Interrupt Service Routine) or Interrupt handler. ISR is a set of instructions when executed providing the service to interrupted device. For every Interrupt , there is a fixed location in memory that hold the address of its ISR. The group of memory location set aside to hold the address of ISR is called Interrupt vector table.
There are 5 types of Interrupts in 8051 are:
- Timer 0 overflow interrupt- TF0
- Timer 1 overflow interrupt- TF1
- External hardware interrupt- INT0
- External hardware interrupt- INT1
- Serial communication interrupt- RI/TI
Applications of 8051 Microcontroller
Now a day there are vast application of microcontroller in various fields. 8051 is mainly used in daily life, industries , medical, automobile and defense applications etc.
- Temperature sensing and controlling devices
- Light sensing and controlling devices
- Automobile applications
- Fire detections and safety devices
- Defense applications
- Industrial instrumentation devices
- Process control devices
- Measuring and revolving objects
- Current meter objects
- Glucose & blood pressure monitors