单片机中断系统

news/2025/3/20 7:44:42/

前言:中断系统是单片机非常重要的组成部分,是为了使单片机能够对外部或者内部随机发生的事件实时处理而设置的。

一:单片机的概念

一个高速主机和一个低俗外设连接时,效率极低,低俗外设工作时无端大量占用CPU时间。一个高速主机和多个低速外设连接时,高速主机无法进行多任务并行处理。此时需引入“中断”。

 CPU在处理某一事件A时,另一事件B发出请求(中断请求);CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A,这一过程称为中断。

  中断源:引起CPU中断的根源。

中断源向CPU提出中断请求,CPU暂时中断原来正在处理的事件A,转去处理事件B,对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。

二:传送方式及特点

中断系统具有以下优点:

①:分时操作。CPU可以分时为多个外设服务,提高了计算机的利用率。

②:实时响应。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强。

③:可靠性高:CPU具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。

三:C51中断系统

3.1

C51中断系统有5个中断源,2个优先级,可实现二级中断嵌套。

例:(P3.2)可由IT0(TCON.0)选择其为低电平有效还是下降沿有效。当CPU检测到P3.2引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置1,向CPU申请中断。

3.2:中断处理过程

  1. :中断处理过程

 每个中断源的中断优先级都是由中断优先级寄存器IP中的相应位的状态来规定的,IP中断优先级寄存器地址为B8H。

同一优先级的中断请求不止一个时,因此有中断优先排队问题。同一优先级的中断优先权排队,由中断系统硬件确定的自然优先级形成。

设置51单片机的4个中断源,使他们的优先顺序为

 T1,INT1,INT0,T0。

 IPH=0X08,PT1=1,IP=0X40,0X1=1。

C51中断优先级有如下3条原则。

①:CPU同时接收到几个中断请求,首先响应优先级别最高的中断请求。

②:正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。

③:正在进行的低优先级中断服务,能被高优先级中断请求所中断。

为了实现上述后2条原则,中断系统内部设有2个用户不能寻址的优先级状态触发器。其中一个置1,表示正在响应高优先级的中断。它将阻断后来所有的中断请求;另一个置1,表示正在响应低优先级中断,他将阻断后来所有的低优先级中断请求。

  1. :中断允许控制。

CPU对中断系统所有中断以及某个中断源的开放和屏蔽是由中断允许寄存器IE控制的,IE中断允许寄存器的地址为A8H。

3.3完整步骤

  1. :中断响应有如下3个条件

①:中断源有中断请求。

②:此中断源的中断允许位为1.

③:CPU开中断(即EA=1)。

以上3条同时满足时,CPU才有可能响应中断请求。

  1. 步骤

①:中断请求。中断事件一旦发生,中断源就提交中断请求(将中断标志位置1),欲请求CPU暂时放下目前的工作,转向为该中断作专项服务。

②:中断使能。虽然中断源提交了中断请求,但是,能否得到CPU的响应,还要取决于该中断请求能否通过若干关卡送到CPU(中断使能位等于2,关卡放行)

③:中断响应。

④:中断处理。

⑤:中断返回。

3.4中断请求标记的置位和清除

  1. 外部中断

 下降沿触发方式条件下,在产生中断请求时由硬件置位中断请求标记,当CPU响应中断时由硬件清除。电平触发方式条件下,中断请求标记由外部中断源控制。具体是,当CPU检测到INT引脚上出现低电平时,中断标志IE由硬件置位,INT引脚上出现高电平时,中断标志IE由硬件清除。

①:定时器中断

计数溢出时,由硬件置位中断请求标记,当CPU响应中断时,则由硬件清除。

②:串口中断

当串口接受完1帧数据后请求中断,由硬件置位中断请求标记RI,RI必须由软件清除。当串口发送完1帧数据后请求中断,由硬件置位中断请求标记TI,TI必须由软件清除。

  1. 中断源中断

每个中断源都有3个位

①:优先级定义位

②:中断使能位

③:中断请求标记位。

  1. 全局中断

EA为全局中断使能位(总允许位),为0时,全局中断禁止;为1时,全局中断允许。

 


http://www.ppmy.cn/news/123444.html

相关文章

17.中断控制器

文章目录 中断控制器4412下的中断控制器本次实验用到的寄存器 编程 中断控制器 如果外设直接发送中断给CPU会存在下列问题: 当CPU在处理一个中断时会屏蔽其它中断由于CPU是多核的,中断请求会随机发送给任意CPU,会造成混乱中断不清楚是属于F…

中断系统结构及中断控制详解

中断系统结构及中断控制详解 MCS—51提供5个中断请求源,2个中断优先级,可实现两级中断服务程序嵌套。当CPU执行关中断指令后(或复位),将屏蔽所有中断请求,只有CPU执行开中断指令后才有可能接受中断请求&am…

中断控制器

在ARM中CPU有七种工作模式: 什么叫做工作模式? 每一种工作模式都有哪些东西? 每一种工作模式下面都有一些不同的寄存器、不同的权限、不同的触发条件; 不同的寄存器,如图: 可以看出,不同工…

Linux中断子系统(二)中断控制器GIC驱动分析

Linux中断子系统(二)中断控制器GIC驱动分析 备注:   1. Kernel版本:5.4   2. 使用工具:Source Insight 4.0   3. 参考博客: Linux中断子系统(一)中断控制器及驱动分析 吐血整…

ARM通用中断控制器GIC之中断控制

在阅读本章之前,可以参考笔者之前关于GIC的一些描述: ARM通用中断控制器GIC(generic Interrupt Controller)简介 ARM架构Generic Interrupt Controller(GIC)之Distributor和CPU interface功能介绍 ARM架构Generic Interrupt Controller(GIC)详解之术语…

Linux中断子系统(一)中断控制器GIC架构

Linux中断子系统(一)中断控制器GIC架构 备注:   1. Kernel版本:5.4   2. 使用工具:Source Insight 4.0   3. 参考博客: Linux中断子系统(一)中断控制器及驱动分析 吐血整理|肝…

day35|贪心算法-柠檬水找零用最少的箭引爆气球

今日方法汇总: 柠檬水找零(临时变量的设置)根据身高重建队列用最少数量的箭引爆气球 860.柠檬水找零 将中间结果记录在字典中,每次找零均遍历字典中的数值。 分析题目的场景,贪心的策略就是优先选择10块钱进行找零&…

3.2 掌握RDD算子

一、准备工作 (一)准备文件 1、准备本地系统文件 2、把文件上传到HDFS (二)启动Spark Shell 1、启动HDFS服务 2、启动Spark服务 3、启动Spark Shell 二、掌握转换算子 (一)映射算子 - map() …