Problema con software frequenzimetro

Salve a tutti!
Ho realizzato un frequenzimetro con ARDUINODUE.
Esso infatti pilota 6 display 7 segmenti controllati da 6 transistors e un HCF4511B.
Sul pin 45 digitale è stato applicato il segnale ad onda quadra positiva con picco 3V.
Le routine che convertono la variabile imp in cifre sui display funzionano,
quindi non rimane che cercare il problema sul codice degli interrupt.
Il problema consiste nella visualizzazione sbagliata del valore della frequenza: infatti se do una frequenza di 1Hz invece di visualizzare 1 visualizza 3, 5, 7, 3, 7, 5Hz.
Voglio capire il perchè di tale comportamento nonostante le routine di visualizzazione siano
corrette.
Ecco il codice che permette di realizzare il frequenzimetro:

Ecco il sorgente:

frequenzimetro.ino (9.22 KB)