Interrupts have two types: Hardware interrupt and Software interrupt.
The hardware interrupt occurrs by the interrupt request signal from peripheral circuits.
On the other hand, the software interrupt occurrs by executing a dedicated instruction.
The hardware interrupt has an external interrupt and an internal interrupt.
The external interrupt occurs when a specified signal is input to the dedicated external interrupt terminal.
The internal interrupt occurs by an interrupt request signal from a peripheral circuit built into the microcontroller.
In addition, it has a maskable interrupt and a non maskable interrupt depending on how the interrupt request signal is received.