Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

8051 MICROCONTROLLER

Features of 8051 microcontroller


 8-bit CPU
 16-bit Program Counter
 8-bit Processor Status Word (PSW)
 8-bit Stack Pointer
 Internal RAM of 128 bytes
 Special Function Registers (SFRs) of 128 bytes
 32 I/O pins arranged as four 8-bit ports (P0 - P3)
 Two 16-bit timer/counters: T0 and T1
 Two external and three internal vectored interrupts
 One full duplex serial I/O
8051 MICROCONTROLLER ARCHITECTURE

1
The various components of 8051 Microcontroller are as follows:
CPU (Central Processing Unit):
 Composed of ALU, Program Counter, Data Pointer, Stack Pointer, Special Function or Special
Purpose Registers.
 ALU composed of Accumulator, B-Register and two Temporary Registers and PSW (Program
Status Word).
Accumulator
 8-bit register widely used for all arithmetic and logical operations.
 Accumulator is also used to transfer data between external memory.
 B-register is used along with Accumulator for multiplication and division.
 The contents of Accumulator and B-register are applied to ALU through their respective temporary
registers.

2
PSW (Program Status Word)
 8-bit register which contains the arithmetic status of ALU and the bank select bits of register
banks.

o CY (carry flag) – Set if carry/borrow is generated.


o AC (auxiliary carry flag) - Set if carry/borrow is generated in lower order nibble
o F0 - Available to the user for general purpose.
o RS1, RS0 - Register bank select bits
o OV (overflow) – Set if overflow occurs
o P (parity flag) – Set if odd parity

Stack Pointer (SP)


 8-bit register which contains the address of the data item on the top of the stack.
 Stack may reside anywhere on the internal RAM.
 On reset, SP is initialized to 07H so that the default stack will start from address 08H onwards.
 The SP increments by 1 for every PUSH operation and decrements by 1 for every POP operation.
Data Pointer (DPTR) – DPH (Data pointer higher byte), DPL (Data pointer lower byte)
 16-bit register which is used to hold the address for internal and external program memory and
for external data memory.
Program Counter (PC)
 16-bit PC contains the address of next instruction to be executed.
 On reset PC will set to 0000.
 After fetching every instruction PC will increment by one.

3
INTERNAL or ON-CHIP RAM or DATA MEMORY
 Consist of totally 256 memory locations (including 128 bytes for Special Function Registers).
 The lower 128 memory locations are called General Purpose Area and its split-up is as follows
o First 32 locations [00H to 1FH] for Register Bank [Register are manipulated as BYTE].
o Each register bank consists of 8 registers (R0-R7).
o Next 16 locations [20H to 2FH] for BIT ADDRESSABILITY [Individual bits of a memory
location can be manipulated].
o Last 80 locations [30H to 7FH] for
SCRATCHPAD purpose (read/write)
during ARITHMETIC, LOGICAL and DATA
TRANSFER, EXCHANGE operations.
o Location 08H to 7FH can also be used as
LIFO STACK.
 The upper 128 memory locations are called
as Special Purpose Area and consist of
special function registers associated with
ALU, on-chip memories and peripherals. The
type of ON-CHIP RAM is SRAM [or Static
RAM]
 Special function register consists of Accumulator, Register B, PSW etc.

INTERNAL or ON-CHIP ROM or PROGRAM MEMORY or CODE MEMORY:


 Consist of totally 4K memory locations.
 Presence of on-chip ROM is optional. ROM less variant of 8051 is 8031 microcontroller.
 The type of ROM implemented in 8051 microcontroller can be any one of the following:
o Masked ROM,
o OTP (One Time Programmable) ROM [also called as PROM],
o UV-EPROM
 The programs stored in ROM are called FIRMWARE.

4
I/O PORTS
 There are totally four 8-bit I/O Ports namely PORT 0, PORT 1, PORT 2, PORT 3.
 Each port has 8 lines and all these ports are bidirectional.
 PORT 0, 2 and 3 are multifunctional ports.
TIMER/COUNTER
 There are two 16-bit timers namely TIMER 0 and TIMER 1.
 The TIMER can function as both timer as well as counter.
 When operating as timer, it receives the clock pulses from the INTERNAL OSCILLATOR.
 When operating as counter it receives the clock pulses from the TIMER pins of PORT 3.
SERIAL COMMUNICATION PORT
 Serial port of 8051 microcontroller supports full duplex communication i.e., it can simultaneously
