Das hier
> ldi count, 3 ; CS00 setzen: Teiler 3 (Startwert von count)
> out TCCR0, count
macht aber nicht, was du denkst bzw. was du dir davon erhoffst.
Das ist kein Teiler 3.
Da werden die Bits 0 und 1 im TCCR0 gesetzt. Die Namen der Bits sind
CS01 und CS00. Das ist ein Vorteiler von 64.
Man kann natürlich den Vorteiler eines Timers im laufenden Betrieb
verändern. Ob du das willst, ist allerdings eine andere Sache. Denn: so
viele Vorteiler gibt es nicht und die sind dann auch noch recht grob
abgestuft. Es gibt die Vorteiler: 1, 8, 64, 256 und 1024. Das wars dann
schon, dann ist Ende der Fahnenstange. Mit jeder Stufe wird dein Blinken
also 8 mal langsamer. Die Sonderfälle 0 und externer Takt mal aussen vor
gelassen.
Guter Rat:
Studier das AVR-Tutorial. Da scheint mir mit deinem Verständnis von
Timern einiges im argen zu liegen.
Tasten am externen Interrupt: kann man machen, muss man nicht machen.
Wenn man es aber macht, dann muss man den Interrupt auch freigeben.
Und ja, man kann das im Simulator auch simulieren. Nur weil ein externer
Interrupt an einem Pin freigegeben wurde, bedeutet das nicht, dass der
Simulator das Setzen bzw. Rücksetzen eines Pins im I/O View verhindern
würde. Klickst du dort mit der Maus den zugehörigen Pin an und setze den
Pin auf 1 oder 0, dann wird selbstverständlich der zugehörige Interrupt
im Simulator je nach Konfiguration des Interrupts auch ausgelöst und die
Simulation verzweigt in den Interrupt Vektor. Ein dort platzierter
Haltepunkt spricht dann an.