中断(全网最细!)

news2025/1/12 6:18:58

什么是中断?

中断是让单片机具有处理外部和内部随机发生事件实时处理的能力;

中断提高了单片机处理外部或内部的能力;

芯片在处理某一个A事件,发生了一件B事件,请求芯片(中断发生)去处理B事件,暂停原来做的A事件,转去处理B事件(中断服务),芯片处理完B事件,在回到事件A中断的地方在继续处理A事件(中断返回),这个过程叫中断。


中断的结构

有多少个中断?

基于51单片机一般提供八个中断

外部中断0 、 外部中断1 、 外部中断2 、 外部中断3 、

定时器0、定时器1、定时器2、串口 八个中断请求源

一般STC增强型 有八个

但一般单片机都有5个中断  ,这是基础的

重点学习这5个中断,后面多的都大差不差


中断里有什么?

TCON寄存器,控制外部中断是下降沿触发,还是低电平触发,触发之后中断标志位IE0自动化置为1,;

IE外部中断寄存器设置,EX0中断的选择位

EA 全局中断控制使能位

IP设置中断的优先级

中断寄存器

(1) 中断允许控制 就是 IE 寄存器的某一位

(2)中断请求标志 就是 TCON寄存器 8位的寄存器


中断优先级?

外部中断0---->定时器0---->外部中断1---->定时器1---->串口

中断号

中断响应条件?

①中断源有中断请求;
②此中断源的中断允许位为 1;
③CPU 开中断(即 EA=1)。

若果设置的中断有问题,可以从这三个方面去查看


中断配置

中断的操作流程

1、先要在外部中断设置是下降沿触发、还是低电压触发 在TCON寄存器中、触发之后中断标志IE0 自动置1

2、外部中断允许位要打开

3、EA总中断要开发

4、设置中断优先级

5、中断才会流入MCU

中断0 初始化

// 外部中断0配置初始化
void exit0_init(void)
{
        IT0 = 1; // 下降沿触发
        EX0 =1;          // 中断允许位打开
        EA=1;          // 总中断打开

}

中断0服务函数

// 外部中断0服务函数           没有返回值
void exit0() interrupt 0          // 0 是中断号
{
        deplay_time(1000); // 消抖
        if(KEY3==0)
        {
                LED1=!LED1;
        }        
}

void exit0()  interrupt 0    中断服务函数  0 是哪个中断号

中断优点

分时操作、实时响应、可靠性高

分时操作: CPU 可以分时为多个 I/O 设备服务,提高了计算机的利用率

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

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


实验需求:

用K3、K4按键使用中断,LED1灯按灭

硬件图:

编程设计:

#include "reg52.h"  // 头文件
// char/int 重命名
typedef unsigned char u8;
typedef unsigned int u16;
// 按键管脚
sbit KEY3 = P3^2;
sbit KEY4 = P3^3;
sbit LED1 = P2^0;

// 外部中断0配置初始化
void exit0_init(void)
{
        IT0 = 1; // 下降沿触发
        EX0 =1;          // 中断允许位打开
        EA=1;          // 总中断打开

}
// 外部中断1配置初始化
void exit1_init(void)
{
        IT1 = 1; // 下降沿触发
        EX1 =1;          // 中断允许位打开
        EA=1;          // 总中断打开

}


// 外部中断0服务函数           没有返回值
void exit0() interrupt 0          // 0 是中断号
{
        deplay_time(1000); // 消抖
        if(KEY3==0)
        {
                LED1=!LED1;
        }        
}

// 外部中断1服务函数1           没有返回值
void exit1() interrupt 2          // 0 是中断号
{
        deplay_time(1000); // 消抖
        if(KEY4==0)
        {
                LED1=!LED1;
        }        
}

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

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

相关文章

机器学习中岭回归、LASSO回归和弹性网络与损失函数

今天咱们来聊点纯技术的东西,这东西是基础,不说往后没法说,在机器学习领域中,我们可以通过正则化来防止过拟合,什么是正则化呢?常见的就是岭回归、LASSO回归和弹性网络。 先说说什么叫做过拟合&#xff1f…

Redis之SDS底层原理解读

目录 SDS是什么? SDS结构示例 概述 空间预分配 惰性空间释放 C字符串跟SDS的区别?为什么用SDS? SDS是什么? Redis 底层的程序语言是由 C 语言编写的,C 语言默认字符串则是以空字符结尾的字符数组&#xff08…

品牌价格调查的方法

品牌做价格调查的目的,不是简单的对页面价或者挂牌售价进行调查,基本是需要对商品的到手价进行调查的,调查渠道中的实际成交价对品牌来说意义重大,因为知道到手价就可以了解产品是否存在低价,进而可以做针对性的低价打…

冠达管理:元宇宙三年行动计划发布,高增长潜力股名单出炉

未来5年,国内元国际商场规划至少打破2000亿元大关。 金融监管总局9月10日发布《关于优化保险公司偿付能力监管规范的告诉》,优化保险公司偿付能力监管规范,自发布之日起施行。 金融监管总局释放重要利好,引导保险资金更大力度地…

