Hallo,

kannst du mir dafür ein Beispiel geben.
Mein Verständnisproblem liegt momentan darin, dass ich nur einen Eingang (Potentiometer) habe, welcher Werte zwischen 0 und 255 annehmen kann. Wenn ich jetzt 3 verschiedene PWMs habe müssen diese wie im Diagram dargestellt geregelt werden.
Für mich heist das, dass sich 6 verschiedene Kombinationen ergeben (240 / 40 = 6), eigentlich sind es 8, aber alle LEDs an und alle LEDs aus will ich jetzt mal weglassen.
Ich habe also für jede Kombination 40 Schritte (vom Potentiometer) mit denen ich das PWM-Signal von 0 - 240 in 6er-Schritten regeln muss.

Ich hatte mir da folgenden Code gedacht:
Code:
$regfile = "m8def.dat"
$crystal = 3686400

On Timer0 Ontimer0
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

Ddrc = &B00000000
Admux = &B01100000
Adcsr = &B11101111

Sreg.7 = 1

Config Pinb.1 = Output
Config Pinb.2 = Output

Tccr0 = &B00000010
Timsk.toie0 = 1

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1
Config Timer2 = Pwm , Compare = Clear , Prescale = 1

Do
 Compare1a = Led1
 Compare1b = Led2
 Ocr2 = Led3
Loop

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

Ontimer0:
  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 = 0
  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
  End If
  End If
  End If
  End If
  End If
  End If
Return

End
Leider funktioniert das so nicht, die LEDs gehen so mehr oder minder schlagartig an und aus, wenn ich am Poti drehe.

Also für weitere Hilfe bin ich sehr dankbar.

Grüße
Enrico