单片机 外中断问题

#include<reg52.h>
#include<intrins.h>

void main()
{
EA=1;//-------------1
EX0=1;//-----------2
IT0=1;//------------3

while(1);//-----------4

}

void int0(void) interrupt 1
{
P0=_crol_(P0,1);//--------5
}
新手,上图是我自己编的外中断控制led流水灯,有几点不明白,请高人指点。
1.图中while无限循环的是哪几步?(后面我都标号码了)
2.外中断申请后,是再那一步开始插入运行的啊?
3.void能不能形象点给解释一下,还不是很懂的说,

第1个回答  2012-04-05
1. 第4步
2. 第4步,既然是死循环,程序在第4步始终执行跳转到本行的指令,中断申请后,CPU中断当前执行的跳转本行指令,去执行中断,完了之后再返回中断前的死循环
3. void修饰的函数无需要返回值,仅仅是告诉C编译器而已,非void修饰的函数都要返回,即“return xxx”,否则编译时会有警告;函数参数中的void表示无参数。
第2个回答  2012-04-05
1、那个while循环是主程序一直停留在那个地方无限循环,此时如果有外部中断促发,进入中断程序,执行完之后,再回到主程序while处继续无限循环
2、void表示该函数无返回值。
相似回答