- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(1)无高级中断服务程序在执行中; (2)现行指令执行到最后1个机器周期且已结束; (3)若现行指令为RETI或需访问特殊功能寄存器IE或IP的指令时,执行完该指令且紧随其后的另1条指令也已执行完。 4.3 中断处理过程 2. 中断响应过程 若满足中断响应的条件,CPU响应中断。中断响应时,首先执行一条由中断系统提供的LCALL指令把被中断程序的断点压入堆栈。然后,相应的中断服务程序的入口地址装入PC,程序转至中断服务程序入口。 * * 5个中断源相应的中断服务程序入口地址是固定的,如下表所示。从表可知,两相邻的中断服务程序入口地址的间隔为8个单元,即,若要在其中存放相应的服务程序,其长度不得超过8个字节。通常,中断服务程序的长度不止8个字节,就需要在相应的中断服务程序入口地址中放一条长跳转指令LJMP。 4.3 中断处理过程 中断源 中断服务程序入口地址 外部中断源0 0003H T0溢出中断 000BH 外部中断源1 0013H T1溢出中断 001BH 串行口中断 0023H * * 编写含有中断服务程序的格式一般如下: ORG 0000H ;主程序起始地址 SJMP MAIN ORG 0003H ; 不同的中断服务程序入口地址 AJMP 1NJERRVP ORG 1000H ;主程序存放起始地址 MAIN: ··· ;主程序 HERE: SJMP HERE ;主程序结束 1NJERRVP: ··· ;中断服务程序起始 RETI 4.3 中断处理过程 * * 4.3.2 中断处理 4.3 中断处理过程 从开始执行中断服务程序,到执行RETI指令为止的过程就是中断处理过程。其内容包括保护现场,处理中断源的请求和恢复现场三部分。其处理过程如图所示。 Y Y N * * 1. 保护现场 在执行中断服务程序时,首先应将在中断服务程序中要使用的累加器A、PSW、工作寄存器等的内容压入堆栈,完成保护现场的任务。为了不使现场数据受到破坏或者造成混乱,在保护现场的过程中,应关中断(禁止中断)。当保护现场完成后应开放中断(允许中断)。 2. 中断服务 中断服务程序要根据具体任务要求编制。通常,在中断服务时允许CPU响应优先级比其高的中断请求。 4.3 中断处理过程 3. 恢复现场 中断服务结束后,应关中断,以保证在恢复现场过程中不受干扰。恢复现场即把原来压入堆栈的工作寄存器、PSW和A等的内容弹回。恢复现场后,应开中断,以便响应更高级的中断请求。 * * 4.3.3 中断返回 中断返回是指中断服务完后,计算机返回到原来断开的位置(即断点),继续执行原来的程序。中断返回由专门的中断返回指令RETI来实现,该指令的功能是把断点地址取出,送回到程序计数器PC中去。另外,它还通知中断系统已完成中断处理,将清除优先级状态触发器。 中断返回时完成的操作: (1)恢复断点地址。 (2)开放中断。 4.3 中断处理过程 * * 4.3.4 中断请求撤销 中断响应后,TCON或SCON中的中断请求标志应及时清除。否则就意味着中断请求仍然存在,会造成中断的混乱。 1. 定时中断请求的撤除 定时中断响应后,硬件自动把中断标志位(TF0或TF1)清0,因此定时中断的中断请求是自动撤除的。 4.3 中断处理过程 2. 外部中断的撤除 外部中断请求有两种触发方式:电平触发方式和边沿触发方式,对于这两种中断触发方式,51系列单片机撤除的方法不同。 * * 在边沿触发方式下,外部中断在中断响应后通过硬件自动地把标志位(IE0或IE1)清0,即中断请求的撤除也是自动的。 但是对于电平触发方式,情况特殊,仅靠清除中断标志,并不能彻底解决中断请求的撤除问题。因为尽管中断请求标志位清除了,但是中断请求的有效低电平仍然存在,在下一个机器周期采样中断请求时,又会使IE0或IE1重新置1。为此,要想彻底解决中断请求的撤除,还需在中断响应后把中断请求输入端从低电平强制改为高电平,为达此目的可在系统中增加如图所示电路。 4.3 中断处理过程 * * 用D触发器锁存外来的中断请求低电平,
文档评论(0)