Da gibts ne Application Note zum Thema "Long Delays". Da kaskadierst du die Timer, welche den Controller mittels interrupt aus dem Sleep wecken.
Hab das vor ein paar Wochen in C "übersetzt" (jaja, für nen mega Bild  , wenn du's brauchst, schau ich, ob ich's noch irgendwo find (...ein paar Windows-Neuinstallationen später Bild   )

Tschüß,
R2D3212