《c51单片机中断详解.ppt》由会员分享,可在线阅读,更多相关《c51单片机中断详解.ppt(53页珍藏版)》请在第壹文秘上搜索。
1、 中断系统中断系统微机的输入微机的输入/输出方式输出方式单片机在进行控制时,要单片机在进行控制时,要求把控制程序和原始数据求把控制程序和原始数据通过相应的输入设备送入通过相应的输入设备送入计算机。计算机。 CPU与外设之间的数据传送与外设之间的数据传送用四种方式:用四种方式:(1)无条件传送方式)无条件传送方式(2)程序查询传送方式)程序查询传送方式(3)直接存储器存取()直接存储器存取(DMA)方式方式(4)中断方式)中断方式单片机能及时单片机能及时地响应和处理单片机外部事件或地响应和处理单片机外部事件或内部事件所提出的中断请求内部事件所提出的中断请求。中断的概念中断的概念 CPU CPU正
2、在执行程序时,单片机外部或正在执行程序时,单片机外部或内部发生的某一内部发生的某一事件事件,请求,请求CPUCPU迅速去迅速去处理。处理。 CPU CPU暂时中止当前的工作,转到中断暂时中止当前的工作,转到中断服务处理程序处理所发生的事件。服务处理程序处理所发生的事件。 处理完该事件后,再回到原来被中止的处理完该事件后,再回到原来被中止的地方,继续原来的工作,这称为中断。地方,继续原来的工作,这称为中断。 中断方式优点:大大地提高了中断方式优点:大大地提高了CPUCPU的的工作效率。工作效率。能够实现中断处理功能的部件称为能够实现中断处理功能的部件称为中断系统中断系统。产生中断的请求源称为产生
3、中断的请求源称为中断请求源。中断请求源。 中断源向中断源向CPUCPU提出的处理请求,称为提出的处理请求,称为中断请求中断请求( (或或中断申请中断申请) )。 CPUCPU暂时终止自身的事务,转去处暂时终止自身的事务,转去处理中断事件的过程,称为理中断事件的过程,称为CPUCPU的的中断响中断响应过程。应过程。对事件的整个处理过程称为对事件的整个处理过程称为中断中断处理。处理。 中断返回中断返回:处理完毕中断事件,:处理完毕中断事件,再回到原来被中止的地方。再回到原来被中止的地方。 没有中断,没有中断,CPU的大的大量时间会浪费在原地踏量时间会浪费在原地踏步的操作上。步的操作上。下图所示:对
4、事件的整个处理过程下图所示:对事件的整个处理过程进入中断进入中断保护现场保护现场中断处理恢复现场中断处理恢复现场中断返回中断返回所有的过程都需要软件来设置 中断技术的特点中断技术的特点分时操作分时操作 CPUCPU可以同多个外设可以同多个外设“同时同时”工作工作实时处理实时处理 CPUCPU及时处理随机事件及时处理随机事件故障处理故障处理 电源掉电、存储出错、运算电源掉电、存储出错、运算溢出溢出 MCS-51 MCS-51中断系统的结构及中断源中断系统的结构及中断源中断源有以下几种情况中断源有以下几种情况:(1 1)I/OI/O设备(设备(2 2)硬件故障()硬件故障(3 3)实时时钟(实时时
5、钟(4 4)为调试而设置的)为调试而设置的中断。中断。MCS-51MCS-51有有5 5个中断请求源,两个中个中断请求源,两个中断优先级,可两级嵌套。断优先级,可两级嵌套。中断系统结构示意图中断系统结构示意图如下图所示:如下图所示: P140中断请求源中断请求源五个中断请求源五个中断请求源 :(1 1)INT0INT0* *外部中断请求外部中断请求0 0,由,由引脚引脚INT0INT0* *输入,中断请求标志输入,中断请求标志为为IE0IE0。(2 2)INT1INT1* *外部中断请求外部中断请求1 1,由,由引脚引脚INT1INT1* *输入,中断请求标志输入,中断请求标志为为IE1IE1
6、。(3 3)定时器)定时器/ /计数器计数器T0T0溢出溢出中断请中断请求,中断请求标志为求,中断请求标志为TF0TF0。(4 4)定时器)定时器/ /计数器计数器T1T1溢出溢出中断请中断请求,中断请求标志为求,中断请求标志为TF1TF1。(5 5)串行口中断请求串行口中断请求,中断请求标,中断请求标志为志为TITI或或RIRI。 对应特殊功能寄存器对应特殊功能寄存器TCONTCON和和SCONSCON的相应位。的相应位。下页为简表下页为简表 MCS-51MCS-51的中断系统的中断系统中断标志中断标志CPU主主程程序序INT0INT1T0T1串口串口IE0TF0IE1TF1TIRI中断源中
7、断源中断标志位中断标志位 每一个中断源都有相应的中断标志位;每一个中断源都有相应的中断标志位; 某一个中断源申请中断,相应中断标志位置某一个中断源申请中断,相应中断标志位置1。中断控制中断控制一、中断请求标志位一、中断请求标志位A A、TCONTCON中的中断标志位中的中断标志位TCONTCON为定时器为定时器/ /计数器的控计数器的控制寄存器,字节地址为制寄存器,字节地址为88H88H。包含:包含:(1 1)T0T0和和T1T1的溢出中断请求标志位的溢出中断请求标志位TF1TF1和和TF0TF0。(2 2)外部中断请求标志位)外部中断请求标志位IE1IE1与与IE0IE0。各标志位的功能:各
8、标志位的功能: IE1IE1外部中断请求外部中断请求1 1的中断请求标志位。的中断请求标志位。 IE1=0IE1=0,无中断请求。,无中断请求。 IE1=1IE1=1,外部中断,外部中断1 1有中断请求。当有中断请求。当CPUCPU响应该中响应该中断,转向中断服务程序,由硬件清断,转向中断服务程序,由硬件清“0”IE00”IE0。 IT1IT1外部中断外部中断1 1的中断触发方式控制位的中断触发方式控制位 IT1IT1选择外部中断请求选择外部中断请求1 1为为负跳变负跳变触发方式触发方式还是还是电平电平触发方式:触发方式: IT1 =0IT1 =0,为电平触发方式,为电平触发方式,IE1IE1
9、状态完全状态完全由由IT1IT1决定。决定。 IT1=1IT1=1,为负跳变触发方式。,为负跳变触发方式。 IT1IT1可由软件置可由软件置“1”1”或清或清“0”0”。 IT0 IT0外部中断请求外部中断请求0 0为负跳变触为负跳变触发方式还是电平触发方式,意义与发方式还是电平触发方式,意义与IT1IT1类似。类似。 IE0IE0外部中断请求外部中断请求0 0的中断请求的中断请求标志位,意义与标志位,意义与IE1IE1类似。类似。 TF0 TF0T0T0溢出中断请求标志位。溢出中断请求标志位。 T0T0计数溢出时,由硬件置计数溢出时,由硬件置“1”TF01”TF0,向,向CPUCPU申申请中
10、断,请中断,CPUCPU响应响应TF0TF0中断时,硬件自动清中断时,硬件自动清“0”TF00”TF0,TF0TF0也可由软件清也可由软件清0 0。 TF1TF1T1T1的溢出中断请求标志位,功能和的溢出中断请求标志位,功能和TF0TF0类似。类似。 TR1TR1、TR0 2TR0 2个位与中断无关。个位与中断无关。 当当MCS-51MCS-51复位后,复位后,TCONTCON被清被清0 0,则,则CPUCPU关中断,所有中断请求被禁止。关中断,所有中断请求被禁止。 B B、SCONSCON为串行口控制寄存器为串行口控制寄存器 字节地址为字节地址为98H98H。串行口的发送中断和接。串行口的发
11、送中断和接收中断的中断请求标志收中断的中断请求标志TITI和和RIRI,格式如下:,格式如下:各标志位的功能:各标志位的功能: (1 1)TITI发送中断请求标志位。串口每发送发送中断请求标志位。串口每发送完一帧串行数据后,硬件自动置完一帧串行数据后,硬件自动置“1”TI1”TI。必。必须在中断服务程序中用软件对须在中断服务程序中用软件对TITI标志清标志清“0”0”。(2 2)RIRI接收中断请求标志位。串接收中断请求标志位。串口接收完一个数据帧,硬件自动置口接收完一个数据帧,硬件自动置“1”RI1”RI标志。必须在中断服务程序标志。必须在中断服务程序中用软件对中用软件对RIRI标志清标志清
12、“0”0”。二、中断允许控制二、中断允许控制 中断允许控制寄存器中断允许控制寄存器IEIE CPU CPU对中断源的开放或屏蔽,由片内对中断源的开放或屏蔽,由片内的中断允许寄存器的中断允许寄存器IEIE控制(两级控制)。控制(两级控制)。字节地址为字节地址为A8HA8H,可位寻址。格式如下:,可位寻址。格式如下:IEIE中各位的功能如下:中各位的功能如下:(1 1)中断允许总控制位中断允许总控制位EAEA(IE.7IE.7位)位): : EA=0 EA=0,所有中断请求被屏蔽。,所有中断请求被屏蔽。 EA=1EA=1,CPUCPU开放中断,但五个中断开放中断,但五个中断源的中断请求是否允许,还
13、要由源的中断请求是否允许,还要由IEIE中的中的5 5个中断请求允许控制位决定。个中断请求允许控制位决定。(2 2)ESES:串行口中断允许位:串行口中断允许位0 0:禁止串行口中断;:禁止串行口中断;1 1:允许串行口中断。:允许串行口中断。(3 3)ET1ET1:定时器:定时器/ /计数器计数器T1T1的溢出的溢出中断允许位中断允许位0 0:禁止:禁止T1T1溢出中断;溢出中断;1 1:允许:允许T1T1溢出中断。溢出中断。(4 4)EX1EX1:外部中断:外部中断1 1中断允许位中断允许位0 0:禁止外部中断:禁止外部中断1 1中断;中断;1 1:允许外部中断:允许外部中断1 1中断。中
14、断。(5 5)ET0ET0:定时器:定时器/ /计数器计数器T0T0的溢出中断允许位的溢出中断允许位0 0:禁止:禁止T0T0溢出中断;溢出中断;1 1:允许:允许T0T0溢出中断。溢出中断。(6 6)EX0EX0:外部中断:外部中断0 0中断允许位。中断允许位。0 0:禁止外部中断:禁止外部中断0 0中断;中断;1 1:允许外部中断:允许外部中断0 0中断。中断。 MCS-51 MCS-51复位后,复位后,IEIE清清0 0,所有,所有中断请求被禁止。中断请求被禁止。 若使某一个中断源被允许中断,若使某一个中断源被允许中断,除了除了IEIE相应的位的被置相应的位的被置“1” 1” ,还还必须
15、使必须使EAEA位位=1=1。 改变改变IEIE的内容,可由位操作指的内容,可由位操作指令来实现,即:令来实现,即: SETB bitSETB bit; CLR bitCLR bit。例例例6-1 6-1 若允许片内若允许片内2 2个定时器个定时器/ /计数器中计数器中断,禁止其它中断源的中断请求。编写断,禁止其它中断源的中断请求。编写设置设置IEIE的相应程序段。的相应程序段。(1 1)用)用位操作位操作指令来编写如下程序段:指令来编写如下程序段:CLR ES CLR ES ;禁止串行口中断;禁止串行口中断 CLR EX1 CLR EX1 ;禁止外部中断;禁止外部中断1 1中断中断CLR E
16、X0CLR EX0;禁止外部中断;禁止外部中断0 0中断中断SETB ET0 SETB ET0 ;允许;允许T0T0中断中断SETB ET1 SETB ET1 ;允许中断;允许中断SETB EA SETB EA ;CPUCPU开中断开中断(2 2)用字节操作指令来编写:)用字节操作指令来编写: MOV IEMOV IE,#8AH#8AH或者用:或者用: MOV 0A8HMOV 0A8H,#8AH #8AH ;A8HA8H为为IEIE寄存器寄存器字节地址字节地址三、中断优先级寄存器三、中断优先级寄存器IPIP两个中断两个中断优先级优先级,可实现,可实现两级中断两级中断嵌套嵌套。如图所示:如图所示: 每个中断源的中断优先级都是每个中断源的中断优先级都是由中断优先级寄存器由中断优先级寄存器IPIP中的相应位中的相应位的状态来控制的。的状态来控制的。中断优先级寄存器中断优先级寄存器IPIP,其字节地址,其字节地址为为B8HB8H。IPIP各个位的含义:各个位的含义: (1 1)PSPS串行口中断优先级串行口中断优先级控制位控制位1 1:高优先级中断;:高优先级中断;0 0:低优先级中断。:低优