Wie "sauber" soll es denn werden? Du kannst z.B. 8 Ausgänge über eine
Widerstandskaskade als DA-Wandler zusammenschalten. Ich bin kein
Assembler-Freak, aber ich denke, Minimum 4 Take braucht man für eine
Schleife, die Werte aus einer Tabelle auf den Port ausgibt. Noch die
Abfrage des Wechsels zwischen den Frequenzen, dann bist du sicher bei
6-7 Takten pro Durchlauf. Gehen wir mal von 16 MHz Takt aus, dann
bleiben vielleicht 3MSamples/s Ausgabe - vermutlich weniger. Da sind
dann schon einige Zacken im Sinussignal drin. Allerdings könnte man die
Kurve über einen Tiefpass wieder etwas abrunden - aber ein sauberer
Sinus wird es dadurch natürlich nicht. Die Frage bleibt also: Wie genau
soll das Sinussignal sein?