Hi,
also zu 1. ich weise timer0 einen erechneten Wert zu um genau auf 1ms zu kommen. Das heißt jeder Interrupt ist 1ms. Dann springt das Programm alle ms in die ISR und weißt dem Register wieder diesen Wert zu und zählt meine Variable 1 hoch. Die Variable timer errechnet sich aus 256(weil der timer0 8-bit breit ist) - Quarztakt/Prescaler/1000 (wegen ms).

zu 2. ja richtig erkannt nach 100ms wird der Zustand des Ports gewechselt und meine Variable auf 0 zurückgesetzt, dadurch beginnt der Vorgang erneut.
hoffe es ist jetz klarer sonst frag einfach nochmal nach
mfg franz