第三章中断系统.ppt

上传人:得****1 文档编号:79064143 上传时间:2023-03-20 格式:PPT 页数:38 大小:1.83MB
返回 下载 相关 举报
第三章中断系统.ppt_第1页
第1页 / 共38页
第三章中断系统.ppt_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《第三章中断系统.ppt》由会员分享,可在线阅读,更多相关《第三章中断系统.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第三章第三章 中断系统中断系统一、中断系统综述一、中断系统综述二、二、MCS-51MCS-51的中断系统的中断系统一、中断系统综述一、中断系统综述中断的定义中断的定义 因因内内部部或或外外部部事事件件的的要要求求,计计算算机机暂暂时时停停止止原原程程序序的的执执行行,转转而而执执行行其其服服务务程程序序,执执行行完完后后自自动动返返回回原原程序执行的过程。程序执行的过程。正正在在看看书书电话响电话响做记号做记号夹书签夹书签继继续续看看书书接接电电话话单片机一、中断系统综述一、中断系统综述中断的作用中断的作用 提高提高CPU的工作效率;提高实时数据的处理实效。的工作效率;提高实时数据的处理实效。

2、中断源中断源引起中断的设备和部件(事件)引起中断的设备和部件(事件)*外部设备中断源(键盘、打印机)外部设备中断源(键盘、打印机)*控制对象中断源(调被控对象参数、开关的闭合或断开)控制对象中断源(调被控对象参数、开关的闭合或断开)*故障中断源(被零除等内部中断源、掉电等外部中断源)故障中断源(被零除等内部中断源、掉电等外部中断源)*定时脉冲中断源(实现定时处理,达到时间控制目的)定时脉冲中断源(实现定时处理,达到时间控制目的)中断分类中断分类 *可屏蔽中断可屏蔽中断可以被中断控制指令控制的中断;可以被中断控制指令控制的中断;*非屏蔽中断非屏蔽中断不能被中断控制指令控制的中断;不能被中断控制指

3、令控制的中断;*软件中断软件中断可以通过相应的中断指令使可以通过相应的中断指令使CPU响应的中断。响应的中断。(被零除中断指令被零除中断指令)中断嵌套中断嵌套一、中断系统综述一、中断系统综述中断嵌套的先决条件中断嵌套的先决条件*中断服务程序开头应设置一条开中断指令;中断服务程序开头应设置一条开中断指令;*有中断优先权更高的中断源中断请求存在。有中断优先权更高的中断源中断请求存在。正正在在看看书书电话响电话响做记号做记号夹书签夹书签继继续续看看书书接接电电话话接接待待来来访访中断系统功能中断系统功能 *进行中断优先权排队进行中断优先权排队;*实现中断嵌套;实现中断嵌套;(条件是要有可屏蔽中断功能

4、和中断控制指令条件是要有可屏蔽中断功能和中断控制指令)*自动响应中断自动响应中断(CPU不断检测中断请求信号不断检测中断请求信号);(自动关闭中断并保护断点、自动转入相应中断服务(自动关闭中断并保护断点、自动转入相应中断服务程序的执行、撤除本次中断请求)程序的执行、撤除本次中断请求)*实现中断返回。实现中断返回。一、中断系统综述一、中断系统综述二、二、MCS-51中断系统中断系统1 1、中断源、中断标志及优先级中断源、中断标志及优先级中断源中断源 8031、8051、8751单片机中有五个中断源,即:单片机中有五个中断源,即:两个外部中断、两个定时器溢出中断、一个串行口两个外部中断、两个定时器

5、溢出中断、一个串行口中断。中断。中断标志中断标志 8051中断标志位集中安排在定时器控制寄存器中断标志位集中安排在定时器控制寄存器TCON和串行口控制寄存器和串行口控制寄存器SCON中。中。TF1,TF0定时器溢出标志位。最高位产生溢出时置定时器溢出标志位。最高位产生溢出时置1,并请求中断。并请求中断。TR1,TR0定时器的运行控制位定时器的运行控制位,1允许计数,允许计数,0停止计数。停止计数。IE1外部中断外部中断1请求源标志(请求源标志(/INT1,P3.3),),1表示有中断,表示有中断,0为硬件复位。为硬件复位。IT1外部中断外部中断1触发控制位。触发控制位。0为电平触发,低电平有效

