www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Anfängerproblem mit ADC


Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich bin noch Anfänger. Deswegen wird meine Frage
wohl eine besonders dumme sein.
Also, ich verstehe einfach nicht, wie ich mit meinem
AVR eine mit 10 bit digitalisierte Analogspannung (ADC)
weiterverarbeiten kann wo doch der µC offensichtlich nur mit
8 bit arbeiten kann.
Ich möchte eigentlich nur eine Spannung messen und als
PWM-Signal wieder ausgeben.
Ich hoffe ihr könnt mir helfen.
Vielen Dank schon mal.

Stefan

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

da ein Register nur 8 Bit breit ist wird der gemessene Wert einfach auf 
2 Register aufgeteilt. Zitat aus dem Datenblatt:
"As the ADC generates a 10-bit result, two data registers, ADCH and 
ADCL, must be read to get the result when the conversion is complete."
Die ersten 8 Bits stehen im Register ADCL, die restlichen 2 in ADCH.
Wenn du 10 Bit PWM verwendest, kannst du den Wert also direkt 
weiterverwenden indem du ADCH/ADCL nach OCR1H/OCR1L kopierst. Um den 
Messwert in 8 Bit umzuwandeln, müssen beide Register um 2 Bits nach 
rechts geschoben werden, so dass Bit 0 und Bit 1 aus ADCL wegfallen und 
Bit 0 und Bit 1 aus ADCH nach Bit 6 und Bit 7 in ADCL kopiert werden. 
Beispiel:

;10 Bit-Wert in Register 16 und 17 einlesen:
in r16, ADCL
in r17, ADCH
;ein Bit bei r17 nach rechts rausschieben und in Carry speichern:
ror r17
;ein Bit bei r16 nach rechts rausschieben und gleichzeitig links
;das Carry-Bit wieder reinschieben:
ror r16
;das Ganze nochmal:
ror r17
ror r16

Gruß
Andreas

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

vielen Dank für deine Hilfe.
Stefan

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.