adc an atiny13

OP #2048785
Lesenswert?

anfangs wollte ich noch erwähnen, dass ich das forum wirklich genial 
finde.

ich würde gerne mit einem tiny 13 eine analoge spannung messen und dann
auswerten bzw abhaengig vom wert, led's einschalten.
soweit mir bekannt ist, kann man den adc mit studio vier nicht 
simulieren.
für den atmega 8 habe ich eine wirklich gute beschreibung gefunden, aber 
für den tiny 13 nur mit pwm etc.
aber ich hätte das ganze gerne noch einfacher für den anfang.

habe ein listing im anhang und hätte gerne gewusst, ob es fehlerfrei ist 
bzw
ob sich mein wert auch im 'adwert' befindet.
könnte das bitte jemand überprüfen.


gruss bernhard.
Angehängte Dateien:
#2049025
Lesenswert?

> habe ein listing im anhang und hätte gerne gewusst, ob es fehlerfrei ist

So richtig nicht...
1
; admux auf adc3 einstellen
2
; referenz=ub, ergebnis links justieren adlar
3
ldi rmp,0b00100001
4
out admux,rmp

Schau nochmal im Datenblatt nach, ich vermute, Du aktivierst ADC1.
1
; staendiges lesen des ad wertes
2
loop:
3
  in adwert, adch
4
  rjmp loop

Du musst dem ADC schon Zeit geben, die Wandlung durchzuführen.

Dazu gibt es verschiedene Möglichkeiten. Im Free-Run-Mode kann man den 
ADC mittels Timer (der nebenher noch andere Dinge erledigt) auslesen. 
Bei Single-Conversion kann man mit Interrupt oder Busywait (Abfrage des 
Bits ADSC im Register ADCSRA) arbeiten. Letzteres geht auf 0, wenn der 
ADC fertig ist.

Es geht natürlich auch mit einer Warteschleife, das ist allerdings eine 
Sackgasse, das rächt sich, wenn der Controller irgendwann mal etwas mehr 
tun soll.

...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren