智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4806|回复: 10
打印 上一主题 下一主题

[信息] MC9S12 中断学习

[复制链接]

65

主题

514

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2110

论坛骨干奖章活跃会员奖章优秀会员奖章

威望
945
贡献
561
兑换币
564
注册时间
2012-10-15
在线时间
302 小时
跳转到指定楼层
1#
发表于 2013-1-17 15:19:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
与复位比较:
相同点: MC9S12采用向量方式确定中断服务程序的入口地址,就这一地来看,MCU对复位与中断的处理有点类似之处,但是本质还是不同的。
不同点:CPU执行中断服务程序后返回中断处继续执行,而复位则不返回原来的程序,一切重新开始,包括将某些内部资源置成默认状态。
中断是可以屏蔽的,二复位时一种强制措施,无法加以禁止。
一、中断特点
二、中断源
中断处理能力是单片机的重要性能指标。
DG128预留了64个向量的空间,目前使用了53个左右,其中3个为复位向量,其余为中断向量。中断向量包括3个非可屏蔽中断向量,47个左右的可屏蔽中断向量,有外部中断源和内部中断源之分,两类的中断实现机制完全相同。
1、软件中断(SWI)
SWI实质上是一条指令,执行过程与中断相同,即通过中断向量找到目标地址。
它和其它的中断有所不同:①它的出现是有程序决定的,而非外部事件,因此出现的时    机是确定的。            ②真正的中断可以打断任何关键的工作,而SWI一般不会放置在这样的位置。
CPU取得SWI的操作码之后,就不能再禁止CPU执行相应的操作。SWI的作用类似于某个子程序的调用。MCU的断电机制就是用SWI
2、非法指令陷阱
非法指令:MCU执行程序时,都是执行又汇编或编译程序生成的有效的操作码,当受到干扰或系统混乱时,可能无法取得正确的操作码,这些无法识别的操作码就叫做非法指令。
在软件调试阶段,合理利用该中断还可以发现某些如程序跑飞、死机等的软件错误,利用改中断就可以找到问题的根源。
3、非屏蔽中断
XIRQ(此处注意是低电平有效,写错了)是MC9S12系列单片机的非屏蔽中断引脚,引发XIRQ中断。在任何模式下,该引脚一旦被拉低,MCU执行完当前指令后,都会相应该中断(包括在等待和停止模式下,该中断可以唤醒MCU)。
应用:该中断一般用于系统掉电、硬件故障等重要场合。
注意:使用时要反复斟酌,确保不会给系统带来副作用。
4、可屏蔽中断
可屏蔽中断可通过软件允许或禁止,除了以上三个,MCU的其他中断均为可屏蔽中断,其中除了IRQ为外部引脚产生外,其余均为内部资源产生。
MCU的中断源多数属于事件中断,即由系统特定事件的发生发出中断请求,与其它可屏蔽中断的处理过程相同。
三、中断控制
系统中断控制分为四种情况,第一种是SWIMCU遇到SWI指令后必须执行;第二种是非法指令,出现后立即中断,不能禁止;第三种是XIRO,只有一次操作机会,打开后不能关闭,默认为关闭;第四种是可屏蔽中断,包括外部的IRO和内部资源中断,每个可屏蔽中断都受两层控制,一是全局中断屏蔽位,即CCR中的I位,而是各个中断源的本地控制位。I位置1讲关闭所有的可屏蔽中断。
1、IRQ中断使能及方式控制(INTCR
   所有通过IRQ引脚的外部中断都受到INTCR寄存器的控制
2、中断优先级控制寄存器(HPRIO
   三个非屏蔽中断的优先级:指令陷阱、软件中断、XIRQ中断
   任何一个可屏蔽中断源可通过HORIO设定为最高优先级,其他中断源的相对优先级保持不变。
   作用:把任何一个可屏蔽中断源设置为最高优先级。
   方法:将中断向量地址的低位字节写入该寄存器即可。
3、中断向量
   MCU给每一个复位和中断源都安排了中断向量,存放在64K内存区的最后128字节,每个中断向量占两个字节,指向程序入口。中断相应时,MCU根据中断源到对应位置找到中断向量,然后转到相应的中断服务程序。
四、中断响应
   中断响应指从MCU确认中断请求到进入中断服务子程序的整个过程。
1、中断的识别方式
   三种方式:边沿方式、电平方式、标志方式
IRQ:边沿方式、电平方式
XIRQ:电平方式
所有集成外设的中断请求:标志方式
2、中断响应过程
   其中涉及到了中断优先级和中断嵌套,以后用到时再详细的了解。
   
                 

35

主题

899

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4149

优秀会员奖章活跃会员奖章论坛元老奖章

威望
1496
贡献
2087
兑换币
316
注册时间
2012-2-13
在线时间
283 小时
2#
发表于 2013-1-17 18:55:52 | 只看该作者
回复 支持 反对

使用道具 举报

21

主题

892

帖子

0

精华

常驻嘉宾

爱板者

Rank: 8Rank: 8

积分
3857

活跃会员奖章优秀会员奖章在线王奖章论坛元老奖章

威望
1833
贡献
1048
兑换币
736
注册时间
2012-12-4
在线时间
488 小时
3#
发表于 2013-1-17 21:59:07 | 只看该作者
不错啊
回复 支持 反对

使用道具 举报

21

主题

892

帖子

0

精华

常驻嘉宾

爱板者

Rank: 8Rank: 8

积分
3857

活跃会员奖章优秀会员奖章在线王奖章论坛元老奖章

威望
1833
贡献
1048
兑换币
736
注册时间
2012-12-4
在线时间
488 小时
4#
发表于 2013-1-17 22:00:44 | 只看该作者
回复 支持 反对

使用道具 举报

6

主题

49

帖子

0

精华

高级会员

Rank: 4

积分
564
威望
301
贡献
145
兑换币
185
注册时间
2013-2-18
在线时间
59 小时
5#
发表于 2013-2-27 16:22:58 | 只看该作者
学习了一下
回复 支持 反对

使用道具 举报

0

主题

42

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
366
威望
224
贡献
94
兑换币
65
注册时间
2012-9-1
在线时间
24 小时
6#
发表于 2013-5-6 19:48:25 | 只看该作者
分析很透彻  学习了   非常感谢LZ的分享    :victory::victory:
回复 支持 反对

使用道具 举报

11

主题

188

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1431
威望
926
贡献
413
兑换币
604
注册时间
2013-6-15
在线时间
46 小时
7#
发表于 2013-8-7 16:16:54 | 只看该作者
好详细,谢谢lz了!
回复 支持 反对

使用道具 举报

8

主题

282

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2056
QQ
威望
1038
贡献
670
兑换币
675
注册时间
2012-12-26
在线时间
174 小时
8#
发表于 2013-9-3 19:02:41 | 只看该作者
太好了!
回复 支持 反对

使用道具 举报

3

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
220
威望
96
贡献
44
兑换币
48
注册时间
2013-7-16
在线时间
40 小时
毕业学校
山东
9#
发表于 2013-9-7 14:54:48 | 只看该作者
请问一下   xirq怎么设置   使用啊
回复 支持 反对

使用道具 举报

1

主题

42

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1264
QQ
威望
467
贡献
271
兑换币
310
注册时间
2013-10-26
在线时间
263 小时
10#
发表于 2013-11-9 14:06:43 | 只看该作者
分析的很好
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-27 02:05 , Processed in 0.103541 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表