ну и в чем проблема, если килогерц... то millis хотя для точности все же micros

глобально
miliss = 0x00;
в прерывании
delta = millis() - miliss;
miliss = millis();

дельта это время от прошлого прерывания до текущего в милисекундах, не считая первого, первое будет временем от запуска дуины до начала вращения энкодера.