3.3.1 51单片机中断概念(中断控制).

合集下载

51单片机的内部资源

51单片机的内部资源
01
T1
RX TX
EX0 1 EA 1 IE0
ET0 1 TF0
EX1 1 IE1
ET1 1 TF1
RI TI ≥1
SCON
ES 1
IP
PX0 1 0
PT0 1 0
PX1 1 0
PT1 1 0
PS 1 0
硬件查询




1


级 中断入口
中断源


0




级 中断入口
中断源
三、中断请求源
51单片机的五个中断请求源 : (1)INT0—外部中断请求0,由引脚INT0 (P3.2)输入,中断
中断请求
执行主 程序
断点
继续执行 主程序
中断响应
执行 中断 处理 程序
中断返回
主程序:CPU正常情况下运行的程序称为主程序。
中断源:把向CPU提出中断申请的设备称为中断源。
中断请求:由中断源向CPU所发出的请求中断的信号称中断 请求。
中断响应:CPU在满足条件情况下接受中断申请,终止现行 程序执行转而为申请中断的对象服务称中断响应。
IE0=0,无中断请求。
IE0=1,外部中断0有中断请求。当CPU响应该中断,转向中 断服务程序时,由硬件清“0”IE0。
(3)IT1—外部中断请求1为跳沿触发方式还是电平触发方式, 意义与IT0类似。
(4)IE1—外部中断请求1的中断请求标志位,意义与IE0类似。
(5)TF0—T0溢出中断请求标志位。 T0计数后,溢出时,由硬件置“1”TF0,向CPU申请中断,
串行中断是为串行数据传送的需要而设置的。每当串行 口发送或接收一组串行数据时,就产生一个中断请求。

MCS-51单片机的中断系统

MCS-51单片机的中断系统

MCS-51单⽚机的中断系统单⽚机中断技术概述在任何⼀款事件驱动型的CPU⾥⾯都应该会有中断系统,因为中断就是为响应某种事件⽽存在的。

中断的灵活应⽤不仅能够实现想要的功能,⽽且合理的中断安排可以提⾼事件执⾏的效率,因此中断在单⽚机应⽤中的地位是⾮常重要的。

单⽚机中断(Interrupt)是硬件驱动事件,它使得CPU暂停当前的主程序,转⽽去执⾏⼀个中断服务⼦程序。

为了更形象地理解中断,下⾯以学⽣上⾃习时接电话为例阐述⼀下中断的概念。

单⽚机的中断系统有5个中断源、2个中断优先级,可实现两级中断服务程序嵌套。

如果单⽚机没有中断系统,单⽚机的⼤量时间可能会浪费在查询是否有服务请求发⽣的定时査询操作上。

采⽤中断技术完全消除了单⽚机在査询⽅式中的等待现象,⼤⼤地提⾼了单⽚机的⼯作效率和实时性。

单⽚机中断系统结构及中断控制中断系统结构图如图5-2所⽰。

由图5-2可见,MCS-51中断系统共有5个中断请求源:INT0——外部中断请求0,中断请求信号由INT0引脚输⼊。

定时/计数器T0计数溢出发出的中断请求。

INT1——外部中断请求1,中断请求信号由INT1引脚输⼊。

定时/计数器T1计数溢出发出的中断请求。

串⾏⼝中断请求。

中断优先级从⾼到底排列。

单⽚机如何知道有中断请求信号?是否能够响应该中断?若5个中断源请求信号同时到来,单⽚机如何响应?这些问题都可以由中断寄存器来解决。

单⽚机中断寄存器有中断标志寄存器TCON和SCON、中断使能寄存器IE和中断优先级寄存器IP,这些寄存器均为8位。

中断标志寄存器5个中断请求源的中断请求标志分别由TCON和SCON的相应位锁存,单⽚机通过这些中断标志位的状态便能知道具体是哪个中断源正在申请中断。

TCON寄存器TCON寄存器为定时/计数器的控制寄存器,字节地址为88H,可位寻址。

特殊功能寄存器TCON的格式如图5-3所⽰。

TCON各标志位功能如下。

TF1——定时/计数器T1的溢出中断请求标志位。