Ruff南潮物联邀请您参观中国工博会,快来扫码领取免费门票!

由于受疫情影响的延期,第23届中国国际工业博览会(简称"中国工博会")终于将要在2023年9月19日-23日国家会展中心(上海虹桥)举行。 中国工博会是由工业和信息化部、国家发展和改革委员会、科学技术部、商务部、…

教师节快乐!这条传承之路,我们走了十数年……

守初心,传匠心 这条路,我们走了十数年…… 在云和恩墨,有这样一群人,他们是技术和业务知识的传播布道者,乐知乐享,助人达己;他们在新人成长的道路上良苦用心,甘为人梯;他…

JTAG无法进入app的断点问题解决

通过JTAG口,可以对STM32进行在线调试,主要还是APP的调试,一般来说都是没有问题的。 但是,我这边碰到个奇怪现象: main 函数里面断点 死活进不去 官方demo程序也是一样现象 可以确定,App是正确写入到芯片的…

RBTree模拟实现

一、概念 概念:红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或 Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍&a…

【C#实战】控制台游戏 勇士斗恶龙(3)——营救公主以及结束界面

君兮_的个人主页 即使走的再远,也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们,这里是君兮_,最近开始正式的步入学习游戏开发的正轨,想要通过写博客的方式来分享自己学到的知识和经验,这就是开设本专栏的目的。希望…

pod 创建自定义库失败后解决方案

遇到以上问题: Cloning https://github.com/CocoaPods/pod-template.git into GlobalButton. Configuring GlobalButton template. Ignoring ffi-1.15.5 because its extensions are not built. Try: gem pristine ffi --version 1.15.5 /Library/Ruby/Site/2.6…

【校招VIP】前端计算机网络之webSocket相关

考点介绍 WebSocket 是一种网络通信协议,很多高级功能都需要它。初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? 答案很简单,因为…

Codesys可以和西门子博途平分秋色吗?

当今工业自动化界,西门子博途似乎一直是硬件和软件开发的标配。但近年来,有一个名字越来越频繁地出现在各大PLC厂家的产品中:Codesys。此软件是否真的如传说中那样优秀?Codesys与西门子博途之间的竞争究竟如何呢?接下来…

电脑(win10系统) 每次开机都进入备份系统

解决方法,在系统设置里面将win10设置为默认的开机项。 1、winr 打开cmd,输入msconfig,打开系统配置--引导---选择win10系统----设为默认值----确定 2、点击电脑,右击属性,打开设置---高级系统设置-----高级 ------启动…

Swift 周报 第三十七期

文章目录 前言新闻和社区苹果跌近 3% 市值两天蒸发 1898 亿 美元iPhone 15 系列订单量下滑,苹果公司面临双重市场冲击苹果的对手回来了 提案通过的提案正在审查的提案驳回的提案 Swift论坛推荐博文话题讨论关于我们 前言 本期是 Swift 编辑组整理周报的第三十七期&…

RTSP流媒体服务器EasyNVR安防视频云服务平台如何手动配置Onvif探测功能?

安防监控系统EasyNVR视频云存储平台可实现设备接入、实时直播、录像、检索与回放、视频云存储、视频分发等视频能力服务,可覆盖全终端平台(pc、手机、平板等终端),在智慧工厂、智慧工地、智慧社区、智慧校园等场景中有大量落地应用…

安装vCenter6.7出错 DNS服务原因

https://blog.csdn.net/seaship/article/details/107045006**A.VCSA6.7的安装**第1步,运行VCSA 6.7部署程序,中间一些截图参考何老师相关部署文章即可第2步,配置VCSA虚拟机网络,FQDN填写虚拟机分配的IP地址&#xff0c…

二分查找实例3(寻找旋转排序数组中的最小值)

题目: 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋…

《论文阅读》常识感知的提示用于可控的同情对话生成 2023 AAAI

《论文阅读》常识感知的提示用于可控的同情对话生成 前言简介基础知识即插即用(Plug and Play)Future Discriminators(FUDGE)动机数据集方法前言 你是否也对于理解论文存在困惑? 你是否也像我之前搜索论文解读,得到只是中文翻译的解读后感到失望? 小白如何从零读懂论…

C#+sqlserver+asp.net婚纱影楼管理系统

一、源码描述 这是一款简洁十分美观的ASP.NETsqlserver源码,界面十分美观,功能也比较全面,比较适合 作为毕业设计、课程设计、使用,感兴趣的朋友可以下载看看哦 二、功能介绍 该源码功能十分的全面,具体介绍如下&…

企业如何加强合同风险控制?

企业运营的主要流程,不会因为企业人员规模或者业务规模大小的差异,而出现巨大的差异。 千万亿市值的上市公司、不足百人的新兴公司,面对的经营风险本质上不会有明显的区别。 那么,企业经营活动中,有哪些应对合同风险的…