51单片机中断系统

news2024/10/6 15:54:30

中断系统

  • 1、中断介绍
  • 2、中断结构及相关寄存器
    • 中断满足的条件以及使用
  • 3、外部中断实验
    • 外部中断介绍
    • 外部中断配置
    • 硬件设计
    • 软件设计

1、中断介绍

我们先来举一个生活事例: 你打开火,烧上一壶水。然后去洗衣服,在洗衣服的过程中,突然听到水壶发出水开的报警声,这时,你停止洗衣服动作,立即去关掉火,然后将开水灌入暖水瓶中,灌完开水后,你又回去继续洗衣服。这个过程中实际上就发生了一次中断。

对于单片机来讲,中断是指CPU在处理某一事件A时,发生了另一件事B,请求CPU迅速去处理(中断发生);CPU暂时停止当前的工作(中断响应),转去处理事件B(中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程中称为中断。
在这里插入图片描述中段请求:
中断响应:
中断返回:

中断执行顺序是中断优先级。

单片机在执行程序时其程序流程图:
在这里插入图片描述
中断嵌套:类似递归。

优点:
分时操作:CPU 可以分时为多个 I/O 设备服务,提高了计算机的利用
实时响应:CPU 能够及时处理应用系统的随机事件,系统的实时性大大增

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

2、中断结构及相关寄存器

STC89C5X 系列单片机提供了 8 个中断请求源,它们分别是:外部中断0(INTO)、外部中断 1(INT1)、外部中断 2(INT2)、外部中断 3(INT3)、定时器 0中断、定时器 1 中断、定时器 2 中断、串口(UART)中断。(注意:51 系列单片机一定有基本的 5 个中断,但不全有 8 个中断,需要查看芯片手册,通常我们使用的都是基本的 5 个中断:INT0、INT1、定时器 0/1,串口中断)
学会查看芯片手册查看中断数量以及类型
学会查看中断数量类型以及中断优先级
中断连接的端口

内部结构框图:
在这里插入图片描述
IE:Interrupt enable
IP:Interrupt priority
EA:Enable all
EX:Enable exterior
ES:Enable serial
从该图中看出什么?
1、外部中断0 通过TCON寄存器中IT0控制位,采取下降沿中断(1)还是低电平中断(0)出现有效中断信号时,IE0请求标志位置1。IE寄存器中总中断EA打开,EX0外部中断允许位打开。PX0打开,传入CPU中断队列中。
2、定时器中断T0 通过TCON寄存器TF0,片内定时/计数器T0溢出中断请求标志。当定时/计数器T0发生溢出时,置位TF0,IE寄存器中总中断打开ET0定时器中断允许打开。PX0打开,传入CPU中断队列。
3、RI或TI,串行口中断请求标志。当串行口接受完一帧串行数据时置位RI或当串行口发送完一帧串行数据时置位Ti,向CPU请求中断。
中断寄存器
IE:中断允许寄存器
TCON:中断请求标志寄存器

中断满足的条件以及使用

中断响应条件:
1、CPU中断(总中断EA)打开
2、有效中断请求信号
3、此处中断源的中断允许位为1

使用中断我们需要做什么?
1、你想使用的中断是哪个?选择相应的中断号 (有多个中断时,根据任务的优先级/根据中断做什么,选择中断号)
2、你所希望的触发条件是什么?
3、中断之后做什么

//以外部中断0为例子
EA = 1		//总中断打开
EX0 = 1 	//外部中断0允许位打开
ITO = 0/1		//设置外部中断的触发方式,选择中断请求的是低电平还是下降沿中断

//中断服务函数
void int0() interrupt 0
{
		//编写用户所需的功能代码
}

3、外部中断实验

实现功能:使用独立按键K3控制LED亮灭,K3连接外部中断0(p3.2)管教。

外部中断介绍

外部中断0和外部中断1
中断号

外部中断配置

//初始化
void exti_init()
{
	EA = 1;		//总中断打开
	EX0 = 1;		//外部中断0开关打开
	IT0 = 1;		//设置外部中断0的触发方式
}
void int0()interrupt 0
{
	if (KEY3 == 1)
	{
		LED1 = !LED1;
	}
}

硬件设计

软件设计

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python进程

队列 简介 在windows中,启动一个程序资源等于一个进程,进程是由多个线程组成的,进程理解为管理层,而线程是工人 通俗解释: 进程:能够完成多任务,比如,在同一台电脑上能够同时运行…

苹果手机怎么删除软件?彻底删除顽固app的3个方法!

案例:苹果手机有流氓软件删不掉怎么办? 【好烦,在网页上误点下载了一些流氓软件,怎么都删不掉,我该怎么办?求大神支招!】 在苹果手机上删除软件通常是一个简单的过程,但有时候可能会…

【Java 基础】反射

反射是框架的灵魂。动态代理、很多框架(SoringIOC、AOP等)中都用到了反射。 概述: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法(包括私有的);对…

一款高效的企业级表格可视化搭建解决方案DripTable

DripTable 是京东零售推出的一款用于企业级中后台的动态列表解决方案,项目基于 React 和 JSON Schema,旨在通过简单配置快速生成页面动态列表来降低列表开发难度、提高工作效率。 DripTable 目前包含以下子项目:drip-table、drip-table-gene…

SpringBoot实战(四)获取接口请求中的参数(@PathVariable,@RequestParam,@RequestBody)

一:获取参数 SpringBoot提供的获取参数注解包括:PathVariable,RequestParam,RequestBody,三者的区别如下表: 二、java基础(spring注解PathVariable和RequsetParam的区别还有RequestBody) Path…

“AI孙燕姿”们侵了谁的权?

“2003年大火的歌手:孙燕姿;2023年大火的歌手:AI孙燕姿”。在B站,这条评论获赞2800多,而被网友们集体点赞的是用AI克隆孙燕姿声音后演唱其他歌曲的视频。 截止目前,Up主们打造的“AI孙燕姿”已翻唱了百余首…

每日学术速递5.14

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.An Inverse Scaling Law for CLIP Training 标题:CLIP 训练的逆比例定律 作者:Xianhang Li, Zeyu Wang, Cihang Xie 文章链接:https://arxiv.…

【Linux】Linux编辑器-gcc/g++使用

目录 一、背景知识 二、gcc是如何完成的 1、预处理(进行宏替换) 2、编译(生成汇编) 3、汇编(生成机器可识别代码) 4、链接(生成可执行文件或库文件) 4.1、静态库 4.2、动态库 4.3、动静态库的比较 三、gcc常见的选项 一、背景知识 计算机是二进制读取文件的,我们…

HHDBCS及HHDESK的资源加密功能

安全性,是头等重要的事情。HHDBCS及HHDESK均有一项实用功能,资源加密。 HHDBCS 打开HHDBCS,出现连接管理界面(或者在运行过程中,点击连接管理),点击如下图箭头所指处的图标即可 HHDESK 点击主…

全球范围内的数字化时代,挑战和价值有哪些?

近年来,数字经济的发展趋势越来越明显,尤其是随着疫情的影响,加速了传统产业向数字化、网络化和智能化产业的转型和升级。全球数字经济规模不断扩大,体量连年增长,根据中国信息通信研究院报告显示,2019年全…

VMware虚拟机,匹配库中的文件系统文件夹层次结构

不需要把虚拟机文件复制到本地就不需要勾选“匹配库中的文件系统文件夹层次结构”这个选项。 但是,即便是勾选“匹配库中的文件系统文件夹层次结构”这一选项,也可以不勾选下一个选项卡的任何选项。

Midjourney AI 官方中文版已开启内测申请;OpenAI 正准备向公众发布一款新的开源语言模型。

🚀 Midjourney AI 官方中文版已开启内测申请,搭载在 QQ 频道上,召唤机器人进行作画。 Midjourney AI 官方中文版已开启内测申请,搭载在 QQ 频道上,召唤机器人进行作画。 可调用 MJ 和 Niji 的最新模型和所有参数&…

Python源码怎么运行?

要运行Python源码,您需要安装Python解释器。Python解释器是一种软件,它可以读取Python源代码并将其转换为计算机可以理解和执行的指令。 在Windows操作系统上运行Python源代码的步骤: 在您的计算机上下载并安装Python解释器。您可以从Pyth…

COM接口规则的存在是有原因的

可能有些人认为接口上的 COM 接口规则没有必要设计的那么严格,但我想说的是,这些规则的存在是有原因的。 假设你在你的产品代码中新增加了版本号为 N 的接口,由于这个接口是内部使用的,没有任何公开文档。所以你可以随意修改它&a…

Sentinel 热点参数限流

何为热点?热点即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制。比如: 商品 ID 为参数,统计一段时间内最常购买的商品 ID 并进行限制用户 ID 为参数,针对一段时间…

Prompt工程师指南[资料整合篇]:Prompt最新前沿论文整理合集、工具和库推荐、数据集整合、推荐阅读内容等,超全面资料

Prompt工程师指南[资料整合篇]:Prompt最新前沿论文整理合集、工具和库推荐、数据集整合、推荐阅读内容等,超全面资料 1.论文合集 The following are the latest papers (sorted by release date) on prompt engineering. We update this on a daily bas…

Ozeki VOIP SIP SDK 10.3.199 Crack

Ozeki VOIP SIP SDK 使用Ozeki VoIP SIP SDK,您有机会制作自己的VoIP产品,例如软电话,甚至您自己的PBX。 Ozeki VoIP SIP SDK介绍 Ozeki VoIP SIP SDK 是一个软件开发工具包,允许您使用 SIP 协议进行 VoIP 呼叫。它可以很容易地…

LNMP平台对接redis服务

LNMP见我2023-04-17 10:51:16 发布的企业网站架构部署与优化 LNMP https://blog.csdn.net/Richard_Sniper/article/details/130158518?spm1001.2014.3001.5501 1、安装 LNMP 各个组件 2、安装 redis 服务 3、安装 redis 扩展 官网:http://redis.io/ 下载包&am…

解读直接RF采样架构及优势

多年来,数字收发机被应用在多种类型的应用中,包括地面蜂窝网络、卫星通信和基于雷达的监视、地球观测和监控。过去,收发机的系统工程师在这些应用中使用中频架构。现在,高速数据转换器的最新发展,使新型基于射频直接采…

gif怎么转换成mp4格式?

gif怎么转换成mp4格式?GIF动态图片是一种常见的图片文件,平时我们聊天时会使用到表情包、广告宣传场景也会使用到gif动图,而MP4则是目前广泛应用的视频格式,相信大家都知道这一点。将GIF图片转换为视频格式是一种非常实用的方法。…