第十五届蓝桥杯单片机组备赛——中断系统与外部中断应用

这篇具有很好参考价值的文章主要介绍了第十五届蓝桥杯单片机组备赛——中断系统与外部中断应用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、中断概念

  内核与外设之间的主要交互方式有两种:轮询中断
  轮询的方式貌似公平,但实际工作效率很低,且不能及时响应紧急事件;
  中断系统使得内核具备了应对突发事件的能力。在执行CPU当前程序时,由于系统中出现了某种急需处理的情况,CPU暂停正在执行的程序,转而去执行另外一段特殊程序来处理出现的紧急事务,处理结束后,CPU自动返回到原来暂停的程序中去继续执行。这种程序在执行过程中由于外界的原因而被中间打断的情况,称为中断。
  📌中断服务函数:内核响应中断后执行的相应处理程序。也就是中断发生后要做什么。
  📌中断向量:中断服务程序的入口地址。每个中断源都对应一个固定的入口地址。当内核响应中断请求时,就会暂停当前的程序执行,然后跳转到该入口地址执行代码。
  📌中断号:在C语言对51进行编程时,中断向量被映射为中断号,也就是我们不需要去背中断向量,只需要记住中断号对应哪个中断源就好。

✨记忆技巧:外部中断和定时中断交叉,先外部再定时器,先0后1,最后一个是串口。
第15届篮球杯单片机官方用吧,蓝桥杯单片机,蓝桥杯,单片机

二、中断过程

第15届篮球杯单片机官方用吧,蓝桥杯单片机,蓝桥杯,单片机

三、中断控制系统(类似STM32的NVIC)

51单片机的中断系统和STM32最大的区别51的中断不能嵌套,必须执行完当前中断服务函数才能执行下一个中断服务函数。

第15届篮球杯单片机官方用吧,蓝桥杯单片机,蓝桥杯,单片机

使用这个中断系统时,用户需要明确每个中断源的功能,适当地设置优先级,编写对应的中断服务函数。根据应用的需要,用户可能还需要控制中断的使能和禁止,并在中断服务例程中恰当地处理中断标志位。

四、中断相关寄存器

第15届篮球杯单片机官方用吧,蓝桥杯单片机,蓝桥杯,单片机

4.1 IE寄存器

第15届篮球杯单片机官方用吧,蓝桥杯单片机,蓝桥杯,单片机

4.2 IP寄存器(不重要,我写了好几届省赛真题都没用到这个寄存器)

第15届篮球杯单片机官方用吧,蓝桥杯单片机,蓝桥杯,单片机

4.3 TCON寄存器

第15届篮球杯单片机官方用吧,蓝桥杯单片机,蓝桥杯,单片机

4.4 TMOD寄存器(只能字节寻址)

第15届篮球杯单片机官方用吧,蓝桥杯单片机,蓝桥杯,单片机
什么叫做只能字节寻址?

举个例子就能明白,例如我们想控制TCON的外部中断0触发方式,我们可以直接IT0=0;
而我们想设置TMOD的GATE,我们不能直接GATE=0;,而必须TMOD=0x**;也就是不能直接对某一位进行操作,而必须对整个寄存器进行操作,所以我们一定要学会位操作

4.5 SCON寄存器(串口设置相关)

第15届篮球杯单片机官方用吧,蓝桥杯单片机,蓝桥杯,单片机

五、中断编写

5.1 中断初始化&中断服务函数

推荐在写这两个函数的时候有一个自己的规范

例如:

void Init_IT0()						// 外部中断0初始化
{
	
}

void Interrupt_IT0() interrupt 0	// 外部中断0服务函数
{

}

5.2 特殊编程格式

A. 中断函数没有返回值,也不能带参数。
B. 函数名后面要跟一个关键字 interrupt,说明这是一个中断服务函数。
C. 在关键字 interrupt 后面要跟上中断号,说明这个中断服务函数是为那个中断源服务的。

六、外部中断应用

外部中断编写重点:
1.外部中断触发方式:高电平触发or下降沿触发
2.外部中断开关
3.总开关

编写中断服务函数的规则之一就是少做事情,一定不能在中断中进行延时操作

未完待续…文章来源地址https://www.toymoban.com/news/detail-797401.html

到了这里,关于第十五届蓝桥杯单片机组备赛——中断系统与外部中断应用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第十五届蓝桥杯模拟赛(第一期 C++)

    问题描述 请找到一个大于 2022 的最小数,这个数转换成十六进制之后,所有的数位(不含前导 0)都为字母(A 到 F)。请将这个数的十进制形式作为答案提交。    答案: 2730 思路分析: 直接暴力秒了 问题描述 在 Excel 中,列的名称使用英文字母的组合。前 26 列用一个字母

    2024年02月05日
    浏览(31)
  • 第十五届蓝桥杯模拟赛(第二期)JAVA

    (做的时候忘记小题截图了,没有题目,个人答案,可能会有问题) 1. 108 2.608 3.4169 4.901440 5.541(有问题,看错题目了) 6. 问题描述 给定一个正好六位的正整数 x,请将 x 循环左移一位后输出。 所谓循环左移一位,是指将原来的十万位变为个位,原来的万位到个位向左移动依

    2024年02月04日
    浏览(36)
  • 第十五届蓝桥杯 模拟赛第二期java组题解

    一、 问题描述 小蓝要在屏幕上放置一行文字,每个字的宽度相同。 小蓝发现,如果每个字的宽为 36 像素,一行正好放下 30 个字,字符之间和前后都没 有任何空隙。 请问,如果每个字宽为 10 像素,字符之间不包含空隙,一行可以放下多少个字? 答案提交 这是一道结果填空

    2024年02月03日
    浏览(28)
  • 【第十四届蓝桥杯单片机组客观题1】

    以下客观题来自4T测评的模拟题,希望可以帮助到大家,加油丫 1、C 若希望将IAP15F2K61S2单片机的IO口输出电流能力较强,应将IO配置为( )模式。 IAP15F2K61S2单片机的IO口输出电流能力较强,应将IO配置为推挽输出模式。 2、A 当下列IAP15F2K61S2单片机的中断源同时发出中断请求时

    2023年04月09日
    浏览(27)
  • 第十五届蓝桥杯模拟赛(第二期)第5题(Python)

    最难的才有挑战性,才值得学习! 小蓝有一个01矩阵。他打算将第一行第一列的 0 变为 2 。变化过程有传染性,每次 2 的上下左右四个相邻的位置中的 0 都会变成 2 。直到最后每个 2 的周围都是 1 或 2 结束。 请问,最终矩阵中有多少个 2 ? 以下是小蓝的矩阵,共 30 行 40 列。

    2024年02月04日
    浏览(30)
  • 第十五届蓝桥杯模拟赛B组(第二期)C++

    前言: 第一次做蓝桥模拟赛的博客记录,可能有很多不足的地方,现在将第十五届蓝桥杯模拟赛B组(第二期)的题目与代码与大家进行分享,我是用C++做的,有好几道算法题当时自己做的也是一脸懵,所以有好个别几道也是请教了其他大佬才分享出来的。 目录 ​编辑 一、

    2024年02月05日
    浏览(32)
  • 【蓝桥杯Web】第十五届蓝桥杯(Web 应用开发)模拟赛 2 期 | 全部题解

    感觉蓝桥杯的模拟赛一次比一次难了😑 制作不易,代码都是纯手敲,觉得有帮助的伙伴们记得点个赞评论一下,谢谢大家支持😍 话不多说直接上答案 目录 1、想不相等 2、三行情书 3、电影院在线订票 4、老虎机 5、星际通讯 6、蓝桥杯排位赛 7、拼出一个未来 8、超能英雄联

    2024年02月05日
    浏览(36)
  • 【蓝桥杯 第十五届模拟赛 Java B组】训练题(A - I)

     目录 A、求全是字母的最小十六进制数 B、Excel表格组合 C、求满足条件的日期 D、 取数字 - 二分 (1)暴力 (2)二分 E、最大连通块 - bfs F、哪一天? G、信号覆盖 - bfs (1)bfs(60%) (2)暴力 H、清理水域 - 暴力(弱智版) 可以差分 I、滑行 - dfs + dp (1)dfs(30%) (2)

    2024年02月05日
    浏览(28)
  • 第十五届蓝桥杯(Web 应用开发)模拟赛 2 期-大学组(详细分析解答)

    目录  1.相不相等 1.1 题目要求 1.2 题目分析 1.3 源代码 2.三行情书 2.1 题目要求 2.2 题目分析 2.3 源代码 3.电影院在线订票 3.1 题目要求 3.2 题目分析 3.3 源代码  4.老虎坤(不然违规发不出来) 4.1 题目要求 4.2 题目分析 4.3 源代码 5.星际通讯 5.1 题目要求 5.2 题目分析 5.3 源代码

    2024年02月05日
    浏览(24)
  • 【蓝桥杯选拔赛真题59】python小写字母 第十五届青少年组蓝桥杯python 选拔赛比赛真题解析

    目录 python小写字母 一、题目要求 1、编程实现 2、输入输出

    2024年01月24日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包