9s12单片机-第六章 中断系统

合集下载

单片机原理及应用 教学课件 ppt 第6章 MCS-51单片机中断系统

单片机原理及应用 教学课件 ppt 第6章 MCS-51单片机中断系统

D7 D6 D5 D4 D3 D2 D1 D0
EA
ES ET1 EX1 ET0 EX0
7
6.2 MCS-51中断源
MCS-51单片机中断系统结构 8
6.2 MCS-51中断源
MCS-51单片机中断标志位分别由2个特殊功能 寄存器存储:
(1)定时/计数器控制寄存器; (2)串行口控制寄存器。
9
6.2 MCS-51中断源
(一 ) 定时器控制寄存器(TCON) 定时/计数器控制寄存器TCON锁存外部中断请
外部时钟电路(可编程)控制其时间间隔。需要定时时, CPU发出命令使时钟电路开始工作,一旦到达规定时间, 时钟电路发出中断请求,由CPU转去完成检测和控制工作。 故障源中断:计算机在一些关键部位都设有故障自动检测装 置。如运算溢出、存储器读出出错、外部设备故障、电源 掉电以及其他报警信号等,这些装置的报警信号都能使 CPU中断,进行相应的中断处理。 程序性中断源:为调试程序而设置断点、单步工作等。
14
6.3 MCS-51中断控制及响应
MCS-51单片机的中断控制分为2级,第一级通 过5个中断允许控制位来确定屏蔽或者允许某个中断 源的中断请求,第二级通过1个控制位来确定CPU开 放或禁止中断。中断允许寄存器IE(Interrupt Enable Register)用来保存这些中断允许控制位。IE寄存器 的地址为0A8H,寄存器中各位的位地址为0A8H ~0AFH。
中断触发的方式取决于TCON寄存器中IT0和IT1的 设定。 (2)定时/计数器溢出标志位
TF0为定时/计数器T0的计数溢出标志位,TF1 定时/计数器T1的计数溢出标志位。
11
6.2 MCS-51中断源
(二)串行口控制寄存器(SCON) 串行口控制寄存器SCON锁存串行口发送缓冲

第6章__中断系统)ppt课件盛党红

第6章__中断系统)ppt课件盛党红

②ES—串行口中断允许位。
ES=0,禁止串行口中断;
ES=1,允许串行口中断。
③ET1—定时器/计数器T1的溢出中断允许位。
ET1=0,禁止T1中断;
ET1=1,允许T1中断。
④EX1—外部中断1的溢出中断允许位。
EX1=0,禁止外部中断1中断; EX1=1,允许外部中断1中断。
⑤ET0—定时器/计数器T0的溢出中断允许位。
22:19
单片机原理及接口技术
一、中断请求标志
1、定时器控制寄存器TCON中的中断标志位 2、串行口控制寄存器SCON中的中断标志位
返回
22:19
单片机原理及接口技术
1、TCON中的中断标志位
TCON为定时器/计数器T0和T1的控制器,同时也锁存T0和T1的溢 出中断标志及外部中断0和1的中断标志等。
SCON (98H)
TI RI
•其控制位的含义
返回
22:19
单片机原理及接口技术
SCON中控制位的含义
1、TI:串行口发送中断请求标志。 CPU将一个数据写入发送缓冲器SBUF时,就启动发
送。每发送完一帧串行数据后,硬件置位TI。但CPU响应 中断时,并不清除TI,必须在中断服务程序中由软件对TI 清0。
为0,则相应的中断源规定为低级中断。
返回
22:19
单片机原理及接口技术
3、中断优先级排列顺序
• 当同时接收到几个同一优先级的中断请求时,响应哪个中断源则取决于 内部硬件查询顺序。
• 其优先级顺序排列如 图所示。
中断源
同级内的中断优先级
外部中断0中断 定时器/计数器T0溢出中断 外部中断1 定时器/计数器T1溢出中断 串行口中断
• 因此,CPU可以使多个外设同时工作,并 分时为各外设提供服务,从而提高了CPU 的利用率和输入和输出的速度。

第6章 单片机中断系统

