单片机中中断服务函数中加入延时子函数,最后为什么要软件清零中断标志位IE

为什么单片机程序中,外部中断0服务函数中加入延时函数为什么要软件清0;
void int0()interrupt

intflag 0=!intflag0;
led9=intflag0;
delay(20)
IE0=0;

最后为什么要清零IE

单片机产生外部中断后IE0置1,清除IE0是允许中断再进入,较新的单片机已实现自动清0