SlideShare a Scribd company logo
By
Vijay Kumar. K
Asst. Professor
Dept. of ECE
8259 Programmable Interrupt Controller by vijay
1. This IC is designed to simplify the implementation of the interrupt interface in the 8088
and 8086 based microcomputer systems.
2. This device is known as a ‘Programmable Interrupt Controller’ or PIC.
3. It is manufactured using the NMOS technology and It is available in 28-pin DIP.
4. The operation of the PIC is programmable under software control (Programmable)and it
can be configured for a wide variety of applications.
5. 8259A is treated as peripheral in a microcomputer system.
6. 8259A PIC adds eight vectored priority encoded interrupts to the microprocessor.
7. This controller can be expanded without additional hardware to accept up to 64
interrupt request inputs. This expansion required a master 8259A and eight 8259A
slaves.
8. Some of its programmable features are:
· The ability to accept level-triggered or edge-triggered inputs.
· The ability to be easily cascaded to expand from 8 to 64 interrupt-inputs.
· Its ability to be configured to implement a wide variety of priority schemes.
8259 Programmable Interrupt Controller (PIC)
ASSINGMENT OF SIGNALS FOR 8259:
1. D7- D0 is connected to microprocessor data bus D7-D0 (AD7-AD0).
2. IR7- IR0, Interrupt Request inputs are used to request an interrupt and to connect to a slave
in a system with multiple 8259As.
3. WR - the write input connects to write strobe signal of microprocessor.
4. RD - the read input connects to the IORC signal.
5. INT - the interrupt output connects to the INTR pin on the microprocessor from the
master, and is connected to a master IR pin on a slave.
6. INTA - the interrupt acknowledge is an input that connects to the INTA signal on the system.
In a system with a master and slaves, only the master INTA signal is connected.
7. A0 - this address input selects different command words within the 8259A.
8. CS - chip select enables the 8259A for programming and control.
9. SP/EN - Slave Program/Enable Buffer is a dual-function pin.
 When the 8259A is in buffered mode, this pin is an output that controls the data bus
transceivers in a large microprocessor-based system.
 When the 8259A is not in buffered mode, this pin programs the device as a master
(1) or a slave (0).
 CAS2-CAS0, the cascade lines are used as outputs from the master to the slaves for
cascading multiple 8259As in a system.
8259A PIC- PIN DIGRAM
8
2
5
9
8259 Programmable Interrupt Controller by vijay
8259A PIC- BLOCK DIAGRAM
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
CONNECTING MULTIPLE (64) INTERRUPTED I/O DEVICES TO
PROCESSOR
External e device 00
External e device 07
Slave 8259A
Interrupt controller
IR0
IR7
……..…
INT
………………… Master 8259A
Interrupt controller
INTINT
INTR
Microprocessor
……..…
External e device 53
External e device 64
Slave 8259A
Interrupt controller
IR0
IR7
……..…
INT
……..…
IR7
……..…
IR0
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
Interrupt request register (IRR)
 IRR stores the current status of the interrupt request inputs
 Has one bit for each IR input
 The values in the bit positions reflect whether the interrupt
inputs are active or inactive
DATA BUS BUFFER
 8 bit (D7-D0) Bidirectional data lines
 Tri-state Buffer used to Interface the 8259 to the system data bus.
 Control words, Status words and vectoring data are all passed
through the data bus buffer.
Priority resolver
 The priority resolver identifies which of the active interrupt inputs
has the highest priority
 The resolver can be configured to work using a number of different
priority schemes through software
 It will signal the control logic that an interrupt is active and in
response, the control logic causes the INT signal to be issued
Interrupt mask register
 Interrupt mask register (IMR) can be used to enable or mask out
individually the interrupt request inputs
 There are 8 bits and each bit represents one interrupt input
 0- enable; 1- mask out (disable)
 The register can be read from or written into under software
