Wenn man mal davon ausgeht, das UART bei dir sonst geht, INT eingeschaltet ist usw... (schau dir mal das Programm rnAvr an. damit kannst du die Timervorgeben und Teiler einfach berechnen lassen), fallen mir 2 Sachen auf:

1. 500Hz bedeutet jede 2mS wird die ISR aufgerufen. In der Zeit müssen die anderen Programmschritte abgelaufen sein können (ist möglich, je nach Programm).
2. Jede Sekunde sollen 2 ISR aufgerufen werden. Einmal die für 1Hz und die für 500Hz.

ausgabe der werte auf einem 7-segment (nacheinander)

Mit 500Hz??? 15Hz etwa reichen schon, um deinen Augen ein laufendes Bild vorzutäuschen, ohne das man viele Einzelbilder nacheinander sieht.
Wenn das Programm so laufen sollte und die Werte sich immer ändern, wirst du alle 7 Segmente immer dauerhaft leuchten sehen bei 500Hz!

Aber wenn es wirklich so seien soll, würde ich nur ein Timer für 500Hz nehmen und einZähler jedesmal inder ISR auf 500 hochzählen lassen.
Wenn 500 erreicht ist, GOSUB FUNKTION1HZ und du hast ein Timer gespart