单片机第五章单片机中断系统.ppt

上传人:王** 文档编号:178243 上传时间:2023-03-21 格式:PPT 页数:48 大小:685.50KB
下载 相关 举报
单片机第五章单片机中断系统.ppt_第1页
第1页 / 共48页
单片机第五章单片机中断系统.ppt_第2页
第2页 / 共48页
单片机第五章单片机中断系统.ppt_第3页
第3页 / 共48页
单片机第五章单片机中断系统.ppt_第4页
第4页 / 共48页
单片机第五章单片机中断系统.ppt_第5页
第5页 / 共48页
单片机第五章单片机中断系统.ppt_第6页
第6页 / 共48页
单片机第五章单片机中断系统.ppt_第7页
第7页 / 共48页
单片机第五章单片机中断系统.ppt_第8页
第8页 / 共48页
单片机第五章单片机中断系统.ppt_第9页
第9页 / 共48页
单片机第五章单片机中断系统.ppt_第10页
第10页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《单片机第五章单片机中断系统.ppt》由会员分享,可在线阅读,更多相关《单片机第五章单片机中断系统.ppt(48页珍藏版)》请在优知文库上搜索。

1、 单片机系统中,单片机系统中,CPUCPU和外部设备之间不断进行信息的传和外部设备之间不断进行信息的传输。通常输。通常CPUCPU和外设之间的信息传送方式有以下几种:和外设之间的信息传送方式有以下几种:程序控制方式程序控制方式中断方式中断方式直接存储器存取(直接存储器存取(DMADMA)方式)方式第第5 5章章 MCS-51MCS-51单片机中断系统单片机中断系统5.1.15.1.1中断的概念中断的概念 1 1、 程序控制方式程序控制方式 可以分为以下两种方式。可以分为以下两种方式。 (1 1)无条件传送方式)无条件传送方式 外设始终处于就绪状态,外设始终处于就绪状态,CPUCPU不必查询外设

2、的状不必查询外设的状态,直接进行信息传输态,直接进行信息传输,称为无条件传送方式。,称为无条件传送方式。 此种信息传送方式只适用于简单的外设。如开此种信息传送方式只适用于简单的外设。如开 关和数码段显示器等。关和数码段显示器等。 (2 2)条件传送方式)条件传送方式 CPUCPU通过执行程序不断读取并测试外部设备状态,通过执行程序不断读取并测试外部设备状态,如如果输入设备处于准备好状态或输出设备为空闲状态时,则果输入设备处于准备好状态或输出设备为空闲状态时,则CPUCPU执行传送信息操作。执行传送信息操作。 由于条件传送方式需要由于条件传送方式需要CPUCPU不断地查询外部设备的状不断地查询外

3、部设备的状态,然后才进行信息传送,所以态,然后才进行信息传送,所以也称为也称为“查询式传送查询式传送”。2 2、 中断方式中断方式 外部设备与外部设备与CPUCPU之间以中断信号作为数据交换的控之间以中断信号作为数据交换的控制信号制信号。当外部设备需要与当外部设备需要与CPUCPU进行数据交换时,由接口部进行数据交换时,由接口部件向件向CPUCPU发出一个请求信号,发出一个请求信号,CPUCPU响应这一中断请求后,在响应这一中断请求后,在中断服务程序中完成一个字节或多个字节的信息交换。中断服务程序中完成一个字节或多个字节的信息交换。中断方式具有并行工作、实时传输、充分利用中断方式具有并行工作、

4、实时传输、充分利用CPUCPU效率等特点。效率等特点。 3 3、DMADMA方式方式( (直接存储器存取直接存储器存取) ) DMADMA控制方式主要用于存储器和外设之间直接传送、块控制方式主要用于存储器和外设之间直接传送、块传输。传输。DMADMA请求总线:请求总线:当某一外部设备需要输入当某一外部设备需要输入/ /输出一批数输出一批数据时,向据时,向DMADMA控制器发出请求,控制器发出请求,DMADMA控制器接收到这一请求后,控制器接收到这一请求后,向向CPUCPU发出总线请求信号。发出总线请求信号。 DMADMA控制数据传输:控制数据传输:CPUCPU响应响应DMADMA的请求,把总线

5、使用的请求,把总线使用权交给权交给DMADMA控制器,控制器,DMADMA将外设数据读入、并直接写入存储器,将外设数据读入、并直接写入存储器,或将数据从存储器读出并直接送给外设。或将数据从存储器读出并直接送给外设。传送过程不需要传送过程不需要CPCPU U参与。参与。DMADMA释放总线:释放总线:当一批数据传送后,当一批数据传送后, DMADMA控制器再控制器再向向CPUCPU发出发出“结束总线请求结束总线请求”,CPUCPU响应请求,收回总线使用响应请求,收回总线使用权。权。DMADMA方式速度高、效率高,可以与方式速度高、效率高,可以与CPUCPU并行工作。并行工作。 CPUCPU执行程

