Fehler gefunden:
Code:
$regfile = "m8def.dat"
$crystal = 3686400
'$baud = 9600
Ddrd = &B11100000
Admux = &B01100000
Adcsr = &B11101111
Config Timer0 = Timer , Prescale = 8
On Timer0 Timer_irq
Enable Timer0
Enable Interrupts
Dim I As Byte
Dim Led1 As Byte
Dim Led2 As Byte
Dim Led3 As Byte
Dim D1 As Byte
Dim D2 As Byte
Dim D3 As Byte
Dim D4 As Byte
Dim D5 As Byte
Dim D6 As Byte
Dim D2_1 As Byte
Dim D4_1 As Byte
Dim D6_1 As Byte
Do
D1 = Adch
D2_1 = Adch - 40
D2 = Not D2_1
D3 = Adch - 80
D4_1 = Adch - 120
D4 = Not D4_1
D5 = Adch - 160
D6_1 = Adch - 200
D6 = Not D6_1
If Adch <= 40 Then
Led1 = 240
Led2 = D1 * 6
Led3 = 0
Else
If Adch <= 80 Then
Led1 = D2 * 6
Led2 = 240
Led3 = 0
Else
If Adch <= 120 Then
Led1 = 0
Led2 = 240
Led3 = D3 * 6
Else
If Adch <= 160 Then
Led1 = 0
Led2 = D4 * 6
Led3 = 240
Else
If Adch <= 200 Then
Led1 = D5 * 6
Led2 = 0
Led3 = 240
Else
If Adch <= 240 Then
Led1 = 240
Led2 = 0
Led3 = D6 * 6
Else
If Adch > 240 Then
Led1 = 240
Led2 = 0
Led3 = 0
End If
End If
End If
End If
End If
End If
End If
Loop
Timer_irq:
Timer0 = 246
I = I + 1
If I = 240 Then
I = 0
End If
If I >= Led1 Then Portd.5 = 0
If I < Led1 Then Portd.5 = 1
If I >= Led2 Then Portd.6 = 0
If I < Led2 Then Portd.6 = 1
If I >= Led3 Then Portd.7 = 0
If I < Led3 Then Portd.7 = 1
'Udr = Adch
Return
End
Es waren wirklich die Differenz von 15 zwischen 240 und 255.
Grüße und danke nochmal an alle
Enrico
Lesezeichen