|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
内部中断:一般是由硬件错误或者运算过程中出错引起的,一般是不可避免的;
s* o4 M3 b2 s) X 外部中断:是处理器的外设发出的中断请求,如定时器中断,UART接收中断,外部中断一般都可以通过中断控制器进行屏蔽;
6 a# ?$ n3 M8 n" }( a 1.ITC功能概述:9 t) |* [% C" g/ e) _
所有IO引脚都具有外部中断能力,每个端口都有独立的中断向量以及独立的标志;外设中断能力;
9 z! w: W: N, ?, D( |8 O 软件中断能力(TRAP)3 X0 S: b* S; f. j- Z
具有灵活的优先级和中断等级管理,支持可嵌套和同级中断管理: ——多达4个软件可编程的嵌套等级;——最多有32个中断向量,其入口地址由硬件固定;——2个不可避免的中断:RESET,TRAP;——1个不可避免的最高优先级硬件中断TL1;) F. t! s* X, P8 E7 d) t0 i
2.中断的主要功能
. C$ S! P1 D' w; b2 Q: I9 T$ j) G 1.实现高速CPU和低速外设之间速度的配合;打印机的打印字符的速度比较慢,于是CPU向打印机传送一个字符后,可以去执行其他任务,打印机打印完该字符,向CPU提出中断请求……& Y% m" { y! W/ `8 {
2.可实现实时控制,所有参数可随时向CPU发送中断请求,使控制对象保持最佳工作状态;
" M/ W7 M' o3 b, g 3.实现故障的紧急处理;9 j/ D0 B: c8 f6 H( Z' C! ]
4.实现人机接口,如键盘;1 u( e6 B( V+ h. [
3.STM8中断源和中断向量 F9 C2 Q. E# _& V0 J g
中断源:中断信号的触发源;
v g! e; H% S& o0 T; N* j1 x- ?4 J 中断向量:每个中断源对应至少一个中断标志,中断源请求CPU中断时,对应的中断标志位发送改变,CPU在每条语句结束检查中断标志位,如果允许中断,则产生中断,CPU将Pc指针指向对应中断服务程序入口,改地址就是中断向量; t: @2 I5 h2 b* I+ Z6 }
在单片机中,中断技术主要用于实时控制,实时控制要求单片机能够及时的响应被控制对象提出的分析,计算和控制等请求,使被控制对象保持在最佳工作状态,以达到预期的最优控制效果,这些中断请求发生使随机的,要求单片机快速响应,是一个复杂的过程; B# G) @4 j& m* V
(1)在每一条指令结束后系统会自动检测中断请求信号,若全局中断和某一中断已经使能,则响应中断,其他操作被挂起;
7 P Q% H7 |" f7 { (2)保护现场。CPU一旦响应,PC X,Y,A,和CC寄存器被自动压栈,根据中断控制寄存器中值对应的中断服务向量,CC寄存器被响应设置;8 F: N! W1 s$ n- T6 ~
(3)中断服务。通过中断向量载入中断服务子程序的入口地址,执行中断服务中的函数;
: W5 C& d% E0 P0 f$ f) j (4)恢复现场并中断返回;中断服务子程序必须以IRET结束,该指令会把堆栈中保存的寄存器内容出栈,CC寄存器被恢复,程序恢复运行;
% `0 O/ w" J W6 F* i& a8 R6 Z 4.中断优先级和中断嵌套# t L& {1 f- E5 R) s/ t3 K
STM8单片机某个时刻只能处理一个中断,当系统有多个中断源同时发送中断请求,就涉及到中断管理,两种中断管理模式:同时发生模式,嵌套模式;; s+ P6 o5 u+ o0 N7 b3 c$ y: K
同时发生模式:当一个中断响应,在响应执行期间,无论再高优先级的中断(三个不可避免的除外),都无法打断现在曾在响应的中断,当前中断完毕后,会优先触发高优先级的中断。5 r$ M+ s8 X9 c5 y8 p
嵌套模式:当CPU正在响应一个中断过程中,一个比当前优先级高的中断发生,则CPU会暂停当前中断响应,转而响应新的中断,新中断响应完毕后,继续响应原来中断;8 @! y0 |$ @ Z. u- G2 ~3 C
|
|