Forum: Mikrocontroller und Digitale Elektronik AD-Wandler mit ATmega16


von Hannes J. (Gast)


Lesenswert?

Hallo zusammen.

Ich bin derzeit im 3. Ausbildungsjahr zum Elektroniker für Geräte und 
Systeme. Wir haben nun vor ca. 2 Wochen Angefangen, uns mit 
Mikrocontrollern auseinanderzusetzen. In unserer Ausbildungswerkstadt 
wurden nun zu diesem Thema Projekte verteilt und da beginnt nun mein 
Problem.
Ich bin noch nicht wirklich fit im Mikrocontroller programmieren und 
muss jetzt einen Analog-Digital-Wandler in Programmiersprache C mit 
einem ATmega 16 umsetzen.
Hierbei soll eine Spannung (im Bereich zwischen 0 und 5 Volt) am Eingang 
PA0 (Pin40) angelegt werden und am Port C des Mikrocontrollers, binär 
wieder ausgegeben werden.
Am Port C des Controllers sind LED´s angeschlossen um die Funktion des 
AD-Wandlers zu testen.
Da jetzt unser Ausbilder in diesem Fach nun für 2 Wochen krank 
geschrieben ist, kann ich ihn leider nicht um Hilfe fragen. Kann mir 
hier vielleicht jemand helfen das Projekt zu realisieren?
Im Voraus vielen Dank für eure Hilfe!!!

Gruß Hannes

von Dietrich L. (dietrichl)


Lesenswert?


von Cyblord -. (cyblord)


Lesenswert?

Das ist echt traurig. Die Aufgabe hat in C so ca. 10 Zeilen Code. Und du 
als Elektroniker für sonstwas, im 3. Jahr, kannst nicht mal das. Und 
Beispielcode, von dem das Netz und allein schon dieses Forum überquellen 
sollte, hast du dir direkt erstmal geschenkt?

Hast du dir das Datenblatt angeguckt? Vielleicht sogar speziell der Teil 
der den ADC behandelt?

Beispielcode (es fehlt nur noch die Initalisierung des ADC).
Der muss eingeschaltet werden (ADEN) und der Taktteiler muss gesetzt 
werden (ADPS).
1
while(1) {
2
ADCSRA |= (1<<ADSC);
3
loop_until_bit_is_clear(ADCSRA,ADSC);
4
uint16_t x=ADC;
5
PORTC=x;
6
}

Jetzt kannst du x vor der Ausgabe noch shiften, weil das 10 Bit hat und 
dein Port nur 8, oder du setzt das ADLAR Flag und holst dir vom ADC nur 
die oberen 8 Bit ab.

Wieviele Ausbildungsjahre gibts bei euch? Wer soll dich jetzt bald 
einstellen? Und noch Geld zahlen. Suchst du dir ne Branche die noch ohne 
MC auskommt? Verstehs nicht. Wie sieht dein Berufsbild aus? Schütze 
verkabeln? Ich dachte das machen Elektriker.

gruß cyblord

: Bearbeitet durch User
von Karl H. (kbuchegg)


Lesenswert?

Hannes J. schrieb:

> Ich bin noch nicht wirklich fit im Mikrocontroller programmieren und
> muss jetzt einen Analog-Digital-Wandler in Programmiersprache C mit
> einem ATmega 16 umsetzen.

... du kannst auch einfach 'in C' schreiben. Das das eine 
Programmiersprache ist, wissen hier gefühlte 100%

AVR-GCC-Tutorial/Analoge Ein- und Ausgabe: Der interne ADC im AVR

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.