单片机中断服务教材ppt课件_第1页
单片机中断服务教材ppt课件_第2页
单片机中断服务教材ppt课件_第3页
单片机中断服务教材ppt课件_第4页
单片机中断服务教材ppt课件_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第五章第五章 中断系统中断系统硅谷芯微硅谷芯微 技术奉献技术奉献threeway.cc本章重点:本章重点: 中断的任务原理中断的任务原理 中断如何配置中断如何配置 中断效力程序书写格式中断效力程序书写格式 中断是指在计算机执行过程中,当出现某种情况,如发生紧急事件或者其他突发事件时,由效力器对象向CPU发出中断恳求信号,要求CPU暂时中断当前程序的执行,而转去执行相应的处置程序,待处置程序执行终了后,再前往来继续执行原来被中断的程序。 5.1 5.1 单片机的输入单片机的输入/ /输出方式输出方式 在单片机中,在单片机中,CPUCPU与外设不断地进展信息的传输,通常有与外设不断地进展信息的传输

2、,通常有三种方式:三种方式:5.1.1 5.1.1 程序控制方式程序控制方式 信息传送过程是在程序控制下进展。可以分为以下两种信息传送过程是在程序控制下进展。可以分为以下两种方式。方式。 无条件传送方式:当外设已预备就绪,那就不用查询外无条件传送方式:当外设已预备就绪,那就不用查询外设的形状而进展信息传输,称为无条件传送方式。设的形状而进展信息传输,称为无条件传送方式。 此种信息传送方式只适用于简单的外设。如开关和数码此种信息传送方式只适用于简单的外设。如开关和数码段显示器等。段显示器等。 条件查询传送方式:条件查询传送方式:CPUCPU经过执行程序不断读取并测试经过执行程序不断读取并测试外部

3、设备形状,假设输入设备处于预备好形状或输出设备为外部设备形状,假设输入设备处于预备好形状或输出设备为空闲形状时,那么空闲形状时,那么CPUCPU执行传送信息指令。执行传送信息指令。 由于条件传送方式是由于条件传送方式是CPUCPU在不断查询外部设备的当前形在不断查询外部设备的当前形状后才进展信息传送,所以也称为状后才进展信息传送,所以也称为“查询式传送。查询式传送。5.1.2 5.1.2 中断方式中断方式 外部设备与外部设备与CPUCPU之间以中断信号作为数据交换的控制信之间以中断信号作为数据交换的控制信号。当外部设备需求与号。当外部设备需求与CPUCPU进展数据交换时,由接口部件向进展数据交

4、换时,由接口部件向CPUCPU发出一个恳求信号,发出一个恳求信号,CPUCPU呼应这一中断恳求后,便可在中呼应这一中断恳求后,便可在中断效力程序中完成一个字节或一个字的信息交换。断效力程序中完成一个字节或一个字的信息交换。 中断控制方式普通用低速外部设备与中断控制方式普通用低速外部设备与CPUCPU之间的信息交之间的信息交换。换。 中断控制方式每操作一次,中断控制方式每操作一次,CPUCPU要打断原来执行的程去要打断原来执行的程去执行一段中断效力程序,对速度较高的外部设备将会产生信执行一段中断效力程序,对速度较高的外部设备将会产生信息丧失,因此不能采用。息丧失,因此不能采用。5.1.3 DMA

5、5.1.3 DMA方式方式 DMA DMA控制方式主要用于存储器和外设之间直接传送。普通是数据块为控制方式主要用于存储器和外设之间直接传送。普通是数据块为单位传送数据的方式。当某一外部设备需求输入单位传送数据的方式。当某一外部设备需求输入/ /输出一批数据时,向输出一批数据时,向DMADMA控制器发出恳求,控制器发出恳求,DMADMA控制器接纳到这一恳求后,向控制器接纳到这一恳求后,向CPUCPU发出总线恳求信号。发出总线恳求信号。 CPU CPU呼应呼应DMADMA的恳求,把总线运用权赋给的恳求,把总线运用权赋给DMADMA控制器,外设利用控制器,外设利用DMADMA通道通道直接将数据写入存

6、储器或将数据从存储器中读出,传送过程不需求直接将数据写入存储器或将数据从存储器中读出,传送过程不需求CPUCPU参参与。与。 当这批数据传送后,当这批数据传送后,DMADMA控制器再向控制器再向CPUCPU发出发出“终了中断恳求,终了中断恳求,CPUCPU呼应这一中断恳求呼应这一中断恳求, ,即可收回总线运用权。即可收回总线运用权。 采用采用DMADMA控制方式,控制方式,CPUCPU只需在数据传送终了时呼应一次中断,减轻了只需在数据传送终了时呼应一次中断,减轻了CPUCPU的负担,系统的速度会大大添加。的负担,系统的速度会大大添加。5.2 5.2 中断的根本概念中断的根本概念 通常将通常将C

