Forum: Mikrocontroller und Digitale Elektronik Maga8_2x16-LCD_steurung


von Chealsy (Gast)


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.

von Stefan Seegel (Gast)


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)

von Chealsy (Gast)


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

von ...HanneS... (Gast)


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...

...

von ...HanneS... (Gast)


Lesenswert?

@Heike:

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

http://www.mikrocontroller.net/forum/read-1-164017.html#164207
http://www.mikrocontroller.net/forum/read-1-164017.html#164026
http://www.mikrocontroller.net/forum/read-1-164017.html#164028

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

...

von Chealsy (Gast)


Angehängte Dateien:

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.

von icke (Gast)


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?

von ...HanneS... (Gast)


Lesenswert?

@Chealsy alias Heike:

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

...

von Chealsy (Gast)


Angehängte Dateien:

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

von Thomas Forster (Gast)


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.

von ...HanneS... (Gast)


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).

...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.