6、。为电平触发,低电平有效。1为边沿触发,下降沿有效。为边沿触发,下降沿有效。IE0,IT0外部中断外部中断0请求源标志(请求源标志(/INT0,P3.2)和触发控制位。)和触发控制位。TF1TR1TF0TR0IE1IT1IE0IT0TCON定时器控制寄存器(字节地址定时器控制寄存器(字节地址88H,位地址,位地址88H8FH)D7 D6 D5 D4 D3D2D1D0 1 1、中断源、中断标志及优先级、中断源、中断标志及优先级SM0SM1SM2RENTB8RB8TIRISCON串行口控制寄存器串行口控制寄存器(字节地址(字节地址98H,位地址,位地址98H9FH)D7 D6 D5 D4 D3 D

7、2 D1 D0 1 1、中断源、中断标志及优先级、中断源、中断标志及优先级TI:发发送送中中断断标标志志位位。1表表示示有有发发送送中中断断,0表表示示无无发发送中断(软件复位),必须由软件清送中断(软件复位),必须由软件清0。RI:接接收收中中断断标标志志位位。1表表示示有有接接收收中中断断,0表表示示无无接接收中断(软件复位),必须由软件清收中断(软件复位),必须由软件清0。中断优先级中断优先级 每个中断源分为两级优先级:高级和低级。每个中断源分为两级优先级:高级和低级。每个优先级内存在另一个辅助优先级结构,顺序为:每个优先级内存在另一个辅助优先级结构,顺序为:中断源中断源中断标志中断标志

8、中断级别中断级别外部中断外部中断0T0溢出中断溢出中断外部中断外部中断1T1溢出中断溢出中断串行口中断串行口中断IE0TF0IE1TF1RI或或TI最高最高最低最低1 1、中断源、中断标志及优先级、中断源、中断标志及优先级EACPU中断开放标志。中断开放标志。EA=1开放,开放,0屏蔽所有中断。屏蔽所有中断。ES串行口中断允许位。串行口中断允许位。ES=1允许,允许,0禁止。禁止。ET1计数器计数器T1的中断允许位。的中断允许位。1允许,允许,0禁止。禁止。EX1外部中断外部中断1的中断允许位。的中断允许位。1允许,允许,0禁止。禁止。ET0计数器计数器T0的中断允许位。的中断允许位。1允许,

9、允许,0禁止。禁止。EX0外部中断外部中断0的中断允许位。的中断允许位。1允许,允许,0禁止。禁止。2 2、中断控制、中断控制中断允许寄存器中断允许寄存器(IE)对中断允许的控制对中断允许的控制IEEA/ET2ESET1EX1 ET0EX0位地址位地址AF/ADACABAAA9A8PS串行口中断优先级控制位。串行口中断优先级控制位。1为高级,为高级,0为低级为低级;PT1定时器定时器T1中断优先级控制位。中断优先级控制位。1为高级,为高级,0为低级为低级;PX1外部中断外部中断1中断优先级控制位。中断优先级控制位。1为高级,为高级,0为低级为低级;PT0定时器定时器T0中断优先级控制位。中断优

10、先级控制位。1为高级,为高级,0为低级为低级;PX0外部中断外部中断0中断优先级控制位。中断优先级控制位。1为高级,为高级,0为低级。为低级。2 2、中断控制、中断控制IP/PT2PS PT1PX1PT0PX0位地址位地址/BDBCBBBAB9 B8中断优先级寄存器(中断优先级寄存器(IP)对中断优先级的控制对中断优先级的控制3 3、中断请求和响应、中断请求和响应中断请求中断请求中断采样中断采样lS5p2期间检测/INT0、/INT1引脚,设置中断标志位l只对外部中断中断查询中断查询lS6期间查询中断标志位l查询顺序:IE0,TF0,IE1,TF1,RI和TI中断响应中断响应中断服务中断服务中

11、断返回中断返回中断处理的基本过程中断处理的基本过程 3 3、中断请求和响应、中断请求和响应中断请求与中断标志控制中断请求与中断标志控制 外部中断外部中断INT0、INT1 其设置有两种情况,即下降沿触发和低电平触发,其设置有两种情况,即下降沿触发和低电平触发,由定时器控制寄存器由定时器控制寄存器TCON低四位设定。低四位设定。定时器溢出中断定时器溢出中断 T0和和T1计数器从计数器从FFH变为变为00H,即溢出时,即溢出时,TF=1,自动向,自动向CPU提出请求。提出请求。3 3、中断请求和响应、中断请求和响应中断请求与中断标志控制中断请求与中断标志控制 串行口中断串行口中断 包包括括串串行行

12、口口接接收收和和发发送送中中断断两两种种,接接收收或或发发送送完完一一组组数数据据时时,串串行行口口电电路路自自动动使使串串行行口口控控制制寄寄存存器器SCON中中的的RI或或TI置置位位,自自动动向向CPU提提出出中中断断请请求。求。3 3、中断请求和响应、中断请求和响应断点保护断点保护关闭中断关闭中断寻找中断源寻找中断源(入口地址)入口地址)对中断的响应对中断的响应响应中断的三个条件:响应中断的三个条件:若若CPU处在非响应某一中断请求状态时且相应中断处在非响应某一中断请求状态时且相应中断是开放的;是开放的;若若CPU处在响应某一中断请求状态时又来了新的优处在响应某一中断请求状态时又来了新

13、的优先级更高的中断请求;先级更高的中断请求;若若CPU正处在执行正处在执行RETI或任何访问或任何访问IE/IP指令时,则指令时,则必须等待执行完下一条指令后才响应该中断请求。必须等待执行完下一条指令后才响应该中断请求。响应中断的过程:响应中断的过程:l中断处理流程中断处理流程把把PC断点地址压断点地址压入堆栈入堆栈中断源发出中断请求中断源发出中断请求N硬件硬件自动自动完成完成中断响应条件满足中断响应条件满足中断受阻中断受阻响应中断源的中断入响应中断源的中断入口地址送入口地址送入PCYY关中断关中断开中断开中断中断服务中断服务关中断关中断恢复现场恢复现场开中断开中断保护现场保护现场中断返回中断

14、返回断点地址由堆栈弹入断点地址由堆栈弹入PC中断源的入口地址中断源的入口地址:操作(中断源)操作(中断源)入口地址入口地址外部中断外部中断INT00003H定时器中断定时器中断T0000BH外部中断外部中断INT10013H定时器中断定时器中断T1001BH串行口中断串行口中断0023H3 3、中断请求和响应、中断请求和响应4 4、中断请求的撤除、中断请求的撤除定时器溢出中断的撤除定时器溢出中断的撤除自动撤除自动撤除 串行口中断请求的撤除串行口中断请求的撤除 不能自动撤除,需用软件撤除。不能自动撤除,需用软件撤除。CLR TI CLR RI 或或 ANL SCON,#0FCH;SCON的低两位

15、置的低两位置“0”外部中断请求的撤除外部中断请求的撤除 负边沿触发情况下,自动撤除;负边沿触发情况下,自动撤除;低电平触发情况下,需用软件和专用硬件电路撤除。低电平触发情况下,需用软件和专用硬件电路撤除。MCS-511/INT0P1.0Q CPSDD外部中断外部中断请求信号请求信号电平方式外部中断请求的撤除电路电平方式外部中断请求的撤除电路CLR P1.0 ;P1.0输出输出1个负脉冲个负脉冲SETB P1.05 5、中断系统的初始化、中断系统的初始化中断系统初始化中断系统初始化 用户对与中断系统有关的特殊功能寄存器赋值的过程。用户对与中断系统有关的特殊功能寄存器赋值的过程。中断系统初始化步骤

16、中断系统初始化步骤 开相应中断源的中断;开相应中断源的中断;设定所用中断源的中断优先级;设定所用中断源的中断优先级;若为外部中断,则应规定低电平触发还是负边沿触发。若为外部中断,则应规定低电平触发还是负边沿触发。例例:写出:写出INT1为低电平触发和高中断优先级的中断系统的为低电平触发和高中断优先级的中断系统的 初始化程序。初始化程序。5 5、中断系统的初始化、中断系统的初始化采用位操作指令采用位操作指令SETB EA SETB EX1 ;开开INT1中断中断SETB PX1 ;令令INT1为高优先级为高优先级 CLR IT1 ;令令INT1为电平触发为电平触发 采用字节型指令采用字节型指令M

17、OV IE,#84H ;开;开INT1中断中断ORL IP,#04H ;令;令INT1为高优先级为高优先级ANL TCON,#0FBH ;令;令INT1为电平触发为电平触发 为恢复被中断的程序的为恢复被中断的程序的执行做准备。执行做准备。寄存器出栈的顺序与保寄存器出栈的顺序与保护现场的顺序相反。护现场的顺序相反。三、中断程序的编制(流程)三、中断程序的编制(流程)保护现场保护现场开中断开中断中断服务中断服务关中断关中断恢复现场恢复现场开中断开中断中断返回中断返回中断程序的中断程序的主要功能主要功能开中断是为开中断是为了允许响应更了允许响应更高级的中断高级的中断 (中断嵌套中断嵌套)保护现场是保

18、护现场是将在中断程序中将在中断程序中使用到的寄存器使用到的寄存器等保存到栈区,等保存到栈区,使得能够恢复被使得能够恢复被打断的程序的执打断的程序的执行。保护现场常行。保护现场常使用堆栈指令使用堆栈指令l 外部中断的应用-举例例例1:用一个按钮控制用一个按钮控制8个发光二极管,每按动一次按钮,个发光二极管,每按动一次按钮,是发光二极管按是发光二极管按L1 L2.L8 L1的顺序循环移的顺序循环移动点亮一位。动点亮一位。解:解:如图所示。在如图所示。在P1.0-P1.7外部连接外部连接8个发光二极管个发光二极管L1-L8,当,当P1.X输出低电平时,对应的发光二极管被点亮;输出低电平时,对应的发光

19、二极管被点亮;当当P1.X输出为高电平时,对应的发光二极管熄灭。输出为高电平时,对应的发光二极管熄灭。在在/INT1引脚上外接一个按钮。当按钮按下时,引脚上外接一个按钮。当按钮按下时,/INT1为低电平;按钮释放时,为低电平;按钮释放时,/INT1为高电平。为高电平。/INT1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7MCS-51SBVCCL1L2L3L4L5L6L7L8用按钮控制发光二极管用按钮控制发光二极管既可以采用既可以采用查询的方式查询的方式,也可以采用,也可以采用中断的方式中断的方式实现。实现。1.用查询方式实现用查询方式实现 所谓查询,就是周期性的对按钮的状态

20、进行访问,当查所谓查询,就是周期性的对按钮的状态进行访问,当查询到按钮为有效电平时就采用相应的处理。询到按钮为有效电平时就采用相应的处理。;51a.asm ORG 0000H SETB P3.3 ;将将P3.3设置为输入状态设置为输入状态 MOV A,#0FEH;设置为设置为L1L8的初始状态的初始状态 LOOP:MOV P1,A JB P3.3,$;若按钮未动作若按钮未动作,则原地等待则原地等待 JNB P3.3,$;等待按钮释放等待按钮释放,保证按动一次发光二保证按动一次发光二 极管只移动一位极管只移动一位 RL A SJMP LOOP END 1.用中断方式实现用中断方式实现l 单片机复

21、位以后单片机复位以后PC的值为的值为0000H,外部中断,外部中断1的矢量地的矢量地址是址是0013H,而外部中断,而外部中断1的子程序必须放置在从的子程序必须放置在从0013H开始的开始的8个存贮单元,无法实现。个存贮单元,无法实现。l 考虑到从考虑到从0000H到到0013H只有只有19个单元空间,不可能放个单元空间,不可能放置完整的主程序,因此在置完整的主程序,因此在0000H处放置一条转移指令,将处放置一条转移指令,将主程序引到别的位置;主程序引到别的位置;l 不同的中断矢量地址之间,只有不同的中断矢量地址之间,只有8个存储单元,无法放个存储单元,无法放置完整的终端服务程序,因此在中断

22、入口处也放置一条置完整的终端服务程序,因此在中断入口处也放置一条转移指令,以便将程序引到真正的中断程序的开始位置。转移指令,以便将程序引到真正的中断程序的开始位置。一般习惯将中断程序放置在主程序之后。一般习惯将中断程序放置在主程序之后。;51a.asm ORG 0000H ;PC复位地址复位地址 AJMP MAIN ;MAIN为主程序入口地址为主程序入口地址 ORG 0013H ;外部中断外部中断1的矢量地址的矢量地址 AJMP INT_1 ;INT_1为外部中断为外部中断1服务程序入口地址服务程序入口地址 ORG 0100H ;真正的主程序开始真正的主程序开始 MAIN:MOV SP,#60

23、H ;堆栈初始化堆栈初始化 MOV A,#11111110B MOV P1,A ;点亮二极管点亮二极管L1 SETB IT1 ;将外部中断将外部中断1设置为下降沿触发方式设置为下降沿触发方式 SETB EA ;CPU开中断开中断 SETB EX1 ;外部中断外部中断1开中断开中断 SJMP$;等待中断等待中断,此处也可以放置其他处理程序此处也可以放置其他处理程序 ORG 0200H ;真正的外部中断真正的外部中断1服务程序服务程序 INT_1:JB P3.3,EXIT RL A ;修改灯的状态修改灯的状态 MOV P1,A EXIT:RETI ;中断返回中断返回 END 只有只有1 1个中断源

24、,没有必个中断源,没有必要设置中断优先级要设置中断优先级 不存在资源冲突,不需要不存在资源冲突,不需要保存现场和恢复现场保存现场和恢复现场例例2 2:用外部中断实时显示外部故障状态用外部中断实时显示外部故障状态解解:如图,当系统无故障时如图,当系统无故障时,4,4个故障输入端个故障输入端X1-X4X1-X4全为低电平全为低电平,显示灯全灭显示灯全灭;当某个部分出现故障时当某个部分出现故障时,其对应输入由低电平其对应输入由低电平变为高电平变为高电平,从而引起外部中断从而引起外部中断,在中断服务程序中判定故在中断服务程序中判定故障源障源,并用对应的发光二极管并用对应的发光二极管LED1-LED4L

25、ED1-LED4来进行显示。来进行显示。VCCL5L6L7L8X4X3X2X1 1/INT0P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7MCS-51进行相应的中断扩展后进行相应的中断扩展后,当当任意一个故障信号有效时,任意一个故障信号有效时,就自动引起一次外部中断。就自动引起一次外部中断。;2.asmORG 0000HAJMP MAIN ;跳转主程序跳转主程序 ORG 0003HAJMP PITO ;跳转外部中断跳转外部中断0服务程序服务程序ORG 0030HMAIN:ORL P1,#0FFH ;(主程序开始主程序开始)灯全灭灯全灭,准备好准备好SETB EA ;开放总中断

26、开放总中断SETB EX0 ;开放外部中断开放外部中断0SETB IT0 ;设外部中断设外部中断0为边沿触发方式为边沿触发方式 WAIT:SJMP WAIT ;等待中断等待中断 PITO:ORL P1,#0F0H ;关灯关灯JNB P1.0,L1 ;(中断服务程序开始中断服务程序开始)CLR P1.4 ;若若X1有故障有故障LED1亮亮 RETI ;中断返回中断返回L1:JNBP1.1,L2CLRP1.5;若若X2有故障有故障LED2亮亮RETI;中断返回中断返回L2:JNBP1.2,L3CLRP1.6;若若X3有故障有故障LED3亮亮RETI;中断返回中断返回L3:JNBP1.3,L3 CL

27、RP1.7;若若X4有故障有故障LED4亮亮RETI;中断返回中断返回四、四、MCS-51对外部中断源的扩展对外部中断源的扩展借用定时器溢出中断扩展外部中断源借用定时器溢出中断扩展外部中断源使被借用定时器工作在方式使被借用定时器工作在方式2,即,即8位自动装载方式位自动装载方式;使使被被借借用用定定时时器器装装载载初初值值FFFFH,以以达达到到每每计计数数一一次次产产生生一次溢出中断的目的;一次溢出中断的目的;把把被被借借用用定定时时器器的的计计数数输输入入端端T0(或或T1)作作为为被被扩扩展展外外部部中断源的中断请求输入线;中断源的中断请求输入线;在在被被借借用用定定时时器器中中断断入入

28、口口地地址址000BH(或或001BH)处处存存放放一条三字节长转移指令。一条三字节长转移指令。采用查询法扩展外部中断源采用查询法扩展外部中断源 需要必要的支持硬件和查询程序。需要必要的支持硬件和查询程序。采用采用8259A扩展外部中断源扩展外部中断源l 8259A中断控制器中断控制器l 8259A芯片结构芯片结构l 8259A的工作过程的工作过程l 8259A与总线的连接方式(与总线的连接方式(1)l 8259A与总线的连接方式(与总线的连接方式(2)l 8259A的使用(编程)的使用(编程)通过设置初始化命令字通过设置初始化命令字ICW1ICW4及操作命令字及操作命令字OCW1OCW3实现,任务包括实现,任务包括优先级设置优先级设置优先级循环方式优先级循环方式中断屏蔽方式中断屏蔽方式中断结束方式中断结束方式中断请求的触发方式中断请求的触发方式谢谢大家!谢谢大家!

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

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