Code:
'#################################
'# Software Pulsweitenmodulation #
'#################################


$regfile = "M16def.dat"
$crystal = 1000000

Ddrd = &B00000001                                           'PD7, PD6,PD5 als Ausgänge festlegen, rest Eingang

Do


Enable Interrupts                                           'Interrupts Global einschalten

Enable Timer0
Config Timer0 = Timer , Prescale = 64
On Timer0 Ontimer0

Enable Timer1
Config Timer1 = Timer , Prescale = 1
On Timer1 Ontimer1

Dim Reverse As Bit
Dim Helligkeit As Byte

Helligkeit = 255


'###Deklarationen###


Led_ro Alias Portd.0                                        'LED Rot


Do

Loop

Ontimer0:

 Toggle Led_ro

 If Led_ro = 1 Then
  Timer0 = 255 - Helligkeit
 Else
  Timer0 = Helligkeit
 End If

Return



Ontimer1:

 If Helligkeit = 255 Then
  Set Reverse
 End If

 If Helligkeit = 1 Then
  Reset Reverse
 End If

 If Reverse = 0 Then
   Incr Helligkeit
 End If

 If Reverse = 1 Then
  Helligkeit = Helligkeit - 1
 End If

Return


Loop
Moin Moin,

so ich habe diesen Code hier im Forum gefunden und habe ihn so geändert, das auf Portd.0 eine LED immer ein und ausfaded. Sieht sehr schön aus, nur ich möchte eine PWM , circa 50 % sprich Helligkeit = 255-120 oder so ein und auschalten können mit einem Taster. Wenn ich den befehl
Code:
If porta.1 = 0 then
..
..
End if
dann dreht die PWM völlig durch.. Wie schalte ich eine PWM ein und aus..

Schöne Grüße