0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机的中断程序如何运行

姚小熊27 来源:电工之家 作者:电工之家 2020-01-27 17:11 次阅读

单片机的中断就是类似的一个过程,发生中断时,就会打断正在执行的主程序,先处理完中断任务,返回主程序继续运行,当然在执行中断函数之前,单片机需要把关键的数据保存下来,中断函数执行完成后才可以正确的恢复主函数运行。

单片机的主程序是怎么运行的?

其实单片机的主程序其实是一个主函数,我们一般命名为Main,主函数会从上住下运行的,执行到最后又返回上面继续运行。我们用C语言编写Main主函数时,会用到while(1)让主程序不断的循环。

由此可见,主程序里的各种功能是按着顺序来执行的,谁也不能插队。那怎么样来实现中途打断插队呢?这就需要用到中断了。

单片机的中断程序是怎么执行的?

单片机有着各种和样的中断功能,比如定时器中断、外部中断、串口中断等等。比如我们要实时检测一个按键的按下事件,如果在主程序中进行扫描,就会有一定的延时,需要等主程序运行到按键扫描的程序时才可以检测到按键的状态。

中断是单片机一个重要的功能,单片机会给所有中断功能分配一个中断向量(有些中断功能会共用一个中断向量)。当开启了相应的中断功能并且发生中断时,就会自动跳转到对应的中断向量运行。在中断向量处,我们就可以调用我们编写好的中断函数,处理相关的事件就可以了。如果开启了中断嵌套,在中断函数执行过程发生优先级更高的中断,还可以暂停正在运行的中断函数,去执行更高级别的中断程序。

单片机的中断程序如何运行

中断函数为什么不在主函数中运行?

主函数是一个函数,中断函数也是一个函数,它们是独立的函数,所以是分开的。上面已经说得很清楚了,中断是打断正在运行的函数去执行优先级更高的函数,所以中断就是打断主函数去执行更高优先级别的中断函数的一个过程。

在发生中断时,单片机会自动跳转到对应的中断向量,在中断向量处,我们需要调用中断函数来处理中断事件,如果中断事件的处理程序放在主函数中,那么这些处理中断事件的程序就不是一个独立的函数了,就没法调用了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5999

    文章

    43966

    浏览量

    620733
  • 中断
    +关注

    关注

    5

    文章

    884

    浏览量

    41021
收藏 人收藏

    评论

    相关推荐

    单片机外部中断的好处

    外部中断单片机实时地处理外部事件的一种内部机制。当外部事件发生时,单片机中断系统将迫使CPU暂停正在执行的程序,转而去进行
    的头像 发表于 10-31 15:58 1043次阅读
    <b class='flag-5'>单片机</b>外部<b class='flag-5'>中断</b>的好处

    stm32单片机中断程序运行不了

    前两天谢了一个中断程序,检查,编译什么的都没有问题。可是下到单片机后操作没反应。哪位能帮忙看看什么问题。键盘通过PA0口控制PE7口LED灯闪烁。键盘接有上拉电阻,按下开关时PA0口为高电平
    发表于 07-27 11:00

    单片机必备技能——中断

    单片机程序运行出错,前面中断各自独立的控制 位就排上用场,将这些控制位关掉,相应中断就不会被触发。
    发表于 10-18 08:00

    单片机程序是如何运行的?

    我们在之前的四期中对利用单片机的功能进行程序设计进行了说明。单片机内置了非常便于使用的外设功能,大家一定也能感受到单片机可应对各种要求的能力。但是,如果要有效地
    发表于 02-24 07:53

    单片机中断的作用是什么?单片机中断处理过程是怎样运行的?

    单片机中断的作用是什么?单片机中断处理过程是怎样运行的?中断优先级是什么意思?
    发表于 07-08 06:21

    proteus单片机中断程序

    proteus单片机中断程序利用单片机的P0口做输出接8只发光二极管,P3.2引脚接独立按键产生外部中断信号。编写
    发表于 02-28 07:45

    单片机外部中断程序下载

    单片机外部中断程序和电路图,通过按键控制计数和清零操作
    发表于 05-21 10:57 0次下载
    <b class='flag-5'>单片机</b>外部<b class='flag-5'>中断</b><b class='flag-5'>程序</b>下载

    51单片机有几个中断单片机中断号对应的中断类型说明

    51单片机通常有5个中断,当中断发生时,程序会跳到相应的中断服务程序去执行。为了区别不同的
    发表于 08-06 17:34 5次下载
    51<b class='flag-5'>单片机</b>有几个<b class='flag-5'>中断</b>?<b class='flag-5'>单片机</b>的<b class='flag-5'>中断</b>号对应的<b class='flag-5'>中断</b>类型说明

    单片机的主程序中断程序是怎么样运行

    的一个过程,发生中断时,就会打断正在执行的主程序,先处理完中断任务,返回主程序继续运行,当然在执行中断
    的头像 发表于 01-04 10:11 1.3w次阅读
    <b class='flag-5'>单片机</b>的主<b class='flag-5'>程序</b>和<b class='flag-5'>中断</b><b class='flag-5'>程序</b>是怎么样<b class='flag-5'>运行</b>的

    51单片机——外部中断

    一、外部中断1.1 中断关于中断的概念在上一篇博客中已经提到了。(传送门:51单片机入门教程(5)——定时器中断
    发表于 11-11 17:51 0次下载
    51<b class='flag-5'>单片机</b>——外部<b class='flag-5'>中断</b>

    51单片机——外部中断

    一、外部中断1.1 中断关于中断的概念在上一篇博客中已经提到了。(传送门:51单片机入门教程(5)——定时器中断
    发表于 11-11 18:06 43次下载
    51<b class='flag-5'>单片机</b>——外部<b class='flag-5'>中断</b>

    单片机课设-中断程序

    proteus单片机中断程序利用单片机的P0口做输出接8只发光二极管,P3.2引脚接独立按键产生外部中断信号。编写
    发表于 01-13 15:02 2次下载
    <b class='flag-5'>单片机</b>课设-<b class='flag-5'>中断</b><b class='flag-5'>程序</b>

    单片机里的程序是如何运行

    我们想要理解单片机是如何运行程序的,我们首先需要了解单片机的组成,我们这里以80C51单片机为例来理解程序
    的头像 发表于 02-17 10:47 3168次阅读
    <b class='flag-5'>单片机</b>里的<b class='flag-5'>程序</b>是如何<b class='flag-5'>运行</b>?

    51单片机中断程序示例

    51单片机中断程序示例
    发表于 05-17 18:03 0次下载

    单片机中断系统详解

    单片机中断是指在单片机执行程序的过程中,当外部设备或内部条件发生某个特定事件时,能够暂停当前正在执行的程序,转而去执行一个特定的服务
    的头像 发表于 12-05 09:09 908次阅读