问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

51单片机中断处理程序中关中断的问题

发布网友 发布时间:2022-04-22 17:23

我来回答

1个回答

热心网友 时间:2023-11-02 19:50

中断保护现场,是为了你中断子程序执行完以后能够返回到你程序中中断点,即产生中断的地方,使程序能够继续向下执行!!!!
如过你说的不用保护现场的话,那么程序执行完以后就不能够回到现场,那么你的程序将不知道要跳转到那里去了,也就是飞鸟,呵呵……
你说的中断嵌套,也是一样的,两者都要保护现场,不然你也不能够回到现场,程序也会飞的!!!!
而我们保护现场的数据都是放在堆栈中的,因此,你的中断次数也不能够超过堆栈的级数,那样数据也会丢失!!!!
说白了,中断它不同于子程序,子程序是固定好了的,返回的位置也固定了;而中断我们不能够预知它在那里发生中断,因此要保护现场,使中断子程序执行完后返回到中断的地方!!!
呵呵……说的太多了!!!
我知道你说的意思了,但是你要知道,中断现场保护是在中断子程序中进行的,因此当你高一级的中断发生的时候(他们不可能共用一个中断子程序,如果是同一中断,那也不可能,因为51中断中你进入中断子程序后要将禁止该中断再次中断,好象似的,嘿嘿……你可以试试),在高一级的中断子程序中也有现场保护,你的问题就是没有把现场保护放对地方!!!!!
============================================================
它们是把现场保护在同一堆栈中,我跟你打个比方吧,假如说堆栈的地址是80H,低一级的中断要保护的是1,2,3;高一级要保护的现场是4,5,6,那么在低一级的中断发生的时候,现场保护1,2,3将压如堆栈,(顺序书上应该有,这里是个比喻),那我先压入1,堆栈地址加1,压入2,堆栈地址再加1,如果这个时候高一级的中断发生,那么现在就应该跳到高一级中断的子程序,堆栈地址就是82H了,在将4,5,6分别压入堆栈,这样堆栈的地址就是85H,当高一级的中断子程序结束后,返回现场,堆栈的数据要从85H开始弹出,这样现场返回的就是6,5,4,这个时候程序就会跳到中断之前的地方,即底一级的中断那里,将要继续将3保护到堆栈中,在执行低一级的中断子程序.(其中,你要在中断保护现场完了后将中断标志清0啊,不然它始终会中断的,不可能去执行程序去了...)
这样讲解你应该知道它们的过程了吧,呵呵!!!!!!
51单片机关于中断优先级和中断优先权是如何规定的?

在51单片机中,中断是指由内外部事件引起的一种程序执行流程的改变,它允许CPU暂停当前正在执行的程序,转而去处理更为紧急的事件。为了有效地管理这些中断,51单片机提供了一套完善的中断优先级和中断优先权管理机制。首先,中断优先级是指在一个系统中,当多个中断同时发生时,CPU优先响应哪个中断的级别设...

51单片机中断处理程序中关中断的问题

你可以试试),在高一级的中断子程序中也有现场保护,你的问题就是没有把现场保护放对地方!!!=== 它们是把现场保护在同一堆栈中,我跟你打个比方吧,假如说堆栈的地址是80H,低一级的中断要保护的是1,2,3;高一级要保护的现场是4,5,6,那么在低一级的中断发生的时候,现场保护1,2,3将压如堆...

51单片机中断的触发方式问题

有两种触发方式:低电平触发和下降沿触发。低电平触发:当检测到外部引脚为低电平触发中断的为低电平触发。下降沿触发:当检测到外部引脚由高电平变以低电平的瞬间时触发中断的为下降沿触发。注意:选择低电平触发中断后,要撤去低电平信号,否则单片机不断检测引脚为低电平就会不断发生中断。而下降沿则不...

51单片机中可以中断嵌套么?如果可以是如何规定的?

51单片机中可以实现中断嵌套。在51单片机中,中断嵌套是指在一个中断服务程序正在执行时,如果有另一个优先级更高的中断发生,系统会暂停当前中断的处理,转而响应更高优先级的中断,待其处理完后再返回继续处理之前的中断。这种机制使得单片机能够灵活应对多种中断事件,确保重要任务得到及时响应。51单片机支...

请问51单片机能不能暂停中断程序并跳转至其它程序中、执行完后跳回中断...

这个是可以做到的。实事上,嵌入式的操作系统的时间片轮转,就是用定时中断,进入定时中断判断并切换上下文,切换到别的任务,执行一段时间再返回原来的流程继续执行。但请注意,正常设计程序时,不要这么做。如果遇到程序中需要用到这种流程控制,有两个办法,重新设计流程,使用嵌入式操作系统。

51单片机中用中断程序关闭别的中断

