Interrupt Enable Register (Eir); Interrupt Master Enable Flag (Imf); Individual Interrupt Enable Flags (Ef15 To Ef4) - Toshiba TLCS-870/C Series Manual

8 bit microcontroller
Hide thumbs Also See for TLCS-870/C Series:
Table of Contents

Advertisement

3. Interrupt Control Circuit

3.2 Interrupt enable register (EIR)

Interrupt latches are not set to "1" by an instruction.
Since interrupt latches can be read, the status for interrupt requests can be monitored by software.
Note: In main program, before manipulating the interrupt enable flag (EF) or the interrupt latch (IL), be sure to clear IMF to
"0" (Disable interrupt by DI instruction). Then set IMF newly again as required after operating on the EF or IL
(Enable interrupt by EI instruction)
In interrupt service routine, because the IMF becomes "0" automatically, clearing IMF need not execute normally on
interrupt service routine. However, if using multiple interrupt on interrupt service routine, manipulating EF or IL
should be executed before setting IMF="1".
Example 1 :Clears interrupt latches
Example 2 :Reads interrupt latchess
Example 3 :Tests interrupt latches
3.2 Interrupt enable register (EIR)
The interrupt enable register (EIR) enables and disables the acceptance of interrupts, except for the non-maskable
interrupts (Software interrupt, undefined instruction interrupt, address trap interrupt and watchdog interrupt). Non-
maskable interrupt is accepted regardless of the contents of the EIR.
The EIR consists of an interrupt master enable flag (IMF) and the individual interrupt enable flags (EF). These
registers are located on address 003AH and 003BH in SFR area, and they can be read and written by an instructions
(Including read-modify-write instructions such as bit manipulation or operation instructions).

3.2.1 Interrupt master enable flag (IMF)

The interrupt enable register (IMF) enables and disables the acceptance of the whole maskable interrupt.
While IMF = "0", all maskable interrupts are not accepted regardless of the status on each individual interrupt
enable flag (EF). By setting IMF to "1", the interrupt becomes acceptable if the individuals are enabled. When
an interrupt is accepted, IMF is cleared to "0" after the latest status on IMF is stacked. Thus the maskable inter-
rupts which follow are disabled. By executing return interrupt instruction [RETI/RETN], the stacked data,
which was the status before interrupt acceptance, is loaded on IMF again.
The IMF is located on bit0 in EIRL (Address: 003AH in SFR), and can be read and written by an instruction.
The IMF is normally set and cleared by [EI] and [DI] instruction respectively. During reset, the IMF is initial-
ized to "0".

3.2.2 Individual interrupt enable flags (EF15 to EF4)

Each of these flags enables and disables the acceptance of its maskable interrupt. Setting the corresponding
bit of an individual interrupt enable flag to "1" enables acceptance of its interrupt, and setting the bit to "0" dis-
ables acceptance. During reset, all the individual interrupt enable flags (EF15 to EF4) are initialized to "0" and
all maskable interrupts are not accepted until they are set to "1".
Note:In main program, before manipulating the interrupt enable flag (EF) or the interrupt latch (IL), be sure to clear
DI
LDW
(ILL), 1110100000111111B
EI
LD
WA, (ILL)
TEST
(ILL). 7
JR
F, SSET
IMF to "0" (Disable interrupt by DI instruction). Then set IMF newly again as required after operating on the EF
or IL (Enable interrupt by EI instruction)
In interrupt service routine, because the IMF becomes "0" automatically, clearing IMF need not execute nor-
; IMF
0
; IL12, IL10 to IL6
; IMF
1
; W
ILH, A
ILL
; if IL7 = 1 then jump
Page 36
TMP86PM29BUG
0

Advertisement

Table of Contents
loading

Table of Contents