16x2 LCD, Ausgabe der Daten

Gast #279534
Lesenswert?

Hallo,

brauche Hilfe!
Ich arbeite mit dem AT89S8252 in C.
Mein Hauptproblem ist nicht das Ansprechen, noch die Initialisierung,
sondern dass ich nicht weiss, wie ich meine Daten am LCD ausgebe.

Die Daten kommen von zwei Temperatursensoren und von einem
Uhrenbaustein und sind eigentlich schon vorhanden.
Diese sollten so am LCD ausgegeben werden:
  1234567890123456
1 hh:mm:ss T1 xx,x
2 dd.mm.yy T2 xx,x

Programm ist im ZIP file
Danke für Hilfe!!!
Sam
Angehängte Dateien:
#279535
Lesenswert?

Am einfachsten wird es wohl sein
sprintf einzusetzen.
Das ist ein normaler printf, nur dass er die Ausgabe
als C-string in ein char-Array macht. Dir stehen
dann alle Formatierfunktionen von printf zur Verfuegung.
Damit sollte es ein leichtes sein, dass von Dir gewuenschte
Format hinzukriegen.
Danach: Den String in die String-Ausgabe Funktion Deiner
LCD 'Bibliothek' stecken und gut ists.
#279537
Lesenswert?

Du hast doch eine Funktion die einen String (also Text) auf
dem Display ausgibt. Oder nicht?
Wenn nicht, dann solltest Du Dich schnellstens darum kuemmern.
(Benutz doch einfach eine fertige LCD Bibliothek, die hat sowas.
Z.b. bei http://jump.to/fleury findet man sowas).

Weiters hast Du doch Funktionen die Dir die Sensoren
und die Uhr als Zahlenwerte auslesen, oder nich?

Also: Wir haben: Eine Mange Zahlenwerte
      Wir brauchen: Einen Text (String) der den Zahlenwerten
                    entspricht.

   char Buffer[20];

   int Hour = ......     /* Irgendwie kommst Du auf die Stunden */
   int Minute = ......   /* dito fuer Minuten */
   int Sekunden = ...... /* dito fuer Sekunden */
   float T1 = .......    /* In T1 steht der Wert vom Temp Sensor 1 */

   sprintf( Buffer, "%d:%d:%d T1 %4.1f", Hour, Minute, Sekunde, T1
);
   lcd_puts( Buffer );  /* Funktion zur Stringausgabe aus der oben
                           genannten LCD-Bibliothek */

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren