mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Maga8_2x16-LCD_steurung


Autor: Chealsy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

ich möchte am meine 2x16 LCD die Spannung ausgeben und zwar auf die
erste reihe und eine berechnete Leistung auf die zweite reihe.
weiß nicht, wir ich damit umgehen soll.
Ich habe mir es so vorgestellt dass man die fünf erste zeichnen als
Spannung (Uss = ) reserviert und sechs stelle für die Spannungswert und
dann an ende der Einheit (V)
Gleich werde auch für die zweite reihe für die Leistung.
die routine, benutze ich den von Andreas
Bitte werde sehr Dankbar wenn jemand mir hilft.

Autor: Stefan Seegel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Deine Angaben sind etwas dürftig, eine von 1000 Möglichkeiten wäre:

char str[6];
unsigned short u; //hier muss die Spannung drin stehen
unsigned short p; //hier muss die Leistung drin stehen

lcd_gotoxy(0,0);
lcd_puts("Uss = ");
utoa(u, str, 10);
lcd_puts(str);
lcd_putc('V');

lcd_gotoxy(0, 1);
lcd_puts("P = ");
utoa(p, str, 10);
lcd_puts(str);
lcd_putc('W');

Stefan

P.S. Wer ist Andreas ? (Bzw. welcher)

Autor: Chealsy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Stefan Seegel

ich hätte gern das programm im (mega8) Assembler programmiert und ich
habe mich mit der Routine von Andreas aus der Tutorial beschäftig.

Danke

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
- LCD initialisieren,
- LCD löschen,
- LCD-Cursorposition auf 0 setzen (1. Zeile)
- Text (Vcc=) an LCD ausgeben,
- Wert an LCD ausgaben,
- Text (V) an LCD ausgeben,
- LCD-Cursorposition auf 40 setzen (2. Zeile)
- Text (Pxyz=) an LCD ausgeben,
- Wert an LCD ausgeben,
- Text (Watt auch immer) an LCD ausgeben,
- fertig...

...

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Heike:

Hier kannst du sehen, wie man einen Text oder einen Wert ausgeben
kann.

http://www.mikrocontroller.net/forum/read-1-164017...
http://www.mikrocontroller.net/forum/read-1-164017...
http://www.mikrocontroller.net/forum/read-1-164017...

Lies am besten den ganzen Thread und lade dir die Quelltexte der obigen
Links herunter. Danach kannst du dein Programm entwickeln.

...

Autor: Chealsy (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe für die Steuerung meinem 2x16 LCD folgende Programme in
Assembler geschrieben die Routine ist von Andreas im Tutorial, aber
weiß immer nicht was ich falsch machst die soll auf meinen Display wie
folgende aussehen:
Zeile 1:  Uss=  Wert(U)   V
          00     05       0D
Zeile 2:  P=  wert(p)  W
          40   45      4D
Kann jemand mein Programm anschauen und mir Helfen?

Werde ich sehr Dankbar.

Autor: icke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
docs kann ich mir nicht so gut angucken. Sind außerdem bestimmt von uno
geächtet, oder?

Klappt die Display Ansteuerung denn 'trocken', also ohne Meßkorsett?
Kannst du was ausgeben? Befehle wie löschen schicken? Cursor setzen?

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Chealsy alias Heike:

DOC mag ich nicht, bitte als ASM (direkt lesbarer ASCII-Text).

...

Autor: Chealsy (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ya schon aber nach dem ich der string ausgeben will lauf nur kommische
dinge auf dem display
ich habe noch die Anhang geandert.

mfg

Autor: Thomas Forster (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ldi     temp1,0x05   ; Set DDRAM Adress to 0x05
rcall   lcd_command

Willst du hier den Cursor positionieren?
Wenn ja, dann ist das jedesmal falsch.

Besser:
ldi temp1, 0x80 + 0x?? für erste Zeile

ldi temp1, 0x80 + 0x40 + 0x?? für 2.Zeile.

Steht aber wie immer im Datenblatt des Displays.

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi...

Wie schon gesagt ist die Positionierung fehlerhaft (siehe auch
Datenblatt).

Nach dem Aufruf von PRINT ist der Aufruf von LCD_DATA nicht
erforderlich, denn LCD_DATA wird ja von PRINT für jedes Zeichen
aufgerufen.

Was aber noch völlig fehlt, ist eine Routine, die deine Messwerte
(Byte, Integer?) in einen ASCII-Text umwandelt und an das LCD ausgibt.
Ein Beispiel, wie man das machen kann, findest du in der Datei
LCDprint.inc (oben genannte Links).

...

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.