www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wie mit dem Timer variable Frequenzen einstellen?


Autor: Edgar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jungs,

ich habe eine Problemstellung, wo ich absolut nicht mehr mit klar komme 
und wollte nach Rat fragen.
Ich möchte den Timer so umfunktionieren, dass ich sozusagen ein 
Rechteckgenerator mit variabler Frequenz bekomme. Ich stelle mit einer 
Displayfunktion und ein paar Tastern eine Frequenz ein und ich möchte, 
dass mein Rechtecksignal dieser eingestellten Frequenz entspricht. Wie 
könnte man da vorgehen und dem µc (ATmega8) diese Funktion beibringen?
Besten Dank schon mal...
LG Edgar

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Timer Interrupt! Für jede Frequenz änderst du einfach den Counter (TCNT) 
entsprechend ab, dass eben die gewünschte Frequenz dabei herauskommt. In 
der ISR änderst du dann immer (z.B. einfach mit XOR einen Portpin). 
Interrupts werden gut im AVR-GCC-Tutorial von dieser Seite beschrieben.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mach es mit Timer 1 (16 Bit) oder 2 (8 Bit), je nachdem, welche 
Auflösung Du benötigst. Den betreffenden Timer betreibst Du dann im 
CTC-Modus. Timer-Pre- und Re-Load (also am TCNTx rumspielen) macht man 
bei den AVRs nicht, das wird auch noch ungenau. Und einen Interrupt 
brauchst Du dann auch nicht, das geht alles in Hardware. Es wird nur in 
einem der Compare-Register der Wert gesetzt (Teiler) und an dem 
betreffenden Compare-Ausgang wird das Signal ausgegeben. Der Timer muss 
so konfiguriert werden, dass der Pin jeweils getoggelt wird.

Autor: Björn R. (sushi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal hier, das macht genau das beschriebene:
http://modellbau.bug-soft.net/index.php?cat=et&art...

LG, Björn

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.