8255 Report
8255 Report
8255 Report
Introduction:
The Intersil 82C55A is a high performance CMOS version of the industry standard 8255A
and is manufactured using a self-aligned silicon gate CMOS process (Scaled SAJI IV). It
is a general purpose programmable I/O device which may be used with many different
microprocessors. There are 24 I/O pins which may be individually programmed in 2 groups of
12 and used in 3 major modes of operation. The high performance and industry standard
configuration of the 82C55A make it compatible with the 80C86, 80C88 and other
microprocessors.
Static CMOS circuit design insures low operating power. TTL compatibility over the full
military temperature range and bus hold circuitry eliminate the need for pull-up resistors. The
Intersil advanced SAJI process results in performance equal to or greater than existing
functionally equivalent products at a fraction of the power.
Available Packages
(CS) Chip Select. A “low” on this input pin enables the communication between the 82C55A and
the CPU.
(RD) Read. A “low” on this input pin enables 82C55A to send the data or status information to the
CPU on the data bus. In essence, it allows the CPU to “read from” the 82C55A.
(WR) Write. A “low” on this input pin enables the CPU to write data or control words into the
82C55A.
TAIMUR MUSHARRAF 05B-001-EE SEC:A SEM-V 2
IC-8255 Presentation Report
(A0 and A1) Port Select 0 and Port Select 1. These input signals, in conjunction with the RD and
WR inputs, control the selection of one of the three ports or the control word register. They are
normally connected to the least significant bits of the address bus (A0 and A1).
(RESET) Reset. A “high” on this input initializes the control register to 9Bh and all ports (A, B, C)
are set to the input mode. “Bus hold” devices internal to the 82C55A will hold the I/O port inputs to
a logic “1” state with a maximum hold current of 400µA.
Ports A, B, and C
The 8255A contains three 8-bit ports (A , B, and C). All can be configured in a wide variety
of functional characteristics by the system software but each has its own special features or
personally to further enhance the power and flexibility of the 8255A.
Port A. One 8 bit data output latch/buffer and one 8-bit data input latch.
Port B. One 8-bit data output latch/buffer and one 8-bit data input buffer.
Port C. One 8-bit data output latch/buffer and one 8-bit data input buffer (no latch for input). This
port can be divided into two 4-bit ports under the mode control. Each 4-bit port contains a 4-bit
latch and it can be used for the controls signal outputs and status signal inputs in conjunction with
ports A and B.
Configuration:
Pin #
Mode of 8255:
There are three basic modes of operation that can be selected by the systems software:
o Mode O – Basic Input/Output
o Mode 1 – Strobed Input/Output
o Mode 2 – Bi-Directional Bus
When the reset Input goes “high” all ports will be set to the Input mode (i.e., all 24 lines will
be in the high Impedance state). After the reset is removed the 8255A can remain in the input
mode with no additional Initialization required. During the execution of the systems program any of
the other modes may be selected using a single output Instruction. This allows a single 8255A to
service a variety of peripheral devices with a simple software maintenance routine.
The modes for Ports A and Port B can be separately defined, while Port C is divided into
two portions as required by the Port A and Port B definitions. All of the output registers, including
the status flip-flops, will be reset whenever the mode is changed. Modes may be combined so that
their functional definition can be “tailored” to almost any I/O stricture. For instance; Group B can
be programmed in Mode 0 to monitor simple switch closing or display computational results,
Group A could be programmed in Mode 1 to monitor a keyboard or tape reader on an interrupt-
driven basis.
The Mode definitions and possible mode combinations may seem confusing at first but
after a cursory review of the complete device operation a simple , logical I/O approach will
surface. The design of the 8255A has taken into account things such as efficient PC board layout,
control signal definition vs PC layout and complete functional flexibility to support almost any
peripheral device with no use of the available pints.
When the 8255A is programmed to operate in mode 1 or mode 2, control signals are
provided that can used as interrupt request input to the CPU. The interrupt request signal
generated from port C, can be inhibited or enabled by setting or resetting the associated INTE flip-
flop, using the bit set/reset function of port C.
This function allows the Programmer to disallow or allow a specific I/O device to interrupt
the CPU without affecting any other device in the interrupt structure.
INTE flip-flop definition
(BIT-SET) – INTE is SET – Interrupt enable
(BIT-RESET) – INTE is RESET – Interrupt disable
Note: All Mask flip-flops are automatically reset during mode selection and device reset.
STB (Strobe Input). A “ low “ on the input loads data into the input latch.
A “high” on this output indicates that the data has been loaded into the input latch. In essence, an
acknowledgement.
TAIMUR MUSHARRAF 05B-001-EE SEC:A SEM-V 8
IC-8255 Presentation Report
IBF is set by STB input being low and is reset by the rising edge of the RD input.
A “high” on this output can be used to interrupt the CPU when an input device is requesting
service, INTR is set by the STB is a “one”, IBF is a “one “ and INTE is “one “. It is reset by the
falling edge of RD. This procedure allows an input device to request service from the CPU by
simply strobing its data into port.
INTE A
INTE B
OBF (Output Buffer Full F/F). The OBF output will go “low” to indicate that the CPU has written
data out to the specified port. The OBF F/F will be set by rising edge of the WR input being low.
ACK (Acknowledge Input). A “low” on this input informs the 8255A that the data from port A or
port B has been accepted. In essence, a response from the peripheral device indicating that it has
received the data output by CPU.
INTR (Interrupt Request). A “high” on the output can be used to interrupt the CPU when an
output device has accepted data transmitted by the CPU. INTR is set when ACK is a “one”, OBF
is a “one”, and INTE is a “one”. It is reset by the falling edge of WR.
INTE B
This functional configuration provides a means for communicating with a peripheral device or
structure on a single 8-bit bus for both transmitting and receiving data (bi-directional bus I/O).
“Handshaking” signals are provided to maintain proper bus flow discipline in a similar manner to
MODE.
The 5-bit control port (Port C) is used for control and status for the 8-bit,bi-directional bus port
(Port A).
Different IC Terms:
Dual-In-Line Plastic Packages (PDIP)
Plastic Leaded Chip Carrier Packages (PLCC)
Ceramic Dual-In-Line Frit Seal Packages (CERDIP)
Ceramic Leadless Chip Carrier Packages (CLCC)
References:
• www.wikipedia.com
• 82C55A Datasheet
• Boondog.com
• Advancedmsinc.com
• Decisioncards.com/io