johnwasser:
It should be a problem for frequencies BELOW 2.5 kHz. Frequencies too low without a prescale will give you a value of TOP greater than 65535, the largest number that fits in a 16-bit register.
Oops. I got 6,400 AND 64,000 confused. Ignore this part.
16,000,000 / 2,500 = 6,400 so that should work fine in a 16-bit counter.
16,000,000 / 5,000 = 3,200 so that should work fine in a 16-bit counter.
With a 16-bit timer you should be able to get down to 244 Hz and up to 8 MHz.
Perhaps it is time to show your code.