8259A Interrupt Controller 220210107078
8259A Interrupt Controller 220210107078
Interfacing (3160712)
8259A Interrupt
Controller
READ/WRITE LOGIC
This is a typical Read/Write control logic. When the address
line A0 is at logic 0, the controller is selected to write a
command or read a status. The Chip Select logic and A0
determine the port address of the controller.
CONTROL LOGIC
This block has two pins: INT (Interrupt) as an output, and
INTA (Interrupt Acknowledge) as an input. The INT is
connected to the interrupt pin of the MPU. Whenever a valid
interrupt is asserted, this signal goes high. The INTA is the
Interrupt Acknowledge signal from the MPU.
INTERRUPT REGISTERS AND PRIORITY
RESOLVER
The Interrupt Request Register (IRR) has eight input
lines (IR0-IR7) for interrupts.
When these lines go high, the requests are stored in
the register. The Interrupt Service Register (ISR)
stores all the levels that are currently being serviced,
and the Interrupt Mask Register (IMR) stores the
masking bits of the interrupt lines to be masked. The
Priority Resolver (PR) examines these three registers
and determines whether INT should be sent to the
MPU.
CASCADE BUFFER/COMPRATOR
This block is used to expand the number of interrupt
levels by cascading two or more
8259As. To simplify the discussion, this block will not
be mentioned again.
Working of 8259A
• Embedded Systems.
• Real-Time Operating Systems.
• Industrial Automation.
• Computer Peripherals.
Summary
The 8259A is a programmable interrupt controller designed to work with Intel microprocessors 8085, 8086, and 8088.
The 8259A interrupt controller can
• Manage eight interrupts according to the instructions written into its control registers.
This is equivalent to providing eight interrupt pins on the processor in place of one
INTR (8085) pin.
• Vector an interrupt request anywhere in the memory map. However, all eight interrupts
are spaced at the interval of either four or eight locations. This eliminates the major
drawback of the 8085 interrupts in which all interrupts are vectored to memory locations on page 00H.
• Resolve eight levels of interrupt priorities in a variety of modes, such as fully nested
mode, automatic rotation mode, and specific rotation mode.
• Mask each interrupt request individually.
• Read the status of pending interrupts, in-service interrupts, and masked interrupts.
• Be set up to accept either the level-triggered or the edge-triggered interrupt request.
• Be expanded to 64 priority levels by cascading additional 8259A.
• Be set up to work with either the 8085-microprocessor mode or the 8086/8088 microprocessor mode.
Thank You