mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Funktionsgenerator Andreas Schwarz


Autor: Thomas (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Kann mir vielleicht irgendjemand mal erklären, wie in dem Code von
Andreas Schwarz die Frequenzumstellung funktioniert?
Ich versteh das einfach net! Wenn man z.B. den Taster "Frequenz
erhöhen" drückt lädt man Werte in die Register Change1, 2 und 3. Aber
das hat doch dann keinerlei Auswirkungen auf das Timerinterrupt oder
die Ausgabe der Hex-Werte an den PortD.
Würde mich über Hilfe freuen.

Thomas

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Doch und zwar hier:
add z1, change1                   ; Phasenakkumulator
adc z2, change2
adc z3, change3

Hier wird quasi die Auflösung des Signals verändert.
Je höher der Wert, desto schneller wird eine Signalperiode durchlaufen
und desto höher die Frequenz.
Ein Nachteil an dieser Software ist die niedrige Samplerate von 256kHz.
Damit lassen sich maximal 10kHz Sinus, Dreieck und Rechteck erzeugen,
oder man verwendet für jede Kurvenform einen eigenen Filter, dann geht
es bei Sinus bis etwa 100kHz.

Ich verwende einen eigenen uC für die Signalerzeugung und erreiche mit
einem übertakteten AT90S2313 2MHz Samplerate. Dies erzeugt eine saubere
Sinus, Dreieck, Sägezahn und Rechteck Kurve bis 100kHz. MIt
entsprechendem Filter auch ein Sinussignal mit 1MHz...

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann müsste doch der Inhalt von Z1, Z2 und Z3 Auswirkungen auf das
Timerinterrupt haben, z.B. mit Veränderung des Compare-Wertes. Aber wo
wird im Programm gesagt das die Zeitabstände zwischen den Ausgaben der
Hex-Werte größer werden soll?

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.