第6章 单片机中断系统
单片机原理及应用
第6章 MCS-51单片机中断系统
第6章 MCS-51单片机中断系统
6.1 6.2 6.3 6.4 6.5 中断的基本概念 中断源和中断请求标志 中断系统控制 中断响应 中断的应用及编程
6.1 中断的基本概念
“中断”是处理事件的一个“过程”,这一过 中断”是处理事件的一个“过程” 中断 程一般是由计算机内部或外部某种紧急事件 引起并向主机发出请求处理的信号, 引起并向主机发出请求处理的信号,主机在 允许情况下响应请求,暂停正在执行的程序, 允许情况下响应请求,暂停正在执行的程序, 保存好“断点”处的现场, 保存好“断点”处的现场,转去执行中断处 理程序,处理完后恢复现场, 理程序,处理完后恢复现场,自动返回到原 断点处,继续执行原程序。 断点处,继续执行原程序。这一处理过程就 称为“中断” 称为“中断”。
•EA(IE.7):允许/禁止全部 全部中断。当EA=0,则禁 全部 止所有中断的响应;当EA=1,则各中断源的响应与 否取决于各自的中断控制位的状态。
6.3 中断系统控制
x(IE.6):保留位,无意义。 •ET2(IE.5):定时计数器2(8052型单片机)的溢出或捕 获中断响应控制位。ET2=0则禁止中断响应;ET2=1为允 许中断响应。 •ES(IE.4):串行通信接收/发送中断响应控制位。ES =0,禁止中断响应; ES=1,允许中断响应。 •ETi(IE.3, IE.1 ):定时器/计数器i(i=0、1)的溢出中断 响应控制位。ETi=0,禁止中断响应;ETi=1,则允许中断 响应。 •EXi(IE.2 、IE.0 ):外部中断i(INTi )中断响应控制位。 EXi=0,禁止中断响应; EXi=1则允许中断响应。
6.2 中断源和中断请求标志

单片机应用中断系统介绍

单片机应用中断系统介绍

03
异常数据采集:通过中断系 统实现异常数据采集,及时 发现和处理系统异常
04
远程数据采集:通过中断系 统实现远程数据采集,提高 系统可扩展性和灵活性
通信处理
中断系统在 通信处理中
的应用
中断系统在 实时通信中
的应用
中断系统在 错误处理中
的应用
中断系统在 数据传输中
的应用
4
中断优先级设置
01
优先级设置原则: 高优先级中断优先
外部中断可以 由硬件或软件
触发
02
外部中断通常 用于处理外部 设备的输入输
出操作
04
外部中断的处理 程序通常需要与 外部设备的驱动
程序协同工作
定时中断
定时中断是 一种由定时 器产生的中 断
01
定时中断可以 设置不同的时 间间隔,以满 足不同的需求
03
02
04
定时中断用于 实现定时任务, 如定时器、闹 钟等

中断系统的工作原理
01
中断源:产生中断请求的设备或事件
02
中断控制器:接收和处理中断请求的硬件设备
03
中断向量表:存储中断处理程序的地址和参数
04
中断处理程序:执行中断请求的处理程序
05 中断返回:处理完成后返回到被中断的程序继续执行
2
外部中断
01
外部中断是指 由外部设备或 信号引起的中

03
3
实时控制
实时控制是单片机应 用中断系统的重要应
用之一
实时控制可以快速响 应外部事件,提高系
统的实时性能
实时控制可以应用于 工业控制、机器人控
制等领域
实时控制可以提高系 统的稳定性和可靠性,

单片机中断系统课件

单片机中断系统课件

04
单片机中断系统的应 用
定时器中断的应用
定时器中断
在单片机中,定时器中断是一种常见的中断类型 。通过设置定时器,可以在指定的时间间隔后产 生中断,从而执行相应的中断服务程序。
定时器中断的优点
定时器中断具有高精度、可编程和灵活性强的优 点。它可以用于各种不同的时间控制需求,并且 可以通过编程来调整时间间隔。
根据中断类型,调用相应 的中断服务例程,执行中 断处理程序。
清除中断标志位
在调用中断服务例程后, 需要清除相应的中断标志 位,以避免重复处理同一 个中断。
中断嵌套与优先级反转
中断嵌套
在单片机中断系统中,允许一个 中断被另一个更高优先级的中断 打断,形成嵌套的中断处理。
优先级反转
由于中断优先级的不同,可能会 发生优先级反转的情况,即低优 先级的中断需要等待高优先级的 中断处理完毕后才能被处理。
串行通信中断的 优点
串行通信中断具有实时 性强、可靠性高的优点 。它可以快速地响应串 行通信事件,并且可以 在数据传输过程中进行 错误检测和处理。
串行通置串行通信端口、设 置中断触发条件以及编 写相应的中断服务程序 。在中断服务程序中, 可以执行一些重要的任 务,例如读取接收到的 数据、发送数据等。
中断控制器
用于管理中断源,控制中 断的触发、优先级和子优 先级等。
中断处理程序
当中断发生时,CPU自动 跳转到预定的中断处理程 序入口地址,执行相应的 中断处理代码。
中断处理过程
中断请求
当某个中断源触发中断 时,向CPU发送中断请
求信号。
中断响应
CPU检测到中断请求后 ,根据中断优先级和子 优先级判断是否响应该
断点调试
在关键位置设置断点,观察中断触发 时的程序状态,检查是否符合预期。

