Eine Möglickeit wäre aber, extern eine Zeitschaltuhr zu betreiben, die um Mitternacht einen Impuls für ca. 2 sec. auf einen Eingang gibt. Mit diesem Eingang löst du eine Interruptroutine aus, die dir den aktuellen Teilezählerstand in eine neue Variable schreibt (damit am nächsten Tag der Wert noch vorhanden ist) und die Zählervariable auf "Null" zurücksetzt.
Nachteil der ganzen Sache:
Du musst das Interrupt in allen Programmen die aktiv sein könnten aktivieren!

nicht unbedingt, du kannst auch bei der Initialisierung einen Paralleljob als Programmschleife starten, in dem du dann einzig und allein darauf wartest bis die Schaltuhr den Impuls rausgibt und dann den/die Zähler nullen, oder sonst was damit anstellen.
CU ASIMO