Für die Erzeugung der richtigen Frequenz gibt es verschiedene Möglichkeiten:
1) Ähnlich wie beim DDS Generator machen. Da die nötige Frequenz hier relativ niedrig ist, ist die Laufzeit nicht so kritisch und die Routine kann in eine Timer ISR statt der sonst üblichen Schleife mit fester Laufzeit. Die genaue Geschwindigkeit kann man in Software über das Phasenincrement einstellen. Auch 24 Bit Auflösung sind da kein großes Problem, das ist besser als die meisten Quarze.

2) Die Schritte werden über einen Timer-interrupt gesteuert. Die 36,... ms sind schon rund 36000 Schritte bei 1 MHz Timer takt - da hat man also schon rund 15 Bit Auflösung in der Zeit. Mit viel suchen könnte man einen passenden Quarz finden um damit noch etwas besser hin zu kommen. Alternativ kann man auch zusätzliche Auflösung gewinnen durch zeitweises umschalten der Teilers zwischen 2 Werten. Damit kann man dann noch einmal 8 oder ggf. auch 16 Bit zusätzliche Auflösung gewinnen - da dabei dann einige Schritte mal um 1 µs daneben liegen ist kein Problem, Hauptsache in der Summe stimmt es und die Fehler summieren sich nicht auf. Auch hier kann die Geschwindigkeit sehr fein (z.B. 24 Bit Auflösung) in der Software eingestellt werden. Dieses Verfahren würde ich vorziehen, weil es wohl etwas einfacher ist, und die Rechenzeit nicht so kritisch ist.

Welchen µC ( AVR, PIC , ggf. auch 8051) man nimmt ist dabei relativ egal, ein geeigneter 16 Bit Timer wäre aber schon ganz gut.