Timer1 stört andere voids

Hi ich hoffe ihr könnt mir einen Rat geben ich bin gerade dabei einen Wecker mit arduino zu bauen dazu benutze ich ein Display zur Zeit ausgabe für die Zeit habe ich den internen Timer1 auf 1 hz gesetzt also jede ~0,98.. Sekunde. So weit so gut wenn ich nur die Uhr laufen habe funktioniert es auch wunderbar jedoch sobald wenn ich einen Befehl auserhalb der interruption void ausführen will oder es kommt ein input signal herein , klappt es nicht oder der timer resetet. Woran könnte das liegen wie kann ich das umgehen im Inet habe ich auch einen Code mit exterenen Befehlen und voids geunden habe aber nichtt den Unterschied gefunden. Danke für die HIlfe. P:S Beitze Arduino MEGA.

der setup:

cli();//stop interrupts

//set timer1 interrupt at 1Hz
  TCCR1A = 0;// set entire TCCR1A register to 0
  TCCR1B = 0;// same for TCCR1B
  TCNT1  = 0;//initialize counter value to 0
  // set compare match register for 1hz increments
  OCR1A = 15624;// = (16*10^6) / (1*1024) - 1 (must be <65536)
  // turn on CTC mode
  TCCR1B |= (1 << WGM12);
  // Set CS10 and CS12 bits for 1024 prescaler
  TCCR1B |= (1 << CS12) | (1 << CS10);  
  // enable timer compare interrupt
  TIMSK1 |= (1 << OCIE1A);

   
sei();//allow interrupts

wenn fragen sind einach stellen bin für jede Hilfe/Anreiz dankbar

Ich habe ide lösung entdeckt nach meinen überlebungen war es nämlich je grösser der Interval des do mehr Zeit für den Rest der loop doch es ist genau anders herum ich habe jetzt die frequenz um 1000 erhöht und nun läuft es:

An die Admins soll ich die Frage nun löschen??

Nein, nicht löschen. Könnte jemanden mal hilfreich sein.
Danke Grüße Uwe