www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Warum komme ich beim Auswärten des ADC's nur bis 25% ?


Autor: Sepp -o- (sepp_o)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Salve

Ich hab mich gerade ein wenig mit dem ADC gespielt.

Ich habe ein Poti über an Pin 7 des Port B (0..7) angeschlossen.

Den Analogwert gebe ich über 2 7-Segmentanzeigen in % aus.
(Für den Fall dass 100% erreicht wird, wird einfach 99% ausgegeben.)

Leider habe ich das Problem dass sobalt 25% erreicht wird die Anzeige
wieder auf 0% zurückspringt.

Kann mir bitte jemand sagen wo ich den Fehler gemacht habe?
(Die Datei befindet sich im Anhang)

mfg Sepp

Autor: Sepp -o- (sepp_o)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kottektur des Beitrages:

Ich habe ein Poti über an Pin 7 des Port A (0..7) angeschlossen.

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Blick ins Datenblatt hilft.
When ADCL is read, the ADC Data Register is not updated until ADCH is
read. Consequently,
if the result is left adjusted and no more than 8-bit precision is
required, it is
sufficient to read ADCH. Otherwise, ADCL must be read first, then
ADCH.

Oder versuchs mal so:
ulTemp = ADC;

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
miss doch mal die Spannung an deinem ADC-Pin mit einem Multimeter.
Vielleicht stimmt da schon irgendwas nicht...

Autor: Zimmi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hiho,
deutsche Sprach schwäre Sprache.
Ändere mal folgendes:

ulTemp = ADCH;  // Das High-Nibble wird gehohlt.
ulTemp << 8;  // Die Bit's werden um 8 Stellen verschoben
ulTemp += ADCL;  // as Low-Nibble wird gehohlt.

in folgendes:
ulTemp = ADCH;  // Das High-Nibble wird gehohlt.
ulTemp = ulTemp << 8;  // Die Bit's werden um 8 Stellen verschoben
ulTemp += ADCL;  // as Low-Nibble wird gehohlt.
Dann könnte es gehen...

Autor: Sepp -o- (sepp_o)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Zimmi
Diesen Fehler habe ich glatt übersehen.

Ich wollte es eigentlich so schreiben:
ulTemp <<= 8;

@Benedikt
Danke für deinen Hinweis.
Ich hab mich nach einer deutschen Übersetzung des Datenblattes
gerichtet und da stand's genau anders herum.

Ich werd die deutsche Übersetzung gleich in die Tonne klopfen und nur
mehr mit der Originalversion arbeiten.

mfg Sepp

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deutsches Datenblatt ?
Wo kann man das runterladen ?

Autor: Sepp -o- (sepp_o)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leider ist der Link tod und ich habe vor lauter Wut alle 3 Dateien
gelöscht.

Es ist ügrigens kein vollständiges Datenblatt des 90s8535, sondern nur
eine Übersetzung des internen Aufbaus, der Timer und des ADC's.

Eventuell finde ich die e Datenblattfragmente.

mfg Sepp

Autor: Sepp -o- (sepp_o)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Salve

Ich hab mir sogar die Mühe gemacht die Fehler, die ich gefunden habe
auszubessern.


mfg Sepp.

Autor: Sepp -o- (sepp_o)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich hoffe ihr könnt dass brauchen.

mfg Sepp

Autor: Sepp -o- (sepp_o)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Dass ist der Letzte Teil.

Die letzten beiden Zusammenfassungen beziehen sich auf den AT90S4414 /
AT90S8515 und Teilweise auf den AT90S2313.

Stimmt dass in der Tabelle 28 (ADC-Vorteilerauswahl) dass die Auswahl
000 und 001 einen Vorteilfaktor von 2 ergeben oder ist dass nur ein
Druckfehler?

mfg Sepp

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.