Непонятно что у тебя за типы у всяких I, delt'ов. Если они целые, то арифметика при вычислениях соврёт, если флот - какого чорта делаешь if (I==0) - это почти фантастика попасть. Это было первое. А теперь второе. Обзови ее обычной функцией, дай ей фальшивые входные данные и вызови как обычную функцию в отладчике, прям где-нибудь в main. И посмотри, на сколько тактов ты оглох и ослеп, выполняя прерывание. Имхо, тут %10 точности можно запросто проворонить на 2 МГц.