7、PUCPU在正常情况下运转的程序称为在正常情况下运转的程序称为“主程序,把引起中断主程序,把引起中断的设备或事件叫做的设备或事件叫做“中断源,由中断源向中断源,由中断源向CPUCPU发出的恳求中断信号称发出的恳求中断信号称为为“中断恳求信号,中断恳求信号,CPUCPU接纳中断恳求终止现行程序称而转去为效力接纳中断恳求终止现行程序称而转去为效力对象效力称为对象效力称为“中断呼应,为对象效力的程序称为为中断呼应,为对象效力的程序称为为“中断效力程中断效力程序也称中断处置程序;现行程序中断的地方称为序也称中断处置程序;现行程序中断的地方称为“断点,为断点,为中断效力程序效力终了后前往原来的程序称为中

8、断效力程序效力终了后前往原来的程序称为“中断前往,整个过中断前往,整个过程成为程成为“中断。对比一个生活中看书的例子协助我们加深了解中断中断。对比一个生活中看书的例子协助我们加深了解中断的过程。的过程。MSC-51MSC-51单片机中断构造如图:单片机中断构造如图:5.2.1 MSC-515.2.1 MSC-51单片机中断源:单片机中断源: 对对MCS-51MCS-51单片机的中断系统用一句话讲叫:单片机的中断系统用一句话讲叫:“五源中五源中断,两级管断,两级管理理5 5个中断源的符号、称号及产生的条件如下:个中断源的符号、称号及产生的条件如下: INT0 INT0:外部中断:外部中断0 0,

9、由,由P3P32 2端口线引入,低电平或端口线引入,低电平或下跳沿引起。下跳沿引起。 INT1 INT1:外部中断:外部中断1 1,由,由P3P33 3端口线引入,低电平或端口线引入,低电平或下跳沿引起。下跳沿引起。 T0 T0:定时器计数器:定时器计数器0 0中断,由中断,由T0T0计满回零引起。计满回零引起。 T1 T1:定时器计数器:定时器计数器l l中断,由中断,由T1T1计满回零引起。计满回零引起。 TI TIRIRI:串行:串行I IO O中断,串行端口完成一帧字符发中断,串行端口完成一帧字符发送接纳后送接纳后引起。引起。 由上图可见,外部中断有下跳沿引起和低电平引起的选择;串行中

10、断有发送(TI)相接纳(R1)的区别;各个中断源翻开与否,受中断本身的允许位和总允许位的控制,并具有高优先级和低优先级的选择。5.2.2 5.2.2 中断控制存放器中断控制存放器 TCONTCON为定时器为定时器/ /计数器计数器T0T0和和T1T1的控制器,同时也锁存的控制器,同时也锁存T0T0和和T1T1的溢出的溢出中断标志及外部中断中断标志及外部中断0 0和和1 1的中断标志以及触发方式控制位。的中断标志以及触发方式控制位。如表:如表:IE1IE1:外部中断:外部中断1 (P3.3)1 (P3.3)的中断恳求标志。的中断恳求标志。 当检测到外部中断引脚当检测到外部中断引脚1 1 上存在有

11、效的中断恳求信号时上存在有效的中断恳求信号时, ,由硬件使由硬件使IE1IE1置置1 1。当当CPUCPU呼应中断恳求时呼应中断恳求时, ,由硬件使由硬件使IE1IE1清清0 0。 IE0IE0:外部中断:外部中断0 (P3.2)0 (P3.2)的中断恳求标志的中断恳求标志, ,其含义与其含义与IE1IE1类同。类同。 IT1IT1:外部中断:外部中断1 1的中断触发方式控制位。的中断触发方式控制位。 IT1=0IT1=0时,外部中断时,外部中断1 1程控为电平触发方式。程控为电平触发方式。 CPUCPU在每一个机器周期在每一个机器周期S5P2S5P2期间采样外部中断恳求引脚的输入电平。假设期

