Hallo,
TCCR1B |= (1<<CS00)|(1<<CS01);
schreibe besser TCCR1B |= (1<<CS10)|(1<<CS11);
nun zählt der Timer ja von 0 bis 64 und fängt wieder bei 0 an
Nein, er zählt bis zum Overflow! Die 64 beziehen sich nur auf die Zählfrequenz; und die hast Du auf F_CPU/64 gestellt. Wenn Du möchtest, dass nur bis 64 gezählt wird, müsstest Du den CTC Modus verwenden - siehe Datenblatt.

MfG

Fred