control (programmed via the microprocessor
 The function of this block is to accept output commands from the CPU.
 It contains the Initialization Command Word (lCW) registers and Operation
Command Word (OCW) registers which store the various control formats for
device operation.
 This function block also allows the status of the 8259A to be transferred
onto the Data Bus.
INT (Interrupt) Output
 Connected to Interrupt pin of Microprocessor.
 When interrupt occurs this pin goes high.
 INTA ( Interrupt Acknowledge)  Input from Microprocessor
Read/Write Control Logic
Control Logic
CASCADE BUFFER/ COMPARATOR
 Generates control signals for cascade operation.
 Also generates buffer enable signals.
 8259 cascaded with other 8259s
 Interrupt handling capacity to 64 levels
 Former is called master and latter is slave.
 8259 can be set up as master or slave by SP/EN pin in
non-buffered mode or by software if it is to be operated
in the buffered mode of operation.
INTERCONNECTING OF MASTER /SLAVE PICs AND CPU
 Each PIC scheme provides to receive only up to 8 IR signals. If
required more than 8 IR signals then used multiple PIC schemes
from which one is master and others are slave. At this case PIC
schemes are used in cascading mode.
 In cascading mode INT outs of Slave are connected into nonuse IR
line of Master. When is programmed PIC must be defined each IR
inputs of Master that can be captured by Slave device.
 INTR input of CPU can be receives common interrupt request
signal only from INT output of single Master
 Number of selected interrupt vector can be transferred from only
Master PIC
The 82C59A accepts two types of command words generated by the
CPU:
1. Initialization Command Words (ICWs):
Before normal operation can begin, each 82C59A in the
system must be brought to a starting point - by a sequence of 2 to
4 bytes timed by WR pulses.
2. Operational Command Words (OCWs):
These are the command words which command the 82C59A
to operate in various interrupt modes. Among these modes are:
a. Fully nested mode.
b. Rotating priority mode.
c. Special mask mode.
d. Polled mode.
The OCWs can be written into the 82C59A anytime after
initialization.
Programming the 8259A: -
There are four Initialization
Command Words for the 8259A that are
selected with the help of logic level of A0
pin.
When the 8259A is first powered
up, it must be sent ICW1, ICW2 and ICW4.
If the 8259A is programmed in
cascade mode by ICW1, then we also
must program ICW3.
So, if a single 8259A is used in a
system ICW1, ICW2 and ICW4 must be
programmed.
If cascade mode is used in a
system, then all four ICWs must be
programmed.
Initialization Command Words: -
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
 To program this ICW for 8086 we place a logic 1 in bit IC4.
 Bits D7, D6 , D5and D2 are don’t care for microprocessor operation and only
apply to the 8259A when used with an 8-bit 8085 microprocessor.
 This ICW selects single or cascade operation by programming the SNGL bit. If
cascade operation is selected, we must also program ICW3.
 The LTIM bit determines whether the interrupt request inputs are positive edge
triggered or level-triggered.
ICW1:
 Selects the vector number used with the interrupt request inputs.
 For example, if we decide to program the 8259A so that it functions at vector
locations 08H-0FH, we place a 08H into this command word.
 Likewise, if we decide to program the 8259A for vectors 70H-77H, we place a
70H in this ICW.
ICW2:
 Is used only when ICW1 indicates that the system is operated in cascade mode.
 This ICW indicates where the slave is connected to the master.
 For example, if we connected a slave to IR2, then to program ICW3 for this
connection, in both master and slave, we place a 04H in ICW3.
 Suppose we have two slaves connected to a master using IR0 and IR1. The
master is programmed with an ICW3 of 03H; one slave is programmed with an
ICW3 of 01H and the other with an ICW3 of 02H.
ICW3:
 Is programmed for use with the 8088/8086. This ICW
is not programmed in a system that functions with the
8085 microprocessors.
 The rightmost bit must be logic 1 to select operation
with the 8086 microprocessor, and the remaining bits
are programmed as follows:
ICW4:
SNFM:
Selects the special fully nested mode of operation for the 8259A if logic 1 is
placed in this bit. This allows the highest priority interrupt request from a slave to be
recognized by the master while it is processing another interrupt from a slave.
Normally, only one interrupt request is processed at a time and others are ignored until
the process is completed.
BUF and M/S:
Buffer and master slave are used together to select buffered operation or non-
buffered operation for the 8559A as a master or a slave.
AEOI:
Selects automatic or normal end of interrupt. The EOI commands of OCW2 are
used only if the AEOI mode is not selected by ICW4. If AEOI is selected, the interrupt
automatically resets the interrupt request bit and does not modify priority. This is the
preferred mod of operation for the 8259A and reduces the length of the interrupt service
procedure.
 Is used to set and read the interrupt mask register.
 When a mask bit is set, it will turn off (mask) the corresponding
interrupt input. The mask register is read when OCW1 is read.
 Because the state of the mask bits is known when the 8259A is
first initialized, OCW1 must be programmed after programming
the ICW upon initialization.
Operation Command Words
OCW1:
 Is programmed only when the AEOI mod is not selected for the 8259A.
 In this case, this OCW selects how the 8259A responds to an interrupt.
 The modes are listed as follows in next slide:
OCW2:
 Nonspecific End-of-Interrupt:
A command sent by the interrupt service procedure to signal the end of the interrupt.
The 8259A automatically determines which interrupt level was active and resets the
correct bit of the interrupt status register. Resetting the status bit allows the interrupt to
take action again or a lower priority interrupt to take effect.
 Specific End-of –Interrupt:
A command that allows a specific interrupt request to be reset. The exact position is
determined with bits L2-L0 of OCW2.
 Rotate-on-Nonspecific EOI:
A command that function exactly like the nonspecific end-of-interrupt command except
that it rotates interrupt priorities after resetting the interrupt status register bit. The
level reset by this command becomes the lowest priority interrupt. For example, if IR4
was just serviced by this command, it becomes the lowest priority interrupt and IR5
becomes the highest priority.
 Rotate-on-Automatic EOI:
A command that selects automatic EOI with rotating priority. This command must be
sent to the 8259A only once if this mode is desired. If this mode must be turned off, use
the clear command.
 Rotate-on-Specific EOI:
Functions as the specific EOI, except that it selects rotating priority.
 Set Priority:
Allows the programmer to set the lowest priority interrupt input using the L2-L0 bits.
 Selects the register to be read, the operation of the special mask register, and
the poll command.
 If polling is selected, the P-bit must be set and then output to the 8259A. The
next read operation would read the poll word. The rightmost three bits of the
poll word indicate the active interrupt request with the highest priority.
 The leftmost bit indicates whether there is an interrupt, and must be checked
to determine whether the rightmost three bits contain valid information.
OCW3:
Three status registers are available in the 8259A:
 Interrupt request register (IRR):
an 8-bit register that indicates which interrupt request inputs are active.
 In-service register (ISR):
an 8-bit register that contains the level of the interrupt being serviced.
 Interrupt mask register (IMR):
An 8-bit register that holds the interrupt mask bits and indicates which
interrupts are masked off.
Both the IRR and ISR are read by programming OCW3 and IMR is read
through OCW1. To read the IMR, A0 = 1, to read IRR or ISR, A0 = 0. Bit positions
D0 and D1 of OCW3 select which register (IRR or ISR) is read when A0 = 0.
Status Register: -
Modes of 8259A PIC
 Fully Nested mode
 Special Fully Nested mode
 Nonspecific Rotating
 Specific Rotating
 Special Mask
 Polling
 Fixed priority mode
 Fully nested mode:
 This is a general purpose mode where all IR’s are arranged in highest to
lowest.
 IR0 highest and IR7 lowest.
 Special Fully Nested Mode:
 Used in more complicated systems.
 Similar to, normal nested mode.
 When an interrupt request from a certain slave is in service, this slave
can further send requests to the master.
 The master interrupts the CPU only.
 Automatic Rotation Mode:
 In this mode a device after being serviced receives the lowest priority.
 Specific Rotation Mode:
 In this user can select any IR for lowest priority thus fixing all priorities.
 Special Mask Mode
 When a mask bit is set in OCW, it inhibits further interrupts at that level and
enables interrupt from other levels, which are not mastered.
 Poll command
 The INT output is neglected, though it functions normally by not connecting INT
output or by masking INT input of the microprocessor.
 This mode is entered by setting p=1 in OCW3.
 A poll command may give more than 64 priority levels.
Partial Reference Based On
Image
De-Noising Using Dual-Tree
Complex Wavelet Transform
Shrinkage
Fig:- Interface 8259 PIC with 8086 Microprocessor
Fig:- 8086 Microprocessor Interface 8259 PIC in Cascaded mode
CONNECTING MULTIPLE (64) INTERRUPTED I/O DEVICES TO
PROCESSOR
External e device 00
External e device 07
Slave 8259A
Interrupt controller
IR0
IR7
……..…
INT
………………… Master 8259A
Interrupt controller
INTINT
INTR
Microprocessor
……..…
External e device 53
External e device 64
Slave 8259A
Interrupt controller
IR0
IR7
……..…
INT
……..…
IR7
……..…
IR0
Fig:- 8086 Microprocessor Interface 8259 PIC in Cascaded mode
8086 Microprocessor Interface 8259 PIC in
Cascaded mode
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay

More Related Content

PPTX
Counters & time delay
PPTX
Arithmetic and logical instructions
PPT
Logical instruction of 8085
PPTX
8086 Interrupts & With DOS and BIOS by vijay
PPT
Assembly Language Programming Of 8085
PPT
PIC Microcontrollers.ppt
PDF
Microprocessor & Microcontoller short questions with answers
PPTX
I/O port programming in 8051
Counters & time delay
Arithmetic and logical instructions
Logical instruction of 8085
8086 Interrupts & With DOS and BIOS by vijay
Assembly Language Programming Of 8085
PIC Microcontrollers.ppt
Microprocessor & Microcontoller short questions with answers
I/O port programming in 8051

What's hot (20)

PPTX
4.programmable dma controller 8257
PPT
8255 presentaion.ppt
PPTX
Microcontroller 8096
PPTX
8237 dma controller
PPTX
8257 DMA Controller
PPTX
8255 PPI
PDF
8155 PPI
PPTX
8259 Operating Modes.pptx
PPT
Programming with 8085
PPTX
3.programmable interrupt controller 8259
PPTX
DMA controller intel 8257
PPT
Interfacing 8255
PDF
Addressing modes of 80386
PDF
8259 Programmable Interrupt Controller
PDF
Unit 2 mpmc
PDF
Memory interfacing of microprocessor 8085
PPTX
Microprocessor 8086
DOCX
Microprocessor Interfacing and 8155 Features
PPT
Architecture of 8086 Microprocessor
PPTX
Data transfer techniques 8085
4.programmable dma controller 8257
8255 presentaion.ppt
Microcontroller 8096
8237 dma controller
8257 DMA Controller
8255 PPI
8155 PPI
8259 Operating Modes.pptx
Programming with 8085
3.programmable interrupt controller 8259
DMA controller intel 8257
Interfacing 8255
Addressing modes of 80386
8259 Programmable Interrupt Controller
Unit 2 mpmc
Memory interfacing of microprocessor 8085
Microprocessor 8086
Microprocessor Interfacing and 8155 Features
Architecture of 8086 Microprocessor
Data transfer techniques 8085
Ad

Similar to 8259 Programmable Interrupt Controller by vijay (20)

PPTX
PPT
8259 A P R O G R A M M A B L E I N T E R R U P T C O N T R O L L E R2
PDF
21262738 8259a-programmable-interrupt-controller-2
PPTX
8259 Interrupt Controller
PPT
8259 updated
PDF
Microprocessor & Interfacing (Part-1) By Er. Swapnil V. Kaware
PPT
8259 programmable PPI interfacing with 8085 .ppt
PPTX
Interrupt Controller (pic)8259 and 8259A A.pptx
PPTX
8259A PIC(Peripheral Interface Controlle).pptx
PPTX
3-programmable interrupt con lesson13.pptx
PPTX
Intel 8259 - Programmable Interrupt Controller
PDF
8259a.pdf
PPTX
MPMC UNIT 2 MPMC UNIT 2 MPMC UNIT 2 MPMC UNIT 2
PPTX
MPMC UNIT 2 MPMC UNIT 2 MPMC UNIT 2 MPMC UNIT 2
PPTX
8259.pptx
PPTX
PDF
Unit 6 assembly language programming
PPSX
8086 Interrupts ...
PPTX
8259 Programmable Interrupt Controller.pptx
8259 A P R O G R A M M A B L E I N T E R R U P T C O N T R O L L E R2
21262738 8259a-programmable-interrupt-controller-2
8259 Interrupt Controller
8259 updated
Microprocessor & Interfacing (Part-1) By Er. Swapnil V. Kaware
8259 programmable PPI interfacing with 8085 .ppt
Interrupt Controller (pic)8259 and 8259A A.pptx
8259A PIC(Peripheral Interface Controlle).pptx
3-programmable interrupt con lesson13.pptx
Intel 8259 - Programmable Interrupt Controller
8259a.pdf
MPMC UNIT 2 MPMC UNIT 2 MPMC UNIT 2 MPMC UNIT 2
MPMC UNIT 2 MPMC UNIT 2 MPMC UNIT 2 MPMC UNIT 2
8259.pptx
Unit 6 assembly language programming
8086 Interrupts ...
8259 Programmable Interrupt Controller.pptx
Ad

More from Vijay Kumar (20)

DOCX
Instruction set of 8086
PDF
8086 Microprocessor
PPTX
Interrupts on 8086 microprocessor by vijay kumar.k
DOCX
Assembly Language
PDF
8085 instruction set
PDF
8085 instruction set and addressing modes
PDF
8085 microprocessor Architecture and pin description
PDF
8085 microprocessor Architecture and Pin description
PDF
8086 Microprocessor Instruction set
PDF
Input output devices
PDF
Microprocessors evolution introduction to microprocessor
PDF
Memory types
PDF
Memory
PDF
Evolution of INTEL Microprocessor
PPT
Origin of Microprocessor and Classification of Microprocessor
PPTX
8085 addressing modes
PPTX
Embedded System Real Time Operating System (ERTS) I unit by vijay
PPTX
Microcontroller (8051) by K. Vijay Kumar
PPTX
8051 microcontroller by K. Vijay Kumar
PDF
Rs 232 & usb ieee1394 communication
Instruction set of 8086
8086 Microprocessor
Interrupts on 8086 microprocessor by vijay kumar.k
Assembly Language
8085 instruction set
8085 instruction set and addressing modes
8085 microprocessor Architecture and pin description
8085 microprocessor Architecture and Pin description
8086 Microprocessor Instruction set
Input output devices
Microprocessors evolution introduction to microprocessor
Memory types
Memory
Evolution of INTEL Microprocessor
Origin of Microprocessor and Classification of Microprocessor
8085 addressing modes
Embedded System Real Time Operating System (ERTS) I unit by vijay
Microcontroller (8051) by K. Vijay Kumar
8051 microcontroller by K. Vijay Kumar
Rs 232 & usb ieee1394 communication

Recently uploaded (20)

PDF
composite construction of structures.pdf
DOCX
573137875-Attendance-Management-System-original
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PDF
Digital Logic Computer Design lecture notes
PPTX
additive manufacturing of ss316l using mig welding
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PPTX
Sustainable Sites - Green Building Construction
PPT
Project quality management in manufacturing
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
Well-logging-methods_new................
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
Geodesy 1.pptx...............................................
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
composite construction of structures.pdf
573137875-Attendance-Management-System-original
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Digital Logic Computer Design lecture notes
additive manufacturing of ss316l using mig welding
Foundation to blockchain - A guide to Blockchain Tech
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
Sustainable Sites - Green Building Construction
Project quality management in manufacturing
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Well-logging-methods_new................
Operating System & Kernel Study Guide-1 - converted.pdf
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Automation-in-Manufacturing-Chapter-Introduction.pdf
Geodesy 1.pptx...............................................
OOP with Java - Java Introduction (Basics)
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx

8259 Programmable Interrupt Controller by vijay

  • 1. By Vijay Kumar. K Asst. Professor Dept. of ECE
  • 3. 1. This IC is designed to simplify the implementation of the interrupt interface in the 8088 and 8086 based microcomputer systems. 2. This device is known as a ‘Programmable Interrupt Controller’ or PIC. 3. It is manufactured using the NMOS technology and It is available in 28-pin DIP. 4. The operation of the PIC is programmable under software control (Programmable)and it can be configured for a wide variety of applications. 5. 8259A is treated as peripheral in a microcomputer system. 6. 8259A PIC adds eight vectored priority encoded interrupts to the microprocessor. 7. This controller can be expanded without additional hardware to accept up to 64 interrupt request inputs. This expansion required a master 8259A and eight 8259A slaves. 8. Some of its programmable features are: · The ability to accept level-triggered or edge-triggered inputs. · The ability to be easily cascaded to expand from 8 to 64 interrupt-inputs. · Its ability to be configured to implement a wide variety of priority schemes. 8259 Programmable Interrupt Controller (PIC)
  • 4. ASSINGMENT OF SIGNALS FOR 8259: 1. D7- D0 is connected to microprocessor data bus D7-D0 (AD7-AD0). 2. IR7- IR0, Interrupt Request inputs are used to request an interrupt and to connect to a slave in a system with multiple 8259As. 3. WR - the write input connects to write strobe signal of microprocessor. 4. RD - the read input connects to the IORC signal. 5. INT - the interrupt output connects to the INTR pin on the microprocessor from the master, and is connected to a master IR pin on a slave. 6. INTA - the interrupt acknowledge is an input that connects to the INTA signal on the system. In a system with a master and slaves, only the master INTA signal is connected. 7. A0 - this address input selects different command words within the 8259A. 8. CS - chip select enables the 8259A for programming and control. 9. SP/EN - Slave Program/Enable Buffer is a dual-function pin.  When the 8259A is in buffered mode, this pin is an output that controls the data bus transceivers in a large microprocessor-based system.  When the 8259A is not in buffered mode, this pin programs the device as a master (1) or a slave (0).  CAS2-CAS0, the cascade lines are used as outputs from the master to the slaves for cascading multiple 8259As in a system.
  • 5. 8259A PIC- PIN DIGRAM 8 2 5 9
  • 18. CONNECTING MULTIPLE (64) INTERRUPTED I/O DEVICES TO PROCESSOR External e device 00 External e device 07 Slave 8259A Interrupt controller IR0 IR7 ……..… INT ………………… Master 8259A Interrupt controller INTINT INTR Microprocessor ……..… External e device 53 External e device 64 Slave 8259A Interrupt controller IR0 IR7 ……..… INT ……..… IR7 ……..… IR0
  • 27. Interrupt request register (IRR)  IRR stores the current status of the interrupt request inputs  Has one bit for each IR input  The values in the bit positions reflect whether the interrupt inputs are active or inactive DATA BUS BUFFER  8 bit (D7-D0) Bidirectional data lines  Tri-state Buffer used to Interface the 8259 to the system data bus.  Control words, Status words and vectoring data are all passed through the data bus buffer.
  • 28. Priority resolver  The priority resolver identifies which of the active interrupt inputs has the highest priority  The resolver can be configured to work using a number of different priority schemes through software  It will signal the control logic that an interrupt is active and in response, the control logic causes the INT signal to be issued Interrupt mask register  Interrupt mask register (IMR) can be used to enable or mask out individually the interrupt request inputs  There are 8 bits and each bit represents one interrupt input  0- enable; 1- mask out (disable)  The register can be read from or written into under software control (programmed via the microprocessor
  • 29.  The function of this block is to accept output commands from the CPU.  It contains the Initialization Command Word (lCW) registers and Operation Command Word (OCW) registers which store the various control formats for device operation.  This function block also allows the status of the 8259A to be transferred onto the Data Bus. INT (Interrupt) Output  Connected to Interrupt pin of Microprocessor.  When interrupt occurs this pin goes high.  INTA ( Interrupt Acknowledge)  Input from Microprocessor Read/Write Control Logic Control Logic
  • 30. CASCADE BUFFER/ COMPARATOR  Generates control signals for cascade operation.  Also generates buffer enable signals.  8259 cascaded with other 8259s  Interrupt handling capacity to 64 levels  Former is called master and latter is slave.  8259 can be set up as master or slave by SP/EN pin in non-buffered mode or by software if it is to be operated in the buffered mode of operation.
  • 31. INTERCONNECTING OF MASTER /SLAVE PICs AND CPU  Each PIC scheme provides to receive only up to 8 IR signals. If required more than 8 IR signals then used multiple PIC schemes from which one is master and others are slave. At this case PIC schemes are used in cascading mode.  In cascading mode INT outs of Slave are connected into nonuse IR line of Master. When is programmed PIC must be defined each IR inputs of Master that can be captured by Slave device.  INTR input of CPU can be receives common interrupt request signal only from INT output of single Master  Number of selected interrupt vector can be transferred from only Master PIC
  • 32. The 82C59A accepts two types of command words generated by the CPU: 1. Initialization Command Words (ICWs): Before normal operation can begin, each 82C59A in the system must be brought to a starting point - by a sequence of 2 to 4 bytes timed by WR pulses. 2. Operational Command Words (OCWs): These are the command words which command the 82C59A to operate in various interrupt modes. Among these modes are: a. Fully nested mode. b. Rotating priority mode. c. Special mask mode. d. Polled mode. The OCWs can be written into the 82C59A anytime after initialization. Programming the 8259A: -
  • 33. There are four Initialization Command Words for the 8259A that are selected with the help of logic level of A0 pin. When the 8259A is first powered up, it must be sent ICW1, ICW2 and ICW4. If the 8259A is programmed in cascade mode by ICW1, then we also must program ICW3. So, if a single 8259A is used in a system ICW1, ICW2 and ICW4 must be programmed. If cascade mode is used in a system, then all four ICWs must be programmed. Initialization Command Words: -
  • 38.  To program this ICW for 8086 we place a logic 1 in bit IC4.  Bits D7, D6 , D5and D2 are don’t care for microprocessor operation and only apply to the 8259A when used with an 8-bit 8085 microprocessor.  This ICW selects single or cascade operation by programming the SNGL bit. If cascade operation is selected, we must also program ICW3.  The LTIM bit determines whether the interrupt request inputs are positive edge triggered or level-triggered. ICW1:
  • 39.  Selects the vector number used with the interrupt request inputs.  For example, if we decide to program the 8259A so that it functions at vector locations 08H-0FH, we place a 08H into this command word.  Likewise, if we decide to program the 8259A for vectors 70H-77H, we place a 70H in this ICW. ICW2:
  • 40.  Is used only when ICW1 indicates that the system is operated in cascade mode.  This ICW indicates where the slave is connected to the master.  For example, if we connected a slave to IR2, then to program ICW3 for this connection, in both master and slave, we place a 04H in ICW3.  Suppose we have two slaves connected to a master using IR0 and IR1. The master is programmed with an ICW3 of 03H; one slave is programmed with an ICW3 of 01H and the other with an ICW3 of 02H. ICW3:
  • 41.  Is programmed for use with the 8088/8086. This ICW is not programmed in a system that functions with the 8085 microprocessors.  The rightmost bit must be logic 1 to select operation with the 8086 microprocessor, and the remaining bits are programmed as follows: ICW4:
  • 42. SNFM: Selects the special fully nested mode of operation for the 8259A if logic 1 is placed in this bit. This allows the highest priority interrupt request from a slave to be recognized by the master while it is processing another interrupt from a slave. Normally, only one interrupt request is processed at a time and others are ignored until the process is completed. BUF and M/S: Buffer and master slave are used together to select buffered operation or non- buffered operation for the 8559A as a master or a slave. AEOI: Selects automatic or normal end of interrupt. The EOI commands of OCW2 are used only if the AEOI mode is not selected by ICW4. If AEOI is selected, the interrupt automatically resets the interrupt request bit and does not modify priority. This is the preferred mod of operation for the 8259A and reduces the length of the interrupt service procedure.
  • 43.  Is used to set and read the interrupt mask register.  When a mask bit is set, it will turn off (mask) the corresponding interrupt input. The mask register is read when OCW1 is read.  Because the state of the mask bits is known when the 8259A is first initialized, OCW1 must be programmed after programming the ICW upon initialization. Operation Command Words OCW1:
  • 44.  Is programmed only when the AEOI mod is not selected for the 8259A.  In this case, this OCW selects how the 8259A responds to an interrupt.  The modes are listed as follows in next slide: OCW2:
  • 45.  Nonspecific End-of-Interrupt: A command sent by the interrupt service procedure to signal the end of the interrupt. The 8259A automatically determines which interrupt level was active and resets the correct bit of the interrupt status register. Resetting the status bit allows the interrupt to take action again or a lower priority interrupt to take effect.  Specific End-of –Interrupt: A command that allows a specific interrupt request to be reset. The exact position is determined with bits L2-L0 of OCW2.  Rotate-on-Nonspecific EOI: A command that function exactly like the nonspecific end-of-interrupt command except that it rotates interrupt priorities after resetting the interrupt status register bit. The level reset by this command becomes the lowest priority interrupt. For example, if IR4 was just serviced by this command, it becomes the lowest priority interrupt and IR5 becomes the highest priority.  Rotate-on-Automatic EOI: A command that selects automatic EOI with rotating priority. This command must be sent to the 8259A only once if this mode is desired. If this mode must be turned off, use the clear command.  Rotate-on-Specific EOI: Functions as the specific EOI, except that it selects rotating priority.  Set Priority: Allows the programmer to set the lowest priority interrupt input using the L2-L0 bits.
  • 46.  Selects the register to be read, the operation of the special mask register, and the poll command.  If polling is selected, the P-bit must be set and then output to the 8259A. The next read operation would read the poll word. The rightmost three bits of the poll word indicate the active interrupt request with the highest priority.  The leftmost bit indicates whether there is an interrupt, and must be checked to determine whether the rightmost three bits contain valid information. OCW3:
  • 47. Three status registers are available in the 8259A:  Interrupt request register (IRR): an 8-bit register that indicates which interrupt request inputs are active.  In-service register (ISR): an 8-bit register that contains the level of the interrupt being serviced.  Interrupt mask register (IMR): An 8-bit register that holds the interrupt mask bits and indicates which interrupts are masked off. Both the IRR and ISR are read by programming OCW3 and IMR is read through OCW1. To read the IMR, A0 = 1, to read IRR or ISR, A0 = 0. Bit positions D0 and D1 of OCW3 select which register (IRR or ISR) is read when A0 = 0. Status Register: -
  • 48. Modes of 8259A PIC  Fully Nested mode  Special Fully Nested mode  Nonspecific Rotating  Specific Rotating  Special Mask  Polling  Fixed priority mode
  • 49.  Fully nested mode:  This is a general purpose mode where all IR’s are arranged in highest to lowest.  IR0 highest and IR7 lowest.  Special Fully Nested Mode:  Used in more complicated systems.  Similar to, normal nested mode.  When an interrupt request from a certain slave is in service, this slave can further send requests to the master.  The master interrupts the CPU only.
  • 50.  Automatic Rotation Mode:  In this mode a device after being serviced receives the lowest priority.  Specific Rotation Mode:  In this user can select any IR for lowest priority thus fixing all priorities.  Special Mask Mode  When a mask bit is set in OCW, it inhibits further interrupts at that level and enables interrupt from other levels, which are not mastered.  Poll command  The INT output is neglected, though it functions normally by not connecting INT output or by masking INT input of the microprocessor.  This mode is entered by setting p=1 in OCW3.  A poll command may give more than 64 priority levels.
  • 51. Partial Reference Based On Image De-Noising Using Dual-Tree Complex Wavelet Transform Shrinkage Fig:- Interface 8259 PIC with 8086 Microprocessor
  • 52. Fig:- 8086 Microprocessor Interface 8259 PIC in Cascaded mode
  • 53. CONNECTING MULTIPLE (64) INTERRUPTED I/O DEVICES TO PROCESSOR External e device 00 External e device 07 Slave 8259A Interrupt controller IR0 IR7 ……..… INT ………………… Master 8259A Interrupt controller INTINT INTR Microprocessor ……..… External e device 53 External e device 64 Slave 8259A Interrupt controller IR0 IR7 ……..… INT ……..… IR7 ……..… IR0
  • 54. Fig:- 8086 Microprocessor Interface 8259 PIC in Cascaded mode
  • 55. 8086 Microprocessor Interface 8259 PIC in Cascaded mode