
三菱微型计算机
M306V5ME-XXXSP
M306V5EESP
单芯片16位CMOS微机带有隐蔽字幕解码器
和屏幕显示控制器
3.9中断
( 1 )读地址00000
16
当发生可屏蔽中断, CPU读取中断信息(中断号
和中断请求级)在中断程序。
在某些中断的中断请求位写在地址00000
16
将被设置为“0”。
读地址00000
16
通过软件设置启用优先级最高的中断源请求位置
“0”.
虽然在产生中断时,中断例程可能不被执行。
不要读地址00000
16
用软件。
(2)设置堆栈指针
堆栈指针后立即复位初始化为0000的值
16
。受理
设置一个值,堆栈指针会变成失控的因素之前中断。一定要
接受中断之前,设置堆栈指针的值。
( 3 )外部中断
_______
_______
当INT的极性
0
和INT
1
销被改变时,中断请求位有时设置
“1”改变极性后,将中断请求位为“ 0”。
( 4 )改写中断控制寄存器
要改写中断控制寄存器,这样做在一个点上不产生中断
要求该寄存器。如果发生了中断请求的可能性,重写了中断
中断后,控制寄存器被禁用。程序实例说明如下:
实施例1:
INT_SWITCH1 :
FCLR
I
AND.B # 00H , 0055h
NOP
NOP
FSET
I
;禁止中断。
;清除TA0IC INT 。优先级和INT 。请求位。
;允许中断。
实施例2:
INT_SWITCH2 :
FCLR
I
AND.B # 00H , 0055h
MOV.W MEM , R0
FSET
I
;禁止中断。
;清除TA0IC INT 。优先级和INT 。请求位。
;虚读。
;允许中断。
实施例3:
INT_SWITCH3 :
PUSHC FLG
FCLR
I
AND.B # 00H , 0055h
POPC FLG
; PUSH标志寄存器到堆栈
;禁止中断。
;清除TA0IC INT 。优先级和INT 。请求位。
;允许中断。
为什么两条NOP指令或虚读FSET我以前插入例1和例2的原因
为了防止中断使能标志,我从之前被设置中断控制寄存器由于改写
指令队列的效果。
当一个指令改写中断控制寄存器执行,但中断被禁用,
中断请求位未设置,有时即使该寄存器中的中断请求已经gener-
ated 。这将取决于该指令。如果产生问题,使用下面的指令来改变
该寄存器。
说明: AND,OR , BCLR , BSET
1.0版
241