若是一直让程序在外部中断0中,大家也许会想到用低电平触发方式,但也只是想罢了,是不可能实现的。因为当单片机检查到中断标志位置位后,就会进入中断函数,但中断函数语句执行完后,便会退出中断,并清除中断标志位,回到原来的地方继续执行。
我们也许会想,如果中断标志位一直置位,那么程序退出中断后,便会再进入中断,这个也不对。CPU在每个机器周期的S5P2时刻采样中断标志,而在下一个机器周期对采样的中断进行查询。
也就是说,(假设都是单周期指令)执行第一条指令的时候,在S5P2时刻检测到标志位置位,那么在执行第二条指令的时候的S5P2时刻,才会进入中断函数。
总的来说,就是不会一直在中断里,就算是低电平触发,这次中断完成后,也要至少再执行一条才会进入中断,也就是你的问题,在这个很短的时间内单片机又可以执行其他语句。
一个类似的问题,你可以看看
http://zhidao.baidu.com/question/475259582?&oldq=1