单片机中断系统的结构

单片机中断系统的结构

单片机中断系统的结构一、引言在单片机的应用中,中断是一种非常重要的机制,它可以提高系统的响应速度和效率。

中断系统是指由硬件和软件共同组成的一套机制,用于处理外部事件的优先级和响应方式。

本文将介绍单片机中断系统的结构和工作原理,以及如何在程序设计中使用中断。

二、中断系统的基本原理中断系统是由中断源、中断控制器和中断服务程序三部分组成的。

其中,中断源是指产生中断请求的外部事件,如按键输入、定时器溢出等;中断控制器是负责接收和分发中断请求的硬件模块;中断服务程序是处理中断请求的一段特定程序代码。

三、中断源中断源是产生中断请求的外部事件,它可以是来自外部硬件设备的信号,也可以是由内部程序生成的软件中断请求。

常见的中断源包括按键输入、定时器溢出、串口通信等。

中断源通过触发相应的中断请求,将中断信号发送给中断控制器。

四、中断控制器中断控制器是负责接收和分发中断请求的硬件模块。

它通常包含多个中断通道,每个通道对应一个中断源。

当中断源触发中断请求时,中断控制器会根据中断源的优先级和中断屏蔽状态,确定是否接受该中断请求,并将中断信号发送给CPU。

中断控制器通常包括以下几个重要的部分:1. 中断请求线:用于接收中断源产生的中断请求信号;2. 中断屏蔽器:用于屏蔽或使能特定的中断源;3. 中断优先级编码器:用于确定中断源之间的优先级;4. 中断向量表:用于存储每个中断源对应的中断服务程序的入口地址。

五、中断服务程序中断服务程序是处理中断请求的一段特定程序代码。

当中断请求被接受后,CPU会暂停当前的任务,跳转到对应的中断服务程序执行。

中断服务程序通常包括以下几个重要的步骤:1. 保存现场:将当前程序的状态和寄存器值保存到栈中,以便在中断处理完成后恢复;2. 执行中断处理:根据中断源的类型和需求,执行相应的中断处理操作;3. 恢复现场:将之前保存的状态和寄存器值从栈中恢复,以继续执行被中断的程序。

六、中断优先级和嵌套中断在多个中断源同时产生中断请求时,中断控制器会根据中断源的优先级确定中断的处理顺序。

单片机中断系统

单片机中断系统

设置串口的波特率、数据 位、停止位等参数。
在程序中开启串口中断, 以便在有数据可读或写入 时触发中断。
在中断服务程序中,编写 读取或写入数据的代码。
在中断服务程序执行完毕 后,返回主程序继续执行 。
外部中断的编程实例
01
02
03
04
05
外部中断:外部中断主 要用于处理外部事件, 例如按键按下、传感器 触发等。当外部事件发 生时,会触发外部中断 。在中断服务程序中, 可以执行特定的任务, 例如控制LED灯亮灭、 启动电机等。
02
在单片机启动时,中断向量表会被初始化,指向相 应的中断处理程序入口。
03
当发生中断时,单片机根据中断源查找中断向量表 ,跳转到相应的中断处理程序执行。
03
单片机中断系统的处理过程
中断请求
外部中断请求
由单片机外部的硬件设备产生的 中断请求,例如定时器溢出、串 行通信接收数据等。
定时器中断请求
由单片机内部的定时器产生的中 断请求,用于定时器溢出或达到 预设时间点时触发中断。
外部中断的应用场景
外部中断在人机交互、工业控制等领域应用 广泛。通过外部中断,单片机可以ห้องสมุดไป่ตู้时响应 外部事件,实现快速反应和精确控制。例如 ,在智能家居系统中,外部中断可以用于实 现远程控制和自动化控制等功能。
05
单片机中断系统的编程实例
定时器中断的编程实例
01
02
03
04
05
定时器中断
1. 配置定时器
检查是否还有未处理的中 断请求
如果有未处理的中断请求,则根据优先级和 条件进行相应处理;如果没有,则继续执行 主程序。
04
单片机中断系统的应用

单片机中的中断系统原理与应用技术

单片机中的中断系统原理与应用技术

单片机中的中断系统原理与应用技术中断系统是单片机中非常重要的一部分,它为单片机提供了有效的处理外部事件的机制。

本文将介绍中断系统的原理、分类以及在单片机应用中的技术。

一、中断系统原理1. 中断概念中断是指在程序执行过程中,由于某个特定事件的发生,导致CPU暂时停止正在执行的程序,转而处理发生的中断事件。

