课程:单片机技术教材:单片机基础第5章80C51单片机的中断与定时教学基本要求:(1)、了解单片机系统有关中断的概念;(2)、了解单片机定时器/计数器的功能;(3)、熟悉与中断控制有关的控制寄存器的功能及用法;(4)、熟悉与定时/计数控制有关的控制寄存器功能及用法;(5)、掌握单片机中断系统的应用方法;(6)、掌握单片机定时器/计数器的应用方法;教学重点:(1)、单片机中断系统的中断服务流程;(2)、单片机定时器/计数器的工作方式0、2;教学难点:(1)、中断采样、中断查询、中断响应、中断撤消课程:单片机技术教材:单片机基础5.1中断概述(1)有关中断的概念(a)中断当中央处理器CPU正在处理某件事情的时候,外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件。处理完毕后,再回到原来被暂停的地方,继续原来的工作,这样的过程称为中断。(b)中断嵌套即指在中断过程中又发生了新中断的现象。(c)中断源向CPU发出中断请求的来源。课程:单片机技术教材:单片机基础(d)中断请求或中断申请中断源要求CPU为其服务的请求。(e)中断查询即指CPU通过测试各中断控制寄存器中各标志位的状态,以确定有没有中断请求发生以及是哪一个中断源提出中断请求的过程。(f)中断响应即指CPU对中断源提出的中断请求的接受,发生在中断查询之后。(g)中断处理或中断服务中断处理就是执行中断服务程序。课程:单片机技术教材:单片机基础(h)中断返回中断返回是指CPU在执行完中断服务程序后,返回原来暂停的地方(断点),继续执行原来程序的过程。课程:单片机技术教材:单片机基础5.2.1中断源与中断向量80C51单片机共有3类5个中断源,即外部中断2个、定时中断2个和串行中断1个。(1)外中断(a)由外部信号引起,共有2个中断源,即外部中断“0”和外部中断“1”。由/INT0(P3.2)和/INT1(P3.3)引入。(b)外中断的两种信号触发方式(通过有关控制位定义)电平方式:低电平有效脉冲方式:脉冲下降沿有效,高低电平状态都应至少维持一个机器周期。5.280C51单片机的中断系统课程:单片机技术教材:单片机基础(2)定时中断定时中断是为满足定时或计数的需要设置的。80C51单片机共有2个定时器/计数器中断源,即T/C0和T/C1。定时器/计数器内部的计数结构对脉冲信号进行计数,当计数结构发生计数溢出时,即表明定时时间到或计数值已满,此时就以计数溢出信号作为中断请求信号,向CPU申请中断,同时置位一个溢出标志位,作为单片机接受中断请求的标志。定时器/计数器作为定时功能使用时,计数结构需要的计数脉冲信号来自单片机内部。定时器/计数器作为计数功能使用时,计数结构需要的计数脉冲信号来自单片机外部,由T0(P3.4)、T1(P3.5)引入。课程:单片机技术教材:单片机基础(3)串行中断串行中断是为串行数据传送的需要设置的。每当串行口接收或发送完一组串行数据时,就产生中断请求信号向CPU申请中断。80C51单片机的中断向量列表外部中断00003H定时/计数器0000BH外部中断10013H定时/计数器0001BH串行发送中断0023H串行接收中断0023H5.2.2中断控制所谓中断控制就是指单片机提供给用户使用的中断控制的手段,用户可通过设置中断控制寄存器的状态位来使用中断系统。中断控制的本质就是利用指令对中断控制寄存器进行操作。80C51具有4个相关的控制寄存器:TCON,IE,IP,SCON。课程:单片机技术教材:单片机基础(1)定时器控制寄存器(TCON)TCON的功能:用于保存外部中断请求以及定时器/计数器的计数溢出信号。TCON的字节地址:88H;位地址:8FH~88H。TCON的内容及格式如下:位地址8FH8EH8DH8CH8BH8AH89H88H位符号TF1TR1TF0TR0IE1IT1IE0IT0与中断控制有关的控制位共有6位:(a)IE0、IE1:外中断请求标志位CPU采样/INT0,/INT1端,如出现有效中断请求信号,则由硬件电路对该位自动置1。在中断响应后,由硬件电路对该位自动清0。课程:单片机技术教材:单片机基础(b)IT0、IT1:外中断请求触发方式控制位IT0(IT1)=1,脉冲方式(后沿负跳有效);IT0(IT1)=0,电平方式(低电平有效);由软件置1或清0,即人工编程。例:SETBIT0;或CLRIT0;(C)TF0、TF1:计数溢出标志位当计数结构产生溢出时,由硬件电路对该位自动置1;当转向中断服务时,再由硬件电路对该位自动清0。计数溢出标志位的使用有两种情况:1)采用中断方式时,作中断请求标志位使用;2)采用查询方式时,作查询状态位来使用,必须利用软件对该位清0。课程:单片机技术教材:单片机基础(2)串行口控制寄存器(SCON)SCON的功能:用于串行数据通信的控制。SCON的字节地址:98H;位地址:9FH~98H。SCON的内容及格式如下:位地址9FH9EH9DH9CH9BH9AH99H98H位符号SM0SM1SM2RENTB8RB8TIRI与中断控制有关的控制位共有2位:(a)TI:串行口发送中断请求标志位发送完一帧串行数据后,由硬件电路对该位自动置1,在转向中断服务程序后,用软件对该位清0。(b)RI:串行口接收中断请求标志位接收完一帧数据后,由硬件电路对该位自动置1,在转向课程:单片机技术教材:单片机基础中断服务程序后,用软件对该位清0。TI、RI标志位的使用有两种情况:1)采用中断方式时,作中断请求标志位使用;2)采用查询方式时,作查询状态位来使用;无论采用何种方式,都必须利用软件对该位清0。(3)中断允许控制寄存器(IE)IE的功能:中断系统的开关。IE的字节地址:0A8H;位地址:0AFH~0A8H。IE的内容及格式如下:位地址AFHAEHADHACHABHAAHA9HA8H位符号EA//ESET1EX1ET0EX0课程:单片机技术教材:单片机基础与中断控制有关的控制位共有6位:(a)EA:中断允许总控制位EA=0:中断总禁止;EA=1:中断总允许;(b)EX0、EX1:外部中断允许控制位EX0、EX1=0:禁止外中断;EX0、EX1=1:允许外中断;(c)ET0、ET1:定时器/计数器中断允许控制位ET0、ET1=0,禁止定时(或计数)中断;ET0、ET1=1,允许定时(或计数)中断;(d)ES:串行中断允许控制位ES=0,禁止串行中断;课程:单片机技术教材:单片机基础ES=1,允许串行中断;注意:1)MCS-51单片机复位后(IE)=00H,即中断系统处于禁止状态;2)单片机在中断响应后不会自动关闭中断,需使用有关指令禁止中断,即以软件方式关闭中断。(4)中断优先级控制寄存器(IP)IP的功能:决定各中断源的优先权。IP的字节地址:0B8H;位地址:0BFH~0B8H。IP的内容及格式如下:位地址BFHBEHBDHBCHBBHBAHB9HB8H位符号///PSPT1PX1PT0PX0课程:单片机技术教材:单片机基础与中断控制有关的控制位共有5位:(a)PX0:外部中断0优先级设定位;(b)PT0:定时中断0优先级设定位;(c)PX1:外部中断1优先级设定位;(d)PT1:定时中断1优先级设定位;(e)PS:串行中断优先级设定位;为0的位优先级为低,为1的优先级为高。5.2.3中断优先级控制中断优先级是为中断嵌套服务的。MCS-51单片机具有两级优先级,因此它具备两级中断服务嵌套的功能,其中断优先级的控制原则是:(a)低优先级中断请求不能打断高优先级的中断服务,但高优课程:单片机技术教材:单片机基础先级中断请求可以打断低优先级的中断服务,实现中断嵌套。(b)如一个中断请求已被响应,则同级的其它中断响应将被禁止。即同级不能嵌套。(c)如果同级的多个中断请求同时出现,则按CPU查询次序确定那个中断请求被响应。查询次序:外部中断0→定时中断0→外部中断1→定时中断1→串行中断中断优先级控制,除了中断优先级控制寄存器之外,还有两个不可寻址的优先级状态触发器:一个用于指示某一高优先级中断正在进行服务,从而屏蔽其它高优先级中断;另一个用于指示某一低优先级中断正在进行服务,从而屏蔽其它低优先级中断,但不能屏蔽高优先级的中断。课程:单片机技术教材:单片机基础中断初始化与中断控制寄存器状态设置MCS-51单片机的中断系统在使用之前,必须在单片机的应用程序初始化部分进行设置,具体情况如下:(a)外部中断:中断总允许、外中断允许、中断触发方式设定(b)定时中断:中断总允许、定时中断允许;(c)串行中断:中断总允许、串行中断允许。MCS-51单片机中断系统的4个控制寄存器既可以进行字节寻址,又可进行位寻址,对位状态的设置,既可以使用字节操作指令,又可以使用位操作指令。例:设要开放外中断0,则可以使用以下指令:MOVIE,#81H;或SETBEA;SETBEX0;80C51单片机中断系统内部结构图课程:单片机技术教材:单片机基础5.2.4中断响应过程中断响应过程发生在中断查询之后,包括中断响应、中断处理、中断返回三个阶段。因此,必须首先研究中断查询。所谓中断查询就是指CPU通过测试TCON和SCON中各标志位的状态,以确定有没有中断请求发生以及是哪一个中断源提出中断请求的过程。中断请求标志位的置位方式由于单片机中断类型的不同而存在差异。(a)对于外中断,必须通过采样的方法把外中断请求信号锁定在TCON的相应标志位中;(b)对于定时中断和串行中断,可以通过硬件电路直接置位的方法将TCON和SCON中各自的中断请求标志位置“1”。课程:单片机技术教材:单片机基础(1)中断采样(针对外中断)中断请求采样:即如何识别外部中断请求信号并把它锁定在TCON的相应标志位中。采样时刻:在每个机器周期的S5P2(第5状态,第2节拍)时刻,对/INT0(P3.2)和/INT1(P3.3)引脚进行。对于电平方式的外中断请求,采样为高→IE0(IE1)→0,为低→IE0(IE1)→1;对于脉冲方式外中断请求,采样先高后低→IE0(IE1)→1;否则IE0(IE1)→0。(2)中断查询中断查询:CPU对中断请求标志位的查询来获悉有无中断请求发生以及是哪一个中断源提出中断请求;课程:单片机技术教材:单片机基础查询次序:按优先级顺序进行;查询时刻:每个机器周期的最后一个状态S6,一旦查到有中断请求发生,接着就从相临的下一个机器周期的S1状态开始进行中断响应。(3)中断响应中断响应的主要内容:由硬件电路自动生成一条长调用指令LCAALaddr16(即程序存储器中相应中断区的入口地址),生成LCALL指令后,就由CPU执行,从而转移到真正的中断服务程序。中断响应是有条件的,并不是查询到的所有中断请求都能被立即响应,当存在下列情况之一时,中断响应被封锁:(a)CPU正处在为一个同级或高级的中断服务中;(b)查询中断请求的机器周期不是当前指令的最后一个机器课程:单片机技术教材:单片机基础周期;(c)当前指令是返回指令(RET,RETI)或访问IE,IP指令。MCS=51单片机对中断查询结果不作记忆,当有新的查询结果出现时,因为以上原因而被拖延的查询结果将不复存在,其中断请求也就不能再被响应了。中断响应的条件:(a)有中断源发出有效的中断请求信号;(b)EA=1,即CPU开总中断;(c)申请中断的中断源的中断允许位为1,即没有屏蔽;(d)中断响应没有被封锁。(4)中断响应时间即指从查询中断请求标志位到转向中断区入口地址所需的课程:单片机技术教材:单片机基础机器周期数。最短响应时间:3个机器周期(1个查询机器周期和2个LCALL指令机器周期);最长响应时间:8个机器周期(2+4+2)。一般的中断响应时间在3~8个机器周期之间。(5)中断处理即执行中断服务程序的过程。(6)中断返回指CPU在执行完中断服务程序后,返回原来暂停的地方(断点),继续执行原来程序的过程。课程:单片机技术教材:单片机基础中断请求的撤消问题中断响应后,TCON或SCON中的中断请求标志应