Forum: Mikrocontroller und Digitale Elektronik Mega8 ADC 8bit


von Indus (Gast)


Lesenswert?

Hallo
mein Mega8 ließt momentan Analoge Werte mit einer Genauigkeit von 10
Bit. Soweit funktioniert auch alles ganz gut. Wie kann ich die
Genauigkeit von 10 Bit auf 8 Bit herabstellen? Ich brauche nur 8 Bit.
Hab mir das schon im Datenblatt bischen durchgelesen aber bin nicht
ganz schlau daraus gewurden.

Taktfrequenz: 7,3728 MHz
Sprache: Assembler

Wie muss ich den Prescaler berechnen bzw. führt das zur Lösung?
Wäre schon über ein paar Tips bzw. Rechenbeispiele dankbar.

von Wolfgang Weinmann (Gast)


Lesenswert?

Hallo,

im Register ADMUX gibt es das Bit ADLAR. Mit dem stellst Du ein, wie
die 10 Bit in die ADC Register ADCH und ADCL eingestellt werden. Mit
ADLAR = 0 ist das Ergebnis rechtsbündig in den 2*8 Bit, mit ADLAR = 1
linksbündig.

Wenn Du eine hohe Auflösung willst und Du weißt, daß die obersten 2
Bits immer 0 sind, dann kannst Du mit ADLAR = 0 auf die unteren 8 Bit
in ADCL zugreifen und wenn Du die untersten zwei AD-Bits abschneiden
willst, weil Du die eh nicht brauchst, dann nimm ADLAR = 1 und das
Ergebnis von ADCH. Allerdings hat dann das LBB auch einen andere Größe
(4* größer).

Gruß

Wolfgang
--
www.ibweinmann.de
Mikrocontrollersysteme

von Hannes L. (hannes)


Lesenswert?

Und wenn du nur die oberen 8 Bit benötigst (8 Bit Auflösung), dann setzt
du ADLAR in ADMUX auf 1 und liest nur ADCH aus, die unteren 2 Bit in
ADCL werden dann ignoriert. Mach ich sehr oft, da mir meist 8 Bit
reichen.

...

von Indus (Gast)


Lesenswert?

Vielen Dank
das werde ich gleich mal ausprobieren.

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.