最新单片机中断系统精品课件.ppt
《最新单片机中断系统精品课件.ppt》由会员分享,可在线阅读,更多相关《最新单片机中断系统精品课件.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机中断系统单片机中断系统 在在CPU和外设交换信息时,存在着快速和外设交换信息时,存在着快速CPU和慢速外和慢速外设间的矛盾,机器内部有时也可能出现突发事件,为此,设间的矛盾,机器内部有时也可能出现突发事件,为此,计算机中通常采用中断技术。计算机中通常采用中断技术。中断中断 CPU和外设并行工作,当外设数据准备好和外设并行工作,当外设数据准备好( 或有某种突或有某种突发事件发生发事件发生)时向时向CPU提出请求,提出请求,CPU暂停正在执行的程序暂停正在执行的程序转而为该外设服务转而为该外设服务(或处理紧急事件或处理紧急事件),处理完毕再回到原断,处理完毕再回到原断点继续执行原程序。点继续
2、执行原程序。中断源中断源 引起中断的原因引起中断的原因,中断申请的来源,称为中断源,中断申请的来源,称为中断源, 可可以是以是I/O设备、故障、时钟、调试中人为设置。设备、故障、时钟、调试中人为设置。ET0: 定时器定时器T0中断允许位中断允许位, ET0=1,允许,允许T1计数溢出中断;计数溢出中断; ET0=0,禁止,禁止T0中断。中断。EX1: 外部中断外部中断INT1允许位,允许位, EX1=1,允许,允许INT1中断;中断; EX1= 0,禁止,禁止INT1中断。中断。EX0: 外部中断外部中断INT0允许位,允许位, EX0=1,允许,允许INT0中断;中断; EX0= 0,禁止,
3、禁止INT0中断。中断。 INT0方式方式下沿下沿/低低电平电平 INT0请求请求有有/无无 INT1方式方式下沿下沿/ 低电平低电平 INT1 请求请求有有/无无 T0 工作工作启启/停停 T0 请求请求有有/无无 T1工作工作启启/停停 T1 请求请求有有/无无 IT0 IE0IT1IE1TR0 TF0 TR1 TF1(2)中断请求标志及外部中断方式选择寄存器中断请求标志及外部中断方式选择寄存器TCON说明:说明:IT0和和IT1为外中断为外中断INT0 和和INT1中断触发方式选择,若选下降沿中断触发方式选择,若选下降沿触发则相应位置触发则相应位置1;若选低电平触发;若选低电平触发 ,I
4、T相应位置相应位置0。 某中断源有中断请求,该中断标志置某中断源有中断请求,该中断标志置1,无中断请求,该中断标志,无中断请求,该中断标志置置0 。TR0 和和 TR1 为定时器为定时器T0和和T1 工作启动和停止控制。工作启动和停止控制。-PT2PSPT1PX1PT0PX0无无用用位位无无用用位位T2高高/低低串行串行 口口高高/低低 T1高高/低低INT1高高/低低 T0高高/低低 INT0高高/低低 当当 某几个中断源在某几个中断源在IP寄存器相应位同为寄存器相应位同为1或同为零时,或同为零时,由内部查询确定优先级,查询的顺序是:由内部查询确定优先级,查询的顺序是:CPU优先响应先查询的
5、中断请求优先响应先查询的中断请求T0T1串行口串行口T2INT0INT1 五个中断源的优先级别由五个中断源的优先级别由IP寄存器管理,相应位置寄存器管理,相应位置1,则,则该中断源优先级别高,置该中断源优先级别高,置0的优先级别低。的优先级别低。 (3)中断优先级管理寄存器中断优先级管理寄存器IP MCS51系列单片机的中断结构可以用图系列单片机的中断结构可以用图6.1示。示。6.2 中断响应过程中断响应过程一、中断处理过程一、中断处理过程 中断处理过程分为四个阶段:中断请求,中断响应,中断处理过程分为四个阶段:中断请求,中断响应,中断处理、中断返回。中断处理、中断返回。MCS-51系列单片机
6、的中断过程系列单片机的中断过程流程如图流程如图6.2所示。所示。 NNYYYN执执 行行 指指 令令中断标志中断标志1?(中断请求中断请求?) 指令指令最后一个最后一个T周期周期?EA=1?允允 许许 位位 = 1?CPU 判判 别优别优 先权先权 ,响响 应优应优 先权高先权高 的中断的中断断点的断点的PC进栈进栈, 中断服务入口地址送中断服务入口地址送PC撤撤 除除 中中 断断 标标 志志中中 断断 服服 务务中中 断断 返返 回回, 断断 点点 出出 栈栈 送送 PC 中断请求中断请求.中断响应中断响应中断服务中断服务中断返回中断返回1)中断请求、中断响应过程由硬件完成。)中断请求、中断
7、响应过程由硬件完成。2)中断服务程序应根据需要进行编写。程序中要注意)中断服务程序应根据需要进行编写。程序中要注意保护现场和恢复现场。保护现场和恢复现场。3)中断返回是通过执行一条)中断返回是通过执行一条RETI中断返回指令,使中断返回指令,使堆栈中被压入的断堆栈中被压入的断 点地址送点地址送PC,从而返回主程序的断,从而返回主程序的断点继续执行主程序。点继续执行主程序。 另外另外RETI还有恢复优先级状态触发器还有恢复优先级状态触发器 的作用,因的作用,因此不能以此不能以RET指令代替指令代替“RETI”指令。指令。 若某个中断源通过编程设置,处于被打开的状态,若某个中断源通过编程设置,处于
8、被打开的状态,并满足中断响应的条件,然而下面三种情况单片机不响并满足中断响应的条件,然而下面三种情况单片机不响应此中断:应此中断: 当前正在执行的那条指令没执行完;当前正在执行的那条指令没执行完; 当前响应了同级或高级中断;当前响应了同级或高级中断; 正在操作正在操作IE、IP中断控制寄存器或执行中断控制寄存器或执行RETI指指令。在正常的情况下,从中断请求信号有效开始,到中令。在正常的情况下,从中断请求信号有效开始,到中断得到响应,通常需要断得到响应,通常需要3个机器周期到个机器周期到8个机器周期。个机器周期。二、中断请求的撤除二、中断请求的撤除 CPU响应中断后,应撤除该中断请求标志,否则
9、会再次中断。响应中断后,应撤除该中断请求标志,否则会再次中断。 1)对定时计数器)对定时计数器T0、T1的溢出中断,的溢出中断,CPU响应中断后,硬件自动清除响应中断后,硬件自动清除中断请求标志中断请求标志TF0和和TF1。2)对边沿触发的外部中断)对边沿触发的外部中断INT1和和INT0,CPU响应中断后硬件自动清除响应中断后硬件自动清除中断请求标志中断请求标志IE0和和IE1。3)对电平触发的外部中断,)对电平触发的外部中断,CPU在响应中断时也不会自动清除中断标在响应中断时也不会自动清除中断标志,因此,在志,因此,在CPU响应中断后应立即撤除响应中断后应立即撤除INT1或或INT0的低电
10、平信号。的低电平信号。 4)对于串行口中断,)对于串行口中断,CPU响应中断后,没有用硬件清除中断请求标志响应中断后,没有用硬件清除中断请求标志TI、RI,即这些中断标志不会自动清除,即这些中断标志不会自动清除,必须用软件清除必须用软件清除,这是在编串,这是在编串行通信中断服务中应该注意的。行通信中断服务中应该注意的。6.3 中断的汇编语言程序和中断的汇编语言程序和C语言程序设计语言程序设计 v用户对中断的控制和管理,实际是对用户对中断的控制和管理,实际是对4个与中断有关的个与中断有关的寄存器寄存器IE、TCON、IP、SCON进行控制或管理。这几进行控制或管理。这几个寄存器在单片机复位时是清
11、零的,因此必须根据需要个寄存器在单片机复位时是清零的,因此必须根据需要对这几个寄存器的有关对这几个寄存器的有关 位进行预置。位进行预置。 在中断程序的编制中应注意:在中断程序的编制中应注意:v开中断总控开关开中断总控开关EA,置位中断源的中断允许位。,置位中断源的中断允许位。v对外部中断对外部中断INT0、INT1应选择中断触发方式应选择中断触发方式v多个中断源中断,应设定中断优先级,预置多个中断源中断,应设定中断优先级,预置IP。v编写中断服务程序,并注意用保护现场和恢复现场,以编写中断服务程序,并注意用保护现场和恢复现场,以免中断返回时,丢失原寄存器、累加器中的信息。免中断返回时,丢失原寄
12、存器、累加器中的信息。v若要在执行当前中断程序时禁止更高优先级中断,可以若要在执行当前中断程序时禁止更高优先级中断,可以采用软件关采用软件关CPU中断或禁止某中断源中断,在中断返中断或禁止某中断源中断,在中断返回前再开放中断。回前再开放中断。 汇编语言的中断服务程序按规定的中断矢量地址存汇编语言的中断服务程序按规定的中断矢量地址存入,由于五个中断矢量地址入,由于五个中断矢量地址0003H、000BH 、0013H、001BH、0023H之间相距很近,往往装不下一个中断服之间相距很近,往往装不下一个中断服务程序,通常将中断服务程务程序,通常将中断服务程 序安排在程序存贮器的其他序安排在程序存贮器
13、的其他地址空间,而在矢量地址的单元中安排一条转移指令。地址空间,而在矢量地址的单元中安排一条转移指令。 例例1. 在图在图6.3中中P1.4P1.7接有四个发光二极管,接有四个发光二极管,P1.0P1.3接有四个开关,消抖电路用于接有四个开关,消抖电路用于 产生中断请求信号,当产生中断请求信号,当消抖电路的开关来回拔动一次将产生一个下降沿信号,通消抖电路的开关来回拔动一次将产生一个下降沿信号,通过过INT0向向CPU申请中断,要求:初时发光二极管全黑,每申请中断,要求:初时发光二极管全黑,每中断一次,中断一次,P1.0P1.3所接的开关状态反映到发光二极管所接的开关状态反映到发光二极管上,且要
14、求开关断开的对应发光二极管亮,电路和现象如上,且要求开关断开的对应发光二极管亮,电路和现象如下:下: &+5V+5VP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.789C51EA&INT011111K 41K 2300 4图6.、 ORG 0000H AJMP MAIN ORG 0003H ;INT0中断入口中断入口 AJMP WBI ; 转中断服务程序转中断服务程序 ORG 0030H ;主程序;主程序 MAIN: MOV P1,#0FH ;高;高4位灯灭,低四位输入先写位灯灭,低四位输入先写1 SETB IT0 ; 边沿触发中断边沿触发中断 SETB EX0 ;允许外中断;
15、允许外中断0中断中断 SETB EA ;开中断开关;开中断开关 SJMP $ ;等待中断;等待中断 WBI:MOV P1,#0FH ;P1先写入先写入“1”且灯灭且灯灭 MOV A,P1 ;输入开关状态换到高;输入开关状态换到高4位位 SWAP A ;低;低4位开关状态电平位开关状态电平 MOV P1,A ;输出到;输出到P1高高4位位 RETI END 此例的执行现象是,每重置一次四个开关的开、合状态,四个发光二极此例的执行现象是,每重置一次四个开关的开、合状态,四个发光二极管维持原来的亮、灭管维持原来的亮、灭 状态,仅当来回拔动消抖电路开关后,产生了中断,发状态,仅当来回拔动消抖电路开关后
16、,产生了中断,发光二极管才反映新置的开关状态。光二极管才反映新置的开关状态。 例例2. 89C51的的P1口接一个共阴极的数码管,利用消抖口接一个共阴极的数码管,利用消抖开关产生中断请求信号,每来回拔动一开关产生中断请求信号,每来回拔动一 次开关,产生次开关,产生一次中断,用数码管显示中断的次数一次中断,用数码管显示中断的次数(最多不超过最多不超过15次次)。 ORG 0000H AJMP MAIN ORG 0013H ;INT1中断入口中断入口 AJMP INT1 ;转中断服务程序;转中断服务程序 ORG 0030H ;主程序;主程序MAIN: SETB IT1 ;边沿触发中断;边沿触发中断
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 单片机 中断 系统 精品 课件
限制150内