第5章 MCS-51单片机的中断系统

第5章 MCS-51单片机的中断系统
系统
(2)实现实时处理
在实时控制中,现场的参数、信息是不断变化的。 有了中断功能,外界的这些变化量可随时向CPU 发出中断请求,CPU可以马上响应加以处理。
(3)故障处理
单片机运行过程中,出现一些故障时(如掉电、 存储出错、运算溢出等),有了中断功能,单片 机就能自行处理而不必停机。 外界的中断请求是随机的,单片机响应请求后要 转到中断服务程序,与调用子程序相类似,需要 注意对现场进行保护。
ORG 0100H
MAIN: …;
第五章 MCS-51单片机的中断系统
ORG 1000H INT1:PUSH ACC PUSH DPH PUSH DPL PUSH R0 PUSH R1 … POP R1 POP R0 POP DPL POP DPH POP ACC RETI
第五章 MCS-51单片机的中断系统
5.3 中断处理过程
中断响应
中断处理
中断返回
第五章 MCS-51单片机的中断系统
5.3.1 中断响应
1. CPU响应中断的基本条件 (1)有中断源提出中断请求; (2)中断没有被禁止; (3)没有正在响应的同级或更高优先级的中断; (4)当前的指令周期已经结束;(也就是说,中 断申请时,正在执行的这条指令完成后,才会响 应中断请求) (5)若当前指令为RETI或访问IE、IP指令, CPU在执行完当前指令后,要再执行一条指令才 会响应中断请求。
第五章 MCS-51单片机的中断系统
2.中断响应过程 (1)根据响应的中断源的中断优先级,使相应的优 先级状态触发器置1; (2)清除相应的中断请求标志位(串行口中断请求 标志RI和TI除外);
(3)把当前程序计数器PC的内容压入堆栈;
(4)把被响应的中断源所对应的中断服务程序的入 口地址送入PC,从而转入相应的中断服务程序。 CPU响应中断请求后,在中断返回(执行RETI)前, 中断请求必须被清除,即中断标志位=0,否则会再 一次引起中断响应。

MCS-51单片机的中断系统

MCS-51单片机的中断系统

其各位格式为: D7 D6 D5 D4 D3 D2 D1 D0 -- -- -- PS PT1 PX1 PT0 PX0
如果CPU接收到几个相同优先级的中断请求源时,响应哪一个 中断申请要取决于一个内部的硬件查询序列,此时应按照下表所 示的优先权结构先后响应中断请求。
中断源 外部中断0(IE0) 定时器T0中断(TF0) 外部中断1(IE1) 定时器T1中断(TF1) 串行口中断(RI、TI)
主程序的中断处理
1.2 CPU响应及处理中断机制
一般来说,根据中断源的轻重缓急排序,CPU优先处理最 紧急事件的中断请求源。也就是说,需要对各个中断源设定 相应的优先级,CPU总是最先响应级别最高的中断。中断源可 以分为两个中断优先级:高优先级和低优先级。用户可以用 关中断指令或复位指令来屏蔽所有中断请求,也可以用开中 断指令使CPU接收中断申请。
SM0 SM1 SM2 REN TB8 RB8 TI RI
1.4 中断控制及中断优先级
1.中断允许控制寄存器IE(字节地址A8H)
D7 D6 D5 D4 D3 D2 D1 D0 EA -- ET2 ES ET1 EX1 ET0 EX0
使用汇编语言程序控制中断请求信号的允许 或禁止的程序示例如下:
CLR EA ; 禁止所有中断请求
MOV SP, #60H SETB PX0 SETB IT0 SETB ET0 SETB EX0 SETB EA
【例2】若要求外部中断引脚 采用边沿触发方式,处于高优先 级,初始化程序可以采用位操作指令,也可以用字节型指令进行编 制。
位操作指令: SETB EA SETB EX1 SETB PX1 SETB IT1
送/接收后引起。
2.中断请求标志 1)TCON寄存器中的中断标志 TCON是定时/计数器T0、T1的控制寄存器,格式如下:

51单片机中断详解(上)