12、间采样外部中断恳求引脚的输入电平。假设外部中断外部中断1 1恳求为低电平,那么使恳求为低电平,那么使IE1IE1置置1 1;假设为高电平,那么使;假设为高电平,那么使IE1IE1清清0 0。 IT1=1IT1=1时,外部中断时,外部中断1 1程控为边沿触发方式。程控为边沿触发方式。 CPUCPU在每一个机器周期在每一个机器周期S5P2S5P2期间采样外部中断恳求引脚的输入电平。假设期间采样外部中断恳求引脚的输入电平。假设在相继的两个机器周期采样过程中,一个机器周期采样到外部中断在相继的两个机器周期采样过程中,一个机器周期采样到外部中断1 1恳求引脚恳求引脚为高电平,接着的下一个机器周期采样到为

13、低电平,那么使为高电平,接着的下一个机器周期采样到为低电平,那么使IE1IE1置置1 1。直到。直到CPUCPU呼应该中断时,才由硬件使呼应该中断时,才由硬件使IE1IE1清清0 0。 IT0IT0:外部中断:外部中断0 0的中断触发方式控制位。其含义与的中断触发方式控制位。其含义与IT1IT1类同。类同。中断允许存放器IE各控制位的含义:EA中断允许总控制位。 EA=0,屏蔽一切的中断恳求;EA=1,CPU开放中断。 对各中断源的中断恳求能否允许,还要取决于各中断源的中断允许控制位的形状。ES串行口中断允许位。 ES=0,制止串行口中断;ES=1,允许串行口中断。ET1定时器/计数器T1的溢

14、出中断允许位。 ET1=0,制止T1中断;ET1=1,允许T1中断。EX1外部中断1的溢出中断允许位。 EX1=0,制止外部中断1中断;EX1=1,允许外部中断1中断。ET0定时器/计数器T0的溢出中断允许位。 ET0=0,制止T0中断; ET0=1,允许T0中断。EX0外部中断0的溢出中断允许位。EX0=0,制止外部中断0中断;EX0=1,允许外部中断0中断。5.2.3 5.2.3 中断允许存放器中断允许存放器5.2.35.2.3中断优先级存放器中断优先级存放器IP IP 如表如表中断优先级存放器IP各控制位的含义:PS串行口中断优先级控制位PT1定时器/计数器T1中断优先级控制位PX1外部

15、中断1中断优先级控制位PT0定时器/计数器T0中断优先级控制位PX0外部中断0中断优先级控制位 假设某控制位为1,那么相应的中断源规定为高级中断;反之,为0,那么相应的中断源规定为低级中断。每个中断恳求源均可编程为高优先级中断或低优先级中断。优先级又分为: 逻辑优先级 物理优先级 INT0最高 可以中断嵌套,最多两级 T0 INT1 T1 UART 最低5.3.1 5.3.1 中断呼应中断呼应 从中断恳求发生直到被呼应,预备去执行中断效力程序,此过从中断恳求发生直到被呼应,预备去执行中断效力程序,此过程即中断呼应过程。程即中断呼应过程。中断呼应过程普通包括如下几个阶段:中断呼应过程普通包括如下

16、几个阶段:1. 1. 中断采样中断采样 中断采样主要是针对外部中断恳求信号进展的。由于内部中断恳中断采样主要是针对外部中断恳求信号进展的。由于内部中断恳求都发生在芯片内求都发生在芯片内部,可以直接查询特殊存放器。在每个机器周期的部,可以直接查询特殊存放器。在每个机器周期的S5P2S5P2期间,各中断期间,各中断标志采样相应的中断源,并置位相应标志。标志采样相应的中断源,并置位相应标志。2. 2. 中断查询中断查询查询到某中断标志为查询到某中断标志为1 1,那么按优先级的高低进展处置,即呼应中断。,那么按优先级的高低进展处置,即呼应中断。 由于中断恳求是随机发生的,由于中断恳求是随机发生的,CP

17、UCPU无法预先得知,因此中断查询要无法预先得知,因此中断查询要在指令执行的每个机器周期中不停地反复执行。在指令执行的每个机器周期中不停地反复执行。5.3 5.3 中断整个流程中断整个流程 在在MCS-51MCS-51内部,系统要先对中断源进展采样,然后才内部,系统要先对中断源进展采样,然后才进展呼应。在每个机器周期的进展呼应。在每个机器周期的S5P2S5P2中顺序采样中断源。在中顺序采样中断源。在下一个周期的下一个周期的S6S6按优先级顺序查询中断标志按优先级顺序查询中断标志; ;假设中断标志假设中断标志为为1 1,在接下来的机器周期,在接下来的机器周期S1S1期间按优先级进展中断处置。期间

