51单片机中,中断程序结束后,需要多长时间才能再进入中断

51单片机中,中断程序结束后,需要多长时间才能再进入中断,这个时间是由什么决定的?

#include<reg52.h>
#include<intrins.h>
typedef unsigned char unin8;
typedef unsigned int unin16;
unin8 led;
void main()
{unin8 a=0xfe;
P0=a; //先让把第一个灯点亮
TMOD=0x01;//选用定时器0
TH0=(65536-50000)/256; //初始化,50ms
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
while(1)
{
if(led==20)
{
led=0;
a=_crol_(a,1); //左位移函数,做流水灯
P0=a;
}
}

}
void TO_caoni()interrupt 1 //中断函数
{

TH0=(65536-50000)/256; //初始化
TL0=(65536-50000)%256;

led++;

}

请高手帮我解答下,从程序开如运行到第一次进入中断需要多长时间,进入中断后程序又是怎么运行的呢,中断结束后又要多长时间才能又进入中断程序呢,程序到底是怎么运行的呢,请详解下运行的整个过程的细节,谢谢!

不是有说明的吗,不动脑呀,TH0=(65536-50000)/256; //初始化,50ms

中断结束后至少一条指令,才能再次进入中断,如果高优先级的中断发生,不用结束中断,就能再次中断,就是中断被中断给中断了追问

能详细把我给的这个程序运行过程的细节说一遍吗,感觉还是云里务里的,谢谢!

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-11
程序结束后,若已有有效中断请求产生,则可马上进中断。
第2个回答  2012-09-11
TO_caoni() <--------- 50ms 进入中断一次

中断20次后, 换一个灯亮追问

能说得再清楚点吗,详细点!我想要运行过程细节谢谢!

第3个回答  2012-09-11
大概要一两个小时吧。
相似回答