Направление определяется автоматически, инкремент двух байт занимает ровно 2 такта. Разве ваш определитель перемещения подавляет дребезг?
Насчёт передачи двух байт ничего не напутали? По моей оценке скорость передачи у вас должна быть не менее 8Мбит/с, а 8Мбит/с это предел для атмеги с клоком 16 МГц. Тем не менее инициация передачи на 8Мбит/с займёт один такт.
Подобьём бабки: прерывание 18МС из 32, надо вводить задержку на 14МС.