4、单片机不启动,为什么

为了省电,在一段时间不工作后,单片机会接通所有外部设备的电源,然后单片机断电,直到被外部唤醒中断,然后再工作。我很想知道,你是怎么关掉所有电源的?单片机不工作的原因有很多。大致估计正常运行后应该是死机,停电后还能再运行。判断你的程序可能有问题。输入中断后,可以设置陷阱并调试。

5、为什么单片机定时越短, 中断次数增多啦,反而出现死机

你的感觉是中断次数太多,不容易死机。嗯,如果是正常运行程序,这个时候单片机的资源最少,也就是cpu的负担最轻,但是一旦有中断,每一个机器周期,这些中断标志都要检查。如果符号是有效的,那么应该存储当前地址。还需要检查是否有相同级别中断以及是否满足中断的条件并转到中断。大量工作由硬件自动完成,意味着cpu负担更重。如果你中断频率太高,内部硬件电路出现问题的概率就会增加,当然很快就会死掉。

6、51单片机写个 程序,好像在 中断里面出不来了,主 程序只运行了一部分,之后...

你在吗?以中断为主程序?中断时间不要太长,栈会溢出。中断比如,程序我给你一个碗装多余的水,结果你把整个水库的水都倒进碗里,这不就完了吗?其次,检查清除标志是否写成:XX0;(哈哈哈曹,我就是这么写的。程序我还没有报错。如果这是真的,那么问题就出在keyscan()函数上。打开中断后,在中断service sub程序中设置一个中断 times计数器,计数两次后清零中断 times计数器。

7、51单片机在外部 中断服务 程序中调用延迟 程序,出现死循环

首先我要告诉你,你的程序没有死循环,你的思维没有太多问题。我原封不动的试了你的代码,你的延时程序是正确的。它可以在一段时间后返回。1.你用什么频率的晶体振荡器?如果是11.0592MHz,就是2.6秒;如果是32.768KHz(注意K和M的区别),就是878秒。延迟多少次/周期与晶体振荡器的频率密切相关。2.你用实际电路测试过吗?

如果你按下按钮不松手,你的程序 中断会在返回后立即触发,看起来好像从来没有熄灭过。解决方案:中断在初始化部分增加SETBIT0(下降沿触发模式),这样中断只能响应一次。3.有没有用软件测试过?延时程序用软件测试很方便。方法(我使用KeilUv3):右键单击左边树中顶部的目标文件夹,然后选择“Optionsfor ...”。

8、...是我编的 程序中的一个 中断 程序,为什么进入 中断后出不来,一直在 中断...

检查你用了什么方法中断。如果外部触发持续,你就跳不出来,如果怀疑是程序问题,在DNZR0和Loop3上设置R0为1,只执行一次就应该出来了。如果还是不出来,那一定是外部触发问题,很可能在延迟中使用了R0,从而改变了R0的值。代码不完整,无法下结论,只能猜测。

 2/2   首页 上一页 1 2 下一页

文章TAG:中断  处理程序  程序  现场  保护  为什么进入中断后 程序死了  
下一篇