单片机原理与接口技术 第二版 高职计算机应用技术专业第5章 中断系统

上传人:w****i 文档编号:92367750 上传时间:2019-07-09 格式:PPT 页数:32 大小:325KB
返回 下载 相关 举报
单片机原理与接口技术 第二版 高职计算机应用技术专业第5章 中断系统_第1页
第1页 / 共32页
单片机原理与接口技术 第二版 高职计算机应用技术专业第5章 中断系统_第2页
第2页 / 共32页
单片机原理与接口技术 第二版 高职计算机应用技术专业第5章 中断系统_第3页
第3页 / 共32页
单片机原理与接口技术 第二版 高职计算机应用技术专业第5章 中断系统_第4页
第4页 / 共32页
单片机原理与接口技术 第二版 高职计算机应用技术专业第5章 中断系统_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《单片机原理与接口技术 第二版 高职计算机应用技术专业第5章 中断系统》由会员分享,可在线阅读,更多相关《单片机原理与接口技术 第二版 高职计算机应用技术专业第5章 中断系统(32页珍藏版)》请在金锄头文库上搜索。

1、高等职业教育 计算机类课程规划教材,单片机原理与接口技术,大连理工大学出版社,第5章 中断系统,5.1 概 述 5.2 MCS-51 的中断系统 5.3 MCS-51 外中断的应用,与CPU并行工作的外围部件或外部设备,由于继续工作的需要或出现故障而向 CPU请求处理时,CPU暂时停止当前程序的执行转而执行与请求对应的服务程序,服务完成后CPU自动回到原程序被中断处继续执行,上述过程称为中断。 引起中断和处理中断的软、硬件共同构成计算机系统的中断机构。 5.1.1 中断的功能 1.提高CPU的工作效率 中断请求发生于时间不确定的事件(如定时时间到的处理),仅在中断请求发生时需要CPU暂停当前的

2、工作。 采用中断技术使CPU避免了不必要的等待和查询,大大提高了CPU的工作效率,实现了CPU与外围部件或外部设备的并行工作。,5.1 概 述,2.自动处理故障 将那些可以预知的故障(如除数为0、掉电等)作为中断源,编制相应的故障处理中断服务程序。这样,当故障发生时,CPU就能够及时发现并自动进行处理了。 3.实现实时控制 在实时测控系统中,要求单片机能对现场的许多随机参数、信息进行快速分析、运算,及时处理在任何时刻提出的处理请求,从而使受控对象处在最佳工作状态。这种实时控制只有采用中断机制才能得以实现。 4.实现人机交互 当用户需要对单片机的工作进行干预时,可以通过按键发出中断请求,使单片机

3、按照用户的意图进行工作。 5.1.2 中断源,向CPU提出中断请求的器件或设备就是中断源,中断源是中断控制的起点。中断源向CPU提出的“中断请求”通常是一种电信号。 根据需要的不同,一个计算机系统通常有若干个中断源。这些中断源有的来自计算机内部,有的来自计算机外部。 5.1.3 中断的嵌套 1.优先级 当多个中断源同时向CPU请求中断时,就出现了CPU应该先响应哪个中断请求的问题。计算机往往根据中断源引发事件的轻重缓急为其设置不同的优先级,优先级是计算机对中断源响应次序的规定。优先级高的中断请求先响应,优先级低的中断请求后响应。 2.中断的嵌套 CPU 在进行中断响应时可以响应更高级的中断请求

4、,这种情况称为中断的嵌套。,需要注意的是,引起中断嵌套的中断源的优先级一定要高于当前响应中断源的优先级,同优先级或低优先级中断源的中断请求不能引起中断的嵌套。 5.1.4 中断流程 计算机的中断流程如图5-1所示,其处理 内容一般包括: 1.现场保护和现场恢复 在转入中断处理流程前原程序执行到的 位置称为断点。 原程序在断点处有关存储单元和CPU中寄 存器的内容称为现场。,图5-1 中断流程图,为了在中断服务后能继续原来的工作,在中断服务前要保护现场,在中断服务后还要恢复现场。这两个操作是通过堆栈实现的。 2.开中断和关中断 如果在保护现场时发生中断的嵌套,就会导致原现场信息保护不完整或信息错

