认识51单片机的中断系统

本文详细解释了中断在计算机系统中的概念、特点,以及在51单片机中的具体应用,包括中断系统的结构(中断向量表、中断控制器、中断源等)、中断服务程序和中断处理过程。重点介绍了中断的优先级管理与中断嵌套特性。
摘要由CSDN通过智能技术生成

一、什么是中断

1.中断的概念

中断是指在计算机执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的时间处理程序。待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。

2.中断的特点

(1)实时性:中断机制使得处理器能够即时响应外部事件的发生,提供实时性的处理能力。当系统发生中断时,处理器会立即中断当前执行的任务,转而执行与中断相关的中断服务程序,确保对外部事件的快速响应。

(2)并发处理:中断机制支持系统的并发处理能力。当多个外部事件发生时,处理器可以根据优先级和中断处理程序的设置,对多个中断请求进行排序和处理,实现对多个任务的并发处理

(3)异步性:中断是异步的,即中断事件的发生和处理不受其他任务的控制,不需要等待其他任务的完成。中断可以在任何时间点发生,并且会立即中断当前任务的执行,转而处理中断服务程序。

(4)优先级:中断可以设置不同的优先级,用于确定处理器在发生多个中断请求时的处理顺序。高优先级的中断请求将优先被处理,确保关键事件的及时响应。、

(5)中断嵌套:一些系统支持中断嵌套,即一个中断可以被更高优先级的中断打断。中断嵌套提供了更高的灵活性,使得处理器能够在处理中断时,即时响应更为紧急的中断请求。

(6)中断处理程序:每个中断都有一个对应的中断处理程序,用于处理中断事件。中断处理程序是系统开发人员编写的特定代码,用于对中断事件进行处理和相应的操作。

二、中断系统的结构

1.中断向量表:51单片机的中断向量表是一个特定的地址范围,存放了特定中断号对应的中断服务程序(中断处理函数)的入口地址。当特定中断触发时,处理器将根据中断号从中断向量表中获取对应的中断处理函数地址,并跳转到该地址执行相应的中断服务程序。

2.中断控制器:51单片机中断系统的中断控制器对应于中断允许寄存器(IE)和中断优先级控制寄存器(IP)。IE寄存器用于控制各个中断源的开关状态,可使能或禁止各个中断请求。IP寄存器用于控制各个中断源的中断优先级,决定了各个中断的相对优先级顺序。

3.中断源:51单片机内部集成了多个中断源,包括外部中断、定时器/计数器中断、串行口中断等。每个中断源都对应着一个特定的中断号,当中断源对应的事件发生时,会产生相应的中断请求。

3.中断服务程序:中断服务程序是由用户编写的特定函数,用于处理特定中断事件。当中断被触发时,处理器会跳转到相应的中断服务程序执行具体的处理逻辑。

4.中断处理器:51单片机的中断处理器负责接收、识别、响应和执行中断请求。中断处理器在检测到中断请求时,会根据中断优先级和中断允许状态进行中断响应,并跳转至相应的中断服务程序。

、中断有关寄存器

89C51系列单片机提供了8个中断请求源,它们分别是:外部中断0(INT0)、外部中(INT1)、外部中断2(INT2)、外部中断3(INT3)、定时器0中断、定时器1(T0)中断、定时器2(T1)中断、串口(UART)中断。

需要注意,51单片机一定有基本的5个中断,但不全有8个中断,需要查看芯片手册,通常我们使用的都是基本的5个中断:INT0、INT1、定时器0/1、串口中断。

所有的中断都具有四个中断优先级(基本型只有两个)。

用户可以用关总中断允许位(EA/IE.7)或相应中断的允许位来屏蔽所有的中断请求,也可以用打开相应的中断允许位来使CPU响应相应的中断请求。

其中有些中断源可以用软件独立地控制位开中断或关中断状态。

每一个中断的优先级别均可用软件设置。高优先级的中断请求可以打断低优先级的中断,反之,低优先级的中断请求不可以打断高优先级及同优先级的中断。

当两个相同优先级的中断同时产生时,将由查询次序来决定系统先响应哪个中断。

STC89C5X系列单片机的各个中断查询次序表如下图所示:

四、中断处理过程

1.中断请求产生:外部设备或内部模块发出中断请求,请求51单片机的处理器执行相应的中断服务程序。中断请求可以是外部设备发送的信号(比如按键触发的外部中断请求)、定时器/计数器溢出引起的中断请求、串行通信接收到数据引起的中断请求等。

2.中断检测:51单片机的中断控制器检测中断请求,根据中断允许寄存器(IE)的设置确定是否允许该中断。如果相应的中断请求被允许,则中断控制器会向处理器发出中断信号。

3.中断响应:处理器接收到中断信号后,立即执行中断响应操作,将当前程序的地址入栈保存,并跳转到中断向量表中对应中断号处的中断服务程序的地址。

4.中断服务程序执行:处理器跳转到中断向量表中对应中断号处的中断服务程序的地址,开始执行中断服务程序。中断服务程序通常用于处理具体的中断事件,可能包括保存现场、处理中断请求、执行特定操作等。

5.中断结束:中断服务程序执行完成后,处理器从栈中恢复之前的程序地址,回到中断点处,继续执行原来的程序。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值