Zitat Zitat von Saturas077 Beitrag anzeigen
Ich habe gehofft, dass wenn der Interrupt auslöst die Pins an Port B alle einen High-Pegel bekommen bis auf der Pin0. Sobald dann die Hauptschleife anläuft soll wieder nur Pin 0 leuchten.
Ich denke, daß das Programm zuerst die Hauptschleife erreicht, bevor der erste Interrupt auftritt - der Timer0 muß ja erstmal bis 255 hochlaufen nachdem er mit dem CS00 Bit gestartet wurde. (Könnte in einer Simulation schon einiges dauern)

Tritt dann der erste Interrupt auf, wird PB0 auf high (1) gelegt und r16 invertiert. Beim zweiten Interrupt wird dann PB0 auf low (0) gesetzt. usw.

Im Programmablauf sehe ich keinen Grund, warum der PB0 nicht toggeln sollte (wenn RETI am Ende der ISR steht) und das rjmp Interrupt auch auf dem OVF0 Interruptvektor steht - also die syntax auch vom übrigen Code paßt.

E: Was mir noch auffällt, das der Programm Counter bei der Adresse 13 bei main ankommt.
Im Speicher steht : 0x0000 dann kommt direkt 0x0013.

Kurz Offtopic, wieso stehen die Zahlen in 0x0013? Wäre das nicht 0x0D?
Der Programmcounter umfasst 2 Byte! - Könnte es das sein? Wie gesagt kann ich das leider nicht nachtesten.

Ich vermute eventuell einen Simulator Bug oder Einstellung wie zB:
http://www.mikrocontroller.net/topic/292982

Gruß
Searcher