mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Klausurstoff dringend


Autor: Greenman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich brauch dringend die Antwort hier:

http://img.photobucket.com/albums/v61/devilhope/muster.jpg


erste aufgabenteil

Die Lichterkette soll zeitlich, hochgenaue Lichtwechsel ausführen.. (so 
Dioden/Taster an den Ports/pins halt.. eben...) Man benötigt Zeitbasis 
von 500ms. Initialisieren Sie, den Timer0 so, dass genau einmal alle 
500ms ein interrupt service routine nebenläufig aufgerufen wird. Die 
Quarzfrequenz beträgt 0.032768Mhz (gewöhnlicher uhrenquarz)..


so beginnt der code...(man muss den code aufschreiben)


void initTimer0()
{





Der zweite aufgabenteil...

 Warum kann man die vorherige Aufgabe mit Timer 4.096000Mhz oder 
0.030000Mhz lösen ??


noch ein aufgabenteil

Um die Verlustleistung!! abzusenken soll die CPU zwischen zwei wechseln
am LED muster angehalten werden. geben sie die Änderung für folgende 
main funktion:

int main()
{


initKey(); //funktion zu tasterabfrage
initTimer0();


while(1)
    {



    }


}


Danke im vorraus !!

Autor: Greenman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja, es geht um Atmega8 (8mhz) wenn es man überhaupt braucht.

Autor: tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1. Der Scan ist nicht gut, d.h. es ist quasi garnichts darauf zu 
erkennen.
2. Wo sind deine Ansätze bzw. eine konkrete Frage zu deinem Problem?

Autor: Klausuraufsicht (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist denn das? Unter dem Tisch fotografiert und mit dem Handy in 
Forum gepostet? Wer schreibt denn um diese Uhrzeit noch eine Klausur? 
:-)

Autor: Greenman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Bild braucht kaum für die Aufgabenteile die ich gelistet habe. Es 
interessiert mich hauptsächlich wie man die Sache mit den Quarzclock 
(Taktgeber) macht. Also eigentlich die Formel und den Code macht ohne 
OCR nur mit timer0 ueberlauf. Oder mit ocr wenn es mit uebarlauf zu 
kompliziert ist.

Autor: Der Herr Lehrer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dreh Dich mal um ich steh hinter Dir mit dem Zeigestock!!!

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo ist eigentlich das Problem? Sieht aus, wie ne Aufgabe, die jeder 
Hobbybastler in einer Stunde runter hat. Nur mit Tutorial und Datenblatt
Recherche....


Soooo schwer ist das ja auch nicht, dass man nicht drauf kommen könnte.

Die Grundlegenden Fragen sind nur:

- Wie funktioniert ein Timer
- Wie funktioniert die Poartausgabe
- Und vielleicht noch, ob der Uhrenquarz am XTAL oder am 
Timer-Oscillator hängt.....

Autor: Besserwisser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, was für eine Schule oder Uni ist das denn?

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit Überlauf: Register nachladen.

Sonst: Die Datenblätter von Atmel zu den AVRs sind eigentlich 
mustergültig, alles mit C- und ASM-Beispielprogramm. Dann gibts hier 
noch ein Tutorial und für ASM-Grundlagen suche man bei Google nach 'avr 
asm tutorial', gleich das erste. C-Grundlagen lernt man anhand des 
'Programmieren in C' von K&R, das ist leicht zu lesen und beinahe schon 
humorvoll.

Autor: Greenman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich dachte ich bekomme eine klare antwort. Ich habe schon 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Timer aber zur 
Zeit habe ich liege ich im Haufen Kot ^_^ und bräuchte so wie eine 
Erklärung zur Aufgabe da ^_^ MfG

Autor: Atmega8 Atmega8 (atmega8) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Quarz hat 0.032768Mhz, also 32768HZ.
Jetzt stellst du den Prescsaler auf 1024
( TCCR0 = (1 << CS00) | (1 << CS02); ) und dein Interrupt wird nur noch 
alle 1/32 Sekunden ausgelöst.

In der ISR noch eine Schleife die 16 mal die Interrupts mitzählt und 
dann dort meinetwegen die Taster noch abfragen.

aber ... gearbeitet wird im Hauptprogramm.

Schau doch mal ins Tutorial und in das Datenblatt vom Atmega8.

Zum zweiten Aufgabenteil: Kannst mal überlegen was der Prescaler macht.

Autor: was-willst-du (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Denke, die Klausur ist vorüber. Wahnsinn.

Autor: Greenman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klausur erst morgen ^_^
Wenn jemand kann bitte, noch ergänzen. Danke sehr !

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Dein Quarz hat 0.032768Mhz, also 32768HZ.
> Jetzt stellst du den Prescsaler auf 1024
> ( TCCR0 = (1 << CS00) | (1 << CS02); ) und dein Interrupt wird nur noch
> alle 1/32 Sekunden ausgelöst.

Nöö, zu kompliziert.
32768 Hz / 256 (Überlauf des Timers) = 128, mit Prescaler 64 macht das 
eine Frequenz von 2Hz. Also genau alle 500ms. So kann ich mir blödes 
händisches Zählen sparen.

>  Warum kann man die vorherige Aufgabe mit Timer 4.096000Mhz oder
> 0.030000Mhz lösen ??

Weil Prescaler und ggf. Output-Compare-Register verwendet werden können, 
um die Interruptfrequenz recht granular zu regeln.

> Um die Verlustleistung!! abzusenken soll die CPU zwischen zwei wechseln
> am LED muster angehalten werden. geben sie die Änderung für folgende
> main funktion:


http://www.atmel.com/dyn/resources/prod_documents/...

Kapitel "Power Management and Sleep Modes"

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.