AT89C51用C语言怎样跳出中断

来源:百度知道 编辑:UC知道 时间:2024/06/27 19:01:29
我写了一个C的程序,用到中断
但是中断执行之后是无法跳出继续执行下面操作的,不知道为什么。
那位大侠能帮小弟解决一下?

中断部分如下:

void int1() interrupt 2 using 1
{
while(TF0)
{
P14=~P14;
while(P33) {P14=0;}
}

照这一小段程序来看,你最后少了一个大括号,也许只是复制过来的时候漏了。

只是如果中断无法跳出,这个,如果你的TF0 或P33这两个值为真的话,你的中断还真的无法跳出了。
如果你是想判断如果TF0=1时P14取反,那么语句可以换成if(TF0==1){P14=~P14;}

因为while循环是这样的:首先判断表达式的值是否为真,如果为真则执行循环体,然后继续判断表达式的值。。。。。所以,如果TF0或P33等于1 那么会一直执行下去,无法跳出。

没有大括号,可以编译通过的啊?