网站大量收购独家精品文档,联系QQ:2885784924

第五章 中断系应用.doc

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

第五章 中断系统 第一节 中断系统 现代微机控制系统中,主要依靠中断机制实现对外界随机发生的事件做出及时处理。所谓中断是指CPU暂时终止当前任务,转而处理突发事件,事件处理完成后,再回到原来被终止的地方,继续原来的工作。 1.中断相关概念 中断源:引起中断的原因,中断申请的来源,中断源可以是I/O设备、故障、时钟、调试中人为进行的设置等。 中断响应过程:CPU暂时终止当前工作,转去处理事件的过程。 中断服务:对事件的处理过程。 中断返回:事件处理完毕,回到原来被中止的地方。 中断优先级:当有多个中断源同时向CPU申请中断时,CPU优先响应最需紧急处理的中断请求,处理完毕再响应优先级别较低的中断,中断优先级直接反映每个中断源的中断请求被CPU响应的优先程度。 中断嵌套:CPU响应了某一中断源的中断请求,并正在执行它的中断服务程序时,若有优先级更高的中断源提出中断请求,那么CPU将停止正在执行的中断服务程序,转而响应和处理优先级更高的中断服务程序,等处理完成后再执行原来的中断服务程序,这就是中断嵌套。 2.中断的应用 中断的应用包括中断设置、中断请求,中断响应,中断处理、中断返回五个部分。 1)中断设置 中断设置包括中断允许设置、中断优先级设置和外部中断触发方式设置3个部分。 中断允许控制寄存器IE用于设置中断允许或禁止;中断优先级控制寄存器IP用于设置中断优先级的高低;外部中断的触发方式可以通过特殊功能寄存器TCON进行设置。 2)中断请求 5个中断源中2个为外部中断,3个为内部中断。 外部中断源 ① 外部中断0请求,通过P3.2引脚引入,中断请求标志为IE0。 ② 外部中断1请求,通过P3.3引脚引入,中断请求标志为IE1。 内部中断源 ① T0 定时/计数器0溢出中断申请,中断请求标志为TF0。 ② T1 定时/计数器1溢出中断申请,中断请求标志为TF1。 ③ TXD/RXD 串行口中断,当串行口发送或接收完一帧数据时,申请中断,发送中断请求标志为TI,接收中断请求标志为RI。 中断请求标志分别由特殊功能寄存器TCON和SCON的相应位锁存。当中断条件发生时,中断请求标志由硬件自动置1。 3)中断响应 中断响应包括响应条件、响应过程、中断标志的拆除和响应时间。 响应条件: 中断源发出中断申请 中断总允许为EA=1,即CPU开中断 申请中断的中断源中断允许位为“1”,即开放该中断。 无同级或更高级中断正在被执行 执行完当前指令的最后一个(机器)周期。 若现正执行指令为返回(RETI)指令,或对IE、IP寄存器进行读/写操作,则需该指令以及紧接着的另一条指令执行完。 响应过程 CPU在每个机器周期的S5P2期间,采样各中断源,在下一个机器周期的S6期间按优先级顺序查询中断标志,如查询到某个中断标志为1,并满足中断响应条件,将在下一个机器周期按优先级进行中断处理。中断处理时,首先将内部的“优先级生效”触发器置1,以阻止后来的同级或低级中断请求,然后由硬件执行一条长调用指令LCALL,把当前PC值压入堆栈,以保护断点地址,最后将相应的中断入口地址送入PC,于是CPU从中断入口地址开始执行程序。以上过程均表现为CPU的自主操作。 中断标志的拆除 CPU响应中断后,应撤除该中断请求标志,否则会再次中断。 对定时计数器T0、T1的溢出中断,CPU响应中断后,硬件自动清除中断请求标志TF0、TF1。 对边沿触发的外部中断INT1和INT0,CPU响应中断后硬件自动清除中断请求标志IE0和IE1。 对于串行口中断,CPU响应中断后,没有用硬件清除中断请求标志TI、RI,即这些中断标志不会自动清除,必须用软件清除,这是在编串行通信中断服务中应该注意的。 对电平触发的外部中断,CPU在响应中断时也不会自动清除中断标志,因此,在编写中断服务程序时要注意中断响应后应立即撤除INT1或INT0的低电平信号 响应时间 中断响应时间是指从中断请求标志置位到CPU开始执行中断服务程序的第一条指令所花的时间。 若系统中只有一个中断时,当中断源发出中断请求,中断请求标志置位将在当前机器周期的S5P2期间被置位,CPU将在下一个机器周期对这些中断标志进行查询,如果满足中断条件,还需要执行2个机器周期的硬件长调用指令LCALL以保存断点地址,所以系统响应该中断至少需要3个机器周期;如果正在执行的指令还没有执行到最后一个机器周期,则附加的等待时间为1~3个机器周期(因为一条指令的最长执行时间为4个机器周期);如果正在执行的指令是RETI或修改IE、IP的指令,则附加的等待时间是5个机器周期。所以,系统中只有一个中断的情况下,中断响应的时间为3~8个机器周期。 如果遇到同级或高级中断正在进行,则附加的时间还包括正在进行的中断服务程序的运行时间

文档评论(0)

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

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

1亿VIP精品文档

相关文档