Поскольку в прототипе использован только один вход А4, то все же думаю, что использована синхронизация начала счета.
Алгоритм мог быть таким. После включения питания регистрам MEMO1:=0 и MEMO2:=0. Переходим к п.1.
1. В TMR0 записываем 0xFFFF (можно подобрать другое число), прескалер 256.
2. Когда входной сигнал начинает расти, то при достижении определенного уровня начинается счет. Через 256 импульсов входной частоты возникает прерывание по переполнению таймера. Предполагаем, что это фронт огибающей сигнала.
3. Включаем измерение частоты на 100 мкс. Запоминаем значение частоты в регистрах MEMO2.
4. Продолжаем счет по кольцу до нескольких пустых значений частоты - выявление паузы.
5. Если MEMO1 и МЕМО2 не равны (частота изменилась), то блокируем передатчик на 30-70 мс для переключения реле и вывода на индикаторы. МЕМО1:=МЕМО2 (запоминаем текущую частоту).
6. Задержка 0,5-1,0 с. Чаще диапазоны переключатся не будут.
7. Продолжаем счет по кольцу до нескольких пустых значений частоты - выявление паузы. Если пауза возвращаемся к п.1.
Таким образом, частота измеряется только на фронтах огибающей после паузы.
Уровень входного сигнала нужно установить таким, чтобы переключение диапазонов происходило при самых тихих звуках.