51单片机中断详解(上)
51单片机中断详解(上)
一.中断的概念
中断发生
CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理
中断响应和中断服务
CPU暂时中断当前的工作,转去处理事件B
中断返回
待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理
事件A
这一过程称为中断
二.中断过程示意图
三.MCS51中断系统的结构
TF0:定时/计数器T0溢出中断请求标志位
TF1:定时/计数器T1溢出中断请求标志位
3.串行口控制寄存器(SCON)
RI:串行口接收中断标志位。当允许串行口接收数据时,每接收完一个串
行帧,由硬件置位RI。注意,RI必须由软件清除。
TI:串行口发送中断标志位。当CPU将一个发送数据写入串行口发送缓冲
器时,就启动了发送过程。每发送完一个串行帧,由硬件置位TI。CPU响应
定时器控制寄存器TCON
串口控制寄存器SCON
中断优先控制寄存器IP
定时器工作方式控制寄存器TMOD
定时器初值赋予寄存器(TH0/TH1,TL0/TL1)
五.部分寄存器详解
1.中断允许控制寄存器(IE)
EX0:外部中断0允许位;
ET0:定时/计数器T0中断允许位;
EX1:外部中断1允许位;
ET1:定时/计数器T1中断允许位;
ES:串行口中断允许位;
EA:CPU中断允许(总允许)位。
2.定时器/计数器控制寄存器控制寄存器(TCON)
IT0:外部中断0触发方式控制位
当IT0=0时,为电平触发方式(低电平有效)
当IT0=1时,为边沿触发方式(下降沿有效)
IE0:外部中断0中断请求标志位
IT1:外部中断1触发方式控制位

51单片机中断控制

51单片机中断控制

51单片机中断控制在单片机的世界里,中断控制就像是一位高效的调度员,能够让单片机在处理各种任务时更加灵活和高效。

今天,咱们就来好好聊聊 51 单片机的中断控制。

咱们先来了解一下啥是中断。

简单说,中断就是在单片机正常执行主程序的时候,突然有个更紧急或者更重要的事情需要处理,这时候单片机就会暂停主程序,先去处理这个紧急的事情,处理完了再回来继续执行主程序。

51 单片机有 5 个中断源,分别是外部中断 0 和 1、定时器/计数器 0 和 1 的溢出中断,还有串行口中断。

每个中断源都有自己的中断标志位和中断允许位。

外部中断 0 和 1 可以通过单片机的引脚来触发。

比如说,当外部引脚检测到一个下降沿或者低电平时,就可以产生中断。

这在很多实际应用中非常有用,比如检测按键按下、外部设备的信号变化等。

定时器/计数器 0 和 1 的溢出中断则是当定时器或者计数器的值达到设定的最大值时产生中断。

这就好比一个闹钟,设定好时间,时间一到就响铃提醒单片机去做相应的处理。

串行口中断则是在串行通信过程中,当发送或者接收完一帧数据时产生中断,方便单片机及时进行数据处理。

要让中断能够正常工作,还得设置好相关的寄存器。

中断允许寄存器 IE 用来控制各个中断源是否允许中断。

比如说,如果要允许外部中断 0 中断,就需要把 IE 寄存器中的相应位设置为 1。

中断优先级寄存器 IP 则用来确定各个中断源的优先级。

当多个中断同时发生时,优先级高的中断会先得到处理。

在编写中断服务程序的时候,有几个要点需要注意。

首先,中断服务程序要有一个特定的函数格式,一般是以“void 中断服务函数名()interrupt 中断号”这样的形式来定义。

然后,在中断服务程序中,要尽量快速地完成关键处理,因为中断服务程序会打断主程序的执行,如果处理时间过长,可能会影响主程序的实时性。

比如说,在一个温度控制系统中,主程序负责采集温度数据、显示温度等常规操作。

而外部中断0 可以用来检测温度超过设定的上限值,一旦触发中断,中断服务程序就会迅速采取降温措施,比如启动风扇或者关闭加热设备,然后迅速返回主程序。

第3章MCS-51单片机的中断系统

