Habs jetzt ein bisschengeändert.
Code:
'--------Drehlicht-----V1.07---------------
 ' 8MHz RC Intern

$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 200
$swstack = 200
$framesize = 200


'---Config Port's -----------------
Config Portb = Output
Portb = 255

Config Portd = Input
Portd = 255

'---config Int0------
Config Int0 = Falling
Enable Int0
On Int0 Kontakt

'--- Config Timer1 ----
Config Timer1 = Timer , Prescale = 1024
Enable Timer1

'--- Config Timer0 ------
Config Timer0 = Timer , Prescale = 8
Enable Timer0
On Timer0 Spalten


Enable Interrupts
Load Timer0 , 255


Dim Drehzeit As Word
Dim Spaltenzeit As Byte
Dim Auftrag As Word

Auftrag = 0

 '--------------------Hauptprogramm--------------------------

Do

Loop

End




'==============================Unterprogramme===================================
'--------------ISR von Int0--------------------
Kontakt:
Drehzeit = Timer1
Timer1 = 0
Spaltenzeit = Drehzeit / 2

Auftrag = 0
Return


'------------ISR von Timer0 --------------------
Spalten:
Load Timer0 , Spaltenzeit

If Auftrag < 100 Then
   Toggle Portb
   Incr Auftrag
 End If

Return
Der Simulator wollte kein Byte bei der Variabel : Spaltenzeit.
Bei AVR macht das aber nix aus. (Darum wieder auf Byte geändert)

Haltet jetzt so ungefähr die Lage. Aber nicht schön
Wenn man den Motor in der Drehzahl verändert, merkt man genau wo er auf oder Abrundet .....

Ein zweiter 16bit Timer wäre da wohl viel genauer