6、序时,由于发执行程序时,由于发生了某种随机的事件生了某种随机的事件( (外部或外部或内部内部) ),引起,引起CPUCPU暂时中断正在暂时中断正在运行的程序,转去执行一段特运行的程序,转去执行一段特殊的服务程序殊的服务程序( (称为中断服务称为中断服务程序或中断处理程序程序或中断处理程序) ),以处,以处理该事件,该事件处理完后又理该事件,该事件处理完后又返回被中断的程序继续执行,返回被中断的程序继续执行,这一过程称为中断。这一过程称为中断。中断的定义中断的定义 2 2、中断源、中断源 引起引起CPUCPU中断的设备和事件就是中断源。中断的设备和事件就是中断源。 3 3、中断请求、中断请求 中

7、断源向中断源向CPUCPU发出的请求处理信号,即中断请求或中发出的请求处理信号,即中断请求或中断申请。断申请。 4 4、中断响应、中断响应 CPUCPU暂时中止正在处理的事情,转去处理突发事件的暂时中止正在处理的事情,转去处理突发事件的过程,称为过程,称为中断响应中断响应。5 5、其他概念、其他概念 中断系统:中断系统:实现中断功能的部件称为,又称中断机构。实现中断功能的部件称为,又称中断机构。中断服务程序:中断服务程序:CPUCPU响应中断后,处理中断事件的程响应中断后,处理中断事件的程序。序。断点:断点:CPUCPU响应中断请求,转去响应中断请求,转去执行中断服务程序时执行中断服务程序时的

8、的PCPC值,即为断点地址值,即为断点地址。中断返回:中断返回:CPUCPU执行完中断服务程序后回到断点的过执行完中断服务程序后回到断点的过程。程。 中断系统是指能够实现中断功能的那部分硬中断系统是指能够实现中断功能的那部分硬件电路和软件部分。件电路和软件部分。实现中断请求实现中断请求实现排队判优实现排队判优( (中断优先级排队中断优先级排队) )实现中断响应实现中断响应实现中断服务程序的转接实现中断服务程序的转接实现中断返回实现中断返回实现多重中断实现多重中断中断源类型中断源类型引起引起CPUCPU中断的事件,发出中断请求的来源。中断的事件,发出中断请求的来源。 1 1、外部设备中断源、外部

9、设备中断源2 2、控制对象中断源、控制对象中断源3 3、故障中断源、故障中断源4 4、定时脉冲中断源、定时脉冲中断源中断分类中断分类 中断按照功能通常可以分成:可屏蔽、非屏蔽中断按照功能通常可以分成:可屏蔽、非屏蔽和软件中断三类和软件中断三类1 1、可屏蔽中断、可屏蔽中断 程控程控“开中断开中断/ /关中断关中断”。软件设置允许。软件设置允许/ /禁止禁止CPUCPU响应中断。响应中断。2 2、非屏蔽中断、非屏蔽中断 指指CPUCPU对来自对来自/NMI/NMI中断输入线上的中断请求是不可中断输入线上的中断请求是不可屏蔽(或控制)的。屏蔽(或控制)的。3 3软件中断软件中断 指人们可以通过相应

10、的中断指令使指人们可以通过相应的中断指令使CPUCPU响应中断。响应中断。CPUCPU只要执行这种指令就可以转入相应的中断服务程序只要执行这种指令就可以转入相应的中断服务程序执行,以完成相应的中断功能。执行,以完成相应的中断功能。中断分类中断分类低级中断请求低级中断请求RETI主程序主程序高级中断服务子程序高级中断服务子程序返主程序返主程序高级中断请求高级中断请求返低级中断返低级中断RETI低级中断服务子程序低级中断服务子程序低级中断服务子程序低级中断服务子程序 5.1.2 5.1.2 中断系统的结构中断系统的结构 专门讨论专门讨论MCS-51MCS-51的中断源和中断标志、的中断源和中断标志

11、、MCS-51MCS-51对对中队请求的控制和响应、中断响应时间、中分段撤中队请求的控制和响应、中断响应时间、中分段撤除和中断系统初始化。除和中断系统初始化。例例1 假设允许假设允许INT0、INT1、T0、T1中断,试设置中断,试设置IE的值。的值。解:解:(1)用)用C语言字节操作:语言字节操作:IE=0 x8f; (2)用)用C语言位操作指令语言位操作指令 EX0=1;/允许外部中断允许外部中断0中断中断 ET0=1;/允许定时允许定时/计数器计数器0中断中断 EX1=1;/允许外部中断允许外部中断1中断中断 ET1=1;/允许定时允许定时/计数器计数器1中断中断 EA = 1/开总中断

