www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMega8 nur 1xADC in Bascom?


Autor: Mats Marcus (elektrofreak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

ich will bei einem ATMega 8 nur den ersten Analog-Digitalconverter 
nutzen, die anderen möchte ich als I/O Nutzen.

Wie kann ich das machen, dass ich nur den ersten ADC aktiviere?

PS: Für alle macht man das so:

Config Adc = Single , Prescaler = Auto , Reference = Avcc

Autor: andre (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Atmega8 besitzt nur einen ADC, welchen du z.B. mit deiner obigen 
Zeile konfigurieren kannst. Die 8 Kanaele kommen nur dadurch zustande, 
dass dieser ADC wechselnd mit den jeweiligen Pins verbunden wird. Er 
kann also nicht zwei Spannungen gleichzeitig wandeln.

Du kannst also beispielsweise den ersten Kanal mit word = getadc(0) 
auslesen, waehrend du die restlichen Pins normal als IOs nutz, also per 
Config Port/Pin entsprechend konfigurierst und 1 oder 0 setzt/Pinx 
ausliest.

Beste Gruesse

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt nur einen ADC. Die Quelle wählst Du mittels ADMUX. Wenn Du aus 
der BASCOM-Doku nicht schlau wirst, dann verzichte auf das 
Config-Gerassel und greife anderweitig auf die I/O-Register zu. Die 
Beschreibung der I/O-Register findest Du im Datasheet Deines AVRs.

...

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gib mal die Zeile noch ganz oben in Dein Programm ein:

Admux = &B01100001     'Bits7+6=01: Aref ist intern verbunden
                     'Bit5=1: LeftAdjust, nur 8 Bit in ADCH
                     'Bits3...0=0001: Pin ADC1 wählen

Wenn Du ADC 0 haben willst, dann eben &B01100000.

Das steht im Datenblett vom ATmega8 drin, wie man das Register setzen 
muß,
um entsprechende Reaktionen zu bekommen.

MfG Paul

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
P.S.
Das Register ADCSRA kannst Du genauso "angreifen", um den ADC so 
einzustellen, wie Du es haben willst.

Adcsra = &B11100010  'Bit7=1:AdcOn,Bit6=1:Start,Bit5=1:Freilaufend
                     'Bits2+1+0=010: AdcClock=AvrClock/4

FF (Fiel Fergnügen) ,-)

Paul

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.