Hallo, ich hänge noch immer bei meinem Mega8. Ich versuche, nachdem ich einen Eingang (AD-Wandler) zum laufen gebracht habe und das drum herum hinbekommen habe jetzt ein Multiplexing beim AD-Wandler hinzubekommen. So sieht mein Quelltext (ein Ausschnitt) für eine AD-Wandlung aus: Ddrd = &B11111111 Ddrc = &B00000000 Admux = &B01100000 Adcsra = &B11100010 Portd = &B00000000 Do For A = 1 To 100 Wert1 = Wert1 + Adch Next A Temp1 = Wert /100 Loop Hat jemand einen Quelltext oder Tipp wie das mit dem Multiplexing funktioniert? Die Werte des AD-Wandlers von PC0, PC1 und PC2 sollen nachher in den Variablen Temp1, Temp2 und Temp3 stehen. Die Schleife war nur dazu gedacht, ein Mittel der Werte zu bekommen um fehlerhafte AD-Wandlungen zu minimieren! Wer weiß Rat? Ich bin in dem Bereich leider noch ein Grünschnabel; ich bitte deswegen eine solche, vermeindlich dumme Frage zu entschuldigen! Gruß q-stkr
kannst du jeden der AD-Kanäle ansprechen oder geht es dir darum automatisch den nächsten Kanal auszuwählen? Mit Assembler muss man einfach die entsprechenden Bits im ADMUX-Register setzen z.b. sbi ADMUX, MUX0 cbi ADMUX, MUX1 = ADC1 auswählen Du musst also deinen Wert im ADMUX um 1 erhöhen bis du bei 8 bist und dann wieder auf 0 setzen am besten noch ne und Verknüpfung damit du wirklich nur MUX0 und MUX1 änderst.
Hallo, (nebenbei, hatte ich vergessen zu schreiben: Ich nutze Bascom.) Wie meinst du das einfach admux erhöhen? Kenne mich da leider zu wenig aus. Meinst du einfach Adch+1 weil admux ist ja von vorn herein schon fest definiert?!?! Gruß q-stkr
Auch wenn du BASCOM benutzt, solltest du mal das Datenblatt des AVRs ansehen. Dort wird nämlich die gesamte (interne) Peripherie mit all ihren I/O-Registern und all deren Bits haarklein erklärt. Um die ADC-Quelle auszuwählen muss man nämlich nur den entsprechenden Wert in das I/O-Register ADMUX eintragen. Einige Bits dieses Registers entscheiden über die Referenzspannungsauswahl, ein anderes über die Ausrichtung des Ergebnisses (linksbündig/rechtsbündig) und einige Bits wählen den ADC-Eingang aus. Da die Ausstattung bei den verschiedenen AVRs etwas unterschiedlich ist, kann ich da jetzt nicht genauer drauf eingehen. Du solltest also im betreffenden Datenblatt nachschlagen. Nimm aber bitte das vollständige Datenblatt, nicht die BWL-Version. ;-) ...
wie Hannes schon sagt schau dir erstmal das Datenblatt an damit du weißt welche Bits du im ADMUX-Register ändern musst. Oben schreibst du ja Admux = &B01100000 und das musst du halt für jeden Kanal entsprechend ändern die letzen(rechten) 2 Bits sind zur Auswahl des Kanals da.
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.