External Interrupt
The external interrupt is controlled by signal transitions on the INT pin. An external interrupt request
will take place when the external interrupt request flag, INTF, is set, which will occur when a
transition, whose type is chosen by the edge select bits, appears on the external interrupt pin. To allow
the program to branch to its respective interrupt vector address, the global interrupt enable bit, EMI,
and respective external interrupt enable bit, INTE, must first be set. Additionally the correct interrupt
edge type must be selected using the INTEG register to enable the external interrupt function and to
choose the trigger edge type. As the external interrupt pin is pin-shared with I/O pin, it can only be
configured as external interrupt pin if the external interrupt enable bit in the corresponding interrupt
register has been set. The pin must also be setup as an input by setting the corresponding bit in the port
control register. When the interrupt is enabled, the stack is not full and the correct transition type
appears on the external interrupt pin, a subroutine call to the external interrupt vector, will take place.
When the interrupt is serviced, the external interrupt request flag, INTF, will be automatically reset and
the EMI bit will be automatically cleared to disable other interrupts. Note that any pull-high resistor
selections on the external interrupt pin will remain valid even if the pin is used as an external interrupt
input.
The INTEG register is used to select the type of active edge that will trigger the external interrupt. A
choice of either rising or falling or both edge types can be chosen to trigger an external interrupt. Note
that the INTEG register can also be used to disable the external interrupt function.
Multi-function Interrupt
Within these devices there are one or two Multi-function interrupts. Unlike the other independent
interrupts, these interrupts have no independent source, but rather are formed from the Touch Key
module timer interrupt sources.
A Multi-function interrupt request will take place when any of the Multi-function interrupt request
flags, MFnF are set. The Multi-function interrupt flags will be set when any of their included
functions generate an interrupt request flag. To allow the program to branch to its respective interrupt
vector address, when the Multi-function interrupt is enabled and the stack is not full, and either one of
the interrupts contained within each of Multi-function interrupt occurs, a subroutine call to one of the
Multi-function interrupt vectors will take place. When the interrupt is serviced, the related
Multi-Function request flag, will be automatically reset and the EMI bit will be automatically cleared
to disable other interrupts.
However, it must be noted that, although the Multi-function Interrupt flags will be automatically
reset when the interrupt is serviced, the request flags from the original source of the Multi-function
interrupts, namely the Touch Key module timer interrupts, will not be automatically reset and must be
manually reset by the application program.
BS83B08-3/B12-3/B16-3/B16G-3/C24-3
8-Bit Touch Key Flash MCU
Rev. 1.50
107
April 28, 2020