当前位置: 首页 > news >正文

单片机学习4——中断的概念

中断的概念:

CPU在处理A事件的时候,发生了B事件,请求CPU迅速去处理。(中断产生)

CPU暂时中断当前的工作,转去处理B事件。(中断响应和中断服务)

待CPU将B事件处理完毕后,再回到原来A事件中断的地方继续处理A事件。(中断返回)

这个过程,就叫做中断。

 

引起CPU中断的根源叫作中断源,中断源向CPU的请求,叫作中断请求。CPU暂时中断原来的A事件,转去处理B事件。对B事件处理完毕后,再回到原来被中断的地方(即断点)。称为中断返回。实现上述中断功能的部件叫作中断系统(中断机构)。

随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速I/O设备的数据传送问题,而且还具有如下的特点:

1)分时操作:CPU可以分时为多个I/O设备服务。

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

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

8051中断系统的结构:

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

第二个中断请求的优先级比第一个中断请求要高。

中断嵌套,也叫抢占。

抢占优先级的概念,优先级高的中断可以打断优先级低的中断执行,从而形成嵌套。

INT0、T0、INT1、T1、RXTX,一共是五个中断源。

外部中断源INT0和INT1;

T0和T1:片内定时器计数器;

RX和TX:数据传输中断请求。串行口。

当中断源满足条件产生中断请求的时候,中断请求标志位会置1,向CPU申请中断。

CPU响应中断的时候,TCON的中断请求标志位由硬件自动清除,则须为软件清零。

IT0外部中断0(INT0)触发方式选择位由软件设置。

1、低电平触发方式,INT0(P3.2)引脚上低电平可引起中断。

2、下降沿触发方式,INT0(P3.2)引脚上电平由高低负跳变可引起中断。

IT0 IT1

IE: 中断使能寄存器

EX0

ET0

EX1

ET1

ES

这是5个中断使能。

EA

中断总开关。

 reg51.h文件:

IP:中断优先级寄存器:

当把某一位设置为1的时候,这一位的优先级就比其他位的优先级高了。

设置为1的时候,表示高优先级;

设置为0的时候,表示低优先级。

下图中表示的是固有优先级(自然优先级),上面的优先级高于下面的优先级。这里的优先级不具有抢占性。

当多个中断同时存在的时候,就进行判断比较,或者叫仲裁。就是当中断使能的情况之后,突然同时多个中断请求响应,这个时候必须有先后的顺序,这就是非抢占式的作用。

抢占优先级和非抢占优先级的协同,可以使得单片机有条不紊地工作,既不会无休止地嵌套,又可以保证必要时紧急任务得到优先处理。在后面会大量地使用到中断系统。

 

相关文章:

单片机学习4——中断的概念

中断的概念: CPU在处理A事件的时候,发生了B事件,请求CPU迅速去处理。(中断产生) CPU暂时中断当前的工作,转去处理B事件。(中断响应和中断服务) 待CPU将B事件处理完毕后&#xff0…...

Go语言网络爬虫工程经验分享:pholcus库演示抓取头条新闻的实例

网络爬虫是一种自动从互联网上获取数据的程序,它可以用于各种目的,如数据分析、信息检索、竞争情报等。网络爬虫的实现方式有很多,不同的编程语言和框架都有各自的优势和特点。在本文中,我将介绍一种使用Go语言和pholcus库的网络爬…...

Git安装

简单粗暴,跟着步骤一步一步来 右键就会有了...

以太网通讯协议小结--持续更新中

