89c51单片机中的中断函数什么时候开始执行

如题所述

中断的执行:当CPU正在执行某一程序时,若有中断响应,则CPU转而执行中断服务程序,当中断服务程序执行完毕后,CPU自动返回原来的程序继续执行。

中断:当计算机执行正常程序时,系统中出现某些急需处理的异常情况和特殊请求。

中断服务程序的语句写法与函数的写法完全相同,所以,中断服务程序也是函数,只在函数头部有不同(后续)。
中断服务程序的执行与函数的执行不同:函数的执行是有固定位置的,是通过函数的调用来完成的;而中断服务程序的执行是不固定位置的,只要有中断响应,在一定条件下都会去响应中断,即执行中断服务程序。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-05-07
中断必须使能,其次是中断条件达到,最后是没有比他优先级高的中断也出现,51只有5个中断,定时器中断是定时器溢出时执行,外部中断是外部中断I/O口有信号输入,串口中断是数据读入结束时发出。。。。
中断不使能,中断标志也会置位,MCU可以通过查标志,主动去执行,但是不会被强制执行,如果中断使能,MCU是自动跳转执行的,不能拒绝。。。。
第2个回答  2013-05-07
中断条件满足时执行。

前提:总中断已打开,相应中断也允许。

使用中断前都必须设置工作参数。追问

什么时候中断条件满足啊

追答

举例:
外部中断:

只有在外部中断管脚上出现低电平或下降沿电平时 ,满足中断触发条件。

追问

如果是定时器0中断的话,如果设定的定时时间为50ms,那么程序是怎么执行的呢?

追答

设置好参数后,定时器开始计数,当计数达到65536时溢出,同时产生中断。

如果中断已经使能并开,程序会自动跳转到中断服务程序里面执行,执行完中断服务程序返回主程序被中断的地方继续往下执行。

本回答被提问者采纳
第3个回答  2013-05-07
定时器的中断溢出时启动,如
TMOD=0X01;
TH0 = 高8位;
TL0 = 低8位;
EA = 1;
ET0 = 1;
TR0 = 1;
TF0 = 0;
当TF0=1的时候中断启动
第4个回答  2013-05-07
有外部中断信号,或者内部中断响应时
相似回答