вы переинициализируете таймер прерывания без его остановки - надо выполнить ClearIRQ перед новым SetIRQ