5、误,进而使中断服务完成后现场信息恢复错误,原程序无法正确执行。在恢复现场时如果发生中断嵌套,也会导致同样的错误。 显然,在现场保护和现场恢复前应禁止中断嵌套,称为关中断; 在现场保护和现场恢复完成后应允许中断嵌套,称为开中断。 3.中断服务 CPU响应中断后,就会执行对应中断源的中断服务程序进行中断处理。 4.中断返回 中断服务程序由一条专用的中断返回指令结束,使程序流程返回到原程序。,5.2.1 中断源和中断标志 1.中断源 8051 的中断系统具有三类共五个中断源,两个来自单片机的外部,三个来自单片机的内部。8051为每个中断源设置了中断请求标志位。 检测到中断请求信号后,8051为相应的

6、中断标志位置位,以便在下一个机器周期进行下一步的控制和处理。 (1)外部中断源 8051 有两个外部中断源,分别通过引脚 INT0和INT1引入中断请求信号。 外中断源有两种中断触发方式: 电平触发方式和脉冲触发方式。,5.2 MCS-51的中断系统,当8051的外中断源以电平方式触发时,低电平有效。 当8051的外中断源以脉冲方式触发时,负脉冲有效。 (2)定时器/计数器中断源 8051内部有两个定时器/计数器T0和T1,用于进行定时和计数控制,是内部中断源。 T0 和 T1在内部时钟脉冲(或者外部计数脉冲)的作用下进行定时(或者计数)。定时(或者计数)结束时,由硬件产生溢出中断信号向CPU

7、提出中断请求。由CPU对定时(或者计数)结果进行处理。 (3)串行中断源 8051有一个全双工异步串行口,用于进行串行通信,是内部中断源。 当串行发送结束时,由硬件向CPU请求提供下一次发送的数据; 当串行接收结束时,由硬件向CPU请求把接收的数据送入8051内部。,串行发送中断请求信号和串行接收中断请求信号通过一个或门连接成为一个中断源。 8051的中断系统如图5-2所示。,图5-2 8051中断系统,2.中断标志 (1)定时控制寄存器TCON中的中断标志 外中断请求标志和定时/ 计数溢出中断标志锁存在定时控制寄存器TCON中,这个寄存器的各位定义如下:,TCON 位地址 8FH 8EH 8

8、DH 8CH 8BH 8AH 89H 88H (88H) 位名称 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0,(2)串行控制寄存器SCON中的中断标志 串行收发结束的中断标志位被锁存在串行控制寄存器SCON中,这个寄存器的各位定义如下:,SCON 位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H (98H) 位名称 SM0 SM1 SM2 REN TB8 RB8 TI RI,5.2.2 中断控制 1.中断允许 (1)IE寄存器 IE寄存器由一个中断允许总控制位和各中断源的中断允许控制位构成,从而进行两级中断允许控制。IE寄存器的各位定义如下:,IE 位

9、地址 AFH ACH ABH AAH A9H A8H (A8H) 位名称 EA / / ES ET1 EX1 ET0 EX0,(2)对IE的设置 8051系统复位后,IE寄存器中各位均被清0,禁止所有的中断。 在应用时,由软件进行设定。既可以使用位操作,也可以使用字节操作来实现对IE的设置。 例如,开放外中断0和定时中断1。,使用位操作: SETB EA SETB EX0 SETB ET1 使用字节操作: MOV IE,#89H 2.中断优先级 (1)IP寄存器 8051的每个中断源具有高低两个中断优先级,可以实现两级中断嵌套。由中断优先级寄存器IP来锁存各中断源的优先级状态。 IP寄存器中各

10、位与各中断源一一对应,具体定义如下:,8051系统复位后,IP寄存器中各控制位均被清0,设为低优先级。 与IE寄存器一样,由软件对IP进行设定,既可以使用位操作,也可以使用字节操作。 (2)自然优先级 当两个不同优先级的中断源同时进行中断请求时,8051将先处理高优先级中断,后处理低优先级中断。 对同时到来的同级中断请求,8051将按照自然优先级来确定中断响应次序,自然优先级由硬件控制。 例如,(IE)=8FH,(IP)=06H,中断请求标志TI、TF1、IE1、IE0同时为1,则响应的次序将按下面的步骤进行:,IP 位地址 BCH BBH BAH B9H B8H (B8H) 位名称 / /

