www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Takt erzeugen mit uC über Timer


Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe an meinen uC einen Quarz angeschlossen und nun möchte ich ein 
weiteres Bauteil mit einem Takt von meinem uC versorgen. Nur wie sieht 
denn so ein Takt genau aus? Mir ist schon klar dass das immer 1-0-1-0 
usw im gewünschten Takt sein wird aber wie lange muss denn die 1 
anliegen oder spielt das gar nicht so ne Rolle da eh auf die Flanken 
geschaut wird?

Autor: Fabian B. (fabs)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
meist sollte das Tastverhältnis 50:50 sein.
Wenn du einen neueren Atmel uC benutzt schau mal ins Datenblatt, die 
können nämlich ihren Takt an einem weiteren Pin (auch herunter geteilt) 
wieder ausgeben. Dann läuft das alles in Hardware und keine muss sich 
drum kümmern.

Gruß
Fabian

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
boah, das wäre natürlich geil! :-) habe einen ATmega8, schaue gleich mal 
nach oder weisst du da gerade mehr?

Autor: AVRFan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie hoch soll denn die Taktfrequenz sein? Langsame Takte kannst Du mit 
geringem Aufwand softwaremäßig erzeugen (als Output konfigurierten Pin 
im Interrupthandler toggeln).  Der Vorteil ist eine höhere Flexibilität. 
Bei hohen Taktfrequenzen bist Du auf die hardwaremäßige Erzeugung 
angewiesen.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> habe einen ATmega8, schaue gleich mal nach oder weisst du da gerade
> mehr?

Der Atmega8 hat sowas nicht. Die pinkompatiblen Atmega48/88/168 dagegen 
schon. Die können an PB0 den Takt ausgeben.
Beim Atmega8 könntest du z.B. Timer2 im CTC-Modus benutzen, wenn der 
noch frei ist. Damit kannst du in Hardware ein Taktsignal mit 
konfigurierbarer Frequenz (max. die Hälfte des Prozessortaktes) an PB3 
generieren.

Autor: AVRFan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit Timer1 gehts beim ATmega8 auch, z. B. CTC-Modus mit COM1A1=0, 
COM1A0=1 ==> Toggle OC1A (=PB1) on Compare Match.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, Timer1 geht auch, aber damit "verschwendet" man einen 16-Bit-Timer 
mit zwei PWM-Ausgängen statt nur einen 8-Bit-Timer mit einem Ausgang.
Deshalb habe ich Timer2 vorgeschlagen.

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.