- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: LCD Anzeige aktualisieren

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    17.10.2004
    Ort
    Berlin
    Beiträge
    21

    LCD Anzeige aktualisieren

    Anzeige

    Powerstation Test
    Hallo,
    ich muss Zählerstände auf einer LCD Anzeige ausgeben. Das ist mit Bascom ja auch kein Problem.
    Nur wie aktualisiert man die Anzeige,
    wenn sich die Stellenzahl ändert? Z.Bsp. wird 100 angezeigt, danach 99.
    Dann bleibt die 0 von der 100 in der Anzeige stehen. Ich lösche z.Zt. vor
    der Ausgabe des neuen Wertes das LCD. Dies führt aber zu unschönen Flackern.
    Das gleiche Problem mit dem neg. Vorzeichen.
    Wie macht ihr das?

    Gruß und Dank
    Reinhard

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    16.06.2004
    Alter
    36
    Beiträge
    77
    Hallo Reinhard,
    also das flackern lässt sich nun mal nicht ganz vermeiden aber einigermaßen in den Griff bekommst dus mit

    Code:
    lowerline/upperline
    bzw. locate LINE,ROW
    damit sollte es nicht so flackern und der Inhalt der entprechenden Zellen wird büerschrieben.

    Falls dir das noch nicht gefällt melde dich nochmal

    Gru0
    Baui

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Etwas sehr umständlich, aber so geht's auch

    Code:
    $crystal = 8000000
    
    Dim Wert As Integer
    Dim Anzeigestring As String * 5
    
    Cls
    
    For Wert = -10 To 10
    
       Anzeigestring = Str(wert)
       Anzeigestring = Format(anzeigestring , "000")
    
       If Wert > 0 Then
          Anzeigestring = "+" + Anzeigestring
       End If
    
       If Wert = 0 Then
          Anzeigestring = " " + Anzeigestring
       End If
    
       Locate 1 , 10
       Lcd Anzeigestring
    
    Waitms 100
    Next Wert
    
    End
    Hat den Vorteil, daß es nicht flackert und die Ausgabe nicht durch Vorzeichen verschoben wird...

    Warscheinlich geht das aber auch viel einfacher

    Gruß
    Christopher

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    17.10.2004
    Ort
    Berlin
    Beiträge
    21
    mhhh. ...damit kann ich an eine bestimmte Stelle springen.
    Der Rest der alten Anzeige bleibt aber trotzdem stehen!
    Ich gebe aus: LCD "Bilder:" variable.
    Variable hat aber unterschiedliche Stellenzahl, incl. neg. Vorzeichen.
    Das bleibt dann bei pos. Werten stehen!
    Ich müßte alles hinter "Bilder:" löschen können und den neuen Wert variable schreiben.
    Aber wie?
    Reinhard

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.11.2004
    Beiträge
    1.693
    Baui hat nicht ganz unrecht. Mit Locate kommt man an jede Stelle des LCDs.
    Aber ein wichtiger Punkt fehlt hier!
    LCD " "
    An die Stelle einfach ein paar Leerzeichen Setzen.
    Der Code wird auch schneller ausgeführt als ein CLS.

    Ich persönlich finde es immer unschön wenn man Werte hat die sich in der Länge ändern. Also der Unterschied zwischen 100 und 99. Auch wenn die letzte 0 der 100 mit Leerzeichen überschrieben wird, rutschen die Zahlen immer hin und her.
    Mit FUSING kann man den Zahlen ein bestimmten Wert geben. Also 099 für 99. Das sieht 1. schöner aus und 2. muss man die Stellen dann nicht mit Leerzeichen überschreiben. Da entsteht auch kein flackern, weil die Anzeige nicht dauerhaft gelöscht und beschrieben werden muss. Die Zahl hat immer die gleiche Anzahl von Stellen und es bleiben keine Rest auf dem LCD wenn ein Wert mal kleiner ist.

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    17.10.2004
    Ort
    Berlin
    Beiträge
    21
    Danke für alle Tipps!
    Diese kamen hier unbemerkt an, während ich an meiner ersten Antwort bastelte.
    Geht ja hier Schlag auf Schlag.
    Manchmal sieht man den Wald vor lauter Bäumen nicht. Einfach vor
    Aktualisierung ein paar Leerzeichen senden sollte es doch sein!
    Das Fusing hört sich auch interessant an. Muss ich mir mal ansehen.
    Aber erst morgen!!

    Nochmals Dank an euch für die schnellen Antworten
    Reinhard

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Hi,
    das löschen durch Leerzeichen ist auch nicht die Lösung, wenn es um sich schnell ändernde Werte geht.
    Dann löscht und schreibt man schnell ja hintereinander auf die selben Stellen, was zu verdunkeln bis zum verschwinden der Anzeige während der Änderung führen kann.
    Für sich langsam ändernde Werte geht das aber, wenn die Anzeige des Wertes lange genug stehen bleibt, im Vergleich zur Löschzeit.

    Gruß
    Christopher

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    17.10.2004
    Ort
    Berlin
    Beiträge
    21
    @chr-mt:
    Scheint doch aufwändiger zu sein. Werde wohl deinen Code der Vorzeichenausgabe mit der Formatierung mittels Fusing kombinieren müssen.
    Reinhard

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    11.04.2005
    Beiträge
    1.469
    Hi,
    habe gerade noch was gefunden
    wenn man beim Format zB. ein "+000" schreibt, dann wird das Vorzeichen bei
    positiven Zahlen davorgesetzt.
    Allerdings ist "0" dann "+000" und nicht "000", was ich nicht sehr schön finde.

    Gruß
    Christopher

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    17.10.2004
    Ort
    Berlin
    Beiträge
    21
    Das werde ich morgen ausprobieren. Das +000 stört mich dabei nicht so besonders. Soll ja nicht als Ausstellungsstück zur IAA

    Reinhard

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress