怎么能让这段程序执行一次后不再循环呢

2020-01-27 11:50发布

bit K1=P1^0;
sbit K2=P1^1;
//sbit K3=P1^2;
//sbit K4=P1^5;
//sbit K5=P1^6;

sbit OUT1=P3^4;
sbit OUT2=P3^3;
sbit OUT3=P3^1;
sbit OUT4=P3^0;
unsigned char n,b,a,i;

void main()
{
    TMOD=0X01;
    TH0=(65535-50000)/256;
    TL0=(65535-50000)%256;
    EA=1;
    ET0=1;
    TR0=1;
    while(K1==0);
        {
        n=1;
        n++;
        }
        }
void Timer0(void) interrupt 1 using 1 //定时器0中断处理
{
    TH0=(65535-50000)/256;
    TL0=(65535-50000)%256;
    n++;
        if(n>=20)
        {
        OUT1=0;OUT3=0;OUT2=1;
        }       
        if(n>=100)
        {
        OUT1=1;
        }
        if(n>=150)
        {
        OUT2=0;
        }       
        if(n>=200)
        {
        OUT2=1;OUT3=1;
        }

                                  //OUT3  总电源
        }
K1为外接启动信号,还有打算用K2作为备用中断信号接口,K2==0的时候也可以让out3=0,输出是低电平触发,
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。