Forum: Mikrocontroller und Digitale Elektronik Werte auf LCD anzeigen


von StefanKM (Gast)


Lesenswert?

Hallo zusammen.

Ich habe ein Display mit zwei SED5120. Habe nach anfänglichen Problemen
das Display soweit im Griff, dass ich alle Zeichen darstellen kann.
Mein Problem ist nun, dass ich eine gemessene Temperatur (mit ADC
digitalisiert) im Display anzeigen möchte, und nicht weiß, wie ich
diesen dynamischen Wert auf das graphische Display bekomme. Ich muss
doch zunächst im Zeichensatz die richtige Zahl herauspicken und
darstellen? Oder wie wird das am besten durchgeführt?
Kann mir jemand einen Tip geben?
Danke Euch.

Stefan

von inoffizieller WM-Rahul (Gast)


Lesenswert?

>Zeichensatz
Ist der ASCII-kompatibel? Wie sieht der überhaupt aus?

Im ASCII-Zeichensatz sind die Ziffern '0' bis '9' in aufsteigender
Reihenfolge angeordnet.
Will man nun eine 3 darstellen (ASCII-Index 0x33 [hexadezimal]), nimmt
man den ASCII-Index für die '0' (0x30) und addiert die 3 einfach
dazu.
Verstanden?

Wenn du jetzt eine Zahl hast, die grösser als 9 ist, mußt du sie noch
durch Zehnerpotenzen teilen (10, 100, 10000), um die einzelnen Stellen
zu erhalten.
Bei reellen Zahlen muß man dann noch die Nachkommastellen entsprechend
behandeln.

von StefanKM (Gast)


Lesenswert?

Der Zeichensatz ist selbst generiert, da der SED5120 keinen eigenen
Zeichensatz hat. Deshalb ist der Zeichensatz kein ASCII- Zeichensatz.
?????
Weiß nicht so richtig wie ich vorgehen soll.

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Dann musst du aber eine Tabelle für deinen Zeichensatz haben, über deren
Index du an die Daten kommst.
Text kannst du ausgeben?

von StefanKM (Gast)


Lesenswert?

Text kann ich ausgeben, das geht, weil ich dabei weis, welche Daten aus
der Tabelle ich nehemen muss.

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Und jetzt geht es darum, Zahlen in Text zu wandeln?

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Wenn du weisst, an welcher Stelle sich die Zahlen-Symbole in deiner
Tabelle befinden, sollte das doch kein Problem sein.
Solange die Sysmbole in aufsteigender Reihenfolge sortiert sind (0 hat
den kleinsten Index und die 9 den grössten), dann kann man durch die
Addition des 0-Indexes mit dem Zahlenwert ziemlich einfach
herausfinden.

von StefanKM (Gast)


Lesenswert?

Ich sortiere also die Zahlen in der Tabelle aufsteigend von 0 bis 9.
Wenn ich eine 24 darstellen will, muss ich also zunächst durch 10
dividieren. Danach hab ich die 2, addiere diese zum Index von 0 und
stelle Sie dar. Und wie bekomme ich die 4?

von inoffizieller WM-Rahul (Gast)


Lesenswert?

Wie stellst du denn den Text dar?

Wenn du 24 hast, kannst du (in C) mit /10 die 2 "herausfiltern" und
mit % 10 die 4 herausfiltern.

Man kann eine Division auch durch eine Schleife ersetzen, in der man
(in diesem Fall) 10 von der zu teilenden Zahl subtrahiert. Sobald die
gewählte Zahl kleiner als 10 ist, hat man die Einerstelle.
(In der Grundschule lernt man dafür das "Einmaleins". Hier geht man
in die andere Richtung.)

Bei 24 ist 2 der ganzzahlige Quotient und 4 der Rest der Division durch
10.

von StefanKM (Gast)


Lesenswert?

Ich hab verstanden.
Danke

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.