zu der frage der interrupts , hatte ich vorhin nicht erklärt :

sub procedure Timer_Interrupt0 org $0012
PORTD = not PORTD ' toggle PORTD
end sub

main:
TIMSK = 1 ' enable interrupt on overflow
TCCR0 = $05 ' start timer with 1024 prescaler
SREG.7= 1 ' enable global interrupt

DDRD = $FF ' portd output
PORTD = $00 ' clear portd
end.


die orgnummer entscheidet den interrupt.
das gleiche macht winavr_c oder bascom, nur verschleiert mit namen.
hier kann man den namen frei vergeben.

an den daten sieht man, das man sich hier auch mit dem datenblatt schlaumachen muss, wie bei winavr_c.

Castle

ps: Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 256

ich zweifle daran, dass sich ein bascomer hier rangemacht hat, um zu erkunden, was sich hinter dieser schlange verbirgt.
darum wird er nie den AVR verstehen. sondern immer wieder fragen:
warum läuft der motor mit vollgas nach vorn, warum bewegt er sich nur, warum ruckelt er so, ich habe 255 und er dreht immer noch nicht so hoch usw...