Control Signals in 8155 Microprocessor
Intel designed the chip 8155 used to interface with I/O devices. Basically, the 8085 microprocessor is directly unable to deal with its peripheral input output devices for reading data or writing data into them. So, the 8085 microprocessor connects itself with the 8155 chip, and then the 8155 chip deals with I/O devices to read or write data based on the control signals.
There are generally two kinds of ports:
- Programmable
- Non-programmable
Programmable ports
Ports that can be programmed, and with the help of control signals, we can use them as an input ports or output ports based on our requirements are defined as programmable ports. We can also control the mode in which they will work with the help of control signals.
Non-Programmable ports
Ports that cannot be programmed, and once they are built their working cannot be changed, are defined as non-programmable ports. For example, if a port is designed as an input port and if it is non-programmable, then we can’t use it as an output port or any other port.
In the 8155 chip, there are three programmable ports:
- Port A
- Port B
- Port C
Port A and Port B are 8-bit ports, whereas Port C is a 6-bit port. So, there are 8 pins in Port A and Port B for each bit, and there are 6 pins in Port C.
- 8 pins are like PA0 to PA7 and PB0 to PB7
- Six pins are from PC0 to PC5.
There are 8 pins of the address bus (8-bit address bus), which connect it to the address bus of the 8085 microprocessor’s address bus. The address bus is from AD0 to AD7.
There are control signals generated by the 8085 microprocessor, and internally it is transferred to 8155. Then 8155 performs various actions like reading data or writing data, or enabling the interrupt signal. There is an 8-bit control register in 8155 where control signals are stored.
Handshake Mode
It is also called strobe mode for I/O. In this mode, port A uses 3 pins of Port C, and Port B also uses the other 3 pins of Port C. So basically, the control signal is generated by Port C in this mode.
This mode is generally used when the device connected to the peripheral of 8155 is not fast enough to send the data or receive the data. Port A and Port B are both independent in terms of programming in this mode.
8155 can generate the following types of control signals:
STB
It is also called strobe input. It is an active low input control signal for 8155 and also an output signal for the device connected to it.
This signal is the indication that tells the 8155 to load the data in the input buffer. This signal is generated by the device connected; indicating that data has been sent to the ports of the 8155 chip, and you can now take data as input.
So, after receiving the signal, 8155 takes the input data into the buffer.
BF
BF is also known as Buffer Full control signal. This is an active high signal which is raised by the 8155 microprocessor. This control signal is output for 8155 and input for connected devices.
When BF is 1, it means the input buffer has been full, and 8155 cannot take more data from the device. So the device will stop sending the data until BF becomes low.
When 8085 reads the complete data from the buffer, then BF becomes low, and then the device can send the data to 8155 again. It works as an acknowledge signal for the input device connected.
INTR
This is an active high signal which is raised by 8155. This is the output signal indicating to the 8085 microprocessor that the device connected has sent the data to ports, and data is now available on the buffer. So it indicates the microprocessor to read the data from the input buffer.
When the microprocessor reads the data from the input buffer, then this control signal INTR becomes low.
INTL
The interrupt functionality of the 8155 is turned on or off using this internal flip-flop. Bits D4 and D5 in the control register, respectively, control the interrupts of ports A and B.