单片机的中断原理及应用技术.ppt

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

第五章:蛋盘机的中断原理及应用 ⑶ 执行完子程序或中断服务程序后,都要通过软件完成现场恢复,并通过执行返回指令,重新返回到断点处,继续往下执行程序。 ⑷ 二者都可以实现嵌套,如中断嵌套和子程序嵌套。 但是中断的执行与调用子程序也有一些大的差别,比如: ⑴ 中断请求信号可以由外部设备发出,是随机的,比如故障产生的中断请求,比如按键中断等;子程序调用却是由软件编排好的。 ⑵ 中断响应后由固定的矢量地址转入中断服务程序,而子程序地址由软件设定。 ⑶ 中断响应是受控的,其响应时间会受一些因素影响;子程序响应时间是固定的。 当单片微机应用于实时控制系统时,往往非常在意中断的响应时间,比如出现故障后,CPU在多长时间里能够响应和处理。 一般来说,在单级中断系统中,中断的响应时间最短为3个机器周期,最长为8个机器周期。 5.4.2 中断响应时间 当中断请求标志位查询占1个机器周期,而这个机器周期又恰好是指令的最后一个机器周期,在这个机器周期结束后,CPU即响应中断,产生硬件长调用LCALL指令,执行这条长调用指令需要2个机器周期,这样,中断响应时间为3个机器周期。 中断响应时间最长为8个机器周期。如果CPU正在执行的是RETI指令或访问IP、IE指令,则等待时间不会多于2个机器周期,而中断系统规定把这几条指令执行完必须再继续执行一条指令后才能响应中断,如这条指令恰好是4个机器周期长的指令(比如乘法指令MUL或除法指令DIV) ,再加上执行长调用指令LCALL所需2个机器周期,总共需要8个机器周期。 如果中断请求被前面所列三个条件之一所阻止,不能产生硬件长调用LCALL指令,那么所需的响应时间就更长些。如果正在处理同级或优先级更高的中断,那么中断响应的时间还需取决于处理中的中断服务程序的执行时间。 在80C51系列单片微机中,一般只有两个外部中断请求输入端INT0,INT1 。当某个系统需要多个外部中断源时,可以通过增加“OC门” 结合软件来扩展;当定时器/计数器在系统中有空余时,也可以通过对计数器计数长度的巧妙设置,使定时器/计数器的外部输入脚(TO或T1) 成为外部中断请求输入端。 5.5 外部中断源的扩展 引入芯片本身的外部中断请求输入端(INT0、INT1)就可很方便地扩展多个外部中断源。图5–5 就是占用一个80C51的 INT0(或INT1)扩展4个外部中断源的电路。 4个扩展外部中断源中有一个或几个出现高电平,反相器输出为0,引起INT0低电平触发中断,所以这些中断源都是电平触发方式。当满足外部中断请求条件时,则CPU响应中断,转入0003H单元开始执行中断服务程序。 5.5.1 采用“OC门”经“线或”后实现 在中断服务程序中,由软件设定的顺序查询外中断哪一位是高电平,然后进入该中断处理程序。查询的顺序就是外部扩展中断源的中断优先级顺序。外部中断源查询的流程图示于图5-6。 INT0的中断服务程序如下: PINTO:PUSH PSW ;保护现场 PUSH ACC JB P1.0, LOOP1 ;转向中断服务程序1 JB P1.l,LOOP2 ;转向中断服务程序2 JB P1.2,LOOP3 ;转向中断服务程序3 JB P1.3,LOOP4 ;转向中断服务程序4 INTEND:POP ACC ;恢复现场 POP PSW RETI LOOP1:… ;中断服务程序1 AJMP INTEND LOOP2:… ;中断服务程序2 AJMP INTEND LOOP3:… ;中断服务程序3 AJMP INTEND LOOP4:… ;中断服务程序4 AJMP INTEND 从程序中可以看出,这里定义的扩展外中断源1的优先级最高,扩展外中断源4的优先级最低,所以查询的顺序从P1.0开始。 ? 利用T0或T1的外部事件输入引脚T0、T1作为边沿触发的外部中断源。这时应设置定时器/计数器为计数器方式,而计数常数为满刻度值。外部输入的脉冲在负跳变时有效,计数器加1后即溢出,向CPU申请中断。 如果以T0、T1的计数脉冲输入作为外部中断请求输入,T0、T1的中断矢量用做第三、笫四个扩展的外部中断矢量,T0、T1的中断服务程序入口地址作为扩展的外部中断服务入口地址,即实现了外部中断的扩展。 当T2用做波特率发生器时,若EXEN2置1,则T2EX端的信号产生负跳变时,EXF2将置1,但不会发生重装载或捕获操作。这时,T2EX可以作为

文档评论(0)

专业好文档 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档