mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD Teilweise Beschreiben!


Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, habe mal eine Frage, und zwar ist es möglich mit Bascom z.b. nur 
einen Wert zu aktualisieren auf einem LCD? So dass die schrift bleib und 
der wert sich ändert, weil die Schrift immer blinkt und das nicht schön 
aussieht.

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
EIn Beispiel auf dem LCD soll stehen: "Zeit: 12:00 Uhr" dann soll nur 
die 12 weiterlaufen ist doch bei gekauften Sachen genau so.

Autor: KG (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Natürlich ist dies möglich.
Brauchst nur den Text der immer angezeigt werden soll
vor der Mainloop definieren.
Den Wert der sich ändern soll, über ein Flag oder über Variablen-
vergleich ( alter Wert <> neuer Wert )anzeigen lassen.

MfG
KG

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon aber wenn ich z.b. in der Main Loop eine Abfrage von Ports mache 
das sich der Text ändern soll gibt es das gleiche problem!

Autor: Alex L. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Christian schrieb:
> Hallo, habe mal eine Frage, und zwar ist es möglich mit Bascom z.b. nur
> einen Wert zu aktualisieren auf einem LCD? So dass die schrift bleib und
> der wert sich ändert, weil die Schrift immer blinkt und das nicht schön
> aussieht.

Hallo!!!
Vielleicht hast du in deinem loop auch ein befehl um das display zu 
löschen? z.b. clear display, weil das kann es auch sein, dass das 
display die ganze zeit gelöscht wird und alles von neuem geschrieben 
wird.

Autor: Christian U. (z0m3ie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Do kannst mit einem gotoXY befehl direkt zu der stelle gehn, die sich 
ändern soll (ka wie der Bascom Befehl dazu heisst) und dann dort 
schreiben ich denke das ist der Part der dir fehlt.

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du meinst Locate Zeile,Spalte  ja das hab ich jetzt geschafft und es 
geht danke.


$regfile = "m644def.dat"
 $crystal = 1600000
   Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , 
Db7 = Porta.7 , E = Portb.0 , Rs = Portb.2
    Config Lcd = 16 * 2
      Cursor Off

    Dim W As Word
       Locate 1 , 1
       Lcd "Zeit:"
 Do
     W = W + 1
     Locate 1 , 7
     Lcd W
   Loop


End

Autor: Tobi W. (todward)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich habe mal versucht dein problem mit einem mega16 und einem 
pollin LCD (ich glaube es hat 1,95€ gekostet) nachzustellen.

1) Läuft die Main-loop ohne verzögerung, blinkt das LCD nicht.
2) Wird in der Main-loop das lcd mit dem BAscombefehl CLS gelöscht und 
dann der text erneut drauf geschrieben, kann man ein "blinken" der 
anzeige feststellen.
3) Ist der Cursor nicht ausgeschaltet, und die main-loop läft weiter hin 
ohne verzögerung, kann man wenn man genau hinsieh den cursor sehen.

Der Locate befehl ist bei einer solchen sache eher uneffizient. wieso 
machst du es nciht wie vorgwschalten mit einer ereignis verfolgung?
du kannst den statischen text, in einer constanten (besser da die schon 
vom compiler "berechnet" wird und nicht erst vom avr) und in deinem fall 
die zeit in einer variable. Das ganze pachste in eine if-else-end if 
anweisung und bist fertig. Hat den vorteil du benötigst nicht soviel 
rechen kapazität des µC denn du musst ja nicht bei jedem durch lauf die 
anzeige aktualisieren sondern nur jede sekunde oder so.

Gruß
Tobi

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, danke fürs Testen es geht soweit jetzt. Doch wenn ich Reset drücke 
stehen auf einmal immer 2 oder 3 nullen auf dem LCD ist dies normal? 
Wenn ich die Stromzufuhr unterbreche geht es.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.