计算机原理第六章,中断

上传人:j****9 文档编号:54653707 上传时间:2018-09-16 格式:PPT 页数:41 大小:1.23MB
返回 下载 相关 举报
计算机原理第六章,中断_第1页
第1页 / 共41页
计算机原理第六章,中断_第2页
第2页 / 共41页
计算机原理第六章,中断_第3页
第3页 / 共41页
计算机原理第六章,中断_第4页
第4页 / 共41页
计算机原理第六章,中断_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《计算机原理第六章,中断》由会员分享,可在线阅读,更多相关《计算机原理第六章,中断(41页珍藏版)》请在金锄头文库上搜索。

1、6.1 中断技术概述,中断概念的出现,是计算机系统结构设计中的重大变革。现代计算机中操作系统实现的管理调度,其实现基础就是丰富的中断功能和完善的中断系统。,一个CPU资源要面向多个任务,出现了资源竞争,中断技术实质上是一种资源共享技术。,一、中断的意义和作用,在步进电机应用例子中,单片机有三个任务要处理:电机转动控制转速档位显示键盘检测与处理,而CPU只有一个,应该如何分配时间,使三个任务都能照顾周全?,合理的办法是引入中断,CPU开中断后,平时负责电机转动的控制,利用延时期间进行档位的显示。一旦有按键,马上进入按键处理的中断处理程序,中断退出后,返主程序,回到电机控制和显示的处理程序上。这样

2、整个程序的流程图如下:,为了转速控制精确,还可用定时中断来实现延时,开中断,开始,初始化 停止电机、设置初始 档位变量、清转动 标志、置电机正转状态,开外中断,是转动状态?,将档位变量内容 送数码管,是正向转动?,正转数据表 地址送DPTR,反转数据表 地址送DPTR,调转动子程序,停止电机,主程序,INT1(键盘)中断服务程序,K1?,置正转标志,K2?,K3?,K4?,转动标志取反,档位数加1,9?,档位数置0,中断返回,Y,Y,Y,Y,置反转标志,Y,Y,Y,N,N,N,N,N,N,N,开始,RATE EQU 30H ; 转速数据存放单元M_RL EQU 01H ; 正反转标志位RUN

3、EQU 02H ; 电机运行标志位ORG 0000H ;程序从0000单元开始LJMP MAIN1ORG 0013H ;外中断1入口AJMP KEY_CL ;,KEY_CL :PUSH ACC;保护现场PUSH PSWLCALL KEY;键处理子程序POP PSW;恢复现场POP ACCRETI ;中断返回,ORG 1000H MAIN1:MOV SP,#60H ;设堆栈MOV 20H,#0 ;标志位清0MOV IE,#10000100B ;开总中断和外中断1 SETB IT1 ;设INT1为下降沿触发MOV RATE,#0 ;设电机初始转动档位 MAIN2:JNB RUN,MAIN3 ;未启

4、动则转LCALL MOTO ;调电机转动子程序 MAIN3:LCALL DELAY ;调延时显示子程 SJMP MAIN2,TABLE_R: DB 80H、0C0H、40H、60H、20H、0A0H TABLE_L: DB 0A0H、20H、60H、40H、0C0H、80H TABLE: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H, 92H, 82H, 0F8H,80H,90H,中断服务程序入口地址的设定,对某些中断源中断请求的允许与禁止,对外中断出发方式的设定,二、 中断系统的几个概念: 中断 中断源 中断优先级 中断嵌套,引入中断的目的 (1)实现CPU与外设同步工作。

5、(2)实现实时处理。 (3)实现故障的及时发现及处理。 (4)实现人机联系,三、中断系统需要解决的问题, 实现中断及返回当有中断申请时,CPU能及时响应,转去相应的中断服务子程序,中断服务处理后能回到原断点处继续处理原先的任务。, 实现中断优先级的控制当有多个中断源同时申请中断时,能先响应优先级高的中断源。, 实现中断嵌套当有优先级更高的中断源也申请中断,要能暂停对低级别中断源的服务,转去执行更高级别中断源的服务程序,并能逐级正确返回原断点处。,6.2 P89C5X的中断系统,有6个可以申请中断的中断源,分为三类: 1)外部中断类 2)定时中断类 单片机内部产生的中断3)串行端口中断类。,一、

6、 P89C5X的中断源,P89C5X的中断系统由6个与中断有关的特殊功能寄存器 TCON 、SCON 、 T2CON 、IE、IP、IPH 和中断优先顺序查询逻辑等组成。,两个外部中断源:INT0(P3.2) ;外设的中断请求信号、掉电等故障INT1(P3.3) 信号都可以从INT0或INT1引脚输入。,四个内部中断源:定时中断TF0 ;片内T0的定时/计数溢出中断请求TF1 ;片内T1的定时/计数溢出中断请求TF2/EXF2 ;片内T2的定时/计数溢出中断请求串行中断RXD ;串行口发送或接收中断请求。每当串行口发送TXD 或接收一组串行数据时就产生一个中断请求,上述7个中断请求标志分别在定

7、时器/计数器控制器 TCON、 TCON2、串行口控制控制寄存器SCON中。7位中任一位为“1”,则表示有中断请求。,外中断0(由引脚INT0引起) 0 定时器0(由T0溢出引起) 1外中断1(由引脚INT1引起) 2定时器1(由T1溢出引起) 3串行口发送/接收中断(由串行口引起) 4定时器2(由T2溢出引起) 5,中断源 系统指定中断号,P89C5X单片机有4个(51只有有2个)中断优先级,分别为:0级、1级、2级、3级,0级为最低级,3级最高。 优先级别由IP和IPH寄存器来设置,二、 P89C5X的中断优先级结构及中断嵌套,同级中断的响应次序(硬件查询形成的自然优先级)中断源 优先级

