第6章 中断系统及应用.ppt
《第6章 中断系统及应用.ppt》由会员分享,可在线阅读,更多相关《第6章 中断系统及应用.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第6 6章章 中断系统及应用中断系统及应用 2022/12/291内容内容 中断概述中断概述6.180C51单片机中断系统单片机中断系统6.2中断服务程序的设计中断服务程序的设计中断系统的应用中断系统的应用6.46.32022/12/2926.1 中断概述中断概述 计算机的信息处理系统与人的一般思维有着许多异计算机的信息处理系统与人的一般思维有着许多异曲同工之妙曲同工之妙,中断技术就是其中的一例。中断技术就是其中的一例。例如,某人正在看书,这时候电话铃响了,他在书本上例如,某人正在看书,这时候电话铃响了,他在书本上做个记号,然后与对方通电话,通完电话后从做有记号的做个记号,然后与对方通电话,
2、通完电话后从做有记号的地方继续往下看书。这就是日常生活中的中断现象。地方继续往下看书。这就是日常生活中的中断现象。为什么会出现这样的中断呢?为什么会出现这样的中断呢?因为一个人在一段特定的时间内,可能会面对着两因为一个人在一段特定的时间内,可能会面对着两个、三个甚至更多的任务。但一个人又不可能在同一时个、三个甚至更多的任务。但一个人又不可能在同一时间去完成多项任务,因此人只能分析任务的轻重缓急,间去完成多项任务,因此人只能分析任务的轻重缓急,采用中断的方法穿插去完成它们。采用中断的方法穿插去完成它们。2022/12/2936.1.1 6.1.1 中断的有关概念中断的有关概念1.中断中断 中断是
3、指中断是指CPU执行程序的过执行程序的过程中,由于某种随机的事件程中,由于某种随机的事件(中中断发生断发生)引起)引起CPU暂时停止正暂时停止正在执行的程序,而转去执行一在执行的程序,而转去执行一个用于处理该事件的程序(个用于处理该事件的程序(中中断服务程序断服务程序),中断服务程序),中断服务程序处理完该事件后又返回到原来处理完该事件后又返回到原来被中止的程序断点处继续执行被中止的程序断点处继续执行(中断返回中断返回),这一过程称为),这一过程称为中断。中断。中断中断流流程图程图2022/12/2942.中断服务程序中断服务程序中断之后所执行的相应的处理程序通常称之为中断之后所执行的相应的处
4、理程序通常称之为中断服务子中断服务子程序程序,原来正常运行的程序称为,原来正常运行的程序称为主程序主程序。主程序被断开的。主程序被断开的位置位置(或地址或地址)称为称为“断点断点”。调用中断服务程序的过程调用中断服务程序的过程类似类似于调用子程序,其于调用子程序,其区别区别在于在于调用子程序是在程序中事先安排好的,通过调用指令实调用子程序是在程序中事先安排好的,通过调用指令实现;而何时调用中断服务程序事先却无法确定,因为中断现;而何时调用中断服务程序事先却无法确定,因为中断的发生是由外部因素决定的,程序中无法事先安排调用指的发生是由外部因素决定的,程序中无法事先安排调用指令,调用中断服务程序的
5、过程是由硬件自动完成的。令,调用中断服务程序的过程是由硬件自动完成的。2022/12/2953.中断源中断源中断源是指引起中断的来源。中断源在单片机内部的为中断源是指引起中断的来源。中断源在单片机内部的为内内中断中断,中断源在单片机外部的为,中断源在单片机外部的为外中断外中断。常见的中断源主要有以下几种:常见的中断源主要有以下几种:(1)输入输入/输出设备输出设备 (2)实时时钟或计数信号实时时钟或计数信号 (3)故障源故障源 2022/12/2961.实现分时操作实现分时操作2.实时处理实时处理3.故障处理故障处理6.1.2 中断技术的应用中断技术的应用2022/12/2976.1.3 中断
6、系统的功能中断系统的功能1.1.能实现中断及返回能实现中断及返回2.能实现优先权排队能实现优先权排队3.3.能实现中断嵌套能实现中断嵌套当中断源向当中断源向CPU发出中断申请时,发出中断申请时,CPU能决定是否响应这个中断请求。能决定是否响应这个中断请求。若中断源有效且若中断源有效且CPU开中断,则开中断,则CPU在现行的指令执行完后,保护好被中断的在现行的指令执行完后,保护好被中断的主程序的断点地址主程序的断点地址(下一条应该执行的指令地址下一条应该执行的指令地址)及现场信息,然后,将中断服及现场信息,然后,将中断服务程序的首地址送给务程序的首地址送给PC,转去执行中断服务程序。中断服务程序
7、的最后一条,转去执行中断服务程序。中断服务程序的最后一条指令是中断返回指令指令是中断返回指令RETI,该指令使,该指令使CPU返回断点,继续执行主程序,这个返回断点,继续执行主程序,这个过程如图过程如图6-1所示。所示。通常,单片机系统中有多个中断源,有时会遇到多个中断源同时提出中断请通常,单片机系统中有多个中断源,有时会遇到多个中断源同时提出中断请求的情况。这就要求单片机既能区分各个中断源的请求,又能确定先为哪一个求的情况。这就要求单片机既能区分各个中断源的请求,又能确定先为哪一个中断源服务。中断源服务。当当CPU响应某一外设的中断请求,正在进行中断处理时,若有优先权级别更响应某一外设的中断
8、请求,正在进行中断处理时,若有优先权级别更高的中断源提出中断请求,则高的中断源提出中断请求,则CPU能中断正在进行的中断服务程序,响应高级能中断正在进行的中断服务程序,响应高级中断,在高级中断处理完后,再继续执行被中断的中断服务程序。这一过程称中断,在高级中断处理完后,再继续执行被中断的中断服务程序。这一过程称为中断嵌套,为中断嵌套,2022/12/298中断嵌套中断嵌套 2022/12/2996.2 80C51单片机中断系统单片机中断系统 6.2.1 中断系统的结构中断系统的结构中断系统结构示意图中断系统结构示意图 2022/12/291080C51单片机的中断系统有单片机的中断系统有5个中
9、断源个中断源,两个中断优先级两个中断优先级,可实,可实现现2级中断服务程序嵌套级中断服务程序嵌套。由片内特殊功能寄存器中的定时器。由片内特殊功能寄存器中的定时器/计数器控制寄存器计数器控制寄存器TCON和串行口控制寄存器和串行口控制寄存器SCON对中断源对中断源进行控制,由中断允许寄存器进行控制,由中断允许寄存器IE控制控制CPU是否响应中断请求;是否响应中断请求;由中断优先级寄存器由中断优先级寄存器IP安排各中断源的优先级;安排各中断源的优先级;相同优先级内各中断同时提出中断请求时,不能通过程序控相同优先级内各中断同时提出中断请求时,不能通过程序控制,而是由制,而是由CPU内部的查询顺序决定
10、谁优先响应。内部的查询顺序决定谁优先响应。2022/12/29111.1.中断源中断源80C51单片机的中断系统有单片机的中断系统有5个中断源,它们是:个中断源,它们是:(1)外部中断外部中断0:由由 (P3.2)引脚输入,由引脚输入,由IT0选择其为低电平选择其为低电平有效还是下降沿有效,当有效还是下降沿有效,当CPU检测到检测到 引脚上出现有效的中引脚上出现有效的中断请求信号时,中断请求标志位断请求信号时,中断请求标志位IE0置置1,向,向CPU申请中断。申请中断。(2)外部中断外部中断1:由由 (P3.3)引脚输入,由引脚输入,由IT1选择其为低电平选择其为低电平有效还是下降沿有效,当有
11、效还是下降沿有效,当CPU检测到检测到 引脚上出现有效的中引脚上出现有效的中断请求信号时,中断请求标志位断请求信号时,中断请求标志位IE1置置1,向,向CPU申请中断。申请中断。(3)定时器定时器/计数器计数器T0溢出中断请求,溢出中断请求,当当T0定时时间到或计数满定时时间到或计数满后,中断请求标志位后,中断请求标志位TF0由硬件置由硬件置1,向,向CPU申请中断。申请中断。2022/12/2912(4)定时器定时器/计数器计数器T1溢出中断请求,溢出中断请求,当当T1定时时间到或计数满定时时间到或计数满后,中断请求标志位后,中断请求标志位TF1被硬件置被硬件置1,向,向CPU申请中断。申请
12、中断。(5)串行口中断请求,串行口中断请求,当串行口接收完一帧数据时,中断请求当串行口接收完一帧数据时,中断请求标志标志RI被硬件置被硬件置1,或当串口发送完一帧数据时,中断请求标,或当串口发送完一帧数据时,中断请求标志志TI被硬件置被硬件置1。2022/12/2913中断源的中断请求标志位分别由特殊功能寄存器中断源的中断请求标志位分别由特殊功能寄存器TCON和和SCON的相应位锁存,的相应位锁存,TCON和和SCON寄存器的字节地址分别为寄存器的字节地址分别为88H和和98H,可进行位寻址。,可进行位寻址。2.中断标志寄存器中断标志寄存器TCON和串行口控制寄存器和串行口控制寄存器SCON2
13、022/12/2914IT0:外部中断:外部中断 的触发方式选择位。的触发方式选择位。当当IT0=0时,外部中断为电平触发方式,即时,外部中断为电平触发方式,即 引脚上的信号为引脚上的信号为低电平有效。低电平有效。当当IT0=1时,外部中断为边沿触发方式,即时,外部中断为边沿触发方式,即 引脚上的信号出引脚上的信号出现从高到低的负跳变有效。现从高到低的负跳变有效。IT0位可由软件置位可由软件置1或清或清0。2022/12/2915IE0:外部中断:外部中断 中断请求标志位中断请求标志位。当当IT0=0时,外部中断时,外部中断 为电平触发方式,为电平触发方式,CPU在每个机器周在每个机器周期的期
14、的S5P2采样采样 引脚电平,若采样到引脚电平,若采样到 为低电平时,为低电平时,IE0置置1表示表示 向向CPU申请中断;若采样到申请中断;若采样到 为高电平时,为高电平时,IE0清清0。注意:在电平触发方式下,注意:在电平触发方式下,CPU响应中断时,响应中断时,不能自动将不能自动将IE0清清0,因为因为IE0的状态完全由的状态完全由 状态决定,所以在中断返回前必须状态决定,所以在中断返回前必须撤除撤除 引脚上的低电平。引脚上的低电平。2022/12/2916当当IT0=1,外部中断,外部中断 为边沿触发方式,为边沿触发方式,CPU在每个机器周期的在每个机器周期的S5P2采样采样 引脚电平
15、,如果在连续的两个机器周期里检测到引脚电平,如果在连续的两个机器周期里检测到 引脚由高电平到低电平,即在第一个机器周期的引脚由高电平到低电平,即在第一个机器周期的S5P2采样采样到到 =1,在第二个机器周期的,在第二个机器周期的S5P2采样到采样到 =0,则,则IE0置置1表示表示 向向CPU申请中断。申请中断。在边沿触发方式,在边沿触发方式,CPU响应中断时,由响应中断时,由硬件自动清除硬件自动清除IE0标志。标志。注意:为了保证注意:为了保证CPU能检测到负跳变,能检测到负跳变,的高低电平至少应保的高低电平至少应保持一个机器周期持一个机器周期。2022/12/2917IT1:外部中断:外部
16、中断 的触发方式选择位,其操作功能与的触发方式选择位,其操作功能与IT0类似。类似。IE1:外部中断:外部中断 中断请求标志位,其操作功能与中断请求标志位,其操作功能与IE0类似。类似。TF0:定时器:定时器/计数器计数器T0溢出中断请求标志位。当溢出中断请求标志位。当T0启动计数后,启动计数后,T0从计数初值开始加从计数初值开始加1,直至最高位产生溢出由硬件将,直至最高位产生溢出由硬件将TF0置置1,向向CPU申请中断,申请中断,CPU响应中断时,由响应中断时,由硬件自动将硬件自动将TF0清清0。如果定时器如果定时器/计数器计数器T0工作在工作在查询查询方式,方式,T0计数溢出后,计数溢出后
17、,TF0必须必须由软件清由软件清0。TF1:定时器:定时器/计数器计数器T1溢出中断请求标志位,其操作功能与溢出中断请求标志位,其操作功能与TF0类似。类似。2022/12/2918TR0、TR1这两个与中断无关,仅与定时器这两个与中断无关,仅与定时器/计数器计数器T0和和T1有关,有关,用来启动和停止定时器工作,它们的功能将在定时器用来启动和停止定时器工作,它们的功能将在定时器/计数器这一计数器这一章介绍章介绍。2022/12/2919SCON为串行口控制寄存器,为串行口控制寄存器,与中断有关的是它的低两位与中断有关的是它的低两位TI和和RI,SCON各位定义如下:各位定义如下:2022/1
18、2/2920RI:串行口接收中断标志位,当允许串行口接收数据时,串行口:串行口接收中断标志位,当允许串行口接收数据时,串行口每接收完一帧数据,由硬件将每接收完一帧数据,由硬件将RI置置1,CPU响应串行口接收中断响应串行口接收中断时,时,CPU并并不自动清除不自动清除RI中断标志位,必须在中断服务程序中由中断标志位,必须在中断服务程序中由软件对软件对RI清零。清零。TI:串行口发送中断标志位,:串行口发送中断标志位,CPU将将8位数据写入串行口发送缓位数据写入串行口发送缓冲器冲器SBUF时,就启动了一帧数据的发送,每发送完一帧数据时,就启动了一帧数据的发送,每发送完一帧数据后,后,由硬件将由硬
19、件将TI置置1,CPU响应串行口发送中断时,响应串行口发送中断时,CPU并并不自动清除不自动清除TI中断标志位,必须在中断服务程序中由软件对中断标志位,必须在中断服务程序中由软件对TI清零。清零。单片机复位时,单片机复位时,TCON和和SCON各位清各位清0,TCON和和SCON中所有能中所有能产生中断的标志位均可由软件置产生中断的标志位均可由软件置1或清或清0。2022/12/29213.中断允许寄存器中断允许寄存器IE IE各位定义如下:各位定义如下:单片机复位时,单片机复位时,IE各位清各位清0,禁止所有中断。,禁止所有中断。2022/12/2922EA:总中断允许控制位:总中断允许控制
20、位EA=0,CPU屏蔽所有的中断请求,称为屏蔽所有的中断请求,称为CPU关中断;关中断;EA=1,CPU开放所有中断,称为开放所有中断,称为CPU开中断。在开中断。在EA=1的条件的条件下,由各个中断控制位确定相应中断的打开与关闭下,由各个中断控制位确定相应中断的打开与关闭。ES:串行口中断允许位:串行口中断允许位ES=0,禁止串行口中断;,禁止串行口中断;ES=1,允许串行口中断。,允许串行口中断。2022/12/2923ET1:定时器:定时器/计数器计数器T1的溢出中断允许位的溢出中断允许位ET1=0,禁止,禁止T1溢出中断;溢出中断;ET1=1,允许,允许T1溢出中断。溢出中断。EX1:
21、外部中断:外部中断1的中断允许位的中断允许位EX1=0,禁止外部中断,禁止外部中断1中断;中断;EX1=1,允许外部中断,允许外部中断1中断。中断。2022/12/2924ET0:定时器:定时器/计数器计数器T0的溢出中断允许位的溢出中断允许位ET0=0,禁止,禁止T0溢出中断;溢出中断;ET0=1,禁止,禁止T0溢出中断;溢出中断;EX0:外部中断:外部中断0的中断允许位的中断允许位EX00,禁止外部中断,禁止外部中断0中断;中断;EX01,允许外部中断,允许外部中断0中断。中断。2022/12/2925例例6-1 若允许外部中断若允许外部中断0和外部中断和外部中断1中断,禁止其它中断源的中
22、断,禁止其它中断源的中断请求,请编写出设置中断请求,请编写出设置IE的相应程序段。的相应程序段。解解:(:(1)用位操作指令来编写程序段如下用位操作指令来编写程序段如下:ES=0;禁止串口中断禁止串口中断 ET1=0;禁止定时器;禁止定时器/计数器计数器T1中断中断 EX1=1;允许外部中断;允许外部中断1中断中断 ET0=0;禁止定时器;禁止定时器/计数器计数器T1中断中断 EX0=1;允许外部中断;允许外部中断1中断中断 EA=1;CPU开中断开中断 (2)用字节操作语句编写为:)用字节操作语句编写为:IE=0 x852022/12/29264.中断优先级寄存器中断优先级寄存器IP80C5
23、1单片机有两个中断优先级,即可实现两级中断嵌套,每单片机有两个中断优先级,即可实现两级中断嵌套,每个中断源的中断优先级都是由中断优先级寄存器个中断源的中断优先级都是由中断优先级寄存器IP中的相应位中的相应位来规定的。来规定的。IP各位定义如下:各位定义如下:2022/12/2927PS:串行口中断优先级控制位:串行口中断优先级控制位PS=0,串行口中断定义为低优先级中断;,串行口中断定义为低优先级中断;PS=1,串行口中断定义为高优先级中断。,串行口中断定义为高优先级中断。PT1:定时器:定时器/计数器计数器T1中断优先级控制位中断优先级控制位PT1=0,T1定义为低优先级中断;定义为低优先级
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 中断系统及应用 中断 系统 应用
限制150内