- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 6.2.4 中断控制 中断系统的中断控制包括中断允许与屏蔽、中断优先级设定两个方面的问题,涉及特殊功能寄存器的中断允许寄存器IE和中断优先级寄存器IP。 (1) IE寄存器(可以位寻址) EA 总中断允许控制位 “1”:中断开放(中断使能、 中断允许) “0”:中断屏蔽(中断失能、 中断禁止) EX1/EX0 外部中断1/0中断允许控制位 ET1/ET0 定时器/计数器1/0中断允许控制 ES 串行口中断允许控制位 * (2) IP中断优先级寄存器(可以位寻址) PS 串行口中断优先级控制位 “1”:高优先级 “0”:低优先级 PT1 定时器/计数器1中断优先级控制位 PX1 外部中断1中断优先级控制位 PT0 定时器/计数器0中断优先级控制位 PX0 外部中断0中断优先级控制位 ① 每个中断源只能被配置为高优先级或低优先级 ② 低优先级事件能够被高优先级事件中断,高优先级事件不能被低优先级 事件中断。 ③ 同级优先级事件间不能互相中断。 ④ 高、低优先级区别于自然优先级,抢占优先级区别于响应优先级。 * 6.3 51单片机的中断响应 中断事件发生置位标志位后,单片机根据中断响应条件进行判断,满足条件后完成对中断源中断请求的应答、中止现程序的执行、保存断点、进入中断服务程序的整个过程。 中断响应解决中断源的识别和中断处理前的准备工作,是由单片机中断系统的硬件装置自动完成的。 * 6.3.1 中断响应的条件 基本条件: (1) 有中断源发出有效的中断请求,相应的中断请求标志位为“1”状态。 (2) 中断允许寄存器IE中总中断允许控制位EA=1,开放所有的中断请求。 (3) 中断请求的中断源允许控制位为“1”,即该中断源的中断请求被开放。 必要条件: (1) 单片机目前正在执行同级或更高优先级中断服务程序。 (2) 当前查询的机器周期不是一条指令执行的最后一个周期,即正在执行 的指令还未完成,中断请求不会得到响应,确保当前指令的执行过程 完整。 (3) 当前正在执行RETI指令或读/写特殊功能寄存器IE、IP的指令,中断不 能在指令执行结束后立即被响应,需要再执行一条其它指令,中断才 会被单片机响应。 * 中断响应的过程 中断响应条件满足后,中断响应过程主要完成两件事:断点的保存和转入中断服务程序。 断点的保存:将中断处的16位地址(当前程序计数器PC的内容)压入堆栈保存,以便中断返回时按此16位地址返回中断前程序的指令地址继续执行。(硬件完成) 转入中断服务程序前:单片机硬件自动生成一条长调用指令LCALL addr16,addr16写入PC,使程序转向中断服务程序的入口。其中addr16就是表6–1所列各中断源的16位入口地址,即中断入口地址。 (硬件完成) * 6.3.2 中断响应的时间 中断响应过程并非瞬间完成,需要一定的时间。 (1) 最短响应时间1+2:3个机器周期。第1个机器周期查询中断请求标志位 (此机器周期非RETI或访问IE、IP指令的最后一个机器周期);第2、3个机器周期是长调用指令LCALL addr16,完成16位断点地址压入堆栈和程序跳转至中断入口地址处。 (2) 最长响应时间2+4+2:8个机器周期甚至更长。在单片机查询中断标志位时,恰好当前正在执行RETI指令的第1个机器周期(RETI指令为双周期指令);RETI指令执行完后必须再执行另一条指令才能被响应。如果另一条指令恰好为执行时间4机器周期的乘/除法指令,再考虑长调用指令LCALL addr16,合计响应时间为2+4+2=8个机器周期。 最长响应时间严格意义上是无法确定的。若51单片机应用系统仅使用某一个中断源的情况下,中断请求的响应时间为3~8个机器周期之间。 * 6.3.3 中断请求的撤销 (1) 定时器/计数器中断请求标志位的清除方式 当中断请求被响应后,硬件自动完成该中断标志位的清除。 (2) 外部中断请求标志位的清除方式 ① 负跳变触发方式 (ITx=1),中断响应后硬件自动完成该中断标志位 的清除。 ② 低电平触发方式中(ITx=0),关键是要可靠的撤销中断响应后外 部中断引脚上的低电平。可考虑软件与硬件相结合的方法实现。 (3) 串行口中断请求标志位的清除方式 串行口中断标志位TI和RI需要软件方法完成清除。 * 6.4 中断系统的编程 编程方法:中断的编程方法、查询的编程方法。 中断技术有效的提高了系统的实时性。 中断服务程序实质上就是一个子程序
原创力文档


文档评论(0)