单片机原理及应用课件:chapter4 中断_第1页
单片机原理及应用课件:chapter4 中断_第2页
单片机原理及应用课件:chapter4 中断_第3页
单片机原理及应用课件:chapter4 中断_第4页
单片机原理及应用课件:chapter4 中断_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章,中断,教学目的和要求,教学目的和要求 掌握中断技术的基本概念、 MCS-51中断系统结构、中断控制寄存器、CPU响应中断的工作过程。,内容提要,内容提要 中断技术 MCS-51中断系统 MCS-51中断处理过程 扩充外部中断的方法,中断技术,中断技术 为什么应用中断技术 当CPU与外部设备交换信息时,若用查询的方式,则CPU就要浪费时间去等待外设。 为了解决快速CPU和慢速外设之间的矛盾,提高CPU和外设的工作效率,引入了中断技术。,中断技术,中断技术 计算机引入中断技术有以下优点: 1同步工作 CPU和外设之间可以同步工作; CPU可命令多个外设同步工作; 提高了CPU和外设的工作效

2、率。 2实时处理 用于实时控制时,现场采集到的各种数据可在任何时间发出中断申请,要求CPU处理,若中断开放,CPU就可以马上响应对数据进行处理。 在查询工作方式下无法做到实时处理。,中断技术,3故障处理 在运行过程中,往往出现预料不到的情况或故障(如存储出错、运算溢出等),可以利用中断系统自行处理,而不必停机或报告工作人员。 中断系统的功能 1实现中断及返回 2实现优先权排队 3高级中断源能中断低级中断处理,中断系统,MCS51中断系统,中断系统,51单片机有5个中断请求源; 4个用于中断控制的寄存器:IE、IP、TCON(用6位)和SCON(用2位)用于控制中断的类型、中断的开/关和各种中断

3、源的优先级别; 2个中断优先级,高优先级或低优先级; 可以实现2级中断服务程序的嵌套。,中断系统,MCS-51中断源 5个中断源包括: INT0 、INT1引脚输入的外部中断源; 3个内部中断源(定时器T0、T1的溢出中断源和串行口的发送/接收中断源); 由特殊功能寄存器TCON和SCON的相应位控制。,中断系统,1定时器/计数器控制寄存器TCON(88H) TCON为定时器/计数器T0、T1的控制器,同时也锁存了T0、T1的溢出中断源和外部中断请求源,与中断有关的位如下:,中断系统,8FHH 8DH 8BH 8AH 89H 88H,TCON(88H),IT0:外部中断0(INT0)触发方式控

4、制位。 =0:为电平触发方式。 =1:为边沿触发方式。 IT1:INT1 触发方式控制位。 IE0:INT0 请求标志位。 IE1:INT1 请求标志位。 TF0:定时器T0的溢出中断申请位。 TF1:定时器T1的溢出中断申请位。,中断系统,2串行口控制寄存器SCON(98H) (98H)为串行口控制寄存器,SCON的低两位锁存串行口接收中断和发送中断标志RI和TI,其格式如下: 99H 98H SCON(98H) RI和TI:串行口内部表示中断申请标志位。,中断系统,MCS-51中断控制 1中断允许寄存器IE(A8H) 特殊功能寄存器IE为中断允许寄存器,控制CPU对中断源的开放或屏蔽,以及

5、每个中断源是否允许中断。其格式为:,中断系统,AFH ACH ABH AAH A9H A8H IE(A8H) EA:CPU中断开放标志。EA=1,CPU开放中断;EA=0,CPU屏蔽所有的中断请求。 ES:串行中断允许位。ES=1,允许串行口中断;ES=0,禁止串行口中断。 ET1,ET0:T1,T0溢出中断允许。=1,允许中断;=0,禁止中断。 EX1,EX0:外部中断允许位。=1,允许外部中断;=0, 禁止外部中断中断 MCS51单片机复位后,IE中各位均被清0,即禁止所有中断。,中断系统,2中断源优先级设定寄存器IP(B8H) 二个中断优先级,高优先级中断或低优先级中断,并可实现二级中断

