The 8051 has four important ports. Port 0, Port 1, Port 2 and Port 3. These ports allow the microcontroller to connect with the outside world. The four ports of 8051 microcontrollers have certain specific functions and corresponding features. In this post, we will take a gander at the purpose of each of these ports.
What are the features of the four ports of 8051?
- Each port has 8 pins. Thus the four ports jointly comprise of 32 pins.
- Only port 0 is unidirectional. Ports 1-3 are bidirectional.
- They are constructed with a D type output latch. They have output drivers and input buffers.
- We can modify their functions using software and hardware that they connect to.
What are the features and functions of Port 0 in 8051?
Features of Port 0
- Address is 80H
- Construction: Port 0 has a D-type latch, unidirectional buffer and 2 FETs at each pin. It does not have an internal pull-up resistor. An external pull-up resistor is needed when Port 0 is defined as an output port.
- Port 0 of the 8051 has two main functions: To be used as a simple input-output port and to access external memory in conjunction with Port 2.
Functions of Port 0
Simple I/O port:
When we use Port 0 as an input port, the internal latch should know that it’s being used for input and thus a digital 1 (FFH) is written at the port address of 80H. This turns off the transistors causing the pin to float in high impedance state connecting it to the input buffer. We can read data from ‘Read Pin Data’/’Read Latch Bit’.
When we use Port 0 as an output port, the latch programmed to 0 will turn on. Consequently, the FET will connect to GND. We will require an external pull up resistor here to give a logic ‘1’ for using Port 0 as an output port.
Access external memory:
When the 8051 wants to access external memory, the address for the memory generates due to Port 0 and Port 2. We get the lower half of the address from Port 0 and the upper half from Port 2. This is done using ALE pulses which help to latch the address to the external bus. Once done, the Port 0 goes back to being an input port to read data from that memory.
What are the features and functions of Port 1 in 8051?
Features of Port 1:
- Address is 90H
- Construction: Port 1 has one D latch, two unidirectional buffers, 1 FET and 1 internal pull up resistor at each pin.
- It has only one function – to act as an Input-Output port.
The function of Port 1 – I/O port:
When Port 1 is functioning in the capacity of an input port, a digital ‘1’ (FFH) is written to the latch. At 90H. This turns off the transistor and the pin floats in a high impedance state. Consequently, it connects to the input buffer.
When Port 1 is functioning in the capacity of an output port, the latch is given a ‘LOW’ signal (00H). This turns the FER (Field Effect Transistor) o. The pull-up resistor is OFF and the port is used as an output port.
What are the features and functions of Port 2 in 8051?
Features of Port 2
- Address is 10H
- Construction: Port 2 has a D type latch, 1 FET, an internal pull-up resistor, two unidirectional buffers, and a Control Logic block.
- Its main functions are kind of similar to those of Port 0. It can be used as an input-output port. And can access external memory in conjunction with Port 0.
Functions of Port 2
Quite similar to Port 0. The only difference here is that in Port 2 we use one FET with an internal pull-up resistor instead of the two FETs we saw in Port 0.
Port 2 is used in conjunction with Port 0 to generate the upper address of the external memory location that needs to be accessed. However, one key difference is that it doesn’t need to turnaround and get a 1 in the latch immediately for input as in Port 0. It can remain stable.
What are the features and functions of Port 3 in 8051?
Features of Port 3
- Address is B0H
- Construction: The third Port of 8051 has a D-type latch. In addition to that, it has three unidirectional buffers. A FET with an internal pull-up resistor. Additionally, it also has a NAND gate connected to the FET.
- Port 3 performs two main functions as we will see below.
Functions of Port 3
Just like Port 2, Port 3 can function as an input-output port.
Alternate SFR function
The input to SFR 1, we get the output of latch as 1 which turns on NAND gate and depending on the value of ‘Alternate Output Pin’, FET will be wither ON/OFF.
RXD this is used for a serial input port
TXD this is used for serial output port
INT0 this used for an external interrupt 0
INT1 this used for external interrupt 1
T0 Timer 0 external input
T1 Timer 1 external input
WR external data memory write strobe
RD external data memory Read strobe