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


von Mats M. (elektrofreak)


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

von andre (Gast)


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

von Hannes L. (hannes)


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.

...

von Paul Baumann (Gast)


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

von Paul Baumann (Gast)


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

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.