第3章MCS-51单片机的中断系统
某人看书执行主程序日常事务电话铃响中断信号int0中断请求暂停看书暂停执行主程序中断响应书中作记号当前pc入栈保护断点电话谈话执行io程序中断服务继续看书返回主程序中断返回执行主程序主程序继续执行主程序断点中断请求中断响应执行中断处理程序中断返回中断与转子的区别中断是随机的转子事先编程决定断点
3.3 MCS-51的中断系统 的中断系统
4、中断响应过程 、 关中断:屏蔽其它中断请求信号。 关中断:屏蔽其它中断请求信号。 保护断点:将断点地址压入堆栈保存,即当前 值入栈 值入栈。 保护断点:将断点地址压入堆栈保存,即当前PC值入栈。 寻找中断源:中断服务程序入口地址送 ,转入中断服务。 寻找中断源:中断服务程序入口地址送PC,转入中断服务。 保护现场:将中断服务程序使用的所有寄存器内容入栈。 保护现场:将中断服务程序使用的所有寄存器内容入栈。 中断处理:执行中断源所要求的程序段。 中断处理:执行中断源所要求的程序段。 恢复现场:恢复被使用寄存器的原有内容。 恢复现场:恢复被使用寄存器的原有内容。 开中断:允许接受其它中断请求信号。 开中断:允许接受其它中断请求信号。 中断返回:执行 指令, 中断返回:执行RETI指令,栈顶内容 指令 栈顶内容→PC,程序跳转回断点。 ,程序跳转回断点。
当前PC入栈 书中作记号 当前 入栈
主程序 执行主程序 中断请求 断点 继续执行主程序 中断返回 执行中断 处理程序 中断响应
中断与转子的区别 中断是随机的, 中断是随机的,转子事先编程决定
3.3.1 中断的定义 2、几个术语 、 主程序:原来正常运行的程序称为主程序。 主程序:原来正常运行的程序称为主程序。 断点: 主程序被断开的位置(或地址)称为“断点” 断点 主程序被断开的位置(或地址)称为“断点”。 中断源:引起中断的原因,或发出中断申请的来源。 中断源 引起中断的原因,或发出中断申请的来源。 引起中断的原因 中断请求:中断源要求服务的请求称为“中断请求” 中断请求 中断源要求服务的请求称为“中断请求” 。 中断源要求服务的请求称为 中断响应: 终止当前执行的程序, 中断响应:CPU终止当前执行的程序,去执行相应中断源 终止当前执行的程序 的中断请求。 的中断请求。 中断服务或中断处理程序: 中断服务或中断处理程序: “中断”之后所执行的相应的处理程序。 中断”之后所执行的相应的处理程序。 中断系统:能够实现中断处理功能的部件。 中断系统:能够实现中断处理功能的部件。

中断控制