6、嵌套。 特殊功能寄存器IP为中断优先级寄存器,所存各种中断源优先级的控制位,用户可用软件设定,其格式如下:,中断系统,BCH BBH BAH B9H B8H IP(B8H) PS:串行口中断优先级控制位。PS=1,设定串行口为高优先级中断;PS=0,为低优先级中断。 PT1,PT0:设定定时器T1,T0中断优先级控制位。=1,为高优先级中断;=0,为低优先级中断。 PX1,PX0:外部中断1,0中断优先级控制位。=1,高优先级中断;=0,为低优先级中断。 当系统复位后,IP各位均为0,所有中断设置为低优先级中断。,中断系统,3优先级结构 设置IP寄存器把各中断源的优先级分为高低2级,它们遵循2

7、条基本原则: 低优先级中断可以被高优先级中断所中断,反之不能。 一种中断一旦得到响应,与它同级的中断不能再中断它。,中断系统,当CPU同时收到几个同一优先级别的中断请求时,将按自然优先级顺序确定该响应哪个中断请求。其自然优先级由硬件形成,排列如下:,中断系统,MCS51的CPU每一个机器周期顺序检查每一个中断源,S6状态采样并按优先级处理所有被激活的中断请求,在下一个机器周期的S1状态 只要不受阻断,就开始响应其中最高优先级的中断请求。 若发生下列情况,中断响应会受到阻断: 同级或高优先级的中断正在进行; 现在的机器周期不是所执行指令的最后一个机器周期; 正执行的指令是RETI或是访问IE或I

8、P的指令。,中断系统,响应中断:由硬件自动将响应的中断矢量地址装入程序计数器PC,转入该中断服务程序进行处理。 清除中断: 自动清除:定时器溢出标志TF0、TF1,以及边沿触发方式下的外部中断标志IE0、IE1; 用户手动清除:串行口的接收发送中断标志RI、TI;在电平触发方式下的外部中断标志IE0和IE1。,中断系统,执行中断程序: 执行前,自动将PC内容(断点地址)压入堆栈保护(但不保护其它寄存器的内容)。 将对应的中断矢量装入程序计数器PC,使程序转向该中断矢量地址单元中,以执行中断服务程序。,中断系统,中断源及其对应的矢量地址,中断系统,中断服务程序从矢量地址开始执行,一直到返回指令“

9、RETI”为止。 “RETI”:中断服务程序执行完毕指令,另外,将原来压入堆栈保护的断点地址从栈顶弹出,装入PC,使程序返回到被中断的程序断点处,以便继续执行。,中断系统,编写中断服务程序时应注意: (1)在中断矢量地址单元处放一条无条件转移指令。 (2)注意用软件保护现场,以免中断返回后,丢失原寄存器、累加器中的信息。 (3)在执行当前中断程序时,应禁止更高优先级中断,可以先用软件关闭CPU中断,或禁止某中断源中断,在中断返回前再开放中断。,中断处理过程,MCS51单片机的中断处理过程可分为三个阶段:即中断响应、中断处理和中断返回。 中断响应 1响应条件 有中断源发出中断请求; 中断总允许位

10、EA=1,即CPU开中断; 申请中断的中断源的中断允许位为1; 满足以上条件,CPU响应中断;如果中断受阻,CPU不会响应中断。,中断处理过程,2响应过程 首先置位响应的优先级触发器; 然后执行一个硬件子程序调用,把断点地址压入堆栈保护; 最后,将对应的中断入口地址装入程序计数器PC,使程序转向该中断入口地址,以执行中断服务程序。,中断处理过程,中断处理 CPU响应中断结束后即转至中断服务程序的入口。 从中断服务程序的第一条指令开始到返回指令为止,这个过程称为中断处理或称中断服务。 中断处理包括两部分内容:一是保护现场,二是为中断源服务。 现场通常有PSW、工作寄存器等。在进入中断服务之前保护

