I would suggest to trigger start your Sleep Entry in the while(1) loop. When the timer interrupt occurs the uC will wake. On the next while(1) execution the uC will enter sleep mode again. The awakening will be done on the timer interrupt. And so on....