51中断系统
三、中断响应
响应中断后,由硬件自动生成长调用指令 “LCALL”, 其格式为LCALL addr16,而addr16就 是各中断源的中断矢量地址
中断源 中断矢量地址
0003H 外部中断0(INT0) 定时器/计数器0(T0) 000BH 0013H 外部中断1(INT1) 定时器/计数器1(T1) 001BH
中断优先级说明
• 中断优先级控制,除了中断优先级控制寄存器之外,还有二 个不可寻址的优先级状态触发器,其中一个用于指示某一高 优先级中断正在进行服务,而屏蔽其它高优先级中断;另一 个用于指示某一低优先级中断正在进行服务,从而屏蔽其它 低优先级中断,但不能屏蔽高优先级中断。 • 在中断执行过程中,高中断优先级可以中断低中断优先级 的中断过程。但是若在中断服务程序中,关掉所有中断 (CLR EA)或关掉部分中断时除外。 • 当CPU同时接收到二个不同优先级的中断请求时,先响应高 优先级的中断,如果CPU同时接收到的是几个同一优先级的 中断请求时,则由内部的硬件查询序列确定它们的优先服务 次序,即在同一优先级内有一个由内部查询序列确定的笫二 个优先级结构。其排列如下:
» Ø · Î µ Ö
SCON(98H)
» Ø · Î µ Ö
ቤተ መጻሕፍቲ ባይዱ
IE(A8H)
» Ø · Î µ Ö
9FH EA AFH
9EH
9DH
9CH ES ACH PS BCH
9BH ET1 ABH PT1 BBH
9AH EX1 AAH PX1 BAH
IP(B8H)
» Ø · Î µ Ö
二、TCON寄存器(Timer Control)
2. 对于串行接收/发送中断请求和80C52中的定时 器/计数器T2的溢出和捕获中断请求,在CPU响应 中断后,必须在中断服务程序中应用软件清除RI、 TI、TF2和 EXF2这些中断标志,才能撤除中断。 (硬件置位,软件清除) 。 3.采用外加 硬件结合软件清除中断请求。 对于采用电平触发方式的外部中断请求,中断标 志的撤消是自动的,但中断请求信号的低电平可能 继续存在,在以后机器周期采样时又会把已清“0” 的IE0、IE1标志重新置“1”,再次申请中断。为保 证在CPU响应中断后、执行返回指令前,撤除中断 请求,必须考虑另外的措施,保证在中断响应后把 中断请求信号从低电平强制改变为高电平。可在系 统中加入电路。 (硬件置位,硬、软件结合清除)
不同点 ⑴ 中断请求信号可以由外部设备发出,是 随机的,比如故障产生的中断请求,比如 按键中断等;子程序调用却是由软件编排 好的。 ⑵ 中断响应后由固定的矢量地址转入中断 服务程序,而子程序地址由软件设定。 ⑶ 中断响应是受控的,其响应时间会受一 些因素影响;子程序响应时间是固定的。
中断执行与子程序调用的比较
相似点: ⑴ 都是中断当前正在执行的程序,转去执行子程 序或中断服务程序。 ⑵ 都是由硬件自动地把断点地址压入堆栈,然后 通过软件完成现场保护。 ⑶ 执行完子程序或中断服务程序后,都要通过软 件完成现场恢复,并通过执行返回指令,重新返回到 断点处,继续往下执行程序。 ⑷ 二者都可以实现嵌套,如中断嵌套和子程序嵌 套。
5-1-2 中断处理过程
一.中断响应条件 1.有中断请求信号 2. 系统处于开中断状态 二.中断响应过程 1.关中断:屏蔽其它中断请求信号。 2.保护断点:将断点地址压入堆栈保存,即当前PC值入栈。 3.寻找中断源:中断服务程序入口PC,转入中断服务。 4.保护现场:将中断服务程序使用的所有寄存器内容入栈。 5.中断处理:执行中断源所要求的程序段。
过程:中断采样 一、中断采样 中断查询 中断响应
中断采样是针对外部中断请求信号进行的,而内部中断请 求都发生在芯片内部,可以直接置位TCON或SCON中的 中断请求标志。在每个机器周期的S5P2(笫五状态的第二 节拍)期间,各中断标志采样相应的中断源,并置入相应 标志。
二、中断查询
若查询到某中断标志为1,则按优先级的高低进行 处理,即响应中断。 80C51的中断请求都汇集在TCON和SCON二个特殊 功能寄存器中。而CPU则在下一机器周期的S6期间按优 先级的顺序查询各中断标志。先查询高级中断,再查询 低级中断。同级中断按内部中断优先级序列查询。如果 查询到有中断标志位为“1” ,则表明有中断请求发生, 接着从相邻的下一个机器周期的S1状态开始进行中断响 应。 由于中断请求是随机发生的,CPU无法预先得知, 因此中断查询要在指令执行的每个机器周期中不停地重 复执行。
• IE寄存器中各位设置:为0时,禁止中断;为 1时,允许中断。 • 系统复位后IE寄存器中各位均为0,即此时禁止所有中断。 • 与中断有关的控制位共6位,即: • ⒈ EX0(IE.0)——外部中断0中断允许位。 • ⒉ ET0(IE.1)——定时器/计数器T0中断允许位。 • ⒊ EX1(IE.2)——外部中断1中断允许位。 • ⒋ ET1(IE.3)一—定时器/计数器T1中断允许位。 • ⒌ ES(IE.4)——串行口中断允许位。 • ⒍ EA(IE.7)——CPU中断允许位。当EA=1,允许所有 中断开放,总允许后,各中断的允许或禁止由各中断源的中断允 许控制位进行设置;当EA=0时,屏蔽所有中断。
五、中断优先级寄存器IP(Interrupt Priority)
在80C51中有高、低两个中断优先级(Priority level) ,通过中断优先级寄存器IP来设定。 IP寄存器中各位设置: 为0时,为低中断优先级;为1时,设为高中断优先 级。 系统复位后IP寄存器中各位均为0,即此时全部设定为 低中断优先级。
串行口(RI、TI) 定时器/计数器2
0023H 002BH
中断响应过程描述
• 先将程序计数器PC的内容压入堆栈进行保护,先 低位地址,后高位地址,同时堆栈指针SP加2。 • 将对应中断源的中断矢量地址装入程序计数器PC, 去执行中断服务程序。由于各中断矢量区仅8个字节, 通常是在中断矢量区中安排一条无条件转移指令,使 程序执行转向在其它地址中存放的中断服务程序。 • 中断服务程序由中断矢量地址开始执行,直至遇到 RETI指令为止。 • 执行中断返回指令RETI,一是撤销中断申请,弹 出断点地址进入PC,先弹出高位地址,后弹出低位 地址,同时堆栈指针SP减2,恢复原程序的断点地址 执行;二是恢复中断触发器原先状态。
5-1-1 中断概念
某人看书 电话铃响 暂停看书 执行主程序 中断信号INT=0 日常事务 中断请求 保护断点
暂停执行主程序 中断响应
书中作记号 当前PC入栈
电话谈话
继续看书
执行I/O程序
返回主程序
中断服务
中断返回
一.两种中断
1.可屏蔽中断(maskable) 可程控“开中断/关中断”。软件 设置允许/禁止CPU响应中断。 2.非屏蔽中断(Nonmaskable) 不可程控“关中断”。有中断请 求信号,CPU必须响应。 日常事务 二.中断优先权 1.当同时有多个中断请求 信号,先响应优先级别高的 中断请求。 2.高优先级中断请求信号 可中断低优先级中断服务。
程序
INT NMI 微型机
中断服务 中断服务 程序1 程序2
三.中断源(Interrupt sources) 能发出中断请求信号的各种事件。如I/O设备、定 时时钟、系统故障、软件设定等。
四、中断的主要功能 ⒈ 实现CPU与外部设备的速度配合 ⒉ 实现实时控制 ⒊ 实现故障的及时发现及处理 ⒋ 实现人机联系
中断源
• • • • • • ⒈ 外部中断0 ⒉ 定时器T0中断 ⒊ 外部中断1 ⒋ 定时器T1中断 ⒌ 串行口中断 ⒍ 定时器T2中断
中断优先级
最高
最低
5-4 中断请求的撤除
CPU响应中断请求,转向中断服务程序执行, 在其执行中断返回指令(RETI)之前,中断 请求信号必须撤除,否则将会再一次引起中断 而出错。 中断请求撤除的方式有三种,即: 1. 由单片微机内部硬件自动复位。 对于定时器/计数器T0、T1 的溢出中断和采 用跳变触发方式的外部中断请求,在CPU响应 中断后,由内部硬件自动清除。(硬件置位, 硬件清除)
第5章
8051中断系统 (Interrupt system)
5-1 中断技术概述 5-2 MCS-51中断系统概述 5-3 中断系统控制 5-4 中断请求的撤除 5-5 中断响应过程 5-6 中断系统应用举例
5-1
中断技术概述
日 常 事 务 程 序 中 断 服 务 程 序
中断系统是计算机的 重要组成部分之一。
三、SCON寄存器(Serial Control)
低二位锁存接收中断源RI和发送中断源TI。 TI(SCON.1):串行口发送中断源。 发送完一帧,由硬件置位。响应中断后,必须用软 件清 0。 RI(SCON.0):串行口接收中断源。 接收完一帧,由硬件置位。响应中断后,必须用软 件清0。
四、中断允许控制(IE:Interruption Enable)
6.恢复现场:恢复被使用寄存器的原有内容。
7.开中断:允许接受其它中断请求信号。 8.中断返回:执行RETI指令,栈顶内容PC,程序跳转回断点 处。
5-2 MCS-51中断系统概述
IT0=0
IT0=1
IT1=0
IT1=1
一.中断源 • 8051中有五个中断源;8052中增加了一个中断 源——定时器/计数器T2,即有六个中断源。 每一个中断源都能被程控为高优先级或低优先级。 8051五个中断源中包括二个外部中断源和三个内 部中断源。 • 二个外部中断源INT0(P3.2)和INT1(P3.3), 外部设备的中断请求信号、掉电等故障信号都可 以从INT0或INT1引脚输入。 • 三个内部中断源为定时器/计数器T0和T1的定 时/计数谥出中断源和串行口发送或接收中断源。
5-3
中断系统控制
D7 TF1 8FH 8EH D6 D5 TF0 8DH 8CH D4 D3 IE1 8BH D2 IT1 8AH D1 IE0 89H TI 99H ET0 A9H PT0 B9H D0 IT0 88H RI 98H EX0 A8H PX0 B8H
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单片机中断系统-PPT
5、2、2 MCS-51单片机得中断源
IT1=1,外中断1为下降沿触发 采样:CPU在每一个机器周期得S5P2期间 对P3、3引脚采样,若上一个机器周期检测为 高电平,紧挨着得下一个机器周期为低电平,则 使IE1置1。 IT0:外中断0触发方式控制位。
CPU主要就是通过标志寄存器、控制 寄存器、优先级寄存器对中断源进行管
5、2、2 MCS-51单片机得中断源
(1)与中断标志相关得SFR
主要有:定时器/计数器T0、T1控制寄 存器TCON
串行口控制寄存器SCON 定时器/计数器2控制寄存器T2CON(第 6章介绍) (2)中断控制寄存器:TCON、IE (3)中断优先级寄存器:IP
DMA释放总线:当一批数据传送后, DMA控制器再向CPU发出“结束总线请 求”,CPU响应请求,收回总线使用权。
DMA方式速度高、效率高,可以与CPU 并行工作。
5、1、2 中断得相关概念
1、中断得概念
CPU在正常运行得时候, 外部或者内部发生了请求 CPU迅速去处理得事件,CPU 暂时中断当前得程序,去处理 所发生得事件,处理完事件后, 再返回到原来被中断得程序 继续运行。此过程称为中断。
图5-3 定时器得控制寄存器
TCON可位寻址。复位后TCON=00H。 TF1(TCON、7):T1溢出标志位
当T1计满溢出时,由内部硬件置位; 中断响应后自动清 0。
5、2、2 MCS-51单片机得中断源
TF0:T0溢出标志位 功能同TF1。
IT1:外中断1触发方式设置位 IT1=0,外中断1为低电平触发
5、1、1 微机得输入/输出方式
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的控制寄存器,格式如下:
第3章MCS-51单片机的中断系统
3.3 MCS-51的中断系统 的中断系统
4、中断响应过程 、 关中断:屏蔽其它中断请求信号。 关中断:屏蔽其它中断请求信号。 保护断点:将断点地址压入堆栈保存,即当前 值入栈 值入栈。 保护断点:将断点地址压入堆栈保存,即当前PC值入栈。 寻找中断源:中断服务程序入口地址送 ,转入中断服务。 寻找中断源:中断服务程序入口地址送PC,转入中断服务。 保护现场:将中断服务程序使用的所有寄存器内容入栈。 保护现场:将中断服务程序使用的所有寄存器内容入栈。 中断处理:执行中断源所要求的程序段。 中断处理:执行中断源所要求的程序段。 恢复现场:恢复被使用寄存器的原有内容。 恢复现场:恢复被使用寄存器的原有内容。 开中断:允许接受其它中断请求信号。 开中断:允许接受其它中断请求信号。 中断返回:执行 指令, 中断返回:执行RETI指令,栈顶内容 指令 栈顶内容→PC,程序跳转回断点。 ,程序跳转回断点。
当前PC入栈 书中作记号 当前 入栈
主程序 执行主程序 中断请求 断点 继续执行主程序 中断返回 执行中断 处理程序 中断响应
中断与转子的区别 中断是随机的, 中断是随机的,转子事先编程决定
3.3.1 中断的定义 2、几个术语 、 主程序:原来正常运行的程序称为主程序。 主程序:原来正常运行的程序称为主程序。 断点: 主程序被断开的位置(或地址)称为“断点” 断点 主程序被断开的位置(或地址)称为“断点”。 中断源:引起中断的原因,或发出中断申请的来源。 中断源 引起中断的原因,或发出中断申请的来源。 引起中断的原因 中断请求:中断源要求服务的请求称为“中断请求” 中断请求 中断源要求服务的请求称为“中断请求” 。 中断源要求服务的请求称为 中断响应: 终止当前执行的程序, 中断响应:CPU终止当前执行的程序,去执行相应中断源 终止当前执行的程序 的中断请求。 的中断请求。 中断服务或中断处理程序: 中断服务或中断处理程序: “中断”之后所执行的相应的处理程序。 中断”之后所执行的相应的处理程序。 中断系统:能够实现中断处理功能的部件。 中断系统:能够实现中断处理功能的部件。
第五章 中断系统
四、中断系统的功能 一般来说,一个中断系统具有以下功能: (一)实现中断及返回 当某中断源发出中断请求后,CPU应决定是否响应这个中断请求,如当前正 在执行更重要的工作可暂时不响应中断,若响应这个中断请求,CPU在当前指令 执行完后,就要保护断点地址和现场(即下条指令地址和相关寄存器内容),以便 执行完中断服务程序后能正确返回原处执行,然后转到需要处理的中断服务程序 的人口地址,去执行中断服务程序,当中断服务程序执行完毕再恢复现场和断点 ,去继续执行主程序。 (二)实现优先级排队 当计算机带有多个中断源时,可能会出现两个或两个以上中断源同时向CPU提 出中断请求的情况。这时CPU应能够根据事先确定的中断源的优先级别来先响应 高优先级的中断 并为它服务,然后再响应较低优先级的中断请求。 (三)实现中断嵌套 当CPU正在响应某一中断源的中断请求时,又有新的中断源发出请求,如果 新的请求的优先级别高于正在执行的中断源的优先级,则CPU暂停现行的服务程 序,转去执行更高级别的中断源的服务程序,执行完毕后再回到被中断的较低中 断源的服务程序继续执行,即实现了中断嵌套。若新的中断源的优先级别低于或 是等于正执行的中断源,则CPU不响应这个请求,直到正在处理的中断服务程序 执行完毕后,才去处理新的中断请求。
三、中断的分类 按中断产生的位置,中断可分为: (1)外部中断,或称外部硬件实时中断,它是由外部送到CPU的某一特定引脚 上产生的。 (2)内部中断,或称软件指令中断,是为了处理程序运行过程中发生的一些意 外情况或调试程序方便而提供的中断。 按接受中断的方式,中断可分为: (1)可屏蔽中断,可以通过指令使CPU根据具体情况决定是否接受中断请求。 (2)非屏蔽中断,只要中断源提出请求,CPU就必须响应,主要用于一些紧急 情况的处理,如掉电等。 以上从不同的角度对中断进行了分类,对于某一种类型的计算机可能只具备 其中的某几种方式,例如MCS—51就不具备非屏蔽中断方式。
51单片机中断系统详解
51单片机中断系统详解51 单片机中断系统详解(定时器、计数器)51 单片机中断级别中断源INT0---外部中断0/P3.2 T0---定时器/计数器0 中断/P3.4 INT1---外部中断1/P3.3 T1----定时器/计数器1 中断/P3.5 TX/RX---串行口中断T2---定时器/计数器 2 中断第5 最低4 5 默认中断级别最高第2 第3 第4 序号(C 语言用) 0 1 2 3 intrrupt 0中断允许寄存器IE位序号符号位EA/0 ------ET2/1 ES ET1 EX1 ET0 EX0 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 EA---全局中允许位。
EA=1,打开全局中断控制,在此条件下,由各个中断控制位确定相应中断的打开或关闭。
EA=0,关闭全部中断。
-------,无效位。
ET2---定时器/计数器2 中断允许位。
ET2=1, 打开T2 中断。
ET2=0,关闭T2 中断。
关,。
ES---串行口中断允许位。
关,。
ES=1,打开串行口中断。
关,。
ES=0,关闭串行口中断。
关,。
ET1---定时器/计数器1 中断允许位。
关,。
ET1=1,打开T1 中断。
ET1=0,关闭T1 中断。
EX1---外部中断1 中断允许位。
EX1=1,打开外部中断1 中断。
EX1=0,关闭外部中断1 中断。
ET0---定时器/计数器0 中断允许位。
ET0=1,打开T0 中断。
EA 总中断开关,置1 为开;EX0 为外部中断0 (INT0) 开关,。
ET0 为定时器/计数器0(T0)开EX1 为外部中断1(INT1)开ET1 为定时器/计数器1(T1)开ES 为串行口(TX/RX)中断开ET2 为定时器/计数器2(T2)开ET0=0,关闭T0 中断。
EX0---外部中断0 中断允许位。
EX0=1,打开外部中断0 中断。
EX0=0,关闭外部中断0 中断。
中断优先级寄存器IP位序号位地址------PS/0 PT1/0 PX1/0 PT0/0 PX0/0 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 -------,无效位。
51单片机中断系统工作原理
51单片机中断系统工作原理
51单片机中断系统是处理器与外部设备之间通信的一种机制,它允许外设在需要时中断CPU的正常程序执行,从而执行一些高优先级的任务。
本文将从以下几个方面介绍51单片机中断系统的工作原理:
1. 中断源和中断向量表
51单片机中断系统的中断源可以是内部或外部的。
内部中断源包括定时器、串口、ADC等模块,而外部中断源则可以是外部中断引脚、外部数据存储器等。
中断向量表则是一个存储各中断服务程序入口地址的表格,它可以在CPU执行中断时快速定位相应的中断服务程序。
2. 中断控制器和优先级
中断控制器是一个用于控制中断的硬件模块,它可以根据中断源的优先级来决定哪个中断请求会被响应。
优先级高的中断请求会被优先响应,而低优先级的则会被忽略。
在中断控制器中还有一个中断允许寄存器,它用于允许或禁止特定的中断源。
3. 中断服务程序的编写
中断服务程序是一段特殊的程序,它用于响应中断请求并执行相应的操作。
在编写中断服务程序时,需要注意以下几点:首先,中断服务程序必须尽快完成,以便让CPU恢复正常的程序执行;其次,中断服务程序需要保存现场,即保存一些特定的寄存器值,以便后续程序恢复时可以正确地执行;最后,中断服务程序需要执行IRET指令,
以便将中断返回地址出栈并返回到原来的程序执行点。
通过深入了解51单片机中断系统的工作原理,我们可以更好地理解中断系统的原理和应用,并在实际应用中更好地使用它。
第5章MCS-51的中断系统
例:写出INT1为低电平触发的中断系统初始化程序
SETB EA; SETB EX1 SETB PX1 CLR IT1
二、 中断服务程序
1、编写中断程序应注意以下几点: ① 为了要跳到用户设计的中断服务程序,在相应入口 地址安排一条跳转指令; ② 在中断服务程序的末尾,安排一条返回指令RETI; ③ 由于在响应中断时,CPU只自动保护断点,所以 CPU的其他现场的保护和恢复也必须由用户在中断服 务程序中安排。
1、T0/T1中断撤除:自动清除TF0 TF1
2、TX/RX中断撤除:不能自动撤除,必须软件清“0” CLR RI CLR TI ANL SCON ,#0FCH
3、外部中断请求的撤除
对于负边沿触发的外部中断,CPU在响应中断后是 用硬件自动清除中断请求标志IE0或IE1。
电平触发时,虽然自动清除中断请求标志IE0或IE1。但 不及时撤除低电平的话会重复响应中断,必须采取措施。
中断允许寄存器IE的单元地址是A8H,各控制位也可 位寻址,故既可以用字节传送指令也可以用位操作指 令来对各个中断请求加以控制。 例:开放T/C1的溢出中断
MOV IE,#88H;
SETB EA SETB ET1
二、 对中断优先级的控制
MCS-51具有两个中断优先级,可由软件设置每个中断 源为高优先级中断或低优先级中断,可实现二级中断 嵌套。
可在中断服务程序开 头安排如下程序: INSVR:ANL P1 ,#0FEHORL Fra bibliotek1,#01H …
RETI END
§4 中断系统的初始化及应用
一、中断系统的初始化 中断初始化是指用户对TCON、SCON、IE等特殊功能 寄存器中的各控制位进行赋值。
中断系统的初始化步骤: 1、 CPU开中断或关中断 2、 某中断源中断请求的允许或禁止(屏蔽) 3、 设定所用中断的中断优先级 4、若为外部中断,则应规定低电平还是负边沿的中断 触发方式
51单片机中断系统概念及结构
51单⽚机中断系统概念及结构————————————————————————————————————————————中断的过程:对于单⽚机来讲,中断是指CPU在处理某⼀时间A时,发⽣了另⼀事件B请求CPU⽴刻去处理(中断发⽣);CPU暂时停⽌当前的⼯作(中断响应),转⽽去处理事件B(中断服务),待CPU处理事件B完成后,再回到原来事件A被中断的地⽅继续处理事件A(中断返回)。
①中断源// 5个中断源都有⼀个中断⼊⼝地址,当某个中断源产⽣中断时,CPU响应中断便到相应的中断⼊⼝地址执⾏中断服务程序②中断的嵌套与优先级处理③中断的响应过程- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -中断系统结构外部中断请求源:INT0、INT1外部中断0(INT0)由外部引脚P3.2引⼊,外部中断1(INT1)由外部引脚P3.3引⼊内部中断请求源:T0、T1、串⼝中断- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -程序定义⽅式定义中断函数的⼀般形式void 函数名() interrupt 中断号 using 寄存器⼯作组p.s.如果中断函数中调⽤了其他函数,则被调⽤函数所使⽤的寄存器组必须与中断函数相同。
中断函数不能参数传递,没有返回值,不能直接被调⽤。
中断序号- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -中断优先级- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -中断系统寄存器TCON:低4位给外部中断请求源使⽤,⾼4位给内部中断请求源定时器T0 T1使⽤外部请求源IT0:INT0触发⽅式控制位,可由软件进⾏置位和复位。
51单片机中断系统含动态演示.
IP
PS PT1 PX1 PT0 PX0
位地址 BFH BEH BDH BCH BBH BAH B9H B8H
B8H
1:高优先级 0:低优先级
系统复位后,IP各位为0,所有中断源设置为低优先级,(中断顺序按 默认优先顺序响应)通过更新IP的值,就可以容易地改变中断源的优先级。
高优先级 低优先级
INT0 T0 INT1 T1 TX/RX
低优先级中断服务
高
优
先
断点2
级 中
断
服
务
IT0=0 INT0
IT0=1
T0
IT1=0 INT1
IT1=1 T1
TXD RXD
中断标 志位
第六章 51单片机内部功能单元及应用
51单片机中断系统结构示意
TCON
IE
IP
IE0
PX0
EX0
PT0
TF0 ET0
PX1
IE1 EX1
自 然 优 先 级
高 级 中 断 请
IE interrupt enable 中断使能寄存器 A8H
IP interrupt priority 中断优先级寄存器 B8H
第六章 51单片机内部功能单元及应用
定时器控制寄存器TCON位定义
位
D7 D6 D5 D4 D3 D2 D1 D0 字节地址
TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
第六章 51单片机内部功能单元及应用
中断过程示意
中断请求
中断源
中断响应
中断服务
中断返回
主程序
中断服务
