Probier mal nur
LCD Result
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
Probier mal nur
LCD Result
in der lcd-anzeige wird die eine 9 nicht gelöscht. gib mal vor zeile lcd... noch einmal ein cls ein.
Set Sfior.adhsm kannste auch vergessen, brauchste nur wenn du den adc von hand selber proggen tust über die registerbefehle.
du hast auch den hang, die registerbefehle in den fertigen bascomsalat reinzubringen, ist aber überflüssig, wenn du die ganze überwachung dem Bascom übergeben tust und das hast du ja gemacht. du musst dich vorher entscheiden ob du mit den avr-registern proggen willst oder nicht, mischen ist unsinn und verschwendet speicherplatz.
mfg pebisoft
Benutze die Format Funktion:
MfGCode:$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 Dim Test(2) As String * 2 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 Test(1) = Str(result) Test(2) = Format(test(1) , "000") Lowerline Lcd "1 zu " ; Test(2) 'Zählerstand ausgeben Loop End
Stromi
Hi, vielen dank für eure Hilfe.
dank Stromi läufts nun auch wunderbar.
Lesezeichen