Understanding Interrupts in 8085 Microprocessor

10 Aug 2021 Balmiki Mandal 0 µC - µP

Interrupts in 8085

Introduction

An interrupt is a signal that causes the microprocessor to temporarily stop executing the current program and execute a special routine called an interrupt service routine (ISR). Interrupts are used to allow external devices or events to get the attention of the microprocessor and request service.

Types of Interrupts

There are two main types of interrupts in the 8085 microprocessor:

  • Hardware interrupts: These interrupts are generated by external devices, such as a keyboard, mouse, or timer.
  • Software interrupts: These interrupts are generated by the program itself, using special instructions.

Hardware Interrupts

There are five hardware interrupts in the 8085 microprocessor:

  • TRAP: This interrupt is the highest priority interrupt and cannot be disabled. It is typically used to handle serious errors, such as a memory parity error.
  • RST 7.5: This interrupt is used to handle keyboard input.
  • RST 6.5: This interrupt is used to handle timer interrupts.
  • RST 5.5: This interrupt is used to handle serial communication interrupts.
  • INTR: This interrupt is the lowest priority interrupt and can be disabled by the program. It is typically used to handle general-purpose interrupts from external devices.

Software Interrupts

There are eight software interrupts in the 8085 microprocessor:

  • RST 0:
  • RST 1:
  • RST 2:
  • RST 3:
  • RST 4:
  • RST 5:
  • RST 6:
  • RST 7:

Software interrupts are typically used to handle events that are initiated by the program itself, such as a system call or a user input.

Interrupt Handling

When an interrupt occurs, the 8085 microprocessor saves the current state of the program on the stack and then jumps to the address of the ISR for that interrupt. The ISR handles the interrupt and then returns to the main program by popping the saved state off the stack.

Vectored Interrupts

Some interrupts, such as the TRAP and RST interrupts, are vectored interrupts. This means that the address of the ISR for that interrupt is known to the microprocessor and is stored in a fixed location in memory.

Other interrupts, such as the INTR interrupt, are non-vectored interrupts. This means that the address of the ISR for that interrupt is not known to the microprocessor and must be provided by the external device that generated the interrupt.

Interrupt Masking

The 8085 microprocessor provides a way to mask or disable interrupts. This is useful for preventing interrupts from interfering with critical sections of code.

To mask an interrupt, the program must set the corresponding bit in the interrupt mask register. To enable an interrupt, the program must clear the corresponding bit in the interrupt mask register.

Conclusion

Interrupts are a powerful feature of the 8085 microprocessor that allow it to respond to external events and requests for service. Interrupts are essential for many types of embedded applications.

Further Reading:

For further information and examples, Please visit[ 8051 course in production]

Note: If you encounter any issues or specific errors when running this program, please let me know and I'll be happy to help debug them!

BY: Balmiki Mandal

Related Blogs

Post Comments.

Login to Post a Comment

No comments yet, Be the first to comment.