Hallo,

ich habe da mal ne Frage bzw. ein Problem

Mit meinen Mega 8 wollte ich einen PWM Steller realísieren. Mein Problem bei meinen Programm ist, bzw. auf dem Mega8, ich kann mit dem Poti von 0 bis 256 hochdrehen und alles funktoniert, allerdings wenn ich runter drehe, dann zählt er von 256 bis 100 normal, aber statt die letzten 99 schritte weiter abwärts zu zählen springt er eine potenz höher und zählt von 999 zu gegen null. Zusammengefasst 256->100->999>014.

Ich weiss einfach nicht, was das sein könnte?
Kann mir da jemand einen Rat geben?

Code:
$regfile = "m8def.dat"
$crystal = 3686400
$baud = 9600


Dim Result As Word
Dim Channel As Byte

'Dim Licht As Word

Config Lcd = 16 * 2

Dim N As Integer
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2

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

Config Portb = Output
Portb = &HFF


Config Adc = Single , Prescaler = Auto , Reference = Avcc
Set Sfior.adhsm


Cls

Lcd "Facharbeit-PWM"

Wait 1

Cls

Lcd "PWM"

Start Adc

Do

   Result = Getadc(0)                                      'Analogwert wird auf c.0 eingelesen

   Result = Result / 4                                      'Teiler 1024/4

   Compare1a = Result                                   'Zählerstand als PWM

   Lowerline
   Lcd "1:" ; Str(result)                                   'Zählerstand ausgeben


Loop

End