3.2.4 中断处理及应用编程.pptx

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

中断处理及应用编程主讲教师:何璐兵

1中断处理过程SynergisticallyutilizetechnicallysoundportalswithfrictionlesschainsSynergistically2中断应用编程

1中断处理过程

中断处理过程中断处理过程可以分为三个阶段:1.中断响应有中断源发出中断请求;总中断开启,即中断总允许位EA=1;申请中断的中断源的中断允许位为1。在满足以上条件的基础上,CPU一般会响应中断。中断响应是CPU对中断源发出的中断请求进行的响应。包括保护断点和把程序转向中断服务函数的入口地址。响应中断的条件但若有下列任何一种情况存在、中断响应都会被阻断。(1)CPU正在响应一个同级或更高优先级的中断。(2)当前指令尚未执行完。(3)正在执行中断返回或访问专用寄存器IE、IP的指令。

中断响应(1)②中断响应过程完成当前指令的操作。保护断点地址,将PC内容压入堆栈。屏蔽同级的中断请求。将中断源入口地址(固定的)送入PC寄存器,自动转入相应中断程序入口地址中断处理过程可以分为三个阶段:中断源中断入口地址外部中断00003H定时/技术器T0中断000BH外部中断10013H定时/计数器T1中断001BH串行口中断0023H中断处理过程

中断响应(1)中断响应时间从中断请求标志置1开始,到CPU进入相应的中断服务,至少要3个完整的机器周期。如果中断响应受阻,则要增加等待时间。若没有同级或高级中断正在进行,则所需要的附加等待时间最多为5个机器周期。对于没有嵌套的单级中断,响应时间为3~8个机器周期。一般情况下,中断响应时间的长短无需考虑。中断处理过程可以分为三个阶段:中断处理过程

中断处理(2)中断处理就是执行中断服务函数。中断函数从中断入口地址开始执行,直到函数结束为止。中断处理过程可以分为三个阶段:中断处理过程中断服务函数一般包括三部分内容:保护现场;完成中断源请求的服务;在返回主程序之前,恢复现场。中断返回(3)中断服务完成后,CPU返回到原来程序的断点(即原来断开的位置),继续执行原来的程序。

2中断应用编程

中断应用编程1.中断初始化设置在中断系统使用之前,一般都要对中断系统进行初始化,以指定其工作于特定的工作方式。中断系统的初始化步骤:开放CPU中断和有关中断源的中断允许,设置中断允许寄存器IE中相应的位;根据需要,确定各中断源的优先级别,设置中断优先级寄存器IP中相应的位;根据需要,确定外部中断的触发方式,设置定时器控制寄存器TCON中相应的位。

中断应用编程定义中断服务函数语法如下:函数类型函数名(形式参数)[interruptn][usingm]{函数体语句}其中n对应中断源的编号,5个中断源所对应的中断源编号如下表2.中断服务程序中断编号中断源0外部中断01定时/计数0溢出中断2外部中断13定时/计数1溢出中断4串行口中断m对应寄存器组号,取值范围是0~3。程序中任何函数都不能调用中断服务程序,它是由系统自动调用的。

中断应用编程3.定时/计数器在中断方式下的编程:编程步骤:126543设置中断优先级(设置PT0或PTl)设置工作方式和工作模式(TMOD初始化)设置定时/计数初值(TH0、TL0或TH1、TL1赋初值);启动定时/计数(TR0或者TR1置1)开中断(EA、ET0或ET1置1)编写定时/计数中断处理程序

3例题练习

例题练习【例1】假设允许51系列单片机片内定时器/计数器T0中断,外部中断0中断,禁止其他中断。试根据要求设置寄存器IE的值。EA//ESET1EX1ET0EX010000011解析:方法一:字节操作命令 IE=0x83;//IE=10000011B方法二:位操作命令EA=1; //开中断ET0=1; //允许T0中断EX0=1; //允许INT0中断

例题练习【例2】假设51系列单片机的外部中断源为高优先级,内部中断源为低优先级。试设置寄存器IP相应的值。解析:///PSPT1PX1PT0PX000000101方法一:字节操作命令IE=0x05;//IE=0x05;方法二:位操作命令PX0=1;//外部中断0设定为高优先级PX1=1;//外部中断1设定为高优先级

文档评论(0)

学海无涯苦做舟 + 关注
实名认证
内容提供者

职业教育

1亿VIP精品文档

相关文档