第4章 MCS-51的中断系统.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
五个中断请求源 : (1)INT0*— (2)INT1*— (3)定时器/计数器T0溢出中断请求 (4)定时器/计数器T1溢出中断请求 (5)串行口中断请求,中断请求标志为TI或RI 由特殊功能寄存器TCON和SCON的相应位锁存。 入口地址: 0003H、0013H、000BH、001BH、0023H (1)外部中断请求触发方式IT0、IT1:1(脉冲触发),0(电平触发) (2)外部中断请求标志位IE0与IE1:有效中断请求,置1 (3)定时器运行控制位TR0、TR1:1(开始工作),0(不工作) (4)T0和T1的溢出中断请求标志位TF0和TF1:产生计数溢出时,置1;转向中断服务时,由硬件自动清“0”。 硬件自动清“0” ,MCS-51复位后,TCON被清0 注意:与中断有关的控制位共2个 (1)串行口发送中断请求标志位TI:发送完数据后硬件置1 (2)串行口接收中断请求标志位RI:接收完数据后硬件置1 必须在中断服务程序中用软件对TI、RI标志清“0”。 串行中断请求由TI和RI的逻辑或得到。 CPU对中断源的开放或屏蔽,由片内的中断允许寄存器IE控制。字节地址为A8H,可位寻址。格式如下: MCS-51复位后,IE清0,所有中断请求被禁止。若使某一个中断源被允许中断,除了IE相应的位的被置“1” ,还必须使EA位=1。 改变IE的内容,可由位操作指令来实现,即: 例4-1 若允许片内2个定时器/计数器中断,禁止其它中断源的中断请求。编写设置IE的相应程序段 (2)用字节操作指令来编写: 或者用: ;A8H为IE寄存器字节 地址 MCS-51的中断优先级控制比较简单,只有高、低两个优先级。IP的字节地址为0B8H。 IP各个位的含义: 可归纳为下面两条基本规则: (1)低优先级可被高优先级中断,反之则不能。 (2)同级中断不会被它的同级中断源所中断。 注意: (1)由软件可改变各中断源的中断优先级。 (2)MCS-51的中断系统有两个不可寻址的“优先级激活触发器”: 一个用来指示某高优先级的中断正在执行,所有后来的中断均被阻止。 另一个用来指示某低优先级的中断正在执行,所有同级中断都被阻止,但不阻断高优先级的中断请求。 (3)在同时收到几个同一优先级的中断请求时,优先响应哪一个中断,取决于内部的查询顺序。查询顺序如下: 中断源 中断级别 外部中断0 最高 T0溢出中断 外部中断1 T1溢出中断 串行口中断 最低 例4-2 设置IP寄存器的初始值,使2个外中断请求为高优先级,其它中断请求为低优先级。 (1)用位操作指令 中断处理过程包括三个阶段: (1)中断响应 (2)中断处理 (3)中断返回 一个中断请求被响应,需满足以下必要条件: (1)中断源发出中断请求。 (2) IE寄存器中的中断总允许位EA=1。 (3)该中断源的中断允许位=1,即该中断没有被屏蔽。 (4)无同级或更高级中断正在被服务。 中断响应的主要过程: 首先由硬件自动生成一条长调用指令: LCALL addr16 接着就由CPU执行该指令,将PC的内容压入堆栈以保护断点,再将中断入口地址装入PC。 中断响应是有条件的,遇到下列三种情况之一时,中断响应被封锁: (1)CPU正在处理同级的或更高优先级的中断。 (2)所查询的机器周期不是当前正在执行指令的最后一个机器周期。只有在当前指令执行完毕后,才能进行中断响应。 (3)正在执行的指令是RETI或是访问IE或IP的指令。需要再去执行完一条指令,才能响应新的中断请求。 中断服务程序设计的任务 基本任务: (1)设置中断允许控制寄存器IE。 (2)设置中断优先级寄存器IP。 (3)对外中断源,是采用电平触发还是跳沿触发。 (4)编写中断服务程序,处理中断请求。 前2条一般放在主程序的初始化程序段中。 例4-3 假设允许外部中断0中断,并设定它为高级中断,其它中断源为低级中断,采用跳沿触发方式。 在主程序中编写如下程序段: SETB EA ;CPU开中断 SETB ET0 ;允许外中断0产生中断 SETB PX0 ;外中断0为高级中断 SETB IT0 ;外中断0为跳沿触发方式 外部中断的最短的响应时间为3个机器周期: 1+2 外部中断响应的最长的响应时间为8个机器周期: (1)发生在CPU进行中断标志查询时,刚好是开始执行RETI或

文档评论(0)

hong333666 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档