PIC17C42 Microchip Technology, PIC17C42 Datasheet - Page 25

no-image

PIC17C42

Manufacturer Part Number
PIC17C42
Description
High-Performance 8-Bit CMOS EPROM/ROM Microcontroller
Manufacturer
Microchip Technology
Datasheets

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
PIC17C42-16/JW
Manufacturer:
AD
Quantity:
12
Part Number:
PIC17C42A-16/L
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC17C42A-16/PQ
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC17C42A-16/PQ
Manufacturer:
MICROCH
Quantity:
20 000
Part Number:
PIC17C42A-16/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC17C42A-16E/L
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC17C42A-16E/PQ
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
PIC17C42A-25/P
Manufacturer:
MICROCLOCK
Quantity:
20 000
5.4
Global Interrupt Disable bit, GLINTD (CPUSTA<4>),
enables all unmasked interrupts (if clear) or disables all
interrupts (if set). Individual interrupts can be disabled
through their corresponding enable bits in the INTSTA
register. Peripheral interrupts need either the global
peripheral enable PEIE bit disabled, or the specific
peripheral enable bit disabled. Disabling the peripher-
als via the global peripheral enable bit, disables all
peripheral interrupts. GLINTD is set on reset (interrupts
disabled).
The RETFIE instruction allows returning from interrupt
and re-enable interrupts at the same time.
When an interrupt is responded to, the GLINTD bit is
automatically set to disable any further interrupt, the
return address is pushed onto the stack and the PC is
loaded with interrupt vector. There are four interrupt
vectors to reduce interrupt latency.
The peripheral interrupt vector has multiple interrupt
sources. Once in the peripheral interrupt service rou-
tine, the source(s) of the interrupt can be determined by
polling the interrupt flag bits. The peripheral interrupt
flag bit(s) must be cleared in software before re-
enabling interrupts to avoid continuous interrupts.
The PIC17C4X devices have four interrupt vectors.
These vectors and their hardware priority are shown in
Table 5-1. If two enabled interrupts occur “at the same
time”, the interrupt of the highest priority will be ser-
viced first. This means that the vector address of that
interrupt will be loaded into the program counter (PC).
TABLE 5-1:
0008h
0010h
0018h
0020h
Address
1996 Microchip Technology Inc.
Interrupt Operation
External Interrupt on RA0/
INT pin (INTF)
TMR0 overflow interrupt
(T0IF)
External Interrupt on T0CKI
(T0CKIF)
Peripherals (PEIF)
INTERRUPT VECTORS/
PRIORITIES
Vector
1 (Highest)
4 (Lowest)
Priority
2
3
LOOP
Note 1: Individual interrupt flag bits are set regard-
Note 2: When disabling any of the INTSTA enable
Note 3: For the PIC17C42 only:
BSF
BTFSS
GOTO
less of the status of their corresponding
mask bit or the GLINTD bit.
bits, the GLINTD bit should be set
(disabled).
If an interrupt occurs while the Global Inter-
rupt Disable (GLINTD) bit is being set, the
GLINTD bit may unintentionally be re-
enabled by the user’s Interrupt Service
Routine (the RETFIE instruction). The
events that would cause this to occur are:
1.
2.
3.
The method to ensure that interrupts are
globally disabled is:
1.
CPUSTA, GLINTD ; Disable Global
CPUSTA, GLINTD ; Global Interrupt
LOOP
An interrupt occurs simultaneously
with an instruction that sets the
GLINTD bit.
The program branches to the Interrupt
vector and executes the Interrupt Ser-
vice Routine.
The Interrupt Service Routine com-
pletes with the execution of the RET-
FIE instruction. This causes the
GLINTD bit to be cleared (enables
interrupts), and the program returns to
the instruction after the one which was
meant to disable interrupts.
Ensure that the GLINTD bit was set by
the instruction, as shown in the follow-
ing code:
PIC17C4X
; Interrupt
; Disabled?
; NO, try again
; YES, continue
; with program
; low
DS30412C-page 25

Related parts for PIC17C42