中断系统及其应用.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《中断系统及其应用.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中断 系统 及其 应用
- 资源描述:
-
1、中断系统及其应用本章主要内容本章主要内容v中断基本概念中断基本概念v中断系统结构及中断控制中断系统结构及中断控制v中断处理过程中断处理过程第一节第一节 中断基本概念中断基本概念一、为什么引入中断概念?一、为什么引入中断概念?单片机系统运行时,单片机系统运行时,CPU经常需要与外部输入输出设备交换信经常需要与外部输入输出设备交换信息,但息,但CPU速度比外设速度要快得多,为了解决快速速度比外设速度要快得多,为了解决快速CPU与慢速外与慢速外设间的矛盾,单片机系统中需要广泛采用中断控制方式。设间的矛盾,单片机系统中需要广泛采用中断控制方式。为了满足单片机为了满足单片机CPU与外设交换信息的需要!与
2、外设交换信息的需要!单片机单片机CPU与外设交换信息的方式通常有三种:与外设交换信息的方式通常有三种:v 无条件传送方式无条件传送方式v 查询传送方式查询传送方式v 中断传送方式中断传送方式二、单片机二、单片机CPU与外设交换信息的方式与外设交换信息的方式 无条件传送方式无条件传送方式 无条件传送方式又称无条件传送方式又称同步传送同步传送,此方式下,此方式下,CPU与外设之间与外设之间进行数据传送时,不考虑外设状态,即进行数据传送时,不考虑外设状态,即CPU认为外设在任何条件认为外设在任何条件下都是处于下都是处于“准备好准备好”的状态。因此,这种传送方式下,的状态。因此,这种传送方式下,CPU
3、不不需要了解外设状态信息,只需要在程序中加入访问外设的指令,需要了解外设状态信息,只需要在程序中加入访问外设的指令,就可以实现就可以实现CPU与外设间的数据传送。与外设间的数据传送。该方式简单,但因为不知道外设的状态,导致传送数据时容易该方式简单,但因为不知道外设的状态,导致传送数据时容易出错,而且效率不高,已经很少被使用!出错,而且效率不高,已经很少被使用!查询传送方式查询传送方式 查询传送方式又称查询传送方式又称条件传送方式条件传送方式。CPU在传送数据之前,首先查在传送数据之前,首先查询外部设备是否处于询外部设备是否处于“准备好准备好”的状态。的状态。输入数据时输入数据时,需要知道外设,
4、需要知道外设是否已经把要输入的数据准备好;是否已经把要输入的数据准备好;输出数据时输出数据时,则需要知道外设是否,则需要知道外设是否已经把上一次单片机输出的数据处理完毕。通过查询,确信外设已处已经把上一次单片机输出的数据处理完毕。通过查询,确信外设已处于于“准备好准备好”状态时,状态时,CPU才发出访问外设的命令,实现数据的输入才发出访问外设的命令,实现数据的输入或输出,否则,或输出,否则,CPU就处于查询等待状态。就处于查询等待状态。该方式保证了数据传送的正确性,但需要查询等待过程!该方式保证了数据传送的正确性,但需要查询等待过程!特别是特别是在连续进行数据传送时,由于在连续进行数据传送时,
5、由于CPU的速度比外设快很多,通常,的速度比外设快很多,通常,CPU在完成一次数据传送后,要等待很长的时间,才能进行下一次在完成一次数据传送后,要等待很长的时间,才能进行下一次的传送,在等待过程中,的传送,在等待过程中,CPU不能进行其他的操作,所以效率比较不能进行其他的操作,所以效率比较低。低。因此,又要保证数据传送的正确性,又要提高效率,最有效的途因此,又要保证数据传送的正确性,又要提高效率,最有效的途径就是采用中断传送方式!径就是采用中断传送方式!中断传送方式中断传送方式 CPU启动外设后,外设与启动外设后,外设与CPU并行独立工作,此时,并行独立工作,此时,CPU可以做可以做其他工作,
6、一旦外设需要其他工作,一旦外设需要CPU处理时,由外设向处理时,由外设向CPU提出请求,在满提出请求,在满足一定条件下,足一定条件下,CPU暂时中止当前的工作暂时中止当前的工作(即现在执行的程序),(即现在执行的程序),转转去为外设服务去为外设服务(执行外设服务程序),外设请求服务处理完后,再回(执行外设服务程序),外设请求服务处理完后,再回到原来被中断的地方,到原来被中断的地方,继续原来的工作继续原来的工作(继续执行原来的程序)。(继续执行原来的程序)。那到底什么是那到底什么是中断呢?中断呢?三、中断概念三、中断概念 在单片机中,当在单片机中,当CPU在执行程序时,由单片机内部或外部的原因在
7、执行程序时,由单片机内部或外部的原因引起的随机事件要求引起的随机事件要求CPU暂时停止正在执行的程序,而转向执行一个暂时停止正在执行的程序,而转向执行一个用于处理该随机事件的程序,处理完后又返回被中止的程序断点处继用于处理该随机事件的程序,处理完后又返回被中止的程序断点处继续执行,这一过程就称为续执行,这一过程就称为中断中断。中断流程图中断流程图中断源分类中断源分类四、其他相关概念四、其他相关概念单片机处理中断的单片机处理中断的4个步骤个步骤 中断请求中断请求 中断响应中断响应 中断处理中断处理 中断返回中断返回中断源中断源中断请求中断请求向向CPU发出中断请求的来源,或引起中断的原因。发出中
8、断请求的来源,或引起中断的原因。中断源要求服务的请求。中断源要求服务的请求。一类来自单片机内部,称之为内部中断源;一类来自单片机内部,称之为内部中断源;一类来自单片机外部,称之为外部中断源。一类来自单片机外部,称之为外部中断源。例:生活中的例:生活中的“中断中断”。某人某人CPU电话铃响了电话铃响了中断源中断源某人某人“看报看报”正常运行的程正常运行的程序序去接电话去接电话响应中断响应中断与朋友聊天与朋友聊天中断服务程序中断服务程序某人继续看报某人继续看报退出中断服务退出中断服务程序,继续运行正常的程序。程序,继续运行正常的程序。五、中断的一般功能五、中断的一般功能中断系统的功能一般包括以下几
9、点:中断系统的功能一般包括以下几点:实现中断优先级排队实现中断优先级排队 实现中断嵌套实现中断嵌套 自动中断响应自动中断响应 实现中断及返回实现中断及返回 实现中断撤除实现中断撤除 分时操作,提高分时操作,提高CPU的工作效率的工作效率 实时处理,提高实时数据的处理时效实时处理,提高实时数据的处理时效 实现中断优先级排队实现中断优先级排队 通常,单片机中有多个中断源,设计人员能按轻重缓急给每个通常,单片机中有多个中断源,设计人员能按轻重缓急给每个中断源的中断请求赋予一定的中断优先级。中断源的中断请求赋予一定的中断优先级。当两个或两个以上的中断源同时请求中断时,当两个或两个以上的中断源同时请求中
10、断时,CPU可通过可通过中断中断优先级排队电路优先级排队电路首先响应中断优先级高的中断请求,等到处理完优首先响应中断优先级高的中断请求,等到处理完优先级高的中断请求后,再来响应优先级低的中断请求。先级高的中断请求后,再来响应优先级低的中断请求。CPU在响应某一中断源中断请求而进行中断处理时,若有中在响应某一中断源中断请求而进行中断处理时,若有中断优先级更高的中断源发出中断请求,断优先级更高的中断源发出中断请求,CPU会暂停正在执行的中断会暂停正在执行的中断服务程序,转向执行中断优先级更高的中断源的中断服务程序,等服务程序,转向执行中断优先级更高的中断源的中断服务程序,等处理完这个高优先级的中断
11、请求后,再返回来继续执行被暂停的中处理完这个高优先级的中断请求后,再返回来继续执行被暂停的中断服务程序。这个过程称为断服务程序。这个过程称为中断嵌套中断嵌套。实现中断嵌套实现中断嵌套 自动自动中断响应中断响应 中断源向中断源向CPU发出的中断请求是随机的。通常,发出的中断请求是随机的。通常,CPU总是在总是在每条指令的最后状态对中断请求信号进行每条指令的最后状态对中断请求信号进行检测检测。当某一中断源发出。当某一中断源发出中断请求时,中断请求时,CPU能根据相关条件能根据相关条件(如中断优先级、是否允许中断如中断优先级、是否允许中断)进行进行判断判断,决定是否,决定是否响应响应这个中断请求。若
12、允许响应这个中断请求,这个中断请求。若允许响应这个中断请求,CPU在执行完相关指令后,会自动完成在执行完相关指令后,会自动完成断点地址压入堆栈断点地址压入堆栈、中断矢中断矢量地址送入程序计数器量地址送入程序计数器PC、撤除本次中断请求标志撤除本次中断请求标志,转入执行相,转入执行相应中断服务程序。应中断服务程序。实现中断及返回实现中断及返回 CPUCPU响应某一中断响应某一中断源的中断请求,转入执源的中断请求,转入执行相应中断服务程序,行相应中断服务程序,在执行中断服务程序最在执行中断服务程序最后的中断返回指令时,后的中断返回指令时,会自动弹出堆栈区中保会自动弹出堆栈区中保存的断点地址,返回到
13、存的断点地址,返回到中断前的原程序中。中断前的原程序中。实现中断撤除实现中断撤除 在响应中断申请以后,返回主程序之前,中断请求应该撤除,在响应中断申请以后,返回主程序之前,中断请求应该撤除,否则,就等于中断申请依然存在,这将影响对其他中断申请的响应。否则,就等于中断申请依然存在,这将影响对其他中断申请的响应。中断的撤除与返回指令并不是一回事,有的中断系统在响应任何中中断的撤除与返回指令并不是一回事,有的中断系统在响应任何中断申请之后,都能撤除该中断的申请标志。但断申请之后,都能撤除该中断的申请标志。但MCS-51中断系统只中断系统只能对一部分中断申请在响应后自动撤除。能对一部分中断申请在响应后
14、自动撤除。分时操作,提高分时操作,提高CPU的工作效率的工作效率中断系统的存在,可以使中断系统的存在,可以使CPU与外设并行工作。与外设并行工作。实时处理,提高实时数据的处理时效实时处理,提高实时数据的处理时效 当单片机用于实时控制时,请求当单片机用于实时控制时,请求CPU提供服务是随机发生的,提供服务是随机发生的,有了中断系统,有了中断系统,CPU就可以立即响应并加以处理。就可以立即响应并加以处理。六、中断服务程序与子程序的异同六、中断服务程序与子程序的异同同:同:都属于子程序都属于子程序异:异:调用子程序的时间是事先安排好的,但调用中断服务程序是调用子程序的时间是事先安排好的,但调用中断服
15、务程序是由外设决定的,并不是人为安排的。由外设决定的,并不是人为安排的。第二节第二节 中断系统结构及中断控制中断系统结构及中断控制一、一、MCS-51系列单片机中断系统结构系列单片机中断系统结构从上图可以看出,从上图可以看出,MCS-51系列单片机有:系列单片机有:5个中断请求源:个中断请求源:INT0、INT1、T0、T1、Tx/Rx 4个中断控制寄存器:个中断控制寄存器:IE、IP、TCON、SCON分别用于确定分别用于确定中断的类型中断的类型、中断源的优先级中断源的优先级以及以及中断的开、闭中断的开、闭。二、二、MCS-51系列单片机中断源系列单片机中断源 INT0:外部中断:外部中断0
16、请求,低电平有效请求,低电平有效 INT1:外部中断:外部中断1请求,低电平有效请求,低电平有效 T0:定时:定时/计数器计数器0溢出中断请求溢出中断请求 T1:定时:定时/计数器计数器1溢出中断请求溢出中断请求 Tx/Rx:串行口通信中断请求:串行口通信中断请求当外部对应引脚为低电平时,便请求中断。当外部对应引脚为低电平时,便请求中断。当定时当定时/计数器中计数结果发生计数溢出时,请求中断。计数器中计数结果发生计数溢出时,请求中断。串行口完成一帧数据的发送或接收时,便请求中断。串行口完成一帧数据的发送或接收时,便请求中断。中断源及对应的中断服务程序入口地址:中断源及对应的中断服务程序入口地址
17、:外部中断外部中断0(INT0)0003H外部中断外部中断1(INT1)0013H定时器定时器T0中断(中断(T0)000BH定时器定时器T1中断(中断(T1)001BH串行口中断串行口中断 0023H说明:说明:两个相邻中断源中断服务程序入口地址相距仅两个相邻中断源中断服务程序入口地址相距仅8个单元,一般个单元,一般的中断服务程序的中断服务程序8个存储单元是远远不够的,因此,通常会在相应中个存储单元是远远不够的,因此,通常会在相应中断服务程序入口地址单元存放一条无条件转移指令断服务程序入口地址单元存放一条无条件转移指令LJMP,这样,就,这样,就可以把中断服务程序放在其他区域执行。可以把中断
18、服务程序放在其他区域执行。三、中断控制三、中断控制4个特殊功能寄存器用于中断控制。个特殊功能寄存器用于中断控制。v 定时定时/计数控制器计数控制器TCONv 串行口控制寄存器串行口控制寄存器SCONv 中断允许寄存器中断允许寄存器IEv 中断优先寄存器中断优先寄存器IP 定时定时/计数控制寄存器计数控制寄存器TCON(字节地址为(字节地址为88H)TF1定时定时/计数器计数器T1的溢出中断请求标志位。的溢出中断请求标志位。T1被启动计数后,从初被启动计数后,从初值开始加值开始加1计数,直至计满溢出,硬件使计数,直至计满溢出,硬件使TF11,向,向CPU请求中断。请求中断。TF0定时定时/计数器
19、计数器T0的溢出中断请求标志位。的溢出中断请求标志位。T0被启动计数后,从初被启动计数后,从初值开始加值开始加1计数,直至计满溢出,硬件使计数,直至计满溢出,硬件使TF01,向,向CPU请求中断。请求中断。IE1外部中断外部中断1的中断请求标志位(的中断请求标志位(INT1)IE0外部中断外部中断0的中断请求标志位(的中断请求标志位(INT0)IT1外部中断外部中断1的中断触发控制位的中断触发控制位IT10,外部中断,外部中断1为电平触发方式为电平触发方式IT11,外部中断,外部中断1为边沿触发方式为边沿触发方式IT0外部中断外部中断0的中断触发控制位的中断触发控制位IT00,外部中断,外部中
20、断0为电平触发方式为电平触发方式IT01,外部中断,外部中断0为边沿触发方式为边沿触发方式 当检测到外部中断引脚上存在当检测到外部中断引脚上存在有效中断请求信号有效中断请求信号时,由硬件使时,由硬件使IE11或或IE01,CPU响应中断,转向中断服务程序。响应中断,转向中断服务程序。串行口串行口控制寄存器控制寄存器SCON(字节地址为(字节地址为98H)TI(Transmit)串行口发送中断请求标志位串行口发送中断请求标志位 CPU将一个数据写入发送缓冲器时,就启动发送,每发送完将一个数据写入发送缓冲器时,就启动发送,每发送完一帧串行数据后,硬件自动置位一帧串行数据后,硬件自动置位TI,使,使
21、TI1,则产生中断,要求,则产生中断,要求CPU相应中断,再将下一个数据写入发送缓冲器。相应中断,再将下一个数据写入发送缓冲器。必须在中断服务程序中用软件对必须在中断服务程序中用软件对TI标志清标志清“0”!RI(Receive)串行口接收中断请求标志位串行口接收中断请求标志位每接收完一个串行帧,就硬件置位每接收完一个串行帧,就硬件置位RI。必须在中断服务程序中用软件对必须在中断服务程序中用软件对TI标志清标志清“0”!中断允许中断允许寄存器寄存器IE(字节地址为(字节地址为A8H)EA中断允许总控制位中断允许总控制位EA=1,CPU打开中断打开中断(但各中断源是允许还是禁止,将分别由各自的允
22、许位确定)(但各中断源是允许还是禁止,将分别由各自的允许位确定)EA=0,CPU屏蔽所有中断屏蔽所有中断(即:若(即:若EA=0,则各中断源的允许位即使是允许状态,也被禁止),则各中断源的允许位即使是允许状态,也被禁止)ES串行口中断允许位串行口中断允许位ES=1,允许串行口中断,允许串行口中断ES=0,禁止串行口中断,禁止串行口中断CPU对中断源的开放或屏蔽,由片内的对中断源的开放或屏蔽,由片内的中断允许寄存器中断允许寄存器IE控制。控制。ET1定时定时/计数器计数器T1的溢出中断允许位的溢出中断允许位EX1外部中断外部中断1(INT1)的中断允许位)的中断允许位ET0定时定时/计数器计数器
展开阅读全文