【蓝桥杯入门记录】中断系统

一、中断概述

(1)处理器和外部设备的数据传输方式

  • 无条件传输:处理器不比为了了解外部设备状态,直接进行数据传输,用于指示灯和蜂鸣器灯等简单设备
  • 查询方式:传输前,一方先查询另一方的状态,若已经准备好就传输,否则就继续查询
  • 中断方式:一方通过申请中断的方式与另一方进行数据传输,收发双方可以并行工作
  • 直接存储器访问:处理器内部建立片内外设和内存之间的数据传输通道,传输过程不需要处理器参与

(2)中断的概念

  • CPU的中断系统是:为使CPU具有对外界紧急事件的实时处理能力而设置的
  • 某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生)
  • CPU暂停(中断)当前的工作,转去处理事件B(中断响应和中断服务)
  • 待CPU将时间B处理完毕后,再回到原来事件A被中断的地方继续处理时间A(中断返回)
  • 这一过程称为中断

(3)中断的优势

  • 分时操作。CPU可以分时为多个I/O设备服务,提高了计算机的利用率
  • 实时响应。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强;
  • 可靠性高。CPU具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高

(4)中断优先级的原则

  • CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。
  • 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。
  • 正在进行的低优先级中断服务,能被高优先级中断请求所中断。

(5)中断响应条件

  • 中断源有中断请求;
  • 此中断源的中断允许位为1;
  • CPU开中断(即EA=1)。
  • 以上三个条件同时存在,才实现中断响应

二、STC单片机中的中断系统

(1)STC单片机的中断请求源

(2)CPU的总中断允许控制

EA:CPU的总中断允许控制位,EA=1,CPU开放中断,EA=0,CPU屏蔽所有的中断申请。EA的作用是使中断允许形成多级控制。即各中断源首先受EA控制;其次还受各中断源自己的中断允许控制位控制。

(3)中断的入口地址

Keil C中的中断函数:(函数名可以变,红色框中的必须对应)

三、外部中断概述

(1)外部中断与中断系统

  • 外部中断是单片机实时地处理外部事件的一种内部机制。当某种外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理,中断处理完后又返回被中断的程序处,继续执行下去
  • 外部中断是单片机中断系统的其中一类中断源,单片机外部中断与单片机的中断系统是两个概念。
     

(2)外部中断的工作方式

(3)外部中断工作方式配置

(4)外部中断触发方式

  • 上升沿与下降沿的概念:
  • 上升沿触发
  • 上升沿下降沿均可触发

四、外部中断的应用

根据外部中断执行功能函数。本例以外部中断0(上升沿中断/上升沿下降沿均可中断)为例,中断产生后将L6灯取反操作。

#include <stc15.h>

void IO_Init(void);

void main(void)
{
	IO_Init();
	P2=0XA0;P0=0X00;P2=0X80;P0=0XFF;	
	
//	IT0 = 0 ;	//设置外部中断0,上升沿或下降沿后均可产生中断申请
	IT0 = 1 ;	//设置外部中断0,仅下降沿后均可产生中断申请
	
	EX0 = 1 ;		//允许外部中断0向CPU申请中断
	
	EA = 1 ;		//打开CPU总中断
	
	while(1)
	{
		;
	}
}

