deveopmen
Usage precaution
Preliminary Specifications REV.D
Specifications in this manual are tentative and subject to change.
Mitsubishi microcomputers
M16C/80 (100-pin version) group
SINGLE-CHIP 16-BIT CMOS MICROCOMPUTER
205
Stop Mode and Wait Mode
(1) When returning from stop mode by hardware reset, RESET pin must be set to “L” level until main clock
oscillation is stabilized.
(2) When shifting to WAIT mode or STOP mode, the program stops after reading from the WAIT instruc-
tion and the instruction that sets all clock stop control bits to “1” in the instruction queue. Therefore,
insert a minimum of 4 NOPs after the WAIT instruction and the instruction that sets all clock stop
control bits to “1” in order to flush the instruction queue.
Interrupts
(1) Setting the stack pointer
The value of the stack pointer is initialized to 0000
16
immediately after reset. Accepting an
interrupt before setting a value in the stack pointer may cause runaway. Be sure to set a value in
the stack pointer before accepting an interrupt.
When using the NMI interrupt, initialize the stack pointer at the beginning of a program. Regard-
ing the first instruction immediately after reset, generating any interrupts including the NMI inter-
rupt is prohibited.
Set an even address to the stack pointer so that operating efficiency is increased.
(2) The NMI interrupt
As for the NMI interrupt pin, an interrupt cannot be prohibited. Connect it to the V
CC
pin if unused.
(3) Address match interrupt
Do not set the following addresses to the address match interrupt register.
1. The start address of an interrupt instruction
2. Address of an instruction to clear an interrupt request bit of an interrupt control register or any of
the next 7 instructions addresses immediately after an instruction to rewrite an interrupt priority
level to a smaller value
3. Any of the next 3 instructions addresses immediately after an instruction to set the interrupt
enable flag (I flag).
4. Any of the next 3 instructions addresses immediately after an instruction to rewrite a processor
interrupt priority level (IPL) to a smaller value.
Example 1)
Interrupt_A:
; Interrupt A routine
; <----
;
start address of an interrupt instruction
pushm R0,R1,R2,R3,A0,A1
Example 2)
mov.b #0,TA0IC
nop
nop
nop
nop
nop
nop
nop
;Change TA0 interrupt priority level to a smaller value
; 1st instruction
; 2nd instruction
; 3rd instruction
; 4th instruction
; 5th instruction
; 6th instruction
; 7th instruction
Do not set address match interrupt
during this period
Do not set address match interrupt to the