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







Zitieren

Lesezeichen