
CHAPTER 22
INTERRUPT FUNCTIONS
395
User’s Manual U12697EJ4V1UD
There are four kinds of macro services, as shown below.
(1) Type A
One byte or one word of data is transferred between a special function register (SFR) and memory each time
an interrupt request is generated, and a vectored interrupt request is generated when the specified number of
transfers have been performed.
Memory that can be used in the transfers is limited to internal RAM addresses 0FE00H to 0FEFFH when the
LOCATION 0H instruction is executed, and addresses 0FFE00H to 0FFEFFH when the LOCATION 0FH
instruction is executed.
The specification method is simple and is suitable for low-volume, high-speed data transfers.
(2) Type B
As with type A, one byte or one word of data is transferred between a special function register (SFR) and memory
each time an interrupt request is generated, and a vectored interrupt request is generated when the specified
number of transfers have been performed.
The SFR and memory to be used in the transfers is specified by the macro service channel (the entire 1 MB
memory space can be used).
This is a general version of type A, suitable for large volumes of transfer data.
(3) Type C
Data is transferred from memory to two special function registers (SFR) each time an interrupt request is
generated, and a vectored interrupt request is generated when the specified number of transfers have been
performed.
With type C macro servicing, not only are data transfers performed to two locations in response to a single interrupt
request, but it is also possible to add output data ring control and a function that automatically adds data to a
compare register. The entire 1 MB memory space can be used.
Type C is mainly used with the INTTM1 and INTTM2 interrupts, and is used for stepper motor control, etc., by
macro service, with RTBL or RTBH, CR10, and CR20 used as the SFRs to which data is transferred.
(4) Counter mode
This mode is used to decrement the macro service counter (MSC) when an interrupt occurs and is used to count
the division operation of an interrupt and interrupt generator.
When MSC is 0, a vectored interrupt can be generated.
To restart the macro service, MSC must be set again.
MSC is fixed to 16 bits and cannot be used as an 8-bit counter.