Forum: Mikrocontroller und Digitale Elektronik 16x2 LCD, Ausgabe der Daten


von Sam (Gast)


Angehängte Dateien:

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

von Karl H. (kbuchegg)


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.

von Sam (Gast)


Lesenswert?

aha...
sorry, verstehe nur bahnhof.
kannst du mir bitte ein beispiel schreiben?
thx

von Karl H. (kbuchegg)


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 */

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.