8、外部中断0 最高 定时器T0中断 外部中断1 定时器T1中断 串行口中断 定时器T2中断 最低,中断优先级控制,除了IP、 IPH之外,还有一个不可寻址的优先级状态触发器,CPU响应某级中断时,由硬件将其置位,用于指示此优先级的中断正在进行服务,从而屏蔽其它同优先级和低优先级的中断(但不能屏蔽高优先级中断)。,单片机的中断系统包括它的硬件和软件编程,三、 P89C5X如何实现中断控制中断控制主要实现对中断的开、关管理以及中断优先级别的管理。,中断允许控制寄存器,中断优先级控制寄存器IP,P89C5X中断系统结构框图,寄存器 TCONSCONT2CON,1、与中断有关的寄存器(1)存有中断请求标

9、志的寄存器,(2)中断允许控制寄存器,IE,(3)外中断触发方式控制位所在寄存器,TCON,(A8H),设定方法:,注:系统复位后 寄存器中各位为0,即全部设定为低中断优先级。,B8H,B7H,(4)中断优先级控制寄存器IP和IPH,定时器/计数器控制寄存器TCON,图 TCON格式,通过设置IT1(TCON.2)、IT0(TCON.0)位选择触发方式IT1、IT00,选择电平触发方式, 检测到低电平为有中断请求IT1、IT0l,选择边沿触发方式,检测到负跳变为有中断请求,系统复位后TCON 寄存器中各位被置0,串行口控制寄存器SCON,TI(SCON1) ;串口发送中断标志。发送完一帧,由硬

10、件置位。响应中断后,不会由硬件复位必须用软件清 0 RI(SCON0) ;串口接收中断源。接收完一帧,由硬件置位。响应中断后,不会由硬件复位必须用软件清0。,98H,中断允许控制寄存器IE中各位含义,IE寄存器中各位设置:为0时,禁止中断;为 1时,允许中断。,系统复位后IE寄存器中各位均为0,此时禁止所有中断。,CPU,中断优先级控制寄存器IP,PX0,PT0,PX1,PT1,PS,X,X,X,中断优先级寄存器IP各位的含义如下:,PS:串行口的中断优先级控制位。 PT1:定时器/计数器T1的中断优先级控制位。 PX1:外部中断 的中断优先级控制位。 PT0:定时器/计数器T0的中断优先级控

11、制位。 PX0:外部中断 的中断优先级控制位。 PT2:定时器/计数器T2的中断优先级控制位。,为1时,高优先级为0时,低优先级,PT2,中断优先级的高字节控制寄存器IPH,IPH各位的含义与IP相同,B8H,中断控制主要实现对中断的开、关管理和中断优先级别的管理。,51没有专门的开中断和关中断的指令,中断的开放与否是通过中断允许寄存器IE进行两级控制。,某中断源发出中断请求后CPU是否能响应,由中断允许控制寄存器 IE控制。,IE中有“总允许”标志位EA,还有中断源各自的中断允许位。,两级控制: 以EA位作为总控制位,以各中断源的中断允许位作为分控制位。EA=0时, CPU拒绝响应所有中断请

12、求. EA=1时,各中断源允许标志位才真正起作用。,2、 中断控制,IE寄存器既可字节访问又可按位寻址,因此可通过位操作指令,允许或禁止其中的任一中断。,SETB EA ; 开中断 SETB EX0 ; 允许 中断 CLR ES ; 禁止串行口中断,例:在汇编程序中 指令MOV IE,#81H完成的任务可用下面的位操作指令完成:,IP=0x01; /置 为高优先级中断 IE=0x81; / CPU开中断开 中断,在C51程序中,四、中断的响应过程及条件中断过程是在CPU的控制下有规律的进行。 中断采样CPU在每个机器周期的S5P2顺序采样各中断源是否有中断产生,并置相应标志位. 中断查询若采样

13、到有中断,则在下一个机器周期按优先级顺序查询中断标志(被禁止的中断源的标志位不查询) 。如果无下列情况, 将从相邻的下一机器周期开始进行中断响应。, 当前正在执行RETI指令或执行对IE、IP的读写操作指令。 51中断系统的特性规定:执行完上述这些指令之后,必须再继续执行一条指令后才能响应中断。, 查询中断请求的这个机器周期不是当前指令的最后一个机器周期。因为要保证当前指令执行完毕后,才进行中断响应,以确保当前指令的完整执行;, CPU正在执行同级或更高级的中断服务程序。因为当一个中断被响应时,其对应的中断优先级触发器被置“1”,就封锁了同级和低级中断;, 中断响应一旦响应中断请求, 会由硬件

14、完成以下功能: ,各中断源中断入口地址如下:EX0 0003HET0 000BHEX1 0013HET1 001BHES 0023HET2 002BH,(1) 使相应的优先级状态触发器置 1,(2) 清除相应的中断请求标志位(串行口中断请求标志RI和TI除外); (3) 执行一条由硬件自动生成的长调用指令“LCALL addr16 ”( addr16是相应中断源的中断入口地址) ,自动将断点地址(PC值)压栈保护,然后将addr16送入PC,使程序转向该中断入口地址,从而转入中断服务程序。,中断响应时间: 从中断请求产生到CPU转向中断服务程序入口所花费的时间。 一般来说,在单级中断系统中,中断的响应时间最短为3个机器周期,最长为8个机器周期。,4、中断返回必须通过RETI指令中断返回,它的功能是清除本优先级触发器,将响应中断时进栈保护的断点地址弹出到PC中,从而实现中断返回。,5、中断的撤销响应中断后,原中断请求应当撤销,否则会引起差错。中断撤销的方法有3种:,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号