电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 单片机 >> 正文

8051单片机原理-8051的中断-8051单片机

作者:佚名    文章来源:本站原创    点击数:    更新时间:2011-9-16

8051单片机原理


8031、8751AH和89C51,提供了5个中断源:即2个外部中断、两个计时器中断和串列口中断。 8052AH则除了以上5个中断外另增加了第六个中断:那就是第三个计时器/计数器。底下仅将中断结构作一概略性的介绍。

 

中断允许暂存器(INTERRUPT ENABLES)
EA - ET2 ES ET1 EX1 ET0 EX0
 
EA IE.7 如果EA=0,禁止所有的中断,EA=1时,各中断是否作用,由各允许位决定
- IE.6 不能使用
ET2 IE.5 允许Timer2溢位或补入中断(8052)
ES IE.4 允许串行I/O
ET1 IE.3 允许Timer1
EX1 IE.2 允许INT1
ET0 IE.1 允许Timer0
EX0 IE.0 允许INT0


透过设定或清除在SFR里名为IE(Interrupt Enable)暂存器里的位元,每个中断源都可以被各别的(Enable)或禁止(DISABLE)。这个暂存器(IE)也包含有一个整体禁止位元,它可以被清除,以禁止所有的中断。


中断优先权(Interrupt Priority)

  - PT2 PS PT1 PX1 PT0 PX0
  
  IE.7 不能使用
- IE.6 不能使用
PT2 IE.5 定义Timer2优先权(8052)
PS IE.4 定义串行I/O优先权
PT1 IE.3 定义Timer1优先权
PX1 IE.2 定义INT1优先权
PT0 IE.1 定义Timer0优先权
PX0 IE.0 定义INT0优先权

每个中断源可透过设定或清除SFR内名为IP(Interrupt Priority)的暂存器内的某些位元,可个别的将它面划到两层优先权的一层里,较低优先权的中断可以被较高优先权的中断所中断,但并不能被另一个低优先权中断。而高优先权中断就不能被其它中断源中断。如果有两个不同优先权层次的中断同时到达时,则较高优先权的中断要求先被服务。如果相同优先层次的中断同时到达时,则可以用内部的轮询(polling)顺序决定那一个要求先被服务,因此在每个优先层次里有一个次优先权结构由轮询顺序来决定。

IE和IP暂存器及轮询顺序如何动作?

以决定任何中断发生时那一个会被优先服务。中断工作会在每个机械周期的状态5(S5)时,所有的中断旗号都被锁入中断控制系统中,这个取样信号会在下一个机械周期时被加以检查,如果有允许的中断,它的旗号被发现设定"1",此时中断系统就产生一个LCALL至程序记忆体的对应位址。但有某些情况会禁止中断的产生,即相同或较高优先权的中断正在执行时。

硬体所产生的LCALL动作会使得目前的程序计数器值被推入(push)堆叠区,然后将服务程序的起始位址载入PC。如前面所述每个中断服务程序都有一固定的起始位址。中断发生时仅有程序计数器(PC)被推入堆叠区,而PSW或任何一个暂存器都没有放入堆叠区。仅PC被推入堆叠区保存起来,这使得写程序的人可以自己决定要花多少时间去保存其它的暂存器,虽然这会增加程序的负担,但这样,可增快中断响应时间。在许多的中断功能里,例如控制应用时,只要将口里的接脚反相、或重新载入计时器、或读入或写资料至列口缓冲区时,这种作法通常可以比其它的CPU还短的时间完成中断服务的工作。

Tags:8051中断,单片机中断,中断介绍,中断  
责任编辑:admin
相关文章列表
Rs232转Rs485接线图
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询