Liegt das vielleicht daran, dass der Controller noch nichts von dem externen Oszilator weiss und der Bascom-Compiler auch keine Ahnung mit welcher Geschwindigkeit mein Controller getaktet wird.
Daran wirds vermutlich liegen. Du müsstest die Fusebytes des ATmega16 richtig programmieren, oder einfach davon ausgehen, das er mit 1 Mhz läuft.
per $crystal = 1000000 kannst du dem Compiler sagen mit welcher Taktfrequenz der µC läuft.
Hier findet sich auch noch was zu den Fusebytes:
http://www.elektronik-projekt.de/inc...p&contentid=29

Irgendwie habe ich Probleme mit dem "Wait" Befehl.
Wenn ich z.B. "Wait 1" benutze und ds Programm in Bascom im Simulator laufen lasse, bleibt die Simulation beim Wait komplett stehen.
Ich vermute, dass der Simulator gar nicht stehen bleibt, sondern das nur sehr lange dauert bis er damit fertig ist.
Bei 1 Mhz Taktfrequenz muss er als erstmal 1 000 000 Befehle des AVRs simulieren. Und das dauert halt...
Deshalb sollte man immer die Warteschleifen bei Simulieren rausnehmen, oder viel besser gar keine benutzten und das ganze über Timerinterrups laufen lassen.

MfG Kjion