为什么在主函中有延时情况下使用中断后就不能回到主函

2019-07-18 12:34发布

本帖最后由 南山孤樵 于 2014-11-19 17:29 编辑

我是一个初学者对protesu不是很了解,在编写有关中断的程序时发现要是主函数中有延时在使用中断后就不能回到主函数了,而要是主函数中没有延时使用中断后就能够回到主函数这是怎么回事啊  求大神指导。程序如下:
#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
void delay (t)
{
        while (t--)
        {
                uint i;
                {
                        for (i=0;i<=250;i++);
                }
        }
}
void main ()
{
        P2=0xfe;
        EA=1;
        EX1=1;
        IT1=1;
        /*ET0=1;
        ET1=1;*/
        while (1)
        {        
                delay (100);
                P2=_crol_(P2,1);
        }
}
void int1() interrupt 0
{
        EX0=0;
        P2=0x0f;
        delay (100);
        P2=0xf0;
        delay (100);
        EX0=1;
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
南山孤樵
2019-07-19 02:51
武力戡乱 发表于 2014-11-18 09:23
不排除重载问题!这个是一大忌。晚上吧我找时间 看看。并且希望把你工程文件上传。 ...

谢谢你花时间来帮助我,其实我的程序就这么一点,我是一个正在自学的初学者,我发这篇帖子的目的就是想请你们帮我分析一下为什么在中函数中编入延时语句后在使用中断以后就不能回到主函数了?

一周热门 更多>