11、现场;同时在中断结束,执行RETI指令之前应恢复现场。 中断服务是针对中断源的具体要求进行处理。,中断处理过程,中断返回 中断处理程序的最后一条指令是中断返回指令RETI。 功能是将断点弹出送回PC中,使程序能返回到原来被中断的程序继续执行。,中断处理过程,中断应用举例 利用外部中断0向CPU申请中断,中断服务将P1口作为输出驱动。 程序设计: ORG0000H AJMPMAIN ;转向主程序 ORG0003H;外部中断0入口地址 AJMPWINT;指向中断服务程序 ORG0100H;主程序 MAIN:SETBIT0;选择边沿触发方式 SETBEX0;允许外部中断0 SETBEA;CPU允许中

12、断 HERE:AJMPHERE;主程序踏步,中断处理过程,中断服务程序: ORG0200H WINT:MOVA,#0FFH MOVP1,A;输出驱动 RETI;中断返回 END,中断处理过程,中断请求标志的撤消 CPU响应某中断请求后,在中断返回(RETI)之前,该中断请求应该撤消,否则会引起另一次中断。 MCS51各中断源请求撤消的方法各不相同。分别为: 定时器0和定时器1的溢出中断,CPU在响应中断后,就由硬件自动清除了TF0或TF1标志位。 外部中断请求的撤消与设置的中断触发方式有关。对于边沿触发方式的外部中断,CPU在响应中断后,也是由硬件自动将IE0或IE1标志位清除的。,中断处理过

13、程,对于电平触发方式的外部中断,在MCS51的用户系统中,要另外采取撤消外部中断请求的措施。 在中断服务程序中可用下面2条指令撤消中断请求: ANLP1,#0FEH;P1.0输出0 ORLP1,#01H;P1.0输出1,P1.0输出一个负脉冲,其持续时间为2个机器周期,足以使D触发器置位,而撤消端口外部中断请求。,中断处理过程,串行口的中断,CPU响应后,硬件不能自动清除TI和RI标志位,因此在CPU响应中断后,必须在中断服务程序中,用软件来清除相应的中断标志位。,自动清除: TF0、TF1,以及边沿触发方式下的IE0、IE1;,手动清除:RI、TI;在电平触发方式下的IE0和IE1。,中断处

14、理过程,扩充外部中断的方法 用定时器扩充外部中断 51单片机有两个定时器,具有两个内部中断标志和外部计数输入引脚。 当定时器设置为计数方式,计数初值设为满量程FFH,一旦外部信号从计数器引脚输入一个负跳变信号,计数器加1产生溢出中断。 可以把外部中断源作边沿触发输入信号,接至定时器的T0(P3.4)或T1(P3.5)引脚,该定时器的溢出中断标志及中断服务程序作为扩充外部中断源的标志和中断服务程序。,中断处理过程,中断与查询相结合 利用51的两根外部中断输入线,每一中断输入线可以通过或的关系连接多个外部中断源,同时利用输入端口线作为各中断源的识别线。 多外部中断连接法,中断处理过程,有关中断服务程序如下: ORG0003H LJMPINTRP0; 中断服务程序入口 INTRP0:PUSHPSW; 中断查询程序 PUSH A JBP1.0,DV1 JBP1.1,DV2 JBP1.2,DV3 JBP1.3,DV4 EXIT:POPA POPPSW RETI DV1: 装置1的中断服务程序 AJMPEXIT,中断处理过程,DV2: 装置2的中断服务程序 AJMPEXIT DV3: 装置3的中断服务程序 AJMPEXIT DV4: 装置4的中断服务程序 AJMPEXIT,中断处理过程,小 结 重点掌握中断的功能; 51单片机的中断源,中断优先级; 中断矢量地址; 中断控制寄存器;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论