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.
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
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. ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.