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


von Ste (Gast)


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!

von Ste (Gast)


Angehängte Dateien:

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

von Uwe (Gast)


Angehängte Dateien:

Lesenswert?

Hi Ste!

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

MFG Uwe

von Peter D. (peda)


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

von Ste (Gast)


Lesenswert?

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

von Ste (Gast)


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?

von Ste (Gast)


Lesenswert?

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

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.