mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATINY26 stellt AD-Wert nicht auf dem LCD dar


Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
danke zwar, der Test brachte nichts. Ich habe alles versucht. 
Wahrscheinlich ein "stilistischer Fehler".  Die LED's schalten ja zu bzw 
ab, nur die Werte stehen nicht auf dem LCD. Da eine normale Textausgabe 
auf dem Display funktioniert kann ich einen Schaltfehler auch 
ausschließen. Vielleicht hat noch jemand einen Tip...
Viele Grüße Stephan.

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Softwarefehler ?

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das AD-Ergebniss muss auch erstmal für das Display passend gewandelt 
werden, Also vom binär ins Ascii Format.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich danke Euch. Danke für den Link. Jetzt werde ich ersteinmal etwas 
lesen.
Gruß Stephan

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier mal ein kleines Beispiel wie ich das mache. In der Codesammlung 
gibt es ähnliche Beispiele für die Umwandlung.

Angenommen dein AD Wert ist 999.

Ich prüfe ob der Wert größer als 1000 ist wenn ja ziehe ich 1000 ab, 
speichere eine 1 im Ziffer1 Register, da es nicht der Fall ist bleibt 
das Register leer bzw. wird sicherheitshalber gelöscht.

Dann überprüfe ich ob der Wert größer als 100 ist, da dies der Fall ist 
ziehe  ich davon 100 ab und erhöhe das leere Register Ziffer2 um eins, 
das wird dann solange wiederholt bis es nicht mehr geht, also 9mal

Danach wird wieder überprüft ob der Restwert größer als 10 ist wenn ja 
10 abziehen Register Ziffer3 um eins erhöhen usw.

Die letzte Ziffer kann man einfach ins Register Ziffer4 übernehmen, man 
braucht ja nicht 9 mal die 1 von der 9 abzuziehen um festzustellen das 
wieder 9 rauskommt.

zu den einzelnen Registern addiert man dann noch 48 dazu und hat dann 
das passend Ascii Zeichen das man dann als LCD übergibt. Führende Nullen 
kann man durch Ascii-Zeichen 32 ersetzen was eine Leerstelle darstellt 
denn 999 schau ja besser aus als 0999.

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.