scream!!!!
11.09.2005, 22:14
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?
$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
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?
$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