中断事件可以是外部事件,如按键操作、定时器溢出等; 也可以是内部事件,如错误检测等。

2. 中断系统的作用中断系统的作用是提高系统的响应速度和处理能力。

当处理器空闲或执行低优先级任务时,中断系统可以迅速响应外部事件,不需要等待主程序的执行完成。

3. 中断系统的组成中断系统由中断源、中断请求、中断嵌套、中断优先级、中断响应和中断服务程序等组成。

中断源是指产生中断请求的外设或内部事件。

中断请求是指外设或事件向CPU 发送中断信号的请求。

中断嵌套是指当多个中断同时发生时,中断服务程序按照优先级顺序处理中断请求。

中断优先级是根据中断重要性和紧急程度设置的,具有更高优先级的中断会打断正在执行的低优先级中断。

中断响应是指CPU接收到中断请求后,根据中断优先级选择处理中断请求的方式。

中断服务程序是在中断响应之后执行的程序,用于处理中断事件。

二、中断系统的分类1. 外部中断外部中断是由外设引发的中断事件。

常见的外部中断包括按键中断、定时器中断、串口中断等。

外设产生中断请求信号时,会通过中断线路将中断请求信号发送给CPU,触发对应的中断服务程序。

2. 内部中断内部中断是由内部事件引发的中断事件。

内部事件可以是系统错误、数据溢出等。

内部中断无需外部中断源,一般通过异常或特殊指令触发中断服务程序的执行。

3. 软件中断软件中断是由程序内部指令触发的中断事件。

程序可以使用特殊的指令发送中断请求信号,使CPU执行对应的中断服务程序。

软件中断常用于程序自身需要主动暂停执行或调用某些特定功能的场景。

三、中断系统的应用技术中断系统在单片机应用中有着广泛的应用。

第6章_中断系统

第6章_中断系统

SETB CLR
bit; bit;
第六章 中断系统
课堂练习1:若允许片内2个定时器/计数器中断,禁止其 它中断源的中断请求。编写设置IE的相应程序段.
1
0
1
0
1
0
(1)用位操作指令来编写如下程序段: CLR ES ;禁止串行口中断 CLR EX1 ;禁止外部中断1中断 CLR EX0 ;禁止外部中断0中断 SETB SETB SETB ET0 ET1 EA ;允许定时器/计数器T0中断 ;允许定时器/计数器T1中断 ;CPU开中断
注意:TCON可位寻址。复位后,TCON=00H。
第六章 中断系统
串行口控制寄存器SCON中的中断请求标志:
TI/RI:串行口发送/接收中断请求标志。串行发送
/接收完一帧后自动置位,请求中断。需要再次发送 /接收时,应通过指令清零。
例:CLR TI或ANL SCON,#0FDH
注意:SCON可位寻址。复位后,SCON=00H。
第六章 中断系统
中断响应
中断请求被响应,需满足以下必要条件: (1)允许中断 (2)无同级或更高级中断正在被服务。 (3)当前正处于所执行指令的最后一个机器周期。 (4)正在执行的指令不是RETI指令。
第六章 中断系统
中断响应的主要过程:
首先由硬件自动生成一条长调用指令:
LCALL addr16
第六章 中断系统
中断 举例
日常生活 的中断
单片机 的中断
第六章 中断系统
日常生活中的中断示图
做记 号 接电 话 看书 继续看书
第六章 中断系统
中断服务
中断请求
中断源向CPU提 出的处理请求 ,称为中断请 求(或中断申请 )。

2022年第六章 MCS系列单片机的中断系统

2022年第六章 MCS系列单片机的中断系统

第6章 MCS-51系列单片机的中断系统
6.4 中断处理过程
6.4.1 中断响应
80C51的整个中断响应过程
1.外部中断请求采样 单片机在每个机器周期的S5P2(第五状态
第2拍节)对中断请求引脚P3.2、P3.3进行采 样;
对于沿触发方式的外中断请求,若在两个相 邻机器周期采样到的是先高电平后低电平,则中 断请求有效,把IE0或IE1置1;否则IE0或IE1继 续为0;
1 定时控制寄存器TCON
SETB EA
⑷IE.2 EX1:外中断1中断控制位; 4 中断优先级控制寄存器(IP)
对4个与中断有关的特殊功能寄存器TCONSCON、 否则IE0或IE1继续为0;
第6章 MCS-51系列单片机的中断系统
⑸IE.1 ET0:定时/计数器T0中断控制位 ; ORG 2000H
第6章 MCS-51系列单片机的中断系统
6.3.3 中断允许控制寄存器IE
表6-3 IE寄存器结构
D7 D6 D5 D4 D3 D2 D1 D0
IE
EA -
ES ET1 EX1 ET0 EX0
位地 址
AFH
AC H
AB H
AA H
A9H A8H
第6章 MCS-51系列单片机的中断系统
6.3.3 中断允许控制寄存器IE
第6章 MCS-51系列单片机的中断系统
6.3.2 串行口控制寄存器SCON
表6-2 SCON寄存器结构
SC D7 D6 D5 D4 D3 D2 D1 D0
ON - - - - - - TI RI


