
ST6208C/ST6209C/ST6210C/ST6220C
5.10中断处理程序
中断过程是非常类似于一个呼叫亲
cedure ,实际上,用户可以考虑中断
作为一个异步调用的程序。因为这是一
异步事件时,用户无法知道
上下文,并在其发生的时间。作为一个重
SULT ,用户应保存所有数据的寄存器空间
可被中断程序中使用。
下面的列表总结了中断proce-
杜热:
当一个中断请求时,下面的
行动是由自动MCU进行:
- 从正常的标志到核心交换机
中断标志位(或NMI标志) 。
- 个人电脑的内容被存储在所述顶层
堆栈。
- 正常中断线路被禁止( NMI仍
活性) 。
- 内部锁存器(如果有的话)将被清零。
- 相关的中断向量装入PC 。
当一个中断请求时,下面的
动作必须由用户软件来执行:
- 用户选择寄存器都内保存
中断服务例程(通常在软
洁具栈) 。
- 中断源必须确定
通过查询中断标志(如果有多于一个
源具有相同的向量相关联) 。
- 在RETI (中断返回)指令
必须结束中断服务程序。
执行RETI指令后,单片机再
接通到主例程。
注意事项:
当可屏蔽中断时发生
在ST6核心是在普通模式和在
执行的“ LDI IOR , 00H ”指令(禁用
所有可屏蔽中断) :如果中断请求的OC
期间的“ LDI ”指令中的第3个周期小人
(这是一个4周期指令)的核心,将切换
中断方式,但该标志CN和锌会
不会切换到中断对CI和ZI 。
5.10.1中断响应时间
这被定义为在时刻之间的时间
当程序计数器被装载在 -
中断向量和当该程序具有跳转到
中断子程序,并已准备好执行
的代码。这取决于当中断发生的
而核心正在处理的指令。
图18.中断处理流程图
指令
取
指令
执行
指令
LOAD从PC
中断向量
是
指令
一RETI ?
是的
是的
是核心
早在
正常模式?
NO
明确
内部锁存
*)
关闭
可屏蔽中断
NO
启用
可屏蔽中断
PUSH THE
PC进栈
SELECT
一般标志
SELECT
中断FL AGS
“ POP ”
堆叠PC
NO
是否有
一个中断请求
和中断屏蔽?
是的
*)
如果一闩上存在中断源线
表7.中断响应时间
最低
最大
6个CPU周期
11个CPU周期
一个CPU周期是13个外部时钟周期,因此11
CPU周期= 11× ( 13 / 8M ) = 17.875微秒与8
MHz的外部晶振。
30/104
1