第5章1 80C51单片机的中断系统.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 产生了中断请求,需要记录在中断标志位中。 在每个机器周期的S5P2对引脚INT0和INT1进行采样,根据采样结果来设置TCON中的IE0和IE1,从而把外部中断请求锁存在寄存器中。 * 在单片机芯片内部有2个定时器/计数器T0和T1,所以,定时器中断也有2个: * 80C51通过中断允许控制寄存器IE对中断允许实行两级控制 * 因为中断发生是随机的,无法事先预知,所以必须主动检测,这一过程称为中断查询。 由于中断请求是随机发生的,CPU无法预知,因此,在程序执行过程中,中断查询在指令执行的每个机器周期都进行一遍。 * 中断都是在运行主程序时发生的,是主程序的随机事件。当单片机接收到了一个中断请求信号后,就挂起它的当前操作,保存其工作状态,并将控制权转交给中断服务子程序。 * * 中断响应是有条件的,并不是查询到的中断请求都能立即响应。 因为当一个中断被响应时,要把对应的优先级触发器置位,也即封锁了低级和同级中断的响应。 作此限制的目的在于使当前指令执行完毕后,才能进行中断响应,以确保指令的完整执行。 * 中断响应时的中断优先原则是通过由中断标志、中断允许控制及中断优先级控制所构成的中断系统总体控制逻辑实现的。 从中断请求开始,经中断允许和中断优先控制,一直到最后把产生的中断入口地址(中断向量)送入程序计数器PC,形成一个完整的中断控制逻辑。 同时有多个中断源发出中断请求信号时CPU先响应谁,如何定义优先级。 请注意,中断优先级不仅仅体现在两个中断同时产生的情况,也体现在一个中断已经产生并被处理的过程中,又出现另一个中断,即中断嵌套。 中断优先级(Interrupt Priority)控制,顾名思义是中断处理有先后之分。 这种先后次序在中断响应和中断嵌套过程中都有体现。 * 中断优先级不仅体现在中断响应时,而且也体现在中断服务过程中,允许把正在进行的中断服务暂停下来,而转去进行优先级高的中断服务,这就是中断嵌套。 * 也就是说中断服务子程序的长度如果超过8个字符,就会占用下一个中断入口地址,导致出错。 中断服务是中断服务子程序的核心内容,中断要做的事全都在其中体现。 * * * 中断程序的结构及内容与CPU对中断的处理过程密切相关 * * 用D锁存器锁存外来的中断请求低电平。中断响应后,为了撤销中断请求,可利用D触发器的直接置位SD实现,把CLR端接单片机的一条口线。只要P3.0输出一个负脉冲就可以使D触发器置“1”,从而撤销了中断请求信号。 * 中断向量 中断向量是程序存储器的一个地址,表明中断的服务程序从这里开始存放。中断发生后,要通过它引导CPU转向相应中断服务。正因为它具有指向性,所以称其为中断向量。 中断名称 中断向量 外部中断0 0003H 定时器0中断 000BH 外部中断1 0013H 定时器1中断 001BH 串行发送中断、串行接收中断 0023H * 注意 串行中断请求由RI和TI的逻辑或得到,也就是说,无论是发送标志还是接收标志,都会产生中断请求。 RI和TI的中断入口都是0023H,所以CPU响应后转入0023H开始执行服务程序,首先必须判断是RI中断还是TI中断,然后进行相应服务。 * 中断服务子程序的起始地址 两个中断向量之间只有8个单元。所以,通常在中断向量处写无条件跳转指令,这样就可以把实际处理中断的程序放在ROM的任何一个位置。 * ORG 0000H LJMP MAIN ORG 0003H LJMP INT0 ORG 0030H MAIN: … … … ORG 2000H INT0: … END 中断服务子程序流程图 * 开中断和关中断 在一个多中断源的系统中,为了保证重要中断能执行到底,不被其他中断所嵌套,可以 设定高优先级,或 关中断:即在现场保护之前先关闭中断系统EA=0,彻底屏蔽其他中断,待中断处理完成后再打开中断系统EA=1。 即使中断处理可以被嵌套,但现场保护和恢复不允许打扰,以免影响现场保护和恢复工作。 为此在现场保护和恢复程序段的前后进行开、关中断。这样做可以在除现场保护和现场恢复的片刻外,仍然为系统保留中断嵌套功能。 * 保护现场和恢复现场 所谓现场就是指中断时刻单片机中存储单元内的数据或状态。 保护现场:为了使中断服务子程序的执行不破坏这些数据或状态,就要把它们送入堆栈中保存起来,以免在中断返回后影响主程序的运行。 现场保护一定要完成于中断处理程序之前。 恢复现场:中断服务结束后,在返回主程序之前,应把保存的现场内容从堆栈中弹出,以恢复相关存储单元的原有内容。 现场恢复一定在要中断处理程序之后进行。 要保护哪些现场内容由用户根据中断处理子程序所使用的资源来决定。 PUSH direct POP direct *

文档评论(0)

70后老哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档