单片机教学课件第五章.ppt

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

第五章 80C51单片微机的 中断系统原理及应用 中断响应时间最长为8个机器周期。如果CPU正在执行的是RETI指令或访问IP、IE指令,则等待时间不会多于2个机器周期,而中断系统规定把这几条指令执行完必须再继续执行一条指令后才能响应中断,如这条指令恰好是4个机器周期长的指令(比如乘法指令MUL或除法指令DIV) ,再加上执行长调用指令LCALL所需2个机器周期,总共需要8个机器周期。 如果中断请求被前面所列三个条件之一所阻止,不能产生硬件长调用LCALL指令,那么所需的响应时间就更长些。如果正在处理同级或优先级更高的中断,那么中断响应的时间还需取决于处理中的中断服务程序的执行时间。 在80C51系列单片微机中,一般只有两个外部中断请求输入端INT0、INT1 。当某个系统需要多个外部中断源时,可以通过增加“OC门” 结合软件来扩展;当定时器/计数器在系统中有空余时,也可以通过对计数器计数长度的巧妙设置,使定时器/计数器的外部输入脚(T0或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 ? 利用T0或T1的外部事件输入引脚T0、T1作为边沿触发的外部中断源。这时应设置定时器/计数器为计数器方式,而计数常数为满刻度值。外部输入的脉冲在负跳变时有效,计数器加1后即溢出,向CPU申请中断。 如果以T0、T1的计数脉冲输入作为外部中断请求输入,T0、T1的中断矢量用做第三、笫四个扩展的外部中断矢量,T0、T1的中断服务程序入口地址作为扩展的外部中断服务入口地址,即实现了外部中断的扩展。 当T2用做波特率发生器时,若EXEN2置1,则T2EX端的信号产生负跳变时,EXF2将置1,但不会发生重装载或捕获操作。这时,T2EX可以作为一个附加的外部中断源。 ? 5.5.2 通过片内定时器/计数器来实现 ?例. 把外部中断请求信号2连到T1引脚上,T1设为方式2,即8位自动重装载方式,时间常数设为满刻度值FFH 外部中断的服务程序入口地址存放在T1的中断矢量区中。其初始化程序段如下: ORG 0000H AJMP MAIN ORG 001BH ;T1中断矢量用作外部中断2 ;的中断矢量 LJMP INT2 ORG 0030H MAIN:MOV TMOD,#60H ;设T1计数器方式2 MOV TL1,#0FFH ;置T1计数常数 MOV TH1,#0FFH SETB EA ;开中断 SETB ET1 ;允许计数器1中断 SETB TR1 ;启动计数 ------ INT2: ------ ;外部中断2服务程序 80C51的中断系统中,允许用户单步运行程序。一般是设置一个单步键(STEP) ,用以产生脉冲,按一次STEP键就执行一条指令,通过检查结果来检查每条指令执行的正确与否。 80C51中断结构有一个重要特性,即执行中断返回指令RETI后,必须至少执行一条其它指令后,才能响应新的

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档