82C55A
The modes for Port A and Port B can be separately defined, This function allows the programmer to enable or disable a
while Port C is divided into two portions as required by the CPU interrupt by a specific I/O device without affecting any
Port A and Port B definitions. All of the output registers, other device in the interrupt structure.
including the status flip-flops, will be reset whenever the
INTE Flip-Flop Definition
mode is changed. Modes may be combined so that their
functional definition can be “tailored” to almost any I/O
structure. For instance: Group B can be programmed in
Mode 0 to monitor simple switch closings or display compu-
tational results, Group A could be programmed in Mode 1 to
monitor a keyboard or tape reader on an interrupt-driven
basis.
(BIT-SET)-INTE is SET - Interrupt Enable
(BIT-RESET)-INTE is Reset - Interrupt Disable
NOTE: All Mask flip-flops are automatically reset during mode se-
lection and device Reset.
The mode definitions and possible mode combinations may Operating Modes
seem confusing at first, but after a cursory review of the
Mode 0 (Basic Input/Output). This functional configuration
complete device operation a simple, logical I/O approach will
surface. The design of the 82C55A has taken into account
things such as efficient PC board layout, control signal defi-
nition vs. PC layout and complete functional flexibility to sup-
port almost any peripheral device with no external logic.
Such design represents the maximum use of the available
pins.
provides simple input and output operations for each of the
three ports. No handshaking is required, data is simply writ-
ten to or read from a specific port.
Mode 0 Basic Functional Definitions:
• Two 8-bit ports and two 4-bit ports
• Any Port can be input or output
• Outputs are latched
Single Bit Set/Reset Feature (Figure 5)
Any of the eight bits of Port C can be Set or Reset using a
single Output instruction. This feature reduces software • Input are not latched
requirements in control-based applications.
• 16 different Input/Output configurations possible
When Port C is being used as status/control for Port A or B,
these bits can be set or reset by using the Bit Set/Reset
operation just as if they were output ports.
MODE 0 PORT DEFINITION
A
B
GROUP A
PORTC
GROUP B
PORTC
CONTROL WORD
D4 D3
D1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D0 PORT A (Upper)
#
0
1
2
3
4
5
6
7
8
9
PORT B (Lower)
D7 D6 D5 D4 D3 D2 D1 D0
BIT SET/RESET
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Output Output
Output Output
Output Output
Output Output
Output Output
Output
Input
Input
Output
Input
X
X
X
1 = SET
0 = RESET
DON’T
CARE
Input
BIT SELECT
0 1 2 3 4 5 6 7
0 1 0 1 0 1 0 1 B0
0 0 1 1 0 0 1 1 B1
0 0 0 0 1 1 1 1 B2
Output
Output
Output
Output
Input
Input
Input
Output Output
Output
Input
Input
Output
Input
Input
Input
Input
BIT SET/RESET FLAG
0 = ACTIVE
Output
Output
Output Output
Input
Output
Input
Input
Output
Input
FIGURE 5. BIT SET/RESET FORMAT
Input
Output 10
Output 11
Interrupt Control Functions
Input
Input
When the 82C55A is programmed to operate in mode 1 or
mode 2, control signals are provided that can be used as
interrupt request inputs to the CPU. The interrupt request
signals, 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.
Input
Input
Input
Input
Input
12 Output Output
Input
13 Output
Input
Output
Input
Input
14
15
Input
Input
Input
5