Fusebits auf externen Quarz eingestellt? Ich mache das so:
Code:
#define F_CPU 3686400ul
#define COUNT F_CPU/(8ul*256ul)
#define DIVIDER 0x2
...
int takt = COUNT;
int sec = 0;
...
SIGNAL (SIG_OVERFLOW0)
{
   takt--;
   if(takt == 0)	
   {
      takt=COUNT;
      sec++;
      ...
   }
}
...
void main()
{
... // Interrupt und Timer einstellen
   TCCR0 |= DIVIDER; // Timer aktivieren
...
}
Das funktioniert mit einem 3,6864MHz Quarz perfekt. Bei einem 10MHz Quarz wirst du den Timer nicht ganz genau einstellen können, da COUNTER nicht ganzzahlig wird und somit gerundet werden muss.