99H 98H

➢SCON.1 TI:MCS-51串行口的发送中断标志; ➢SCON.0 RI:串行口接收中断标志。

单片机中断系统

单片机中断系统

单片机中断系统的目的是为了让 CPU 对内部或外部的突发事件及时地作出响应并执行相应的程序在单片机的开发中它有着十分重要的作用那么单片机的中断是怎么回事它是如何工作的呢这一课就来讨论这个问题在讲解之前让我们先来介绍一下中断的原理一中断的基本原理什么是中断中断的过程是什么要搞清楚这个问题我们同样先从生活中的一个例子开始你正在家中看书突然电话铃响了你放下书去接电话和来电话的人交谈通完电话回来继续看你的书这就是生活中的中断现象就是正常的工作过程被外部的事件打断了仔细研究一下生活中的中断对我们学习单片机中断会很有帮助。

第一中断源什么可引起中断生活中很多事件都可以引起中断比如有人按了门铃电话铃响了你的闹钟响了你烧的水开了等等诸如此类的事件我们把可以引起中断的事件称之为中断源单片机中也有一些可以引起中断的事件比如按下键盘定时/计数器溢出报警等等89C51单片机中共有 5 个中断源两个外部中断两个定时/计数器中断和一个串行口中断。

第二中断的嵌套与优先级处理设想一下我们正在看书电话铃响了同时又有人按了门铃你先做那样呢如果你正在等一个很重要的电话一般是不会去理会门铃的而反之如果你正在等一个很重要的客人则可能就不会去理会电话了如果两者都不是既不等电话也不等人上门你可能会按你通常的习惯去处理总之这里存在一个优先级的问题单片机中也是如此也有优先级的问题优先级的问题不仅仅发生在两个中断同时产生的情况也发生在一个中断已产生又有另一个中断产生的情况比如你正在接电话又有人按门铃的情况或者你正开门与人交谈又有电话响了的情况仔细想一下我们一般会怎么处理不会吧这样就有点手忙脚乱了要是再来个 MM 这么办呵呵第三中断的响应与处理当有事件产生进入中断之前我们必须先记住现在的书看到第几页了或拿一个书签放在当前页的位置然后去处理不同的事情因为处理完了我们还要回来继续看书电话铃响我们要到放电话的地方去门铃响了我们要到门那边去也就是说不同的中断我们要在不同的地点处理而这个地点通常还是固定的单片机中采用的也是这种方法五个中断源每个中断产生后都要到一个固定的地址去找处理这个中断的程序当然在去之前首先要保存下面将执行的指令的地址以便处理完中断后回到原来的地方继续往下执行程序具体地说单片机中断响应可以分为以下几个步骤:1 停止主程序运行当前指令执行完后立即终止现在执行的程序2 保护断点把程序计数器 PC 的当前值压入堆栈保存终止的地址即断点地址以便从中断服务程序返回时能够继续执行该程序3 寻找中断入口,根据 5 个不同的中断源所产生的中断查找 5 个不同的入口地址4 执行中断处理程序这就不讲了5 中断返回执行完中断处理程序后就从中断处返回到主程序继续往下执行以上工作是由计算机自动完成的与编程者无关在这 5 个入口地址处存放有中断处理的程序这是程序编写时放在那儿的如果没把中断处理程序放在那儿可就错了因为中断程序无法被执行到那么执行中断程序有什么好处呢二实现中断的好处单片机为什么要有中断系统使用中断有什么好处呢日常生活中我们除了看书肯定还要做很多其他的事情比如听电话接待客人烧水吃饭等等单片机实行中断也有很多的好处具体来说1 实行分时操作提高 CPU 的效率只有当服务对象向 CPU 发出中断申请时才去为它服务这样我们就可以利用中断功能同时为多个对象服务从而大大提高了 CPU 的工作效率2 实现实时处理利用中断技术各个服务对象可以根据需要随时向 CPU 发出中断申请及时发现和处理中断请求并为之服务以满足实时控制的要求比如定时的时间到了就要 CPU 做相应的处理3 进行故障处理对难以预料的情况或故障比如掉电事故等可以向 CPU 发出请求中断由 CPU 作出相应的处理。