其实还有更简单的办法:进入死循环那个中断这后立即将SP保存到一个内存变量中,定时器中断中判断发生了死循环,就将那个变量的值再恢复给SP,然后执行reti。当然该方法要求中断服务程序是不可重入的,这对单片机来说一般不是问题。最后,再一次提醒你,死循环是不对的,应该从这方面多想想解决办法。上面的...

在用51编程时,可不可以在中断函数里关掉当前中断并且打开或关上定时器...

1、在中断服务程序里,关闭中断允许标志当然可以(只是这个中断暂时被关闭了,如果在其他程序中没有开启中断,则这个中断服务程序不会再被执行),同样也可以启停定时器。看了你的追问,我觉得你的要求完全可以实现,只是在编程的时候,要细致一些,把逻辑理清楚就可以了。我以前做过一个出租车计价器,里程数据也是从外部中断...

51单片机串口中断问题!急!大神求教

如果中断没有返回又再次进入同一中断也就是中断嵌套,那么就面临栈溢出的问题,程序就会飞掉了。另一方面,因为中断优先级同级的时候是先来先中断,后来要等待前一个中断结束后才能响应中断,所以也避免了嵌套问题的发生。再说要达成你的愿望,只能在你漫长的中断服务程序里,不断的检测RI的值,如果为1,...

关于单片机外部中断的疑问(51)

第一,我的外部中断0设定为跳变沿触发,如果来了一次下降沿,在处理中断函数的过程中,又来了一次下降沿,这时怎么办?--处理函数,不宜过长,中断频率,不宜过高。--尽量避免这种现象出现。是同样一个中断。这个问题源于一个关于红外遥控的程序,他的意思就是用一次中断来收集共33位数据,可是33...

MCS-51单片机什么是开中断,什么是关中断

开中断就是当有中断信号产生时,单片机会进入中程序 如P3^2口 有低电平信号或下降沿信号(由TCON寄存器控制),单片机会暂时放下当前工作,去执行中断程序中的程序,当中断程序中的工作结束后,再返回主程序继续做。关中断的话,就是关闭中断,让P2^3口接收到低电平信号或下降沿信号(由TCON寄存器控制...

51单片机中断程序 51单片机外部中断程序 51单片机中断程序编写 单片机处理中断的四个步骤 51单片机按键中断程序 51单片机中断初始化程序 51单片机外部中断程序实例 单片机中断程序流程图 单片机中断程序详解
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
g7346次列车途经站点,鹤壁北站旅游路线 这就是江湖昆仑天池在哪里-这就是江湖昆仑天池位置 这就是江湖天池钓鱼怎么弄-天池钓鱼玩法技巧分享 最好的姐妹不再信任自已了,还需要挽留吗? 孩子现在读四年级下册,英语零基础26个字母都不认识,一个半月能补上吗... 车子半年不开有没有问题呀 车半年不开没事吧 两江新区两化融合贯标需要什么条件? 竹字头加生念什么 长汀县经济发展 美国的联想y700为什么不能下中国的游戏呢?主要是下载了qq飞车不能安装... scala maven sbt 哪个 在centos上面安装sparksql 什么叫中断处理 我怎么SBT使用本地的maven代理库 下雨时雨水是怎样掉落下来的 什么是中断响应次序?什么是中断处理次序? hadoop三大核心组件 scalaelipse插件下载网址打不开 什么是中断处理程序? 哪里有Scala视频教程下载? eclipse4.4对应的scala版本插件是多少 绠怎么读 绠的拼音是什么 eclipse中的scala插件怎么安装 中断处理是什么 scala ide for eclipse 安装文件下载 简述中断的处理过程 404 Not Found 什么求组词 什么求组词 谁有斯卡拉MP3免费下载地址.完整DJ? scala怎样部署到idea中 中断服务程序与普通子程序有哪些相同和不同之处??? 为什么我安装不了我的世界1.7.10 forge 现代途胜手动挡怎么样 2012款手动途胜怎么样? Popsub字幕编辑软件,另存为的时候,选SRT,文件内容里,预览是空。请问是怎么回事,试了好几遍都无法保存 21款途胜乚手动模式如何使用 ug软件,做的物体保存第一遍了,第二遍忘记保存了,为啥没有那个图了 老款途胜2.0的油耗多少 格式化如何保存内存 途胜手动挡没有了? 360网盘篡改照片名产生的异名文件如何清除?存了两遍,名称不同大小一样原来前缀P_,V_被改成PIC_存了 悯农古诗词其二 保存在电脑盘里的照片好多重复了,怎么把重复的删掉,求高手 2021现代途胜有手动挡吗? UC浏览器里保存的图片存在手机哪里? 二手车2013款现代途胜2.0手动挡值多少钱? 翻译的英文怎么写? 2014年现代途胜手动档11万公里值多少钱? Vector怎样排序,存的是JAVABEAN对象,有办法者追加分.