欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    单片机MCS 51的中断系统ppt课件.ppt

    • 资源ID:1405830       资源大小:1.15MB        全文页数:71页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机MCS 51的中断系统ppt课件.ppt

    第四章 MCS-51的中断系统,4.1 中断的概念4.2 MCS-51中断系统的结构4.3 中断请求源4.4 中断控制4.5 中断响应4.6 外部中断的响应时间4.7 外部中断的触发方式选择4.8 中断请求的撤销4.9 中断服务程序的设计4.10 多外部中断源系统设计,教学目标 1介绍MCS-51中断系统及中断控制; 2. 介绍中断处理的过程; 3. 介绍中断应用程序的编程。 重点难点 1熟悉中断、中断源、中断服务程序、保护现场、恢复现场、中断优先级、中断处理等概念; 2. 掌握51中断入口地址和各中断控制寄存器含义及应用:包括TCON、SCON、IE和IP; 3. 掌握中断初始化和中断服务程序的编制。,MCS-51有很强的I/O接口扩展能力,I/O外设扩展后,单片机要与各种形式的外设相连,这些外设的结构形式、信号种类与大小、工作速度的快慢相差很大,这就需要研究单片机与外设交换数据的方法。目前CPU与外设交换信息通常有以下几种形式:,输入/输出的控制方式,一、无条件传送方式,CPU总是认为外设在任何时刻都处于“准备好”的状态。这种传送方式不需要交换状态信息,只需在程序中加入访问外设的指令,数据传送便可以实现。此种方法很少使用。,二、查询方式传送 也称程序控制法,先查询I/O设备当前状态,若准备就绪,则交换数据,否则循环查询状态。,优点:通用性好,可以用于各类外设和CPU间的数据传送。缺点:CPU在完成一次数据传送后要等待很长时间才能进行下一次的传送。在等待过程中,CPU不能进行其他操作,所以效率比较低。,三、中断方式传送 大多数时间计算机与外设并行工作,计算机不必因等待而浪费资源。当外设准备就绪,向CPU发出中断请求信号。CPU暂停当前程序,执行I/O操作。当I/O操作结束,CPU仍继续被中断的工作。,4.1 中断的概念,执行主程序,主程序,继续执行主程序,断点,中断请求,中断响应,执行中断处理程序,中断返回,中断系统:实现中断功能的部件。 中断服务程序:中断之后所执行的处理程序,原来运行的程序称为主程序。 断点:主程序被断开的位置(地址) 。 中断源:向CPU发出中断请求的来源。 中断请求:中断源向CPU提出的处理请求,又称中断申请。,中断的相关概念,实现实时控制处理。提高处理故障的能力;解决CPU和外设之间的速度匹配问题,提高CPU的效率;实现人机对话。一般由键盘、按钮等发出中断请求,当CPU响应中断后,在中断服务程序中实现人机对话。,中断方式的特点,4.2 MCS-51中断系统的结构,5个中断源; 2个中断优先级,可实现两级中断嵌套; 中断使能可编程控制; 中断优先级可编程控制; 复位后,所有中断被禁止,且为低优先级。,MCS-51的中断系统结构框图,4.3 中断请求源,1外部中断类 由外部原因引起的: /INT0外部中断0请求信号。由P3.2引脚输入,中断请求标志为IE0。 /INT1外部中断1请求信号。由P3.3引脚输入,中断请求标志为IE1。,MCS-51的中断源可分为三类:外部中断、定时/计数器溢出中断和串行口中断。,2定时/计数中断类 定时/计数中断是为满足定时或计数溢出处理的需要而设置的。在定时方式下,脉冲信号在单片机芯片内部发生,无需在芯片上设置引入端;但在计数方式时,中断源由单片机芯片外部引入。 定时器/计数器T0溢出中断请求:中断请求标志为TF0。 定时器/计数器T1溢出中断请求:中断请求标志为TF1 。,3串行口中断类 串行口中断为串行通信的需要而设置的。 RI或TI串行口中断请求标志。各中断源对应的中断服务程序入口地址: 中断源 入口地址 外部中断0 0003H 定时器T0中断 000BH 外部中断1 0013H 定时器T1中断 001BH 串行口中断 0023H,中断请求标志,中断源申请中断时,要将相应的中断请求标志置位。CPU查询这些中断标志位状态,以决定是否响应中断。MCS-51中断标志位锁存在定时器控制寄存器TCON和串行口控制寄存器SCON中。,1定时器控制寄存器TCON,D7 D6 D5 D4 D3 D2 D1 D0,TCON位地址,字节地址:88H,IT0和IT1:外部中断请求信号触发方式控制位IT0(或IT1)=0:电平触发,INT0(或INT1)低电平有效;IT0(或IT1)=1:边沿触发,引脚INT0(或INT1)上的电平由高到低负跳变有效;IT0(或IT1)位可由用户软件置1或清0。,各控制位的含义,IE0和IE1:外部中断请求标志位若IT0=0(或IT1=0),每个机器周期的S5P2采样INT0(或INT1),若INT0=0则IE0(或IE1)由片内硬件自动置1;当IT0=1(或IT1=1)时,第一个机器周期采样到INT0 (或INT1)为高电平,第二个机器周期为低电平,则IE0(或IE1)=1。IE0(或IE1)=1表示外部中断正在向CPU申请中断,当CPU响应中断,转向中断服务程序时,由硬件自动清“0”IE0(或IE1)。,TF0和TF1:定时器/计数器溢出中断请求标志位T0(或T1)启动计数后,加1计数,当最高位发生计数溢出时,TF0(或TF1)由片内硬件自动置1,向CPU请求中断;当完成中断响应,并转向中断服务程序时,由片内硬件自动清0。该标志位也可用于查询方式(非中断方式),即用户程序查询该位状态,判断是否应转向对应的处理程序段。待转入处理程序后,必须由软件清0。,注意:MCS-51复位后,TCON被清0。,2串行口控制寄存器SCON,SCON的字节地址为98H,可以位寻址:位地址是9FH98H。,SCON为串行口控制寄存器,其低2位锁存串行口的接收中断和发送中断标志RI和TI。,TI(SCON.1):串行口发送中断请求标志位。 当CPU通过串行口每发送完一帧数据,TI由硬件自动置1。CPU响应中断时,不能自动清除TI,在转向中断服务程序后必须由软件清0。RI(SCON.0):串行口接收中断请求标志位。 当允许串行口接收数据时,每接收完一帧数据,RI由硬件自动置1。同样,RI必须在中断服务程序中用软件清0。,TI和RI为何必须软件清0?,因为串行口无论是发送中断还是接收中断,中断向量地址是惟一的,即0023H。待转向中断服务程序后,必须用软件查询TI或RI的状态,方可判断是串行发送中断还是串行接收中断,从而转向不同的处理程序段。这就是TI和RI不能由片内硬件自动清0,而必须由软件清0的原因。,4.4 中断控制,1中断允许寄存器IE,CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的。IE的字节地址是A8H,可位寻址,位地址为AFHA8H。,中断允许寄存器IE的格式,EA(IE.7):中断允许总控制位。 EA = 1,CPU开放所有中断。对各中断源的中断请求是否允许,还要取决于各中断源的中断允许控制位的状态。这就是所谓的两级控制; EA = 0,屏蔽所有的中断请求。ES(IE.4):串行口中断允许位。 ES = 1,允许串行口中断; ES = 0,禁止串行口中断。ET1(IE.3):定时器1中断允许位。 ET1 = 1,允许定时器1中断; ET1 = 0,禁止定时器1中断。,中断允许寄存器IE各位含义:,EX1(IE.2):外部中断1中断允许位。 EX1 = 1,允许外部中断1中断; EX1 = 0,禁止外部中断1中断。ET0(IE.1):定时器0中断允许位。 ET0 = 1,允许定时器0中断; ET0 = 0,禁止定时器0中断。EX0(IE.0):外部中断0中断允许位。 EX0 = 1,允许外部中断0中断; EX0 = 0,禁止外部中断0中断。,单片机响应中断后不会自动关中断,因此在转到中断服务程序后,应用软件完成关闭或打开中断操作。 8051单片机系统复位后,IE中各中断允许位均被清0,即禁止所有中断。,IE寄存器的设置,位操作指令: SETB BIT CLR BIT字节操作指令: MOV IE,#DATA ANL IE,#DATA ORL IE,#DATA MOV IE,A,例:假设允许片内定时器/计数器中断,禁止其他中断。试根据假设条件设置IE的相应值。解:(IE)=10001010B=8AH(a)用字节操作指令MOV IE,#8AH 或 MOV A8H,#8AH (b)用位操作指令SETB ET0 ;定时器/计数器0允许中断SETB ET1 ;定时器/计数器1允许中断SETB EA ;CPU开中断,2中断优先级控制寄存器IP,MCS-51单片机具有高、低两个中断优先级。各中断源优先级由IP寄存器有关位设置。每个中断请求源均可编程为高优先级中断或低优先级中断。IP寄存器的字节地址为B8H,可以位寻址,位地址为BFHB8H。,中断优先级控制寄存器IP的格式,中断优先级寄存器IP各控制位的含义,PS串行口中断优先级控制位PT1定时器/计数器T1中断优先级控制位PX1外部中断1中断优先级控制位PT0定时器/计数器T0中断优先级控制位PX0外部中断0中断优先级控制位若某控制位为1,则相应的中断源规定为高级中断;反之为0,则相应的中断源规定为低级中断。当系统复位后,IP低5位全部清“0”,将所有中断源设置为低优先级中断。,中断优先级控制中的特殊情况,(1)自然优先级(2)中断嵌套,(1)自然优先级,当同时接收到几个同一优先级的中断请求时,响应哪个中断源则取决于内部硬件查询顺序。其优先级顺序排列如 下图 所示。,中断优先级排列顺序,中断源同级内的中断优先级外部中断0中断 高级定时器/计数器T0溢出中断外部中断1定时器/计数器T1溢出中断串行口中断 低级,CPU在执行主程序,低级中断请求,响应低级中断请求,CPU执行低级中断服务程序,高级中断请求,响应高级中断请求,CPU执行高级中断服务程序,返回低级中断程序,返回主程序,(2)两级中断嵌套,不同级中断源同时申请中断时:先高后低同一级的中断源同时申请中断时:事先规定处理低级中断又收到高级中断申请时:停低转高处理高级中断又收到低级中断申请时:高不睬低,MCS-51对中断的处理原则,为了实现上述原则,中断系统内部设有两个用户不能寻址的优先级生效触发器:高优先级生效触发器和低优先级生效触发器。,例:设置IP初值,使8031的2个外部中断源为高优先级,其它中断源为低优先级。解:(IP)=00000101B=05H (a)用字节操作指令 MOV IP,#05H 或 MOV 0B8H,#05H (b)用位操作指令 SETB PX0 SETB PX1 CLR PS CLR PT0 CLR PT1,4.5 中断响应及处理过程,一个完整的中断处理的基本过程应该包括:中断请求、中断响应、中断处理以及中断返回。,中断请求是中断源向CPU发出请求中断的信号。 一般单片机提供有多条中断请求线,当中断源有服务要求时,可通过中断请求线,向CPU发出信号,请求CPU中断。,一、中断请求,1CPU的中断响应条件 有中断源发出中断申请; CPU开中断,即中断总允许位EA1; 申请中断的中断源的中断允许位为1,即此中断源可以向CPU申请中断;无同级或更高级中断正在被服务。,二、中断响应,中断响应是在满足CPU的中断响应条件之后,CPU对中断源中断请求的回答。,2.中断标志位的查询,单片机在每个机器周期的S5P2状态根据中断请求信号的状态置位各自的中断请求标志。在下一个机器周期的S6状态下,按中断优先级顺序对中断请求标志位进行查询。如果查询到有的标志位为1,则表明有中断请求发生,因此紧接着的下一个机器周期的S1状态开始进入中断响应周期。,中断查询在每个机器周期都要重复执行,但如果遇到下列条件之一,虽然中断标志位为1,也不能立即产生中断:,CPU正在处理同级或高一级的中断; 查询周期不处于执行当前指令的最后一个机器周期。这样是为了使当前指令执行完毕后才响应中断,以确保当前指令的完整执行; 当前正在执行返回(RETI)指令或访问寄存器IE或IP的指令。因为按中断系统的特性规定,在执行完这些指令之后,还应再继续执行一条指令,方可响应中断。,由于存在中断阻断的情况而未被及时响应,待上述封锁中断的条件被撤消之后,由于中断标志还存在,仍会响应。,中断响应操作,CPU响应周期完成如下操作:将相应的优先级生效触发器置1; 硬件清除相应的中断请求标志(串行口中断标志需要用软件清除); 执行一条硬件自动生成子程序调用指令:执行中断服务程序,LCALL addr16,; addr16:中断向量地址,中断处理程序(又称中断服务)从入口地址开始执行,直到返回指令“RETI”为止,这个过程称为中断处理。,三、中断处理,一般包括保护现场和处理中断源的请求及恢复现场三部分内容。 一般累加器A、PSW寄存器和其它一些特殊功能寄存器的内容需要保护。,将优先级生效触发器清0;从堆栈中弹出栈顶的两个字节内容送PC恢复断点;CPU转到断点处继续执行原程序。,四、中断返回(RETI执行后),4.6 中断响应时间,中断响应时间是从查询中断标志位的那个机器周期到转向中断入口地址所需要的机器周期数。,不同的情况下对中断响应的时间是不同的:对于顺利的中断响应,其最短响应时间为3个机器周期。若中断系统只有一个中断源,则响应时间为38个机器周期之间。对于受阻的中断响应,则响应时间会更长一些。,一般情况下,可不考虑响应时间,只在精确定时控制的场合需要考虑此问题。,4.7 外部中断的触发方式选择,外部中断的触发方式:电平触发和边沿触发。,1.电平触发方式,特点:中断标志位的状态随CPU在每个机器周期采样到的外部中断输入引脚的电平变化而变化,这样能提高CPU对外部中断请求的响应速度。要求:外部中断源若有请求,必须把有效的低电平保持到请求获得响应时为止,不然就会漏掉;而在中断服务程序结束之前,中断源又必须撤消其有效的低电平,否则中断返回之后将再次产生中断。,电平触发方式适合于外部中断请求信号以低电平输入且中断服务程序能清除外部中断请求源的情况。,2.边沿触发方式,特点:CPU采样到下降沿,则在IE0或IE1中将锁存一个逻辑1。即便是CPU暂时不能响应,中断申请标志也不会丢失,直到CPU响应此中断时才清零。要求:为保证下降沿能被可靠地采样到,外部中断引脚上的高低电平(负脉冲的宽度)均至少要保持一个机器周期(若晶振为12MHz时,为1微秒)。,边沿触发方式适合于以负脉冲形式输入的外部中断请求。,(1)定时器0或1溢出中断。CPU在响应中断后,中断请求自动撤消。 (2)边沿触发的外部中断。CPU在响应中断后,硬件自动清除有关的中断请求。 (3)串行口中断。CPU响应中断后,靠软件来清除相应的标志。,4.8 中断请求的撤消,CPU响应某中断请求后,在中断返回前,应撤消该中断请求,避免重复响应。,CLR TI ;清TI标志位CLR RI ;清RI标志位,电平方式外部中断请求的撤除方法较复杂。,图4.8是撤除电平方式的中断请求的可行方案之一: 用P1.0接在触发器的直接置位端S端作为应答线。 当CPU响应中断后可使用如下两条指令: SETB P1.0 ; 将P1.0置1 CLR P1.0 ; 将P1.0清0,图4.8 电平方式外部中断请求的撤消电路,4.9 中断程序的设计,包含中断初始化程序和中断服务程序两部分。 一、中断初始化程序 中断初始化程序实质上就是对TCON、SCON、IE和IP寄存器的管理和控制。 中断初始化程序一般不独立编写,而是包含在主程序中,中断初始化程序需完成以下操作: 1IE设置。CPU开中断; 2某一中断源中断请求的允许与禁止(屏蔽); 3IP设置。确定各中断源的优先级; 4若是外部中断请求,则要设定触发方式是电平触发还是边沿触发。,例:假设规定外部中断0为电平触发方式,高优先级,试写出有关的初始化程序。解:可用两种方法完成。 方法1,用位操作指令完成: SETB EA ;开中断允许总控制位 SETB EX0 ;外中断0开中断 SETB PX0;外中断0高优先级 CLR IT0;电平触发 方法2,用其它指令也可完成同样功能: MOV IE,#81H ;同时置位EA和EX0 ORL IP,#01H ;置位PX0 ANL TCON,#0FEH ;使IT0为0,二、采用中断时的主程序结构,ORG 0000HLJMP MAINORG 0003H LJMP INT0SER ORG 000BH LJMP T0SER ORG 0030H MAIN : 主程序 INT0SER : 外部中断0中断服务程序 T0SER : 定时器0中断服务程序,三、中断服务程序,中断服务程序是为中断源的特定要求服务的独立程序段,以中断返回指令RETI结束。,中断服务程序流程:,工作寄存器的现场保护和恢复,压栈和出栈使用直接寻址方式。寄存器组的切换。设置PSW的RS1、RS0位,便可起到现场保护的目的。例:原程序运行中使用0组,即RS1 RS000,中断服务程序使用1组。 PUSH PSW ;保护0组 CLR RS1 ;使用1组 SETB RS0 POP PSW ;恢复0组 RETI ;中断返回,中断服务程序编制中的注意事项, 视需要确定是否保护现场。 及时清除那些不能被硬件自动清除的中断请求标志,以免产生错误的中断。 中断服务程序中的压栈与弹栈指令必须成对使用,以确保中断服务程序的正确返回。 主程序和中断服务程序之间的参数传递与主程序和子程序的参数传递方式相同。,典型中断服务程序,INT: CLR EA ;CPU关中断PUSH PSW ;现场保护PUSH ACC ;SETB EA ;CPU开中断 中断服务程序CLR EA ;CPU关中断 POP ACC ;现场恢复 POP PSW ; SETB EA ;CPU开中断 RETI ;中断返回,恢复断点,MCS-51单片机有两个外部中断请求输入端(INT0和INT1)。实际应用中,若外部中断源有两个以上,则需要扩展外部中断源。 利用定时器扩展外部中断源 中断加查询扩展外部中断源 用优先权编码器扩展外部中断源,4.10 多外部中断源系统设计,利用定时器扩展外部中断源,MCS-51单片机有两个定时器,具有两个内部中断标志和外部计数输入引脚。当定时器设置为计数方式时,计数初值设置为满量程FFH。一旦外部信号从计数器引脚输入一个负跳变信号,计数器加1产生溢出中断,从而转去处理该外部中断源的请求。方法: (1)定时器/计数器输入信号端T0、T1作外部中断输入。 (2)选择计数方式,设置为工作方式2,初值0FFH,允许T0、T1中断,CPU开放中断,启动计数。,数据自动加载方式: TL:计数器 TH:预置计数器,例:T0设置为外部计数模式,工作在方式2(初值自动重装)。计数器TH0、TL0初值均为0FFH,并允许T0中断,CPU开放中断。,ORG 0000H AJMP IINI ;跳到T0初始化程序 ORG 000BH LJMP T0IR IINI: MOV TMOD,#06H ;设置T0的工作方式寄存器 MOV TL0, #0FFH ;T0置初值 MOV TH0, #0FFH SETB ETO ;允许T0中断 SETB EA ;CPU开中断 SETB TRO ;启动T0,开始计数 T0IR: 外部中断服务程序,中断加查询扩展外部中断源,方法:用一个中断入口接受多个外部中断源,并加入中断查询电路。中断源由硬件产生,中断源的识别由程序查询处理。具体线路如 图5-11 所示。有关中断服务程序的片段,多个外部中断源连接法,INT0INT1P1.0P1.1P1.2P1.3,8051,装置1,装置2,装置3,装置4,+5V,DV1: 装置1的中断服务程序 AJMP EXITDV2: 装置2的中断服务程序 AJMP EXITDV3: 装置3的中断服务程序 AJMP EXITDV4: 装置4的中断服务程序 AJMP EXIT,ORG 0003H LJMP INTRP ;INT0中断服务程序入口 ORG 1000H INTRP:CLR EA;INT0中断服务程序是一个中断查询程序服务程序 PUSH PSW PUSH ACC JBP1.0, DV1 JBP1.1, DV2 JBP1.2, DV3 JBP1.3, DV4 EXIT: POP ACC POP PSW SETB EA RETI,用优先权编码器扩展外部中断源,74LS148(优先权编码器)真值表,硬件电路,ORG 0013H LJMP LAB ORG 0040H LAB: ORL P1,#00001110B ;设置P1.1P1.3为输入 MOV A,P1 ;P1口内容送累加器 ANL A,#00001110B ;屏蔽不用的位 MOV DPTR,#TAB ;转移表首地址DPTR JMP A+DPTR ;跳转 ORG 1000H TAB: AJMP IR0 AJMP IR1 AJMP IR7,中断服务程序:,外部中断实验,例:如 下图 所示,将P1口的P1.4P1.7作为输入位, P1.0P1.3作为输出位。要求利用8031将开关所设的数据读入单片机内,并依次通过P1.0P1.3输出,驱动发光二极管,以检查P1.4P1.7输入的电平情况(若输入为高电平则相应的LED亮)。 现要求采用中断边沿触发方式,每中断一次,完成一次读/写操作。,中断服务程序举例,ORG 0000H SJMP MAIN ;上电,转向主程序 ORG 0003H ;外部中断0入口地址 SJMP INSER ;转向中断服务程序,源程序如下:,ORG 0030H ;主程序MAIN: SETB EX0 ;允许外部中断0中断 SETB IT0 ;选择边沿触发方式 SETB EA ;CPU开中断HERE: SJMP HERE ;等待中断,源程序(续1),ORG 0200H ;中断服务程序INSER:MOV P1,#0F0H ;设P1.4P1.7为输入 MOV A,P1 ;取开关数 SWAP A ;A的高、低四位互换 MOV P1,A ;输出驱动LED发光 RETI ;中断返回 END,源程序(续2),中断的概念;中断系统结构;中断源及控制寄存器(TCON、SCON、IE、IP)的使用;中断响应和中断请求的撤销;中断服务程序的设计步骤;外部中断源的扩展(三种方法)。,本章总结,本 章 结 束,

    注意事项

    本文(单片机MCS 51的中断系统ppt课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开