11、/ PS PT1 PX1 PT0 PX0,分析IE寄存器的内容,确定对哪些中断源关中断,则不予响应。 由(IE)=8FH,得知对串行口禁止中断,对中断标志TI不予响应。 分析IP寄存器的内容,确定哪些中断源是高优先级,哪些中断源是低优先级,把预响应的中断源分为先响应组和后响应组。 由(IP)=06H,得知外中断1和定时器0为高优先级中断源,又由于此优先级中只有外中断1进行了中断请求,因此最先响应中断标志IE1。 在同级响应组中,按照自然优先级进行排序,从而确定响应的最终次序。 由(IP)=06H,得知外中断0和定时器1同为低优先级中断源,于是由自然优先级决定在响应IE1结束后,将先响应IE0,

12、后响应TF1。 5.2.3 中断响应 1.ROM的中断服务区,CPU响应中断请求、为中断源事件进行处理,是通过执行中断服务程序实现的。 8051在内部ROM中为五个中断源定义了固定的中断服务区,其中: 0003H000AH 外中断0的中断服务区 000BH0012H 定时器T0的中断服务区 0013H001AH 外中断1的中断服务区 001BH0022H 定时器T1的中断服务区 0023H002AH 串行中断服务区 响应中断请求后,CPU 按照中断源的不同,自动转到各中断区的首地址去执行程序。中断区的首地址也称中断入口地址,是中断控制的要点之一。但 8个字节的中断服务区难以存下一般的中断服务程

13、序,解决办法是在中断区的入口地址处存放一条无条件转移指令,将流程转入中断服务程序的真正入口。,例如,外中断0的中断服务程序存放在内存S_INT0开始的地方,则编程如下: ORG 0003H LJMP S_INT0 2.中断响应过程 内部中断源的中断请求发生在单片机内部,在中断请求后可以直接完成对相应中断请求标志的置1操作。对外部中断源,则需要首先采样外部中断引脚信号,再将有效的外部中断请求信号锁存在对应的中断请求标志位中。 在每个机器周期中,CPU以IE、IP 和自然优先级为依据查询中断请求标志,并完成对有效中断请求的排队。如果不存在有效的中断请求,则在下个机器周期继续查询,否则从下个机器周期

14、开始对最高优先级的中断请求进行处理。,进行中断处理的第一步是由硬件生成一条无条件转移指令LCALL,以被响应中断源的中断入口作为此LCALL的目的地址,进入相应的中断服务程序。 生成的LCALL指令执行可能发生下面三种情况: (1)CPU正在为一个高级或同级中断源服务,此次中断响应失败; (2)如果查询机器周期处于当前指令周期内,必须在当前指令完整执行后才能执行生成的LCALL指令; (3)如果当前指令为RETI或者访问IE、IP的指令,则还需在它的下一条指令执行后才能执行生成的LCALL指令。 3.中断响应时间 中断响应时间是指从查询中断请求标志位到转向中断入口地址所需的机器周期数。,如果

15、CPU正在为一个高级或同级中断源服务,则无法计算此次中断请求的响应时间。 中断响应时间的计算基于这样的前提: CPU 处于非响应中断状态,或者新的中断请求优先级高于CPU正在响应的中断请求的优先级。 如果查询机器周期恰好是当前指令周期的最后一个机器周期,则查询的结束也意味着当前指令的完整执行。 硬件产生的LCALL指令是2机器周期指令。因此,中断响应时间最短为3个机器周期。 如果查询处在当前2机器周期指令的第一个机器周期,或处在当前4机器周期指令的第3个机器周期,则需额外等待1个机器周期,中断响应时间为4个机器周期。 如果查询处在当前4机器周期指令的第2、第1个机器周期,则需额外等待2个、3个

16、机器周期,中断响应时间为5个、6个机器周期。,RETI指令或访问 IE、IP的指令是2机器周期指令。如果当前指令是这类指令,则响应时间还要加上其下一条指令的执行时间,最长为 8个机器周期。 在一般情况下,中断响应时间可以忽略不计,但在实时控制系统的某些精确定时场合需要考虑到它。 5.2.4 中断标志的两种编程方式 1.中断方式 如果CPU的工作只是因为处理中断请求而暂时被打断,即 “被动” 地接受中断请求,其主要工作仍然是实现原程序的功能,那么应采用中断方式对中断标志进行编程,通过中断服务程序进行相关处理。 中断方式编程步骤如下: (1)开中断 (2)设置中断优先级 (3)中断源的相关控制 (4)编写中断服务程序,【例5.1】 (见教材P120页) 2.查询

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号