Interrupt
There are seven interrupt sources available in MPC82x54A. Each interrupt source can be
individually enabled or disabled by setting or clearing a bit in the SFR named IE. This register
also contains a global disable bit (EA), which can be cleared to disable all interrupts at once.
Each interrupt source has two corresponding bits to represent its priority. One is located in
SFR named IPH, and the other in IP register. Higher-priority interrupt will be not interrupted by
lower-priority interrupt request. If two interrupt requests of different priority levels are received
simultaneously, the request of higher priority is serviced. If interrupt requests of the same
priority level are received simultaneously, an internal polling sequence determine which
request is serviced. The following table shows the internal polling sequence in the same
priority level and the interrupt vector address.
Source
External interrupt 0
Timer 0
External interrupt 1
Timer1
Serial Port
SPI/ADC
PCA/LVF
Vector address
03H
Priority within level
1 (highest)
0BH
13H
1BH
23H
2BH
33H
2
3
4
5
6
7
The external interrupt INT0, and INT1 can each be either level-activated or
transition-activated, depending on bits IT0 and IT1 in register TCON. The flags that actually
generate these interrupts are bits IE0 and IE1 in TCON. When an external interrupt is
generated, the flag, that generated it, is cleared by the hardware as soon as the service
routine is vectored to only if the interrupt was transition –activated. Then the external
requesting source is what controls the request flag, rather than the on-chip hardware.
The Timer0 and Timer1 interrupts are generated by TF0 and TF1, which are set by a rollover
in their respective Timer/Counter registers in most cases. When a timer interrupt is generated,
the flag, that generated it, is cleared by the on-chip hardware as soon as the service routine is
vectored to.
The serial port interrupt is generated by the logical OR of RI and TI. Neither of these flags is
cleared by hardware when the service routine is vectored to. The service routine should poll
RI and TI to determine which one to request service, and it will be cleared by software.
The 2BH interrupt is shared by the logical OR of SPI interrupt and ADC interrupt. Neither of
these flags is cleared by hardware when the service routine is vectored to. The service routine
should poll them to determine which one to request service and it will be cleared by software.
The 33H interrupt is shared by the logical OR of PCA interrupt and LVD(Low-Voltage Detector)
MEGAWIN
MPC82x54A Data Sheet
29