一、以太网介绍 以太网是一种产生较早,使用相当广泛的局域网技术,局域网就是一个区域的网络互联,可以使办公室也可以是学校等等,大小规模不一。 目前以太网根据速度等级分类大概分为:标准以太网(10Mbit/s…...

Excel换不了行怎么解决?

方法一: 使用Alt Enter键 在Excel中,输入文字时按下回车键,光标将会移到下一个单元格,如果想要换行,可以尝试使用Alt Enter键。具体操作如下: 1.在单元格中输入文字; 2.想要换行时,在需要换行的位置按下Alt Enter键; 3…...

Flink CDC -Sqlserver to Sqlserver java 模版编写

1.基本环境 <flink.version>1.17.0</flink.version> 2. 类文件 package com.flink.tablesql;import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; import org.apache.flink.streaming.api.environment.StreamExecutionEnviro…...

4.前端--HTML标签-表格列表表单【2023.11.25】

1.表格 1.1表格的作用 表格的作用&#xff1a;表格主要用于显示、展示数据 1.2表格的基本格式 <table><tr><td>单元格内的文字</td><td>单元格内的文字</td>...</tr>... </table><table> </table> 是用于定义表…...

MySQL的Redo Log跟Binlog

文章目录 概要Redo Log日志Redo Log的作用Redo Log的写入机制 Binlog日志Binlog的作用Binlog写入机制 两段提交 概要 Redo Log和Binlog是MySQL日志系统中非常重要的两种机制&#xff0c;也有很多相似之处&#xff0c;本文主要介绍两者细节和区别。 Redo Log日志 Redo Log的作…...

定制手机套餐---python序列

if __name__ __main__:print("定制手机套餐")print("")#定义电话时长&#xff1a;字典callTimeOptions{1:0分钟,2:50分钟,3:100分钟,4:300分钟,5:不限量}callTimeInputinput("请输入电话时长的选择编号&#xff1a;")callTimeResultcallTimeOpt…...

线性分类器--数据处理

数据集划分 通常按照 70%&#xff0c;20% &#xff0c;10% 来分数据集 数据处理 斯坦福的线性分类器体验 http://vision.stanford.edu/teaching/cs231n-demos/linear-classify/...

一些可能被忽视的 Vue3 API 附带案例

Vue3 是 Vue.js 的最新版本&#xff0c;它引入了许多新的 API 和改进。以下是一些可能被忽视的 Vue3 API&#xff1a; reactive&#xff1a;这是 Vue3 中用于创建响应式对象的函数。与 Vue2 中的 data 不同&#xff0c;reactive 返回的对象是响应式的&#xff0c;这意味着当对…...

Linux git

1.Git 初识 不知道你⼯作或学习时&#xff0c;有没有遇到这样的情况&#xff1a;我们在编写各种⽂档时&#xff0c;为了防止文档丢失&#xff0c;更改失误&#xff0c;失误后能恢复到原来的版本&#xff0c;不得不复制出⼀个副本&#xff0c;⽐如&#xff1a; “报告-v1”? …...

136. 只出现一次的数字

136. 只出现一次的数字 题目&#xff1a; 给你一个 非空 整数数组 nums &#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题&#xff0c;且该算法只使用常量额外空…...

redis的性能管理及集群架构(主从复制、哨兵模式)

一、redis的性能管理 1、内存指标info memory 内存指标&#xff08;重要&#xff09; used_memory:853736 数据占用的内存 used_memory_rss:10551296 redis向操作系统申请的内存 used_memory_peak:853736 redis使用内存的峰值 注&#xff1a;单位&#xff1a;字节 系…...

【自然语言处理】正向最大匹配算法(FMM),反向最大匹配算法(BMM)和双向最大匹配算法(BM)原理及实现

目录 一&#xff0c;正向最大匹配算法&#xff08;FMM&#xff09; 二&#xff0c;反向最大匹配算法&#xff08;RMM) 一&#xff0c;正向最大匹配算法&#xff08;FMM&#xff09; 正向最大匹配分词&#xff08;Forward maximum matching segmentation&#xff09;通常简称为…...

数据结构 | 堆排序

数据结构 | 堆排序 文章目录 数据结构 | 堆排序建立大堆排序结果以及全部代码 如果没有看过堆的实现的话可以先看前面的一章堆的实现&#xff0c;然后再来看这个堆排序&#xff0c;都是比较简单的~~ 这里堆排序首先建堆&#xff0c;建堆是要建小堆还是大堆呢&#xff1f; 在堆排…...

编程语言发展史:Go语言的设计和特点

一、前言 Go语言是一种由Google开发的编程语言&#xff0c;于2007年开始设计&#xff0c;2009年首次发布。Go语言是一种面向对象、静态类型、编译型的语言&#xff0c;具有高效、简单、安全等特点&#xff0c;可用于开发各种类型的应用程序。Go语言的设计和特点使其成为越来越…...

FinGPT:金融垂类大模型架构

Overview 动机 架构 底座模型&#xff1a; Llama2Chatglm2 Lora训练 技术路径 自动收集数据并整理 指令微调 舆情分析 搜新闻然后相似搜索 检索增强架构 智能投顾 Hugging face 地址 学术成果及未来方向 参考资料...

24. 深度学习进阶 - 矩阵运算的维度和激活函数

Hi&#xff0c;你好。我是茶桁。 咱们经过前一轮的学习&#xff0c;已经完成了一个小型的神经网络框架。但是这也只是个开始而已&#xff0c;在之后的课程中&#xff0c;针对深度学习我们需要进阶学习。 我们要学到超参数&#xff0c;优化器&#xff0c;卷积神经网络等等。看…...

杰发科技AC7801——keil工程移植到IAR

0、简介 发现AC7801的代码只有keil工程的&#xff0c;IAR和Eclipse的代码只有一个例程&#xff0c;于是在从Keil移植到IAR时候遇到的问题记录下。 正常情况下&#xff0c;直接把keil的usr用户代码移植到iar的文件夹下面&#xff0c;删除原本的文件再添加新加进来的文件即可。…...

别只盯着server.log了!Kafka Controller日志与GC日志里的“宝藏”与“陷阱”

别只盯着server.log了&#xff01;Kafka Controller日志与GC日志里的“宝藏”与“陷阱” 当Kafka集群出现Leader选举异常、副本同步缓慢或频繁Full GC时&#xff0c;大多数工程师的第一反应是打开server.log翻找线索。但真正的高手会告诉你&#xff1a;controller.log和GC日志才…...

STM32启动模式详解与实战指南

1. STM32启动过程概述作为一名嵌入式开发工程师&#xff0c;理解STM32的启动过程是基本功。很多初学者在使用STM32时&#xff0c;往往只关注main函数中的代码&#xff0c;却忽略了芯片上电后到执行main函数之前发生了什么。实际上&#xff0c;从按下复位键到程序开始运行&#…...

3个突破式方法破解NCM加密:让音乐收藏在全设备自由流转

3个突破式方法破解NCM加密&#xff1a;让音乐收藏在全设备自由流转 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 当你精心收藏的网易云音乐下载到本地却发现是无法播放的NCM格式&#xff0c;当车载音响无法识别手机里的加密音乐文…...

Jenkins Pipeline 脚本踩坑记:我是如何被两种语法折磨并最终选择的

最近在折腾公司的 CI/CD 流水线&#xff0c;想把原来那套老掉牙的构建脚本升级一下。本以为 Jenkins Pipeline 挺简单的&#xff0c;结果一上手就懵了——竟然有两种写法&#xff01;这不是逼死选择困难症吗&#xff1f; 我当时的内心OS&#xff1a;这玩意儿就像去饭店点菜&am…...

深入解析PG332 ERNIC:基于RoCE v2的嵌入式RDMA加速引擎

1. PG332 ERNIC&#xff1a;重新定义嵌入式网络加速 第一次接触PG332 ERNIC这个IP核时&#xff0c;我正为一个工业视觉项目头疼——传统TCP/IP协议栈的延迟让机械臂控制指令总是慢半拍。直到测试了基于RoCE v2的ERNIC方案&#xff0c;端到端延迟直接从毫秒级降到微秒级&#xf…...

从GD32F103到F407升级指南:除了以太网和摄像头,这些‘隐性’升级点更值得关注

GD32F103到F407升级实战&#xff1a;揭秘那些数据手册没告诉你的关键差异 当项目需求从简单的控制逻辑升级到需要处理以太网通信、图像采集或复杂算法时&#xff0c;许多工程师会自然地将目光投向GD32F407系列。表面上看&#xff0c;F407相比F103最直观的变化是主频从108MHz提升…...

指针精要:从入门到精通,嵌入式开发学习日志32——stm32之PWM。

指针的基本概念 指针是编程中用于存储内存地址的变量&#xff0c;它指向另一个变量的位置。通过指针可以直接访问或修改内存中的数据&#xff0c;提升程序的灵活性和效率。 在C/C中&#xff0c;指针的声明方式为&#xff1a; int *ptr; // 声明一个整型指针指针的类型决定了…...

OpenClaw+千问3.5-9B学术助手:自动整理参考文献与生成综述

OpenClaw千问3.5-9B学术助手&#xff1a;自动整理参考文献与生成综述 1. 为什么需要自动化文献处理 去年冬天&#xff0c;当我面对堆积如山的PDF文献时&#xff0c;突然意识到传统文献管理方式已经跟不上现代研究的节奏。手动标注重点、复制粘贴引用、反复切换不同文献工具—…...

[具身智能-237]:OpenCV - 图像的坐标轴

OpenCV 的图像坐标系与我们在数学课上学到的标准笛卡尔坐标系有显著不同&#xff0c;这是初学者最容易混淆的地方。简单来说&#xff0c;它的核心规则是&#xff1a;原点在左上角&#xff0c;X 轴向右&#xff0c;Y 轴向下。下面为你详细拆解这个坐标系的构成&#xff0c;以及在…...

Java 反应式编程最佳实践:构建响应式系统

Java 反应式编程最佳实践&#xff1a;构建响应式系统别叫我大神&#xff0c;叫我 Alex 就好。一、引言 大家好&#xff0c;我是 Alex。反应式编程&#xff08;Reactive Programming&#xff09;作为一种编程范式&#xff0c;已经成为构建高并发、低延迟系统的重要手段。Java 生…...