Home »
Embedded Systems
Modes of operation of 8255 PPI (Programmable peripheral interface)
In this tutorial, we will learn about the various modes in which the 8255 PPI operates. We will first list all the modes and then define how our IC functions in each of them and what are the differences between those modes?
By Monika Sharma Last updated : May 22, 2023
The 8255 IC is a Programmable Peripheral Interface which is used to interface the microprocessor with other computer devices (Input-output devices). The mode in which the 8255 works defines the functioning of it in that mode. There are 2 modes in which the 8255 works:
8255 Modes
- BSR Mode (Bit Set Reset Mode)
- IO Mode (Input-Output Mode)
As we know that the control word is responsible for the working of the 8255 IC as it instructs the IC what function is to be performed. The control word pins are formed 27 to 34 (named D7- D0).
The MSB (Most Significant Bit) of the Control word, i.e. D7 (pin 34) decides the mode. If it is reset (i.e. 0), then our 8255 IC is in the BSR mode. Else, if the MSB is set, (i.e. 1) then our IC is in the IO mode.
1) BSR mode
For the BSR mode, the MSB of the control word must be 0. The BSR mode handles only the bit set and resets operations for port C: PC0 to PC7 (both upper and lower). In this mode, the IC functions in such a way that it can assign any binary value to any bit of the Port C.
2) IO Mode
The Input-Output mode, unlike the BSR mode, handles different other ports as well. There is further categorization for the IO mode:
- Mode 0: Simple Input- Output Mode or IO without Handshake
In this mode, all the ports, i.e. port A, port B, and port C are used for transferring the data. No port, in this case, performs the handshaking function and all of them act as an Input-Output port.
- Mode 1: I/O with Handshake or Strobed I/O
In this mode, the port A and port C act as the Input-Output ports but the port C is used for handshaking. Hence, the data in this mode can flow only through port A and port B.
- Mode 2: Bidirectional I/O
In this mode, the data transfer is bidirectional but only for port A. Simultaneously, the port B can either be in mode 1 or mode 0 and the port C performs its function of handshaking.