基于CDIO工程教育理念的单片机原理及应用 第6章 单片机的中断系统

基于CDIO工程教育理念的单片机原理及应用 第6章 单片机的中断系统
IT0=0时,为电平触发,IT0=1时为跳变触发
1. 触发方式
电平触发时,IE0的状态随CPU在每个机器周期采样的INT0电平变化 而变化。跳变触发时,IE0能锁存INT0的负跳变,直到CPU响应此中断才 清0;
6.3 中断处理过程
2. 适用情况
电平触发适用于外部中断以低电平输入而且中断服务程序 能清除外部中断请求源(又变为高电平)的情况。跳变触发适 用于以负脉冲形式输入的外部中断请求。
中断源
外部中断0(INT0) 定时/计数器0 外部中断1(INT1) 定时/计数器1 串行口
入口地址 0003H 000BH 0013H 001BH 0023H
6.3 中断处理过程
3.中断返回
中断返回指令RETI的执行过程:
① 如果有保护现场(PUSH指令),则须先行恢复 现场(POP指令);
② 优先级状态触发器清零; ③ 恢复断点 CPU从断点处重新执行被中断的程序。
基于CDIO工程教育理 念的单片机原理及应用
第6章 MCS-51单片机的中断系统
【本章要点】
中断系统基本概念、结构及工作原理 有关的特殊功能寄存器 中断响应过程、外部中断源的扩展方法
6.1中断技术概述
6.1.1 中断的概念
中断源 中断请求 中断响应 中断服务程序 断点地址 中断返回
6.1中断技术概述
4. 中断优先级控制寄存器IP
PS PT1 PX1 PT0 PX0
PX0:外部中断0优先级控制位 PT0:T0溢出中断优先级控制位 PX1:外部中断1优先级控制位 PT1:T1溢出中断优先级控制位 PS: 串行口中断优先级控制位
置0为低优先级,置1为高优先级
6.1中断技术概述
自然优先权

单片机课件第6章中断系统

单片机课件第6章中断系统

1
2. 电平触发:避免一次按键引起多次中断响应。 +5V 1.软件等待按键释放。 2.硬件清除中断信号。
单片机 ORG 0000H;复位入口 AJMP MAIN INT0 ORG 0003H ;中断入口 AJMP PINT0 P1.0 ORG 0100H ;主程序 MAIN:MOV SP,#40H;设栈底 SETB EA ;开总允许开关 SETB EX0 ;开INT0中断 CLR IT0 ;低电平触发中断 H: SJMP H ;执行其它任务 ORG 0200H ;中断服务程序 PINT0:CPL P1.0 ;改变LED WAIT:JNB P3.2,WAIT;等按键释放 RETI ;返回主程序
• LOOP:MOV P1,A • DEC A • ACALL DELAY • ACALL DELAY • DJNZ R1, LOOP • SJMP RES
中断服务程序
• EXT0:PUSH ACC • MOV A,#00 • MOV P1,A • ACALL DELAY • ACALL DELAY • CPL A • MOV P1,A • ACALL DELAY • ACALL DELAY • POP ACC • RETI •
3.2.4 MCS-51扩展外部中断请求输入口
8051单片机只提供了两个外部中断请求输入端,如果需要 使用多于两个的中断源,就必须扩展外部中断请求输入口。 1.定时器/计数器用于扩展外部中断请求输入口
8051单片机有两个定时器/计数器,它们作为计数器使用时,
计数输入端T0(或T1)发生负跳变将使计数器加1,利用此特
处理外部中断举例 要求每次按动按键,使外接发光二极管LED改变一次亮灭状态。 解:INT0输入按键信号,P1.0输出改变LED状态。 +5V 1.跳变触发:每次跳变引起一次中断请求。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

