to Jimmi
Вообще говоря считать входную частоту через внешнее прерывание - это совсем неправильно

. Такой способ подходит для точного измерения очень низких частот. Для измерения мегагерц куда правильнее подавать счетные импульзы на специально предазначенный для этого вход T1 таймера1. При этом максимальная частота счета теоретически равна половине тактовой а на практике немного меньше. На кварце в 16 Мгц можно получить около 7500 кГц.
Для подсчета хватит и 24 битного счетчика, при точности 1 Гц, так как он может начитать 2^24 = 16,777 млн импульсов. Т.е. вам понадобится только один дополнительный регистр, который нужно инкрементировать при каждом переполнении Таймера1.
Дерзайте