transmit or receive data from an external device.
INTERRUPT
 8051 Microcontroller supports 5 hardware interrupts.
o 2 general purpose interrupts
o 2 timer/counter overflow indication interrupts
o 1 serial communication completion indication interrupt
 All the interrupts are vectored interrupts i.e., the interrupt vector address of these interrupts are
predefined. Interrupt vector address is the starting address of a interrupt service routine.

TIMING and CONTROL CIRCUITRY


 TIMING and CONTROL circuitry is used for generating timing, control and status signals that is
required for operation of internal and external circuitries of 8051 microcontroller.

5
PINOUT OF 8051 MICROCONTROLLER
 8051 microcontroller is a 40 pin Dual Inline Package (DIP).
 It has four I/O ports wherein each port has 8 pins which can be configured as input or output
pins. Therefore, 32 out of these 40 pins are dedicated to I/O ports.
Description of the Pins
 Pin 1 to Pin 8 (Port 1) – Pin 1 to Pin 8 are
assigned to Port 1 for simple I/O operations. If
logic zero (0) is applied to the I/O port it will act
as an output pin and if logic one (1) is applied
the pin will act as an input pin. These pins are
also referred to as P1.0 to P1.7 (where P1
indicates that it is a pin in port 1 and the
number after ‘.’ tells the pin number i.e., 0
indicates first pin of the port. So, P1.0 means
first pin of port 1, P1.1 means second pin of the
port 1 and so on). These pins are bidirectional
pins.
 Pin 9 (RST) – Reset pin is an active-high, input
pin. If the RST pin is high for a minimum of 2
machine cycles, the microcontroller will reset. It
is often referred as “power-on-reset” pin
because it is used to reset the microcontroller to
its initial values when power is on.
 Pin 10 to Pin 17 (Port 3) – Pin 10 to pin 17 are port 3 pins which are also referred to as P3.0
to P3.7. These pins are similar to port 1 and can be used as universal input or output pins.
These pins are bidirectional pins.
These pins also have some additional functions which are as follows:
o P3.0 (RXD): 10th pin is RXD (serial data receive pin) which is for serial input. Through this
input signal microcontroller receives data for serial communication.
o P3.1 (TXD): 11th pin is TXD (serial data transmit pin) which is serial output pin. Through
this output signal microcontroller transmits data for serial communication.
6
o P3.2 and P3.3 (INT0′, INT1′): 12th and 13th pins are for External Hardware Interrupt 0
and Interrupt 1 respectively. When this interrupt is activated (i.e., when it is low), 8051 gets
interrupted in whatever it is doing and jumps to the vector value of the interrupt and starts
performing Interrupt Service Routine (ISR) from that vector location.
o P3.4 and P3.5 (T0 and T1): 14th and 15th pin are for Timer 0 and Timer 1 external input.
They can be connected with 16-bit timer/counter.
o P3.6 (WR’): 16th pin is for external memory write i.e. writing data to the external memory.
o P3.7 (RD’): 17th pin is for external memory read i.e. reading data from external memory.
 Pin 18 and Pin 19 (XTAL2 And XTAL1) – These pins are connected to an external oscillator
which is generally a quartz crystal oscillator. They are used to provide an external clock
frequency of 4MHz to 30MHz.
 Pin 20 (GND) – This pin is connected to the ground.
 Pin 21 to Pin 28 (Port 2) – Pin 21 to pin 28 are port 2 pins also referred to as P2.0 to P2.7.
When additional external memory is interfaced with the 8051 microcontroller, pins of port 2 act
as higher-order address bytes. These pins are bidirectional.
 Pin 29 (PSEN’) – Program Store Enable is an output, active-low pin. This is used to read
external memory.
 Pin 30 (ALE) – Address Latch Enable is input, active-high pin. It is used to de-multiplex the
multiplexed address and data signals available at port 0.
 Pin 31 (EA) – External Access is used to enable/disable external memory interfacing. In 8051,
EA is connected to Vcc as it comes with on-chip ROM to store programs. For other family
members such as 8031 and 8032 in which there is no on-chip ROM, the EA pin is connected to
the GND.
 Pin 32 to Pin 39 (Port 0) – Pin 32 to pin 39 are port 0 pins also referred to as P0.0 to P0.7.
They are bidirectional input/output pins. Port 0 is also designated as AD0-AD7 because 8051
multiplexes address and data through port 0 to save pins.
 Pin 40 (VCC) – This pin provides power supply voltage i.e., +5 Volts to the circuit

You might also like