#define F_CPU 1000000UL
das makro wird intern benutzt um zeiten die du in sekunden oder millisekunden angibst in takte, schleifen und timerwerte umzurechnen und muss immer exakt dem entsprechen was du in den fuses konfigurierst, sonst stimmt keine delay und auch kein timer (falls du irgendwelche libs verwendest)

richtig wäre

#define F_CPU 8000000UL

um den timer jetzt nur mit 1mhz takten zu lassen müsstest du den prescaler in dem passenden timer control register auf 8 setzen

das makro hat jedenfalls ncihts direkt mit irgendwelchen timern zu tun sondern dient einzig als grundlage zur umrechnung von zeit im bezug auf deine CPU clock