第5章_89C51的中断系统.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第5章_89C51的中断系统.ppt》由会员分享,可在线阅读,更多相关《第5章_89C51的中断系统.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 中断的基本概念中断的基本概念 8 89C519C51中断源中断源 中断控制寄存器中断控制寄存器 中断处理过程中断处理过程 中断优先控制和中断嵌套中断优先控制和中断嵌套 中断系统的应用中断系统的应用第第5 5章章 89C5189C51的中断系统的中断系统 5.1 5.1 中断的概念中断的概念 CPU CPU正在执行程序时,单片机外部或内部发生的某一正在执行程序时,单片机外部或内部发生的某一事件事件,请,请 求求CPUCPU迅速去处理。迅速去处理。CPUCPU暂时中止当前的工作,暂时中止当前的工作,转到中断服务处理程序处理所发生的事件。处理完该事转到中断服务处理程序处理所发生的事件。处理完该事件
2、后,再回到原来被中止的地方,继续原来的工作,这件后,再回到原来被中止的地方,继续原来的工作,这称为称为中断中断。CPU CPU处理事件的过程,称为处理事件的过程,称为CPUCPU的的中断响应过程。中断响应过程。图图5-15-1所示。对事件所示。对事件的整个处理过程,称的整个处理过程,称为为中断处理中断处理(或中断或中断服务服务)。)。能够实现中断处理功能的部件称为能够实现中断处理功能的部件称为中断系统中断系统;产生;产生中断的请求源称为中断的请求源称为中断请求源中断请求源。中断源向中断源向CPUCPU提出的提出的处理请求,称为处理请求,称为中断请求中断请求(或中断申请或中断申请)。进入中断进入
3、中断保护现场保护现场中断处理恢复现场中断处理恢复现场 中断返回中断返回 为什么要设置中断?为什么要设置中断?提高提高CPUCPU工作效率工作效率 具有实时处理功能具有实时处理功能 具有故障处理功能具有故障处理功能 实现分时操作实现分时操作中断功能强弱是计算机性能优劣的重要标志中断功能强弱是计算机性能优劣的重要标志中断源中断源 中断申请中断申请开放中断开放中断保护现场保护现场中断服务中断服务恢复现场恢复现场中断返回中断返回中断涉及的几个环节5.2 5.2 89C5189C51中断系统的结构中断系统的结构有有5 5个中断请求源,两个中断优先级,可两级嵌套。个中断请求源,两个中断优先级,可两级嵌套。
4、中断系统结构示意图中断系统结构示意图如如图图5-25-2所示。所示。图图5-5-2 2P22P22表表2-32-3P19P19图图2-32-3 INT0INT0:外部中断外部中断0 0,中断请求信号由,中断请求信号由P3.2P3.2输入。输入。INT1INT1:外部中断外部中断1 1,中断请求信号由,中断请求信号由P3.3P3.3输入。输入。T0T0:定时定时/计数器计数器0 0溢出中断溢出中断,对外部脉冲计数由,对外部脉冲计数由P3.4P3.4输入。输入。T1T1:定时定时/计数器计数器1 1溢出中断溢出中断,对外部脉冲计数由,对外部脉冲计数由P3.5P3.5输入。输入。串行中断串行中断:包
5、括包括串行接收中断串行接收中断RIRI和和串行发送中断串行发送中断TITI。中断源是指能发出中断请求,引起中断的装置或事件。中断源是指能发出中断请求,引起中断的装置或事件。8 89C519C51单片机的中断源共有单片机的中断源共有5 5个,其中个,其中2 2个为外部中断源,个为外部中断源,3 3个为内部中断源:个为内部中断源:5.3 5.3 中断请求源中断请求源 中断请求:定时和外中断控制寄存器中断请求:定时和外中断控制寄存器TCONTCON;串行控制寄存器串行控制寄存器SCONSCON;中断允许控制寄存器中断允许控制寄存器IEIE;中断优先级控制寄存器中断优先级控制寄存器IPIP。中断控制寄
6、存器中断控制寄存器 8 89C519C51单片机中涉及中断控制的有单片机中涉及中断控制的有3 3个方面个方面,4 4个特殊功能寄存器个特殊功能寄存器:INT0INT0、INT1INT1、T0T0、T1T1中断请求标志放在中断请求标志放在TCONTCON中中串行中断请求标志放在串行中断请求标志放在SCONSCON中。中。中断请求控制寄存器中断请求控制寄存器 字节地址为字节地址为8888H HTCONTCOND7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0位名称位名称TF1TF1TF0TF0IE1IE1IT1IT1IE0IE0IT0IT0位地址位地址8 8FHFH8 8EHEH8
7、8DHDH8 8CHCH8 8BHBH8 8AHAH8989H H8888H H功能功能 T1 T1 中断请中断请求标志求标志T0T0中断请中断请求标志求标志 中断请中断请求标志求标志 触发触发方式方式 中断请中断请求标志求标志触发触发方式方式TCONTCON的结构、位名称、位地址和功能如下:的结构、位名称、位地址和功能如下:TCONTCON位功能位功能:TF1 TF1 T1T1溢出中断请求标志溢出中断请求标志 T1T1计数溢出后,计数溢出后,TF1=1TF1=1 TF0TF0 T0T0溢出中断请求标志溢出中断请求标志 T0T0计数溢出后,计数溢出后,TF0=1TF0=1TF0/TF1TF0/
8、TF1:定时器溢出中断申请标志位:定时器溢出中断申请标志位:=0 =0:定时器未溢出;:定时器未溢出;=1 =1:定时器溢出申请中断:定时器溢出申请中断,进中断后进中断后自动清零。自动清零。IE1IE1 外中断中断请求标志外中断中断请求标志 当当P3.3P3.3引脚信号有效时,引脚信号有效时,IE1=1IE1=1 IE0IE0 外中断中断请求标志外中断中断请求标志 当当P3.2P3.2引脚信号有效时,引脚信号有效时,IE0=1IE0=1IE0/IE1IE0/IE1:外部中断申请标志位:外部中断申请标志位:=0 =0:没有外部中断申请;:没有外部中断申请;=1 =1:有外部中断申请。:有外部中断
9、申请。CPUCPU响响应中断应中断 IT1IT1 外中断触发方式控制位外中断触发方式控制位 IT1=1IT1=1,边沿触发方式,即边沿触发方式,即P3.3P3.3出现出现下下跳边跳边 脉冲有效;脉冲有效;IT1=0IT1=0,电平触发方式。电平触发方式。IT0IT0 外中断触发方式控制位外中断触发方式控制位 其意义和功能与其意义和功能与IT1IT1相似。相似。IT0/IT1IT0/IT1:外部中断请求的触发方式选择位:外部中断请求的触发方式选择位:=0 =0:在:在INT0/INT1INT0/INT1端申请中断的信号低电平有效端申请中断的信号低电平有效;=1 =1:在:在INT0/INT1IN
10、T0/INT1端申请中断的信号负跳变有效端申请中断的信号负跳变有效.当当89C5189C51复位后复位后,TCONTCON被清被清0 0,则,则CPUCPU关中断,关中断,所有中断请求被所有中断请求被禁止。禁止。脉冲触发方式脉冲触发方式串行控制寄存器串行控制寄存器SCONSCON字节地址为字节地址为9898H H。串行口的。串行口的发送中断发送中断和和接收中断接收中断的中的中断请求标志断请求标志TITI和和RIRI,SCONSCOND7D7 D6D6 D5D5D4D4 D3D3 D2D2D1D1D0D0位名称位名称 TITIRIRI位地址位地址 9999H H9898H H功能功能 串行发送串
11、行发送中断标志中断标志串行接收串行接收中断标志中断标志 TITI 串行口发送中断请求标志串行口发送中断请求标志 RIRI 串行口接收中断请求标志串行口接收中断请求标志 各标志位的功能:各标志位的功能:(1 1)TITI发送中断请求标志位。串口每发送完一帧串行发送中断请求标志位。串口每发送完一帧串行数据后,硬件自动置数据后,硬件自动置“1 1”TITI。必须在中断服务程序中必须在中断服务程序中用用软件软件对对TITI标志清标志清“0 0”。(2 2)RIRI接收中断请求标志位。串口接收完一个数据帧,接收中断请求标志位。串口接收完一个数据帧,硬件自动置硬件自动置“1 1”RIRI标志。标志。必须在
12、中断服务程序中用必须在中断服务程序中用软软件件对对RIRI标志清标志清“0 0”。8080C51C51对中断源的开放或关闭由中断允许控对中断源的开放或关闭由中断允许控制寄存器制寄存器IEIE控制。控制。字节地址字节地址A8HA8H,可位寻址可位寻址IEIE的的结构、位名称和位地址如下:结构、位名称和位地址如下:5.4 5.4 中断控制中断控制5.4.1 5.4.1 中断允许控制寄存器中断允许控制寄存器IEIEIEIED7D7D6D6 D5D5D4D4D3D3D2D2D1D1D0D0位名称位名称EAEA ESESET1ET1EX1EX1ET0ET0EX0EX0位地址位地址AFHAFH ACHAC
13、HABHABHAAHAAHA9HA9HA8HA8H中断源中断源CPUCPU 串行串行口口T1T1T0T0 EAEA CPUCPU中断允许控制位中断允许控制位(总开关)总开关)EA=1EA=1,CPUCPU开中;开中;EA=0EA=0,CPUCPU关中,且屏蔽所有关中,且屏蔽所有5 5个中断源。个中断源。EX0EX0 外中断外中断INT0INT0中断允许控制位中断允许控制位 EX0=1EX0=1,INT0INT0开中;开中;EX0=0EX0=0,INT0INT0关中。关中。EX1EX1 外中断外中断INT1INT1中断允许控制位中断允许控制位 EX1=1EX1=1,INT1INT1开中;开中;E
14、X1=0EX1=0,INT1INT1关中。关中。ET0ET0 定时定时/计数器计数器T0T0中断允许控制位中断允许控制位 ET0=1ET0=1,T0T0开中;开中;ET0=0ET0=0,T0T0关中。关中。ET1ET1 定时定时/计数器计数器T1T1中断允许控制位中断允许控制位 ET1=1ET1=1,T1T1开中;开中;ET1=0ET1=0,T1T1关中。关中。ESES 串行口中断串行口中断(包括串发、串收包括串发、串收)允许控制位允许控制位 ES=1ES=1,串行口开中;串行口开中;ES=0ES=0,串行口关中。串行口关中。说明说明:8 89C519C51对中断实行对中断实行两级两级控制,控
15、制,总控制位是总控制位是EAEA,每每一中断源还有各自的控制位。一中断源还有各自的控制位。首先首先要要EA=1EA=1,其次其次还要还要自身的控制位置自身的控制位置“1 1”。例如例如:要使要使INT0INT0开中开中(其余关中其余关中),可执行下列指令:,可执行下列指令:MOV IEMOV IE,#1000000lB#1000000lB;或者:或者:SETB EA SETB EA ;SETB EX0 SETB EX0 ;IEIED7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0位名称位名称EAEAESESET1ET1EX1EX1ET0ET0EX0EX0位地址位地址AFHAFHA
16、CHACHABHABHAAHAAHA9HA9HA8HA8H中断源中断源CPUCPU串行串行口口T1T1T0T0中断允许控制寄存器中断允许控制寄存器IEIE改变改变IEIE的内容,可由位操作指令来实现,即:的内容,可由位操作指令来实现,即:SETB bitSETB bit;CLR bit CLR bit。例例5-15-1 若若允允许许片片内内2 2个个定定时时器器/计计数数器器中中断断,禁禁止止其其它它中中断源的中断请求。编写设置断源的中断请求。编写设置IEIE的相应程序段的相应程序段(1 1)用位操作指令来编写如下程序段)用位操作指令来编写如下程序段:CLR ES CLR ES ;禁止串行口中
17、断;禁止串行口中断 CLR EX1 CLR EX1 ;禁止外部中断禁止外部中断1 1中断中断CLR EX0CLR EX0;禁止外部中断禁止外部中断0 0中断中断 SETB ET0 SETB ET0 ;允许定时器允许定时器/计数器计数器T0T0中断中断 SETB ET1 SETB ET1 ;允许定时器允许定时器/计数器计数器T1T1中断中断 SETB EA SETB EA ;CPUCPU开中断开中断(2 2)用字节操作指令来编写)用字节操作指令来编写:MOV IEMOV IE,#8AH ;#8AH ;1 10000001 10 01 10B0B或者用:或者用:MOV 0A8HMOV 0A8H,#
18、8AH#8AH ;A8HA8H为为IEIE寄存器字节地址寄存器字节地址IEIED7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0位名称位名称EAEAESESET1ET1EX1EX1ET0ET0EX0EX0位地址位地址AFHAFHACHACHABHABHAAHAAHA9HA9HA8HA8H中断源中断源CPUCPU串行串行口口T1T1T0T05.4.2 5.4.2 中断优先级控制寄存器中断优先级控制寄存器IPIP 89C51 89C51有有5 5个中断源,划分为个中断源,划分为2 2个中断优先级:个中断优先级:高优先级高优先级和低优先级和低优先级。8 89C519C51中断优先控制的
19、基本原则:中断优先控制的基本原则:高优先级中断高优先级中断可以中断可以中断正在响应的低优先级中断,反之则不能。正在响应的低优先级中断,反之则不能。同优先级中断同优先级中断不能互相中断不能互相中断。同一中断优先级中,若有多个中断源同时请求中断,同一中断优先级中,若有多个中断源同时请求中断,CPUCPU将将先响先响应应优先权高的中断,优先权高的中断,后响应后响应优先权低的中断。优先权低的中断。中断嵌套结构类似于中断嵌套结构类似于调用子程序嵌套,调用子程序嵌套,不同不同的是的是:子程序嵌套是在程序子程序嵌套是在程序中事先按排好的;中断中事先按排好的;中断嵌套是嵌套是随机随机发生的。发生的。子程序嵌套
20、无次序限子程序嵌套无次序限制,中断嵌套只允许高制,中断嵌套只允许高优先级优先级“中断中断”低优先低优先级。级。PX0PX0 :INT0INT0中断优先级控制位。中断优先级控制位。PX0=1PX0=1,为为高高优先级;优先级;PX0=0PX0=0,为为低低优先级;优先级;PX1PX1 :INT1INT1中断优先级控制位。控制方法同上。中断优先级控制位。控制方法同上。PT0PT0 :T0T0中断优先级控制位。控制方法同上。中断优先级控制位。控制方法同上。PT1PT1 :T1T1中断优先级控制位。控制方法同上。中断优先级控制位。控制方法同上。PS PS:串行口中断优先级控制位。控制方法同上。串行口中
21、断优先级控制位。控制方法同上。IPIPD7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0位名称位名称PSPSPT1PT1PX1PX1PT0PT0PX0PX0位地址位地址BCHBCHBBHBBHBAHBAHB9HB9HB8HB8H中断源中断源串行口串行口T1T1INT1INT1T0T0INT0INT0IPIP的结构、位名称和位地址如下:的结构、位名称和位地址如下:例如例如:若要将若要将INT1INT1、串行口设置为高优先级,其余中串行口设置为高优先级,其余中断源设置为低优先级,可执行下列指令:断源设置为低优先级,可执行下列指令:MOV IPMOV IP,#00010100B#000
22、10100B;需要指出的是,若置需要指出的是,若置5 5个中断源全部为高优先级,就个中断源全部为高优先级,就等于不分优先级。等于不分优先级。IEIED7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0位名称位名称PSPSPT1PT1PX1PX1PT0PT0PX0PX0位地址位地址BCHBCHBBHBBHBAHBAHB9HB9HB8HB8H中断源中断源串行口串行口T1T1INT1INT1T0T0INT0INT0中断优先级控制寄存器中断优先级控制寄存器IPIP由软件可改变各中断源的中断优先级。由软件可改变各中断源的中断优先级。89C5189C51的中断系统的中断系统有有两个两个不可寻址
23、的不可寻址的“优先级激活触发器优先级激活触发器”:一个一个用来指示某高优先级的中断正在执行,所有后来的中断均用来指示某高优先级的中断正在执行,所有后来的中断均被阻止。被阻止。另一个另一个用来指示某低优先级的中断正在执行,所有同级中断都用来指示某低优先级的中断正在执行,所有同级中断都被阻止,但不阻断高优先级的中断请求。被阻止,但不阻断高优先级的中断请求。在同时收到在同时收到几个同一优先级的中断请求几个同一优先级的中断请求时,时,优先响应哪一个中优先响应哪一个中断,取决于断,取决于内部的查询顺序内部的查询顺序。查询顺序查询顺序如如表表5-15-1:表表5-15-1 中断查询次序中断查询次序 中断源
24、中断源 中断级别中断级别外部中断外部中断0 0最高最高T0T0溢出中断溢出中断外部中断外部中断1 1T1T1溢出中断溢出中断串行口中断串行口中断最低最低5.5 5.5 响应中断请求的条件响应中断请求的条件 一个中断请求被响应,需满足以下必要条件:一个中断请求被响应,需满足以下必要条件:(1 1)IEIE寄存器中的中断总允许位寄存器中的中断总允许位EA=1EA=1。(2 2)该中断源发出中断请求,即该中断源对应的该中断源发出中断请求,即该中断源对应的中中 断请求标志为断请求标志为“1 1”。(3 3)该中断源的)该中断源的中断允许位中断允许位=1=1,即该中断没有被屏蔽。,即该中断没有被屏蔽。(
25、4 4)无同级或更高级中断正在被服务。)无同级或更高级中断正在被服务。中断响应的主要过程:中断响应的主要过程:首先由硬件自动生成一条长调用指令首先由硬件自动生成一条长调用指令:LCALL addr16LCALL addr16接着就由接着就由CPUCPU执行该指令执行该指令,将将PCPC的内容压入堆栈以保护断点的内容压入堆栈以保护断点,再,再将将中断入口地址装入中断入口地址装入PCPC。各中断源服务程序的各中断源服务程序的入口地址固定入口地址固定,如如表表5-25-2所示:所示:(P22,(P22,表表2-3)2-3)表表5-25-2 中断查询次序中断查询次序 中断源中断源 入口地址入口地址 外
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- _89C51 中断 系统
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内