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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.