你这是不停的让程序在中断程序里面跑吧!
程序代码:
void int0(void) interrupt 0 using 0 { delay1ms(20); //这些延时的作用是什么?(在中断函数里加延时我觉得不是个好主意) if(k3==0) //k1、k2、k3是什么意义?三个电流表么?各表示哪块表?是如何被赋值的?还有0和1的含意 { delay1ms(1000); if(P1==0xff) { delay1ms(300); if(P1==0xff) { LED1=0; //两个LED灯么?共阴极的还是共阳极的,或者说0是亮还是灭?只是个人好奇,不影响程序逻辑的分析 JDQ=0; //说明一下0和1对应的继电器状态 delay1ms(3000); if(k1==1 & k2==1)//这是我不解的地方,按你的描述,这里该判断的是另一块表的状态,怎么看起来你在判断前两块表的状态? { LED=0; OKBeep(); LED=1; LED1=1; JDQ=1; } } } } }