www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ADC werte auf dem LCD anzeigen->> Probleme


Autor: Ste (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich wollte die Werte meines ADC aufm LCD anzeigen lassen. Dazu habe ich 
das LCD wie im Tutorial beschrieben an mienen Atmega8 gehängt und 
normalen Text auszugeben funktioniert wunderbar. Um nun die ADC-Werte in 
ASCII umzuwandeln jabe ich den Code von Peter Danegger aus der 
Codesammlung genommen und auf die nötigen Stellen zurückgestutzt.
Nun mein Problem, auf dem LCD werden nur komische Zeichen angezeigt 
(sehen aus wie PI.Zeichen) nicht aber den ADC-Wert. An was könnte das 
liegen? Ich poste den veränderten Code von Peter mal, wahrscheinlich 
liegt dort der Bock!
Danke für eure Hilfe!

Autor: Ste (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hab völlig vergessen den Code zu posten!

Ich habe es nun geschafft, dass 3 von 4 Ziffern richtig angezeigt 
werden, doch die letzte kommt falsch raus, wenn zum Beispiel eine 7 
stehen sollte, dann ist dort so ein Zeichen das etwa wie ein 
Prozentzeichen aussiht, jedoch mit waagerechtem Strich.

Noch ein Problem: Die drei ersten Ziffern werdn wie oben beschrieben 
korrekt angezeigt. Nun das Problem der 10bit ADC sollte ja Werte von 0 
bis 1023 anzeigen, ich erhalte aber 128x (wobei x dieses Sonderzeichen 
ist) ist mein ADC kaputt oder sind die ersten 6 Bit im Highbyte des ADC 
nicht alle null, oder liegt es doch am Code??
Ich habe den Code mal gepostet, falls jemand Lust hat, nur zu!

Danke und Gruss

Autor: Uwe (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Ste!

So sollte es klappen. Denke drann, R30=Low, R31=high ($ff3 !!)

MFG Uwe

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uwe hats gefunden, so gehts natürlich nicht:

subi r19, -10 - '0'
mov r19, r30

Endweder obere Zeile r30 einsetzen oder beide Zeilen vertauschen:

mov r19, r30
subi r19, -10 - '0'


Solche Fehler kann man aber auch sehr schön mit dem Simulator verfolgen.


Peter

Autor: Ste (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke!! Habs zwar noch nicht getestet, aber wenn ihr einen Fehler 
gefunden habt, dann bin ich schon mal froh!! Werds morgen testen!

Autor: Ste (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich hab nun den Fehler ausgemerzt, nun habe ich folgendes Problem, 
mein ADC bringt nun immer den Wert 1287 (weiss nicht mehr genau, obs 
wirklich der war, aber mehr als 1023 und dauernd der gleiche, obwohl er 
ändern sollte) Ist mein ADC im A... oder könnte es an einer fehlerhaften 
Initialisierung liegen?

Autor: Ste (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe vergessen zu schreiben, dass es sich um einen ATmega8 handelt, 
falls das noch eine Rolle spielen sollte...

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.