//外部中断服务程序
void EX_INT0(void) interrupt 0		//INTO中断入口
{
	P05 = !P05;			//将测试口取反
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/485573.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CVPR 2024中有哪些值得关注的视频生成和视频编辑方向的论文?

Diffusion Models视频生成-博客汇总 前言:轰轰烈烈的CVPR 2024所有accept paper已经全部公开,随着Sora的爆火,视频生成和视频编辑是目前计算机视觉最火热的方向,受到了很多人的关注。这篇博客就整理盘点一下有哪些值得关注的视频生成和视频编辑方向的论文?值得做这个方向的…

Day56-LNMP架构扩展为集群模式实战精讲

Day56-LNMP架构扩展为集群模式实战精讲 1. 企业级标准部署知乎产品wecenter1.1 部署知乎软件Wecenter 2. 企业级迁移数据库到独立服务器2.1 为什么要进行数据库的拆分2.2 数据库拆分架构演变过程&#xff0c;如下图所示2.3 数据库拆分环境规划2.4 数据库拆分架构详细步骤2.4 we…

【计算机网络】启程

&#x1f4dd;本文介绍 本文为计算机网路系列的开始篇&#xff0c;会介绍一下使用的书籍和自己做的思维导图。 &#x1f44b;作者简介&#xff1a;一个正在积极探索的本科生 &#x1f4f1;联系方式&#xff1a;943641266(QQ) &#x1f6aa;Github地址&#xff1a;https://githu…

对于组件通信的深刻理解

父组件传递数据给子组件 props传递数据 父组件在子组件的标签上写自定义的属性,属性值是自己的变量,当渲染到子组件时,执行props会找自定义属性,内存了变量的内存,可访问到,写props,会生成vue实例的时候,将props的变量赋给,值找变量内存存入变量.插值语句等可访问.父组件会变…

【ArcGIS微课1000例】0106:ArcGIS制作风向频率(风速)玫瑰图

文章目录 一、效果预览二、加载数据三、创建图表四、图表修饰五、保存图片一、效果预览 在ArcGIS制作的风向频率玫瑰图最终效果如下所示: 二、加载数据 加载配套实验数据包中0106.rar中的excel数据,然后右键→打开。 三、创建图表 1. 创建图表。右击打开属性表,选择表选项…

硅谷甄选项目笔记

硅谷甄选运营平台 此次教学课程为硅谷甄选运营平台项目,包含运营平台项目模板从0到1开发&#xff0c;以及数据大屏幕、权限等业务。 此次教学课程涉及到技术栈包含***:vue3TypeScriptvue-routerpiniaelement-plusaxiosecharts***等技术栈。 一、vue3组件通信方式 通信仓库地…

在 Windows 中安装配置并启动运行 Jenkins【图文详细教程】

安装 Jenkins 的系统要求&#xff1a; 最少 256MB 可用内存最少 1GB 可用磁盘空间JDK 8 / 11 /17&#xff08;Jenkins 是用 Java 写的&#xff0c;打包成 war 包&#xff09; 查看 JDK 的版本 Java JDK 在 Windows 中安装可以参考&#xff1a;https://www.yuque.com/u27599042/…

JVM快速入门(2)HotSpot和堆、新生区、永久区、堆内存调优、JProfiler工具分析OOM原因、GC(垃圾回收)、JVM经典面试笔试题整理

5.6 HotSpot和堆 5.6.1 Hotspot 三种JVM&#xff1a; Sun公司&#xff0c;HotspotBEA&#xff0c;JRockitIBM&#xff0c;J9 VM&#xff0c;号称是世界上最快的Java虚拟机 我们一般学习的是&#xff1a;HotSpot 5.6.2 堆 Heap&#xff0c;一个JVM只有一个堆内存&#xff0c…

Py之scikit-learn-extra:scikit-learn-extra的简介、安装、案例应用之详细攻略

Py之scikit-learn-extra&#xff1a;scikit-learn-extra的简介、安装、案例应用之详细攻略 目录 scikit-learn-extra的简介 scikit-learn-extra的安装 scikit-learn-extra的案例应用 1、使用 scikit-learn-extra 中的 IsolationForest 模型进行异常检测 scikit-learn-extra…

什么是LLM Agent它如何运作?

什么是LLM Agent它如何运作&#xff1f; 代理背后的主要直觉是一个模型&#xff0c;使用大型语言模型作为其中央计算引擎来推理问题、计划解决问题并使用一组工具来解决问题。 现实世界中的实际任务没有一步解决方案。它们通常需要多个相关和独立的步骤才能完成。对于“A 公司…

AI智能视频粗剪解决方案助力企业高效运营

面对海量的视频素材&#xff0c;如何快速、准确地检索和剪辑&#xff0c;成为摆在企业面前的一大难题。美摄科技凭借其在人工智能领域的深厚积累&#xff0c;推出了领先的AI智能视频粗剪解决方案&#xff0c;为企业提供了高效、智能的视频处理新选择。 美摄科技的AI智能视频粗…

Nginx 服务启停方式

1. 前言 nginx 安装后&#xff0c;接下来我们就要学习如何启动、停止、重启 nginx 的服务 对于 nginx 服务的启停控制&#xff0c;在 linux 系统中也有多种方式&#xff0c;比如&#xff1a;信号控制、命令行控制 信号控制&#xff1a;使用 nginx 服务的信号来控制&#xff0…

pytorch如何向tensor结尾添加元素或维度--torch.cat()、torch.unsqueeze()的用法

目录 示例1 矢量后增加元素 示例2 tensor维度增加1 示例3 另一种替代unsqueeze的方法 示例1 矢量后增加元素 使用torch.cat()函数 ptorch.Tensor([1,5,0]) ptorch.cat((p, torch.Tensor([4])), 0) 结果&#xff1a; 这里&#xff0c;cat的第一个输入变量用()包绕&#xf…

Java研学-SpringBoot(二)

二 Spring Boot 介绍 1 简介 Spring Boot是由Pivotal团队提供的全新框架&#xff0c;主要目标是简化Spring应用程序的配置和部署过程&#xff0c;减少开发者在项目搭建和配置上的工作量&#xff0c;让开发者能够更专注于业务逻辑的实现。它使用特定的方式来进行配置&#xff0…

FFmpeg拉取RTSP流并定时生成10秒短视频

生成效果: 视频时长为10秒 生成格式为FLV 输出日志: 完整实现代码如下: 需要在Mac和终端先安装FFmpeg brew install ffmpeg CMake文件配置: cmake_minimum_required(VERSION 3.27) project(ffmpeg_open_stream) set(CMAKE_CXX_STANDARD 17)#头文件包目录 include_director…

软件高级:软件产品线-双生命周期模型概念和例题

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

unity学习(70)——编译游戏发生错误1

要命 1.VersionControl 直接注释掉就可以了。一共有5处。 2. GraphView一处&#xff0c;也是注释掉就ok了 3.修改完以上6处后66s完成编译 4. 编译结果如下图所示 5. unity中成功实例化两个对象&#xff0c;但此时服务器炸了&#xff01; 6.预构体数组越界 把naruto模型再往里面…

[网鼎杯 2018]Comment -----不会编程的崽

网鼎杯的题啊&#xff0c;每次都能记忆犹新&#xff0c;又get到了不少。 这种发帖的界面在ctf中不少见了&#xff0c;多半是二次注入。但是这个二次注入并不单纯。在一道大坎之前&#xff0c;必定存在小坎。这不&#xff0c;先登录。 先别急着怀疑是否为其他漏洞。仔细观察&…

EasyPOI操作Excel从零入门

教程介绍 我们不造轮子&#xff0c;只是轮子的搬运工。&#xff08;其实最好是造轮子&#xff0c;造比别人好的轮子&#xff09;开发中经常会遇到excel的处理&#xff0c;导入导出解析等等&#xff0c;java中比较流行的用poi&#xff0c;但是每次都要写大段工具类来搞定这事儿…

网络协议栈--网络层--IP协议

目录 本节重点网络层IP协议一、 基本概念二、 IP协议报头格式三、网段划分(重要)四、特殊的IP地址五、IP地址的数量限制六、私有IP地址和公网IP地址七、路由八、IP协议全部内容一览图 本节重点 1、理解网络层的作用, 深入理解IP协议的基本原理 2、对整个TCP/IP协议有系统的理解…