cop87l88cf National Semiconductor Corporation, cop87l88cf Datasheet - Page 20

no-image

cop87l88cf

Manufacturer Part Number
cop87l88cf
Description
8-bit Cmos Otp Microcontrollers With 16k Memory And A/d Converter
Manufacturer
National Semiconductor Corporation
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
cop87l88cfN-XE
Manufacturer:
PHI
Quantity:
6 223
www.national.com
Interrupts
MASKABLE INTERRUPTS
All interrupts other than the Software Trap are maskable.
Each maskable interrupt has an associated enable bit and
pending flag bit. The pending bit is set to 1 when the interrupt
condition occurs. The state of the interrupt enable bit, com-
bined with the GIE bit determines whether an active pending
flag actually triggers an interrupt. All of the maskable inter-
rupt pending and enable bits are contained in mapped con-
trol registers, and thus can be controlled by the software.
A maskable interrupt condition triggers an interrupt under the
following conditions:
1. The enable bit associated with that interrupt is set.
2. The GIE bit is set.
3. The device is not processing a non-maskable interrupt.
An interrupt is triggered only when all of these conditions are
met at the beginning of an instruction. If different maskable
interrupts meet these conditions simultaneously, the highest
priority interrupt will be serviced first, and the other pending
interrupts must wait.
Upon Reset, all pending bits, individual enable bits, and the
GIE bit are reset to zero. Thus, a maskable interrupt condi-
tion cannot trigger an interrupt until the program enables it by
setting both the GIE bit and the individual enable bit. When
enabling an interrupt, the user should consider whether or
not a previously activated (set) pending bit should be ac-
knowledged. If, at the time an interrupt is enabled, any pre-
vious occurrences of the interrupt should be ignored, the as-
sociated pending bit must be reset to zero prior to enabling
the interrupt. Otherwise, the interrupt may be simply en-
abled; if the pending bit is already set, it will immediately trig-
ger an interrupt. A maskable interrupt is active if its associ-
ated enable and pending bits are set.
An interrupt is an asychronous event which may occur be-
fore, during, or after an instruction cycle. Any interrupt which
occurs during the execution of an instruction is not acknowl-
(If a non-maskable interrupt is being serviced, a
maskable interrupt must wait until that service routine is
completed.)
(Continued)
FIGURE 13. Interrupt Block Diagram
20
edged until the start of the next normally executed instruction
is to be skipped, the skip is performed before the pending in-
terrupt is acknowledged.
At the start of interrupt acknowledgment, the following ac-
tions occur:
1. The GIE bit is automatically reset to zero, preventing any
2. The address of the instruction about to be executed is
3. The program counter (PC) is loaded with 00FF Hex,
The device requires seven instruction cycles to perform the
actions listed above.
If the user wishes to allow nested interrupts, the interrupts
service routine may set the GIE bit to 1 by writing to the PSW
register, and thus allow other maskable interrupts to interrupt
the current service routine. If nested interrupts are allowed,
caution must be exercised. The user must write the program
in such a way as to prevent stack overflow, loss of saved
context information, and other unwanted conditions.
The interrupt service routine stored at location 00FF Hex
should use the VIS instruction to determine the cause of the
interrupt, and jump to the interrupt handling routine corre-
sponding to the highest priority enabled and active interrupt.
Alternately, the user may choose to poll all interrupt pending
and enable bits to determine the source(s) of the interrupt. If
more than one interrupt is active, the user’s program must
decide which interrupt to service.
Within a specific interrupt service routine, the associated
pending bit should be cleared. This is typically done as early
as possible in the service routine in order to avoid missing
the next occurrence of the same type of interrupt event.
Thus, if the same event occurs a second time, even while the
first occurrence is still being serviced, the second occur-
rence will be serviced immediately upon return from the cur-
rent interrupt routine.
An interrupt service routine typically ends with an RETI in-
struction. This instruction sets the GIE bit back to 1, pops the
subsequent maskable interrupt from interrupting the cur-
rent service routine. This feature prevents one maskable
interrupt from interrupting another one being serviced.
pushed onto the stack.
causing a jump to that program memory location.
DS101134-18

Related parts for cop87l88cf