ja widzę parę ale to wszystko kwestia kompromisów aktualnie rozglądam się za precyzyjnymi generatorami po magistrali i2c aby jeszcze tą drogę zbadać.
bdw kodu który mi podesłałeś jest ok ale jego dokładność w odzwierciedlaniu tej częstotliwości jest wątła. należy zmienić tego inputbin'a dodatkowo ja aby zmienić wypełnienie wyjścia o ile się da bo jeszcze nie próbowałem dodał bym coś takiego
W = Timer1
wypelnienie= lookup (B , duty)
if W<=wypelnienie than portb.1=1
else
portb.1=0
End if
(B to numer nuty która została wciśnięta)
od razu podkreślę nie wiem czy będzie działać ale niebawem się sam zabawie w to bo narzie intensywnie czytam na ten temat

Pozdrawiam