计算机原理 第六章,中断.ppt
《计算机原理 第六章,中断.ppt》由会员分享,可在线阅读,更多相关《计算机原理 第六章,中断.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、6.1中断技术概述中断技术概述 中断中断概念的出现,是计算机系统结构设计中的重大变革。概念的出现,是计算机系统结构设计中的重大变革。现代现代计算机中操作系统实现的管理调度,其实现基础就是丰计算机中操作系统实现的管理调度,其实现基础就是丰富的中断功能和完善的中断系统。富的中断功能和完善的中断系统。一个一个CPUCPU资源要面向多个任务,出现了资源竞争,中断资源要面向多个任务,出现了资源竞争,中断技术实质上是一种资源共享技术技术实质上是一种资源共享技术。一一、中断的意义和作用、中断的意义和作用在步进电机应用例子中,单片机有三个任务要处理在步进电机应用例子中,单片机有三个任务要处理:电机转动控制电机
2、转动控制转速档位显示转速档位显示键盘检测与处理键盘检测与处理而而CPU只有一个,应该如何分配时间,使三个任务都能只有一个,应该如何分配时间,使三个任务都能照顾周全?照顾周全?合理的办法是合理的办法是引入中断引入中断 CPU CPU开中断后,平时负责电机转动的控制,利开中断后,平时负责电机转动的控制,利用延时期间进行档位的显示。一旦有按键,马上进用延时期间进行档位的显示。一旦有按键,马上进入按键处理的中断处理程序,中断退出后,返主程入按键处理的中断处理程序,中断退出后,返主程序,回到电机控制和显示的处理程序上。这样整个序,回到电机控制和显示的处理程序上。这样整个程序的流程图如下:程序的流程图如下
3、:为了转速控制精为了转速控制精确确,还可用定时中还可用定时中断来实现延时断来实现延时开中断开中断开始初始化停止电机、设置初始档位变量、清转动标志、置电机正转状态开外中断 是转动状态?将档位变量内容送数码管 是正向转动?正转数据表地址送DPTR反转数据表地址送DPTR调转动子程序停止电机主程序INT1(键盘)中断服务程序(键盘)中断服务程序 K1?置正转标志 K2?K3?K4?转动标志取反档位数加19?档位数置0中断返回YYYY置反转标志YYYNNNNNNN开始 RATE EQU 30H RATE EQU 30H;转速数据存放单元转速数据存放单元 M_RL EQUM_RL EQU 01H01H;
4、正反转标志位正反转标志位 RUN EQURUN EQU 02H ;02H ;电机运行标志位电机运行标志位 ORGORG0000H 0000H ;程序从;程序从00000000单元开始单元开始 LJMPLJMPMAIN1MAIN1 ORGORG0013H0013H ;外中断;外中断1 1入口入口 AJMP KEY_CL AJMP KEY_CL ;KEY_CLKEY_CL:PUSH ACC;PUSH ACC;保护现场保护现场 PUSH PSWPUSH PSW LCALL KEY LCALL KEY;键处理子程序;键处理子程序 POP PSWPOP PSW;恢复现场;恢复现场 POP ACCPOP
5、ACC RETI RETI;中断返回;中断返回ORG1000HMAIN1:MOV SP,#60H MAIN1:MOV SP,#60H ;设堆栈设堆栈 MOV 20H,#0 MOV 20H,#0 ;标志位清标志位清0 0 MOV IE,#10000100B;MOV IE,#10000100B;开总中断和外中断开总中断和外中断1 SETB IT1 SETB IT1;设设INT1INT1为下降沿触发为下降沿触发 MOV RATE,#0MOV RATE,#0 ;设电机初始转动档位;设电机初始转动档位MAIN2:JNB RUN,MAIN3MAIN2:JNB RUN,MAIN3;未启动则转未启动则转 LC
6、ALL MOTOLCALL MOTO ;调电机转动子程序;调电机转动子程序MAIN3:LCALL DELAYMAIN3:LCALL DELAY ;调延时显示子程调延时显示子程 SJMP MAIN2SJMP MAIN2TABLE_R:DB 80H、0C0H、40H、60H、20H、0A0HTABLE_L:DB 0A0H、20H、60H、40H、0C0H、80HTABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H中断服务程序入口地址的设定中断服务程序入口地址的设定对某些中断源中断请求的允许与禁止对某些中断源中断请求的允许与禁止对外中断出发方式的
7、设定对外中断出发方式的设定二、二、中断系统的几个概念:中断系统的几个概念:中断中断 中断源中断源 中断优先级中断优先级 中断嵌套中断嵌套引入中断的目的引入中断的目的v(1)实现实现CPU与外设同步工作与外设同步工作。v(2)实现实时处理实现实时处理。v(3)实现故障的及时发现及处理实现故障的及时发现及处理。v(4)实现人机联系实现人机联系三、中断系统需要解决的问题三、中断系统需要解决的问题 实现中断及返回实现中断及返回 当有中断申请时,当有中断申请时,CPUCPU能及时响应,转去相应的中断服能及时响应,转去相应的中断服务子程序,中断服务处理后能回到原断点处继续处理原先务子程序,中断服务处理后能
8、回到原断点处继续处理原先的任务。的任务。实现中断优先级的控制实现中断优先级的控制 当有多个中断源同时申请中断时,能先响应优先级高当有多个中断源同时申请中断时,能先响应优先级高的中断源。的中断源。实现中断嵌套实现中断嵌套 当有优先级更高的中断源也申请中断,要能暂停对低当有优先级更高的中断源也申请中断,要能暂停对低级别中断源的服务,转去执行更高级别中断源的服务程序,级别中断源的服务,转去执行更高级别中断源的服务程序,并能逐级正确返回原断点处。并能逐级正确返回原断点处。6.2 P89C5X6.2 P89C5X的中断系统的中断系统 有6个可以申请中断的中断源个可以申请中断的中断源,分为三类:,分为三类
9、:1 1)外部中断类)外部中断类 2 2)定时中断)定时中断类类单片机内部产生的中单片机内部产生的中断断3 3)串行端口中断类。)串行端口中断类。一、一、P89C5X的的中断源中断源P89C5X的中断系统由的中断系统由6个与中断有关的个与中断有关的特殊功能寄特殊功能寄存器存器TCON、SCON、T2CON、IE、IP、IPH和中和中断优先顺序查询逻辑断优先顺序查询逻辑等组成。等组成。两个外部中断源:两个外部中断源:INT0INT0(P3.2)P3.2);外设的中断请求信号、掉电等故障外设的中断请求信号、掉电等故障 INT1INT1(P3.3)P3.3)信号都可以从信号都可以从INT0INT0或
10、或INT1INT1引脚输入引脚输入。四个内部中断源:四个内部中断源:定时中断定时中断 TF0 TF0 ;片内片内T0T0的定时的定时/计数溢出中断请求计数溢出中断请求 TF1TF1 ;片内片内T1T1的定时的定时/计数溢出中断请求计数溢出中断请求 TF2/EXF2;片内片内T2的定时的定时/计数溢出中断请求计数溢出中断请求 串行中断串行中断 RXDRXD ;串行口发送或接收中断请求。每当串行口发送串行口发送或接收中断请求。每当串行口发送 TXD TXD 或接收一组串行数据时就产生一个中断请求或接收一组串行数据时就产生一个中断请求 上述上述7 7个中断请求标志分别在个中断请求标志分别在定时器定时
11、器/计数器计数器控控制器制器 TCONTCON、TCON2TCON2、串行口控制控制寄存器串行口控制控制寄存器SCONSCON中。中。7 7位中任一位中任一位为位为“1 1”,则表示有中断请求,则表示有中断请求。外中断外中断0(由引脚(由引脚INT0引起)引起)0定时器定时器0(由(由T0溢出引起)溢出引起)1外中断外中断1(由引脚(由引脚INT1引起)引起)2定时器定时器1(由(由T1溢出引起)溢出引起)3串行口发送串行口发送/接收中断(由串行口引起)接收中断(由串行口引起)4定时器定时器2(由(由T2溢出引起)溢出引起)5中断源中断源系统指定系统指定中断号中断号P89C5XP89C5X单片
12、机有单片机有4 4个(个(5151只有有只有有2 2个)中断优先级,个)中断优先级,分别为分别为:0 0级、级、1 1级、级、2 2级、级、3 3级,级,0 0级为最低级,级为最低级,3 3级最高。级最高。优先级别由优先级别由IPIP和和IPHIPH寄存器来设置寄存器来设置二、二、P89C5X的中断优先级结构及中断嵌套的中断优先级结构及中断嵌套 同级中断的响应次序(硬件查询形成的自然优先级)同级中断的响应次序(硬件查询形成的自然优先级)中断源中断源优先级优先级 外部中断外部中断0 0最高最高 定时器定时器T0T0中断中断 外部中断外部中断1 1 定时器定时器T1T1中断中断 串行口中断串行口中
13、断 定时器定时器T2T2中断中断最低最低中断优先级控制,除了中断优先级控制,除了IPIP、IPH之外,还有一之外,还有一个不可寻址的个不可寻址的优先级状态触发器优先级状态触发器,CPU响应某级中响应某级中断时,由硬件将其置位断时,由硬件将其置位,用于指示此优先级的中断,用于指示此优先级的中断正在进行服务,从而屏蔽其它同优先级和低优先级正在进行服务,从而屏蔽其它同优先级和低优先级的中断(但不能屏蔽高优先级中断)。的中断(但不能屏蔽高优先级中断)。单片机的中断系统包括它的硬件和软件编程单片机的中断系统包括它的硬件和软件编程三、三、P89C5X如何实现如何实现中断控制中断控制 中断控制主要实现对中断
14、的开、关管理以及中断中断控制主要实现对中断的开、关管理以及中断优先级别的管理。优先级别的管理。在定时器在定时器/计数器控制器计数器控制器TCON中中中断允许控中断允许控制寄存器制寄存器中断优先级控中断优先级控制寄存器制寄存器IPP89C5X中断系统结构框图中断系统结构框图在串行口控制控制寄存器在串行口控制控制寄存器SCON中中位地址8FH8EH8DH8CH8BH8AH89H88H符号TF1TF0IE1 IE0 寄存器TCONSCONT2CON位地址9FH9EH9DH9CH9BH9AH99H98H符号TIRI1、与中断有关的寄存器、与中断有关的寄存器(1)存有中断请求标志的寄存器)存有中断请求标
15、志的寄存器位地址CFH CEHCDHCCHCBHCAHC9HC8H符号TF2EXF2 (2)中断允许控制寄存器)中断允许控制寄存器位地址AFHAEHADHACHABHAAHA9HA8H符号EA ET2ESET1EX1ET0 EX0IE位地址8FH8EH8DH8CH 8BH8AH89H 88H符号 IT1 IT0(3)外中断触发方式控制位所在寄存器外中断触发方式控制位所在寄存器TCON(A8H)位地址BFHBEHBDHBCHBBHBAHB9HB8H符号 PT2PSPT1PX1PT0 PX0位地址 符号 PT2HPSHPT1HPX1HPT0HPX0H 设定方法:设定方法:优先级别设定优先级别设定中
16、断优先级中断优先级IPHIP000级(最低级)级(最低级)011级级102级级113级(最高级)级(最高级)注注:系统复位后系统复位后 寄存器中各位为寄存器中各位为0 0,即全部设定为低中断优先级。,即全部设定为低中断优先级。B8HB7H(4)中断优先级控制寄存器中断优先级控制寄存器IP和和IPH定时器定时器/计数器控制寄存器计数器控制寄存器TCON图图TCON格式格式 TCONTCON中与中断有关的位中与中断有关的位vTCON是定时器是定时器T0、T1的控制寄存器,的控制寄存器,同时也是与中断控制同时也是与中断控制有关的寄存器有关的寄存器,它它控制外部中断源触发方式控制外部中断源触发方式,并
17、,并锁存锁存T0、T1的的溢出中断和外部中断的中断请求标志溢出中断和外部中断的中断请求标志。通过设置通过设置IT1(TCON.2)IT1(TCON.2)、IT0(TCON.0)IT0(TCON.0)位选择触发方式位选择触发方式 IT1IT1、IT0IT00 0,选择电平触发方式,选择电平触发方式,检测到低电平为有中断请求检测到低电平为有中断请求 IT1IT1、IT0IT0l l,选择边沿触发方式,检测到负跳变为有中断请求,选择边沿触发方式,检测到负跳变为有中断请求系统复位后系统复位后TCON 寄存器中各位被寄存器中各位被置置0 0串行口控制寄存器串行口控制寄存器SCONvSCON为串行口控制寄
18、存器,它为串行口控制寄存器,它锁存了串行口接收锁存了串行口接收/发送中发送中断请求标志位。断请求标志位。图图SCON格式格式RITIRB0TB0RENSM2SM1SM0TI(SCON1);串口发送中断标志。发送完一帧,由硬件置串口发送中断标志。发送完一帧,由硬件置位。位。响应中断后,响应中断后,不会由硬件复位必须用软件清不会由硬件复位必须用软件清0RI(SCON0);串口接收中断源。接收完一帧,由硬件置串口接收中断源。接收完一帧,由硬件置位。位。响应中断后,响应中断后,不会由硬件复位必须用软件清不会由硬件复位必须用软件清0。98H中断允许控制寄存器中断允许控制寄存器IEIE中各位含义中各位含义
19、IEIE寄存器中各位设置寄存器中各位设置:为为0 0时,禁止中断;为时,禁止中断;为 1 1时,允许中断时,允许中断。系统复位后系统复位后IEIE寄存器中各位均为寄存器中各位均为0 0,此时禁止所有中断,此时禁止所有中断。CPU中断优先级控制寄存器中断优先级控制寄存器IPPX0PT0PX1PT1PSXXX中断优先级寄存器中断优先级寄存器IP各位的含义各位的含义如下:如下:PSPS:串行口的中断优先级控制位。:串行口的中断优先级控制位。PT1PT1:定时器:定时器/计数器计数器T1T1的中断优先级控制位。的中断优先级控制位。PX1PX1:外部中断:外部中断 的中断优先级控制位。的中断优先级控制位
20、。PT0PT0:定时器:定时器/计数器计数器T0T0的中断优先级控制位。的中断优先级控制位。PX0PX0:外部中断:外部中断 的中断优先级控制位。的中断优先级控制位。PT2:定时器定时器/计数器计数器T2的中断优先级控制位。的中断优先级控制位。为为1 1时时,高优先级高优先级为为0 0时时,低优先级低优先级PT2中断优先级的高字节控制寄存器中断优先级的高字节控制寄存器IPHIPH各位的含义与各位的含义与IP相同相同B8Hv中断控制中断控制主要实现对中断的开、关管理和中断优主要实现对中断的开、关管理和中断优先级别的管理。先级别的管理。51没有专门的开中断和关中断的指令,没有专门的开中断和关中断的
21、指令,中断的开中断的开放与否是通过中断允许寄存器放与否是通过中断允许寄存器IE进行两级控制。进行两级控制。某中断源发出中断请求后某中断源发出中断请求后CPUCPU是否能响应是否能响应,由中由中断允许断允许控制控制寄存器寄存器 IEIE控制。控制。IEIE中有中有“总允许总允许”标志位标志位EA,EA,还有中断源各自还有中断源各自的中断允许位。的中断允许位。两级控制两级控制:以以EAEA位作为总控制位,以各中断源的中断位作为总控制位,以各中断源的中断允许位作为分控制位。允许位作为分控制位。EA=0EA=0时时,CPU,CPU拒绝响应所有中拒绝响应所有中断请求断请求.EA=1EA=1时时,各中断源
22、允许标志位才真正起作用。各中断源允许标志位才真正起作用。2、中断控制中断控制 IEIE寄存器既可字节访问又可按位寻址,因此可寄存器既可字节访问又可按位寻址,因此可通过位操作指令,允许或禁止其中的任一中断。通过位操作指令,允许或禁止其中的任一中断。SETB EASETB EA;开中断开中断SETB EX0SETB EX0 ;允许允许 中断中断CLR ESCLR ES ;禁止串行口中断禁止串行口中断例:在汇编程序中例:在汇编程序中指令指令MOVIE,#81H完成的任务可用下面完成的任务可用下面的位操作指令完成:的位操作指令完成:IP=0 x01;/IP=0 x01;/置置 为为高优先级中断高优先级
23、中断IE=0 x81;/CPUIE=0 x81;/CPU开中断开开中断开 中断中断在在C51C51程序中程序中 四、中断的响应过程及条件四、中断的响应过程及条件 中断过程是在中断过程是在CPUCPU的控制下有规律的进行。的控制下有规律的进行。中断采样中断采样 CPUCPU在每个机器周期的在每个机器周期的S5P2顺序顺序采样各中断源是采样各中断源是否有中断产生,否有中断产生,并置相应标志位并置相应标志位.中断查询中断查询 若采样到若采样到有中断,则有中断,则在下一个机器周期按优先在下一个机器周期按优先级顺序查询中断标志(级顺序查询中断标志(被禁止的中断源的标志位不被禁止的中断源的标志位不查询查询
24、)。如果无下列情况如果无下列情况,将从相邻的下一机器周期开将从相邻的下一机器周期开始进行中断响应。始进行中断响应。当前正在执行当前正在执行RETIRETI指令或执行对指令或执行对IEIE、IPIP的读的读写操作指令。写操作指令。5151中断系统的特性规定中断系统的特性规定:执行完上述这些指令之后,执行完上述这些指令之后,必须再继续执行一条指令后才能响应中断必须再继续执行一条指令后才能响应中断。查询中断请求的这个机器周期不是当前指令查询中断请求的这个机器周期不是当前指令的最后一个机器周期。的最后一个机器周期。因为要保证当前指令执行完毕后,才进行中因为要保证当前指令执行完毕后,才进行中断响应,以确
25、保当前指令的完整执行断响应,以确保当前指令的完整执行;CPU正在执行同级或更高级的中断服务程序。正在执行同级或更高级的中断服务程序。因为当因为当一个中断被响应时,其对应的中断优先一个中断被响应时,其对应的中断优先级触发器被置级触发器被置“1”,就封锁了同级和低级中断;,就封锁了同级和低级中断;中断响应中断响应一旦响应中断请求一旦响应中断请求,会由硬件完成以下功能会由硬件完成以下功能:各中断源中断入口地址如下:各中断源中断入口地址如下:EX0 0003HEX0 0003H ET0 000BH ET0 000BH EX1 0013H EX1 0013H ET1 001BH ET1 001BH ES
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机原理 第六章 中断 计算机 原理 第六 中断
限制150内