在EX0置1前在外部的P3^2口有脉冲,
这是为什么呢,
----
这是正常现象。
楼主认为,应该在什么时候进入中断?
在打开EA的前一条指令,应该是:
IE0 = 0; //消除以前的中断申请
过程是这样的: 程序一直在while(1)里面,直到定时器计满产生中断; 产生中断后,执行中断服务程序 (中断中大部分是有重新对定时器赋值的命令的 ) 中断程序完成后 回到while(1),等待下一次中断,定时器继续计数; 定时器产生中断
只要开启中断,并启动定时器,时间到就自动进入中断程序(不管主程序在干什么),如果定时器中断间隔50ms可定义一个全局变量a,每次中断这个变量加1,100次就是5S,主程序中只管等待,判断a的值是否是100,是100说明5秒到了,可以进行相应的动作,当然这些东西也可以在中断程序中进行(主程序仍然可以进行其他工作),如5秒LED变换一次,中断程序如下:
void timer0() interrupt 1
{
TH0=⋯
TL0=⋯
a++;
if(a==100)
{
a=0;
LED=~LED;
}
}
以上就是关于单片机中断打开后,直接进入中断全部的内容,包括:单片机中断打开后,直接进入中断、while语句内前几行程序还未运行完毕就直接进入中断怎么解决、多次中断是如何实现的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)