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, wenn du's brauchst, schau ich, ob ich's noch irgendwo find (...ein paar Windows-Neuinstallationen später )

Tschüß,
R2D3212