对I位进行 了操作,I = 0
6.4可屏蔽中断(I位)
图6.6 清除中断标志位处理逻辑
a 中断C 中断B 中断A b 运行 运行 等待 等待 运行 运行 cd e f
高优先级
低优先级 主程序 运行 等待 等待 等待 等待 时间节点: a:B中断发生,打断主程序响应B中断。 b:中断C请求,响应中断C,B中断挂起。 c:中断C结束,回到中断B。 d:中断A请求,响应中断A,B中断再次挂起。 e:中断A结束,再次回到中断B。 f:中断B结束,主程序继续执行。
6.4 嵌套的处理
中断嵌套: 中断嵌套是指中断本身被另一个中断所打断,就像中 断打断正常程序流程一样。 中断优先级和中断嵌套这两者之间没有必然联系,切 不可以为优先级高的中断可以打断优先级低的中断。
6.4可屏蔽中断(I位)
(局部中断的使能问题)----了解即可
1、即中断n正在处理,而中断池中出现了中断源n。 2、任何一个中断源在其所属的硬件模块都有一个当地的中断使能 位和中断标志位。 3、该中断标志位的作用同全局中断标志位I,但是只对这一个中 断有效。 4、中断使能后,中断事件引发中断响应。此时中断标志位置1, 我们必须在中断响应程序中将该标志位清零,否则该中断时间 的再次发生将不会导致中断申请。 5、如果我们在该中断服务程序的入口处立即将该中断标志清零, 那么该中断有可能再次发生并申请中断处理 6、如果在中断结尾处将该标志清零,那么即使该中断时间再次发 生也无法申请处理,也就无法在上一个中断处理结束时出现在 中断池中。
没有对I位 进行操作, I=1
高优先级
6.4可屏蔽中断(I位)
图6.5 默认的处理逻辑
a 中断C 中断B 中断A b c 等待 运行 等待 等待 运行 d 运行 e f
低优先级 主程序 运行
等待
等待 等待
运行
中断优先级C最高,其次是B和A,时间节点: a:B中断发生,打断主程序响应B中断。 b:中断C请求,不响应。 c:中断A请求,不响应。 d:中断B结束,响应中断C。 e:中断C结束,响应中断A。 f:中断A结束,主程序继续执行。
(4)时钟监控复位 当系统时钟频率低于某个预设置值或停止工作 时,将触发时钟监控复位。 当上述事件触发复位时,S12单片机在程序计数 器中放置一个复位向量,处理器执行启动例程。
6.2.2、其他异常
(1) 软件中断 软件中断实质上是一条指令,但其执行过程与中断相同。 我们可以称之为没有中断源的中断,或是人为指令触发的中 断。
None None
X标志位 None
5软件中断 6XIRQ中断 7 I位可屏蔽中断
1、2、3 None 1、2、3 1、2、3、4、7 I标志位
6.4可屏蔽中断(I位)
当多个 I 位可屏蔽中断同时请求处理时,中断优先级较 高者将被首先执行。
中断源1 中断源2 中断源3
……
I=0 I=1
中断池
如图所示为一个开源节流的中断池。响应中断的条件 是中断池中有中断源以及I=0。此时中断优先级较高的 中断将会被处理,同时将I=1,关闭出口。
6.2.4、异常处理
以中断程序的执行过程辅助说明
(1)每一个异常都有一个异常向量(中断向量),该 向量其实就是连续的两个内存单元,这两个内存单 元的存储值就是异常服务程序代码的起始地址。
(2)所有的中断向量存放在内存空间的$FFFF— $FF00处,称为中断向量表。S12的CPU理论上一 共可以处理128条异常。
(2) 非法指令陷阱 CPU正常工作时,每次获得的都是由汇编或编译程序生 成的有效操作码,CPU能够正确解释并执行它们,但当受到 干扰或系统出现混乱时,可能得到无法识别的操作码,即非 法指令,这时将产生中断。
6.2.3、中断
• 上述异常发生时,CPU必需响应。但中断却例外, 有效利用的一种异常,有很多中断事件。 • 中断可以屏蔽,CCR的X、I位是相应中断的屏蔽 位。 • 只有在X、I为0时相应的中断才可以被响应。
YH: YL RTNH: RTNL
引发中断
CPU
执行
… … 中断服务代码
中断处理过程: ① 中断响应 ②获取中断向量 ③找到子程序入口 ④相关寄存器入栈 ⑤执行中断程序 ⑥相关寄存器出栈。 ⑦返回正常程序
$FF00
… … … … … … … 指向
$FFXX
AdddrH AdddrL … …
中断向量
获取
———
X
I I
None / BFRIER (XSYNIE)
INTCR (IRQEN) CRGINT (RTIE)

