HT46R068B/HT46R069B
Enhanced A/D Type 8-bit OTP MCU
Programming Considerations
By disabling the relevant interrupt enable bits, a requested interrupt can be prevented from being
serviced, however, once an interrupt request flag is set, it will re- main in this condition in the
interrupt register until the corresponding interrupt is serviced or until the request flag is cleared by
the application program.
Where a certain interrupt is contained within the Multi-function interrupt, then when the
interrupt service routine is executed, as only the Multi-function interrupt request flag, MFF, will
be automatically cleared, the individual request flag for the function needs to be cleared by the
application program.
It is recommended that programs do not use the CALL instruction within the interrupt service
subroutine. Interrupts often occur in an unpredictable manner or need to be serviced immediately.
If only one stack is left and the interrupt is not well controlled, the original control sequence will
be damaged once a CALL subroutine is executed in the interrupt subroutine.
Every interrupt has the capability of waking up the microcontroller when it is in SLEEP or IDLE
Mode, the wake up being generated when the interrupt request flag changes from low to high. If
it is required to prevent a certain interrupt from waking up the microcontroller then its respective
request flag should be first set high before entering the SLEEP or IDLE Mode.
As only the Program Counter is pushed onto the stack, then when the interrupt is serviced, if the
contents of the accumulator, status register or other registers are altered by the interrupt service
program, their contents should be saved to the memory at the beginning of the interrupt service
routine.
To return from an interrupt subroutine, either a RET or RETI instruction may be executed. The
RETI instruction in addition to executing a return to the main program also automatically sets the
EMI bit high to allow further interrupts. The RET instruction however only executes a return to the
main program leaving the EMI bit in its present zero state and therefore disabling the execution of
further interrupts.
Rev. 1.00
77
�anꢀaꢁꢂ ꢃꢄꢅ ꢃ011