18、按优先级进展中断处置。 从中断恳求发生直到被呼应去执行中断效力程序从中断恳求发生直到被呼应去执行中断效力程序, ,整个整个过程均在过程均在CPUCPU的控制下有规律的进展。整个过程普通可以分的控制下有规律的进展。整个过程普通可以分为为3 3个阶段:中断呼应、中断处置、中断前往。个阶段:中断呼应、中断处置、中断前往。3.中断呼应 呼应中断后,由硬件自动生生长调用指令“LCALL,其格式为LCALL addr16,而addr16就是各中断源的中断矢量地址。如表所示:呼应中段过程普通有两部分构成: 首先将程序计数器PC的内容即断点地址压入堆栈。先低位地址,后高位地址,同时堆栈指针SP加2。 其次将对

19、应中断源的中断矢量地址装入程序计数器PC,去执行中断效力程序。中断呼应是有条件的,包含以下方面: 1.中断源有中断恳求 2.中断总允许位EA=1。 3.发出中断恳求的中断源的中断允许控制位为1。 在满足以上条件的根底上,假设有以下任何一种情况存在,硬件生成的长调用指令“LCALL将被封锁。 1.CPU正在执行一个同级或高优先级的中断效力程序。 2.正在执行的指令尚未执行完。 3.正在执行中断前往指令RETI或者对存放器IE、IP进展读/写的指令。CPU在执行完上述指令之后,要再执行一条指令,才干呼应中断恳求。 对于实时性要求高的系统,还应该思索中断呼应的时间。 留意:中断效力程序的放置。各中断

20、矢量区仅8个字节。通常是在中断矢量区中安排一条无条件转移指令,使程序执行转向在其它地址中存放的中断效力程序。5.3.2 5.3.2 中断处置中断处置 当当CPUCPU呼应中断时,将进展中断处置。呼应中断时,将进展中断处置。 首先:由硬件直接产生一个固定的地址,即矢量地址。由矢量地首先:由硬件直接产生一个固定的地址,即矢量地址。由矢量地址指出每个中断源设备的中断效力程序的入口。此种方法通常称为矢址指出每个中断源设备的中断效力程序的入口。此种方法通常称为矢量中断。量中断。 其次:执行中断效力程序。当其次:执行中断效力程序。当CPUCPU识别出某个中断源时,由硬件识别出某个中断源时,由硬件直接给出一

21、个与该中断源相对应的矢量地址,从而转入各自中断效力直接给出一个与该中断源相对应的矢量地址,从而转入各自中断效力程序。中断效力程序即程序。中断效力程序即CPUCPU呼应中断后,处置中断源恳求事件的程序。呼应中断后,处置中断源恳求事件的程序。从中断入口地址开场执行,直到前往指令从中断入口地址开场执行,直到前往指令RETIRETI为止。此过程普通为止。此过程普通包括三部分内容:包括三部分内容: 1. 1.是维护现场。是维护现场。 2. 2.是处置中断源的恳求。是处置中断源的恳求。 3. 3.是恢复现场。是恢复现场。 所谓现场是指中断发生时单片微机中存储单元、存放器、特殊功所谓现场是指中断发生时单片微

22、机中存储单元、存放器、特殊功能存放器中的数据或标志位等。例如能存放器中的数据或标志位等。例如A A、B B、RnRn等。等。维护的方法可以有以下几种:维护的方法可以有以下几种: 1. 1.经过堆栈操作指令经过堆栈操作指令PUSH directPUSH direct。 2. 2.经过任务存放器区的切换。经过任务存放器区的切换。 3. 3.经过单片微机内部存储器单元暂存。经过单片微机内部存储器单元暂存。 现场维护普通位于中断效力程序的前面。现场维护普通位于中断效力程序的前面。 在终了中断效力程序在终了中断效力程序前往断点处之前要恢复现场。与维护现场的方法对应,多运用前往断点处之前要恢复现场。与维护

23、现场的方法对应,多运用POP POP 指指令。令。 留意:维护和恢复遵照留意:维护和恢复遵照“从哪里来,回哪里去的原那么。从哪里来,回哪里去的原那么。5.3.3 5.3.3 中断前往中断前往 中断前往是指中断效力完成后,中断前往是指中断效力完成后,CPUCPU前往到原程序的断点,继续前往到原程序的断点,继续执行原来的程序。断前往经过执行中断前往指令执行原来的程序。断前往经过执行中断前往指令RETIRETI来实现,来实现,RETIRETI指令的功能包括两个方面。首先将相应的优先级形状触发器置指令的功能包括两个方面。首先将相应的优先级形状触发器置0 0,以开放同级别中断源的中断恳求;其次,从堆栈区把断点地址取出,以开放同级别中断源的中断恳求;其次,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论