8259 PIC Microcontroller

8259 PIC Microcontroller

Intel 8259 is a Programmable Interrupt Controller (PIC). There are 5 hardware interrupts and 2 hardware interrupts in Intel 8085 and Intel 8086 microprocessors respectively. But by connecting Intel 8259 with these microprocessors, we can increase their interrupt handling capability. Intel 8259 combines the multi-interrupt input sources into a single interrupt output. Interfacing of a single PIC provides 8 interrupt inputs from IR0-IR7. For example, the Interfacing of 8085 and 8259 increases the interrupt handling capability of 8085 microprocessors from 5 to 8 interrupt levels. 

Features of Intel 8259 PIC are as follows: 

1.      Intel 8259 is designed for Intel 8085 and Intel 8086 microprocessors.

2.      It can be programmed either in the level triggered or in the edge-triggered interrupt level.

3.      We can mask individual bits of the interrupt request register.

4.      We can increase interrupt handling capability up to 64 interrupt levels by cascading further 8259 PICs.

5.      Clock cycle is not required.


Pin Diagram of 8259 –  We can see through the above diagram that there is a total of 28 pins in Intel 8259 PIC where Vcc: 5V Power supply and Gnd: ground. Other pins used are explained below. 



Block Diagram of 8259 PIC microprocessor –


 

The Block Diagram consists of 8 blocks which are – Data Bus Buffer, Read/Write Logic, Cascade Buffer Comparator, Control Logic, Priority Resolver, and 3 registers- ISR, IRR, and IMR.

  1. Data bus buffer – This Block is used as a mediator between 8259 and 8085/8086 microprocessor by acting as a buffer. It takes the control word from the 8085 (let's say) microprocessor and transfers it to the control logic of the 8259 microprocessor. After the selection of Interrupt by 8259 microprocessor (based on the priority of the interrupt), it transfers the opcode of the selected Interrupt and address of the Interrupt service subroutine to the other connected microprocessor. The data bus buffer consists of 8 bits represented as D0-D7 in the block diagram. Thus, this shows that a maximum of 8 bits of data can be transferred at a time.
  2. Read/Write logic – This block works only when the value of pin CS is low (as this pin is actively low). This block is responsible for the flow of data depending upon the inputs of RD and WR. These two pins are active low pins used for read and write operations.
  3. Control logic – It is the center of the PIC and controls the functioning of every block. It has pin INTR which is connected with other microprocessors for taking interrupt requests and pin INT for giving the output. If 8259 is enabled, and the other microprocessor's Interrupt flag is high then this causes the value of the output INT pin high and in this way 8259 responds to the request made by other microprocessors.
  4. Interrupt request register (IRR) – It stores all the interrupt levels which are requesting Interrupt services.
  5. Interrupt service register (ISR) – It stores the interrupt level which is currently being executed.
  6. Interrupt mask register (IMR) – It stores the interrupt level which has to be masked by storing the masking bits of the interrupt level.
  7. Priority resolver – It examines all three registers and sets the priority of interrupts and according to the priority of the interrupts, the interrupt with the highest priority is set in the ISR register. Also, it reset the interrupt level which is already been serviced in IRR.
  8. Cascade buffer – To increase the Interrupt handling capability, we can further cascade more pins by using a cascade buffer. So, during the increment of interrupt capability, CSA lines are used to control multiple interrupt structures.

SP/EN (Slave program/Enable buffer) pin when set to high, works in master mode else in slave mode. In Non-Buffered mode, SP/EN pin is used to specify whether 8259 works as master or slave and in Buffered mode, SP/EN pin is used as an output to enable the data bus.


Notes:-

  

Comments

Popular posts from this blog

Assignment Questions (Subject:- Microprocessor and Microcontroller)

Architecture of 8086

Microprocessor - 8257 DMA Controller