Startknopf

Ich hab das jetzt mal folgendermaßen umgesetzt:

if ( bouncer.update() ) {
     if ( bouncer.read() == HIGH) {
       if ( buttonState == LOW ) {
         uint8_t i;
  for (i = 0; i < 4; i++) {
    digitalWrite(k[i], HIGH);
  }
    analogWrite(ledPin, 0);
    thresholdMillis = 0;
    nextMillis = 0;
    status = 0;
       } else {
         
    status = 20;
         buttonState = LOW;
       
      }
   }
}
programm1();
}  //(endklammer des loops)

Die probleme jetzt sind das das programm1 gleich bei stromanschluss startet.
Das programm1 funktioniert aber wenn ich es ausschalten will (also nochmal auf den knopf drücke) springt das programm1 nur auf status 0 zurück anstatt auf status 20 ( 20 entspricht 999 von jurs).

Was habe ich diesmal falsch gemacht?