中断控制
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TF0/TF1:定时器溢出中断申请标志位(由硬件自动置位)。 =0:定时器未溢出; =1:定时器溢出(由全“1”变成全“0”)时由硬件自动置 位,申请中断,中断被CPU响应后由硬件自动清零。
TR0/TR1:定时器运行启停控制位(可由用户通过软件设置 )。
二.51单片机的中断系统
8051单片机提供了5个中断源,2个中断优先级控制,可实 现2个中断服务嵌套。可通过程序设置中断的允许或屏蔽,设 置中断的优先级。 1.8051的中断源 8051允许5个中断源: (1)外部中断源(中断标志为IE0和IE1 ) 由 INT0 ( P3.2 )端口线引入,低电平或下降沿引起。 由 INT1 ( P3.3 )端口线引入,低电平或下降沿引起。 (2)定时器/计数器中断源 (中断标志为TF0、TF1和TI/RI ) T0:定时/计数器0中断,由T0回零溢出引起。 T1:定时/计数器1中断,由T1回零溢出引起。 (3)串口中断源 (中断标志为TI/RI ) TI/RI:串行I/O中断,完成一帧字符发送/接收引起。
void ISR_Key(void) interrupt 0 using 1 { LED = ~ LED; //K1按下触发一次,P0.0取反一次 }
④ 若正在执行RETI,或正在访问IE或IP寄存器,则必须执行完 当前指令的下一条指令。后方能响应中断。
(2)中断响应的过程
中断过程包括中断请求、中断响应、中断服务、中断返 回四个阶段。 中断请求:中断源将相应请求中断的标志位置 “1”,表示发出 请求,并由CPU 查询。 中断响应:在中断允许条件下相应中断。断点入栈→撤除中断 标志→关闭低同级中断允许→中断入口地址送PC。 这些工作 都是由硬件自动完成的。 中断服务:根据入口地址转中断服务程序,包含保护现场、执 行中断主体、恢复现场。 中断返回:执行中断返回RETI指令→断点出栈→开放中断允许 →返回原程序。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例1 假设允许片外中断,禁止其他中断。试根据假设条件设 置IE的相应值。 根据题目要求,要允许外部中断,就需要将 IE 寄存器的 EA 、 EX1、EX0置1,其他位清0,可分别通过字节寻址或者位寻 址进行。 (1) (2) 用字节操作指令: IE=0X85; 用位操作指令: EX0=1 ; EX1=1 ; EA =1 ; 外部中断0允许中断 外部中断1允许中断 CPU开中断
后才考虑是否响应另一个中断申请。

(4)同一个优先级里,优先权的顺序是由硬件决定而不能改变的。但是用户可以通 过改变优先级的方法改变中断响应的顺序。例如,8051单片机中串行口的优先权最
低,但是可以在中断优先级寄存器IP中写入10H,则只有串行口是最高优先级。若
同时有若干中断提出申请,则一定会优先响应串行口的申请。
是否立即响应它而形成中断嵌套;
2)如果一个中断服务子程序执行完之后,发现已经有若干中断都提出了 申请,那么应该先响应哪一个申请.

在开放中断的条件下,用下述四个原则使用中断优先级结构: (1)非中断服务子程序可以被任何一个中断申请所中断,而与优先级结构无关。 (2)如果若干中断同时提出申请,则CPU将选择优先级、优先权最高者予以响应。 (3)低优先级可以被高优先级的中断申请所中断。换句话说,同级不能形成嵌套、 高优先级不能被低优先级嵌套,当禁止嵌套时,必须执行完当前中断服务子程序之
无人机控制器应用技术
中断的控制
一. 中断允许控制 IE
IE (A8H) AFH EA ACH ES ABH ET1 AAH EX1 A9H ET0 A8H EX0
其中EX0、EX1:外部中断允许控制位 1——开中断 0——关中断 EA:中断允许总控制位 1——开中断 0——关中断 其他位我们现在可以先不用理会,在设置时既可以按位设置也 可以对IE整体设置。

805l复位以后,特殊功能寄存器IP的内容为00H。所以在初始化程序中要考虑到 对其编程。
一个中断服务子程序被另一个中断申请所中断,被称为中断嵌套。8051 单片机至少可以实现两级中断嵌套。图1-2是两级中断嵌套的示意图。
主 程 序 Βιβλιοθήκη 断 服务 子程 序1 中断 服务 子程 序2
断点 1
断点 2
在中断开放的条件下,中断优先级结构解决了如下两个向题: 1)正在执行一个中断服务子程序时,如果发生了另一个中断申请,CPU
优先级设定位。
例如:要求外部中断 1 为高优先级,则 IP 整体设置为: IP=0X04;
例1 系统要求设定8051的片外中断为高优先级中断,片内中断为低 优先级。请写出相应的指令。
解:根据题目要求,需要将8051的外部中断优先级控制位PX0、PX1 设置为1,而内部中断优先级控制位PT0、PT1、PS清为0。 (1) 用字节操作指令: IP = 0x05 ; (2) 用位操作指令: PX0 = 1 ; PX1 = 1 ; PS = 0 ; PT0 = 0 ; PT1 = 0 ;
二. 中断优先级控制IP
8051片内有一个中断优先级寄存器IP,其格式如图6.7所示。
IP (B8H) BCH PS BBH PT1 BAH PX1 B9H PT0 B8H PX0
PX0、PX1为外部中断优先级设定位。只有2个级别, 0 为低, 1 为高。在设置时同样既可以按位设置也可以对 IP整体 设置。 PT0、PT1为内部定时中断优先级设定位。PS为串行接口中断
相关文档
最新文档