Also ich würde es so machen:
Mit dem interrupt einen FESTE Zeit erstellen zum Beispiel alle 100µS ein interrupt. dann würde ich mit jedem interrupt eine Variable incrementieren, bis die einen bestimmten wert erreicht hat ( dieses kann man in Main festlegen ) und erst den den ausgang toggeln und dann alles auf null setzen ( timer und Variable )