外部中断控制过程.pptx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

外部中断控制过程;外部中断的处理过程;中断处理过程大致可分为4步:中断请求、中断响应、中断服务和中断返回。;中断处理过程大致可分为4步:中断请求、中断响应、中断服务和中断返回。

当中断源要求CPU为它服务时,必须发出一个中断请求信号。CPU将相应的中断请求标志位置“1”。为确保该中断得以实现,中断请求信号应保持到CPU响应该中断后才能取消。CPU会不断及时地查询这些中断请求标志位,一旦查询到某个中断请求标志置位,CPU就响应这个中断源的中断请求。;2.1中断响应--条件

同时满足以下4个条件时,才可能响应中断:

(1)有中断请求;

(2)对应中断允许位为1;

(3)开中断(即EA=1);

(4)当前一条指令执行完。;2.1中断响应--条件

不响应中断的条件(满足之一):

(1)正在执行同级或高优先级的中断服务程序;

(2)不是指令的最后一个机器周期(该条指令没有执行完);

(3)执行RETI或读写IE/IP指令期间不能响应,或不是其后面一条指令的最后一个机器周期(即如果是RETI或读写IP/IE指令后,需再执行一条指令后才能响应中断);

(4)软件封锁(EA=0)。;2.2中断响应--过程

单片机一旦响应中断请求,就由硬件自动完成以下功能:

(1)把当前程序计数器PC的内容(中断点地址)压入堆栈,以便在RETI后返回原程序执行;

(2)关闭中断,以防止在响应中断期间受其它中断的干扰;

(3)清除相应的中断请求标志位(串行口中断请求标志RI和TI除外);

(4)把被响应的中断源所对应的中断服务程序的入口地址(中断矢量)送入PC,从而转入相应的中断服务程序。;2.2中断响应--过程

一般在入口地址处放置一条跳转指令,转到相应的中断服务程序入口处。如对外部中断1的中断响应:

ORG0013H

LJMPWBZD1;2.3中断响应--时间

最短:3个机器周期

第一机器周期:查询中断标志状态;

第二、三机器周期:保护断点及跳转。

最长:8个机器周期

若正在执行RETI等指令需1个机器周期;

下一条指令最长需4个机器周期(如乘法指令);

响应中断需3个机器周期。

;中断源发出中断请求后,相应的中断请求标??位自动置“1”,而CPU响应中断后,必须及时清除中断请求“1”标志。否则中断响应返回后,将再次进入该中断,引起死循环出错。

(1)边沿触发方式的外部中断/INT0和/INT1请求

定时器T0与T1的中断请求

CPU在响应中断后,由硬件自动清除相应的中断请求标志TF0、TF1、IE0与IE1。;(2)串行中断请求TI和RI

需由软件指令进行清除:CLRTI或CLRRI人工清除。

(3)电平触发方式的外部中断/INT0和/INT1请求

由软硬件相结合进行清除。

例如:INSVR:ANLP1,#0FEH;P1.0=0,Q=1撤销中断

ORLP1,#01H;P1.0=1,为下次中断作准备

CLRIE0;清除中断申请

······;MCS-51响应中断后,自动执行中断服务程序。在中断服务程序中,只要遇到RETI指令(不论在什么位置),单片机就结束本次中断服务,返回原程序。因此,在中断服务程序的最后必须有一条RETI指令,用于中断返回。

注意:

(1)不能用RET指令代替RETI指令。

(2)中断服务程序中PUSH与POP须成对使用。

文档评论(0)

一笑倾洁 + 关注
实名认证
内容提供者

PPT课件

1亿VIP精品文档

相关文档