12、控制开总中断控制 汇编语言汇编语言 (1)用字节操作指令)用字节操作指令: MOV IE,#8FH (2)用位操作指令)用位操作指令: SETB EX0;允许外部中断;允许外部中断0中断中断 SETB ET0;允许定时;允许定时/计数器计数器0中断中断 SETB EX1;允许外部中断;允许外部中断1中断中断 SETB ET1;允许定时;允许定时/计数器计数器1中断中断 SETB EA ;开总中断控制位;开总中断控制位例例2 2 设定时器和串行口中断为高优先级,两个外部中断设定时器和串行口中断为高优先级,两个外部中断为低优先级,试设置为低优先级,试设置IPIP的值。的值。解:解:C C语言程序语

13、言程序IP=0 x3aIP=0 x3a;汇编语言程序汇编语言程序: (1 1)使用字节操作指令:)使用字节操作指令: MOVMOV IP,#3AH IP,#3AH(2 2)使用位操作指令:)使用位操作指令: CLRCLRPX0PX0;设置外部中断;设置外部中断0 0为低级中断为低级中断CLRCLRPX1PX1;置外部中断;置外部中断1 1为低级中断为低级中断SETBSETBPT0PT0;置定时器;置定时器/ /计数器计数器0 0为高级中断为高级中断SETBSETBPT1PT1;置定时器;置定时器/ /计数器计数器0 0为高级中断为高级中断SETBSETBPSPS;置串行口中断为高优先级;置串行

14、口中断为高优先级SETBSETBPT2PT2;置定时器;置定时器/ /计数器计数器2 2为高级中断为高级中断 5.3 5.3 中断处理中断处理一、中断响应条件一、中断响应条件(1 1)中断源有中断请求;)中断源有中断请求;(2 2)中断总允许位)中断总允许位EA=1EA=1;(3 3)发出中断请求的中断源的中断允许控制位为)发出中断请求的中断源的中断允许控制位为1 1。在满足以上条件的基础上,若有下列任何一种情况存在满足以上条件的基础上,若有下列任何一种情况存在,硬件生成的长调用指令在,硬件生成的长调用指令“LCALL”LCALL”将被封锁。将被封锁。 (1 1)CPUCPU正在执行一个同级或

15、高优先级的中断服务程序;正在执行一个同级或高优先级的中断服务程序;(2 2)正在执行的指令尚未执行完;)正在执行的指令尚未执行完;(3 3)正在执行中断返回指令)正在执行中断返回指令RETIRETI或者对寄存器或者对寄存器IEIE、IPIP进进行读行读/ /写的指令写的指令。 CPUCPU在执行完上述指令之后,要再执行一条指令,才在执行完上述指令之后,要再执行一条指令,才能响应中断请求。能响应中断请求。二、中断响应过程二、中断响应过程 从中断请求发生直到被响应,准备去执行中断服务程从中断请求发生直到被响应,准备去执行中断服务程序,此过程即中断响应过程。中断响应过程一般包括如下几序,此过程即中断

16、响应过程。中断响应过程一般包括如下几个阶段:个阶段:1 1、中断采样并置位、中断采样并置位 中断采样过程:中断采样过程:CPUCPU在每个机器周期在每个机器周期S5P2S5P2期间期间顺序对顺序对中断源采样、置中断标志。中断源采样、置中断标志。2 2、查询标志、查询标志 在中断采样后的下一个周期的在中断采样后的下一个周期的S6S6按优先级顺序查按优先级顺序查询中断标志。询中断标志。 3 3、响应中断、响应中断 在满足中断响应条件情况下,若中断标志为在满足中断响应条件情况下,若中断标志为1 1,在接下在接下来周期来周期S1S1开始开始按优先级顺序进行中断处理。按优先级顺序进行中断处理。中断响应过程的操作步骤:中断响应过程的操作步骤: 硬件自动生成长调用指令硬件自动生成长调用指令LCALL addr16LCALL addr16,addr16addr16为为各中断源的各中断源的中断程序入口地址中断程序入口地址。 PCPC的内容(即断点地址)压入堆栈。的内容(即断点地址)压入堆栈。先低位地址,先低位地址,后高位地址,并修改堆栈指针后高位地址,并修改堆栈指针SPSP。 将中断源的中断入口地址装入

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 通信/电子 > 电子设计

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!