$F2 $F0
XIRQ
———
IRQ
实时中断
$FFEE,$FFEF
$FFEC,$FFED $FFEA,$FFEB $FFE8,$FFE9
捕捉定时通道0
捕捉定时通道1 捕捉定时通道2 捕捉定时通道3
6.5中断向量表
向量地址 $FFE0,$FFE1 中断源 捕捉定时通道7 CCR I 局部使能位 TIE (C7I) HPRIO $E0
$FFDE,$FFDF
$FFDC,$FFDD $FFDA,$FFDB $FFD8,$FFD9
捕捉定时溢出
脉冲累加器A溢出 脉冲累加器边沿输入 SPI0
I
I I I
$FFFF
6.3中断优先级与中断嵌套源自中断打断中断中断优先级:当多个中断等待执行时,中断优先级决定哪一个中断首先
被执行。 中断优先级顺序: ① RESET引脚和上电复位 ② 时钟监视复位 ③ COP复位 ④指令陷阱和软件中断 ⑤ X位中断 ⑥ I 位可屏蔽中断
6.3中断优先级与中断嵌套
表6.1 默认嵌套机制 异常类型 可以被谁打断 1上电与外部复位 None 1 2时钟监视复位 3 COP复位 4指令陷阱 1、2 1、2、3 屏蔽标志 None
中断
其他
X位可屏蔽
I位可屏蔽
1.软件中断 2.指令陷阱
XIRQ中断
1.IRQ 2.实时中断 3.输入捕捉 4.AD 5.SCI ……
6.2.1、复位
四种事件可以触发系统复位: (1)上电复位 S12的VDD引脚上的一个正向变化将触发上电复 位,这意味着当给S12上电时,它以一个已知的、 确定的设置启动。 (2)外部复位 S12配备一个标记为RESET的低电平有效复位引 脚,当该引脚电压为低电平时,触发复位。
6.4可屏蔽中断(I位)
需要注意的是,通过HPRIO设定的优先级并不表示当出 现中断嵌套时,高优先级中断可以中止低优先级中断的服务 程序执行,而转向高优先级中断的服务程序运行。这里高优 先级作用只有当多个中断源同时请求中断时才能体现,这时 S12单片机将首先响应高优先级的中断,低优先级的中断不 会得到响应。
$FFFA,$FFFB $FFF8,$FFF9 $FFF6,$FFF7
时钟监控复位
COP复位 非法指令陷阱 软件中断指令
None
None None None
COPCTL (CME, FCME)
COP rate select None None

— — —
$FFF4,$FFF5
$FFF2,$FFF3 $FFF0,$FFF1
6.5中断向量表
• S12采用一套特殊的机制实现对异常(中断) 的处理,在0xFF80~0xFFFF地址空间设置 了一个向量表,每个向量表对应一种异常的 处理程序的地址。向量表中每个向量为16位, 占用2个字节空间,所有S12最大可有64个中 断向量。
6.5中断向量表
• S12处理器在进行中断响应时,依据中断信号 的来源在中断向量表中对应位置取得中断向 量的16位中断服务程序入口地址,进而以此 地址转到相应的中断服务程序。
• 中断定义:是指CPU在正常执行程序过程中,由于
内部/外部事件,CPU暂时中断当前程序的运行, 转而执行由内部/外部事件引起的中断服务子程序。 在中断服务子程序执行完毕后,CPU再重新回来执 行当前的程序;
定义
• 单片机为什么引入中断系统机制
• 首先想想生活中中断的处理机制及方法
• 与查询的概念相对应;中断是用以提高计算机工 作效率的一种重要机制和技术;
6.2.4、异常处理
(3)、当异常发生时,CPU选择相应异常的中断向量, 获取该向量中的地址信息,转而执行该地址所指向 的代码。
(4)、还有一件很重要的事,就是中断服务代码执行 前和执行后都该如何处理。
6.2.4、异常处理
(5)、异常处理流程
CPU需要返回到正常的代码流程,可是刚才执行到哪 了呢?书签的寓意就是保存上下文,即执行中断代码前需 要将当前的CPU寄存器:A、B、X、Y、CCR以及当前程 序代码的位置PC(地址)进行入栈(Push)保存。
6.5中断向量表
• S12中断向量表的首地址固定在0xFF80不变, 其内容由用户在程序设计阶段给定,一般不 能在运行时更改。表6.1列出了S12中断向量 表的分配情况。
6.5中断向量表
向量地址 $FFFE,$FFFF 中断源 复位 CCR None 局部使能位 None HPRIO —
$FFFC,$FFFD
6.2.3 、中断
1、X位可屏蔽中断 • 当X标志位为0且XIRQ引脚被拉成低电平,MCU 将响应该中断。 • 软件指令只能将X标志位清零,不能将X标志位置1。 • 不能人为屏蔽,只能开启中断。 • 所以将 XIRQ中断称为不可屏蔽中断。
6.2.3 、中断
2、I位可屏蔽中断 • 当I标志位为0,中断发生时,MCU执行完当前指 令后,将响应该中断。 • 将I标志位置1,关闭所有中断。 • 通常情况下:中断程序内,开始将I置1,服务代码 执行完毕后通过RTI指令将该标志位清零。
中断代码执行完毕后,通过RTI指令(Return from interrupt),将PC等信息弹出(Pull)。这样CPU重新获得 了正常执行代码的地址,进而继续之前的正常流程。
相关文档
最新文档