English
Language : 

SM59R16A5 Datasheet, PDF (51/89 Pages) SyncMOS Technologies,Inc – Two serial peripheral interfaces in full duplex mode
SM59R16A5/SM59R09A5/SM59R05A5
8-Bit Micro-controller
64KB/36KB/20KB with ISP Flash
& 2KB RAM embedded
11. Interrupt
The SM59R16A5 provides 15 interrupt sources with four priority levels. Each source has its own request flag(s) located in
a special function register. Each interrupt requested by the corresponding flag could individually be enabled or disabled
by the enable bits in SFR’s IEN0, IEN1, and IEN2.
When the interrupt occurs, the engine will vector to the predetermined address as shown in Table 11.1. Once interrupt
service has begun, it can be interrupted only by a higher priority interrupt. The interrupt service is terminated by a return
from instruction RETI. When an RETI is performed, the processor will return to the instruction that would have been next
when interrupt occurred.
When the interrupt condition occurs, the processor will also indicate this by setting a flag bit. This bit is set regardless of
whether the interrupt is enabled or disabled. Each interrupt flag is sampled once per machine cycle, and then samples are
polled by hardware. If the sample indicates a pending interrupt when the interrupt is enabled, then interrupt request flag is
set. On the next instruction cycle the interrupt will be acknowledged by hardware forcing an LCALL to appropriate vector
address.
Interrupt response will require a varying amount of time depending on the state of microcontroller when the interrupt
occurs. If microcontroller is performing an interrupt service with equal or greater priority, the new interrupt will not be
invoked. In other cases, the response time depends on current instruction. The fastest possible response to an interrupt is
7 machine cycles. This includes one machine cycle for detecting the interrupt and six cycles for perform the LCALL.
Table 11-1: Interrupt vectors
Interrupt Request Flags
Interrupt Vector
Address
IE0 – External interrupt 0
0003h
TF0 – Timer 0 interrupt
000Bh
IE1 – External interrupt 1
0013h
TF1 – Timer 1 interrupt
001Bh
RI0/TI0 – Serial channel 0 interrupt
0023h
TF2/EXF2 – Timer 2 interrupt
002Bh
PWMIF – PWM interrupt
0043h
SPIIF – SPI interrupt
004Bh
ADCIF – A/D converter interrupt
0053h
KBIIF – keyboard Interface interrupt
005Bh
LVIIF – Low Voltage Interrupt
0063h
IICIF – IIC interrupt
006Bh
RI1/TI1 – Serial channel 1 interrupt
0083h
RTC/ALARM interrupt
008Bh
Comparator interrupt
0093h
Interrupt Number
*(use Keil C Tool)
0
1
2
3
4
5
8
9
10
11
12
13
16
17
18
*See Keil C about C51 User’s Guide about Interrupt Function description
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M047
51
Ver.H SM59R16A5 04/2015