Цитата(sbw @ Dec 18 2007, 17:53)

Посоветуйте что-нибудь.
Подайте на любой вход опорную частоту. Пусть это будет 1 Khz.
заведите таймер на отсчет одной секунды c коеф. деления - 9.6M.
Если ипульсов за внутреннюю "секунду" насчитается больше тысячи - то частота ниже 9.6Mhz делаем OSCCAL += 1, и повторяем опыт.. Если импульсов насчитается меньше 1000, то частота соответвенно выше чем 9.6Mhz - делаем OSCCAL -= 1. Когда застрянете между двумя значениями OSCCAL'a - выбирайте то которое дает меньшее отклонение по числу импульсов.
e.g:
OSCCAL 129 - 996
OSCCAL 128 - 1016
выбираем 129, т.к. отклонение составляет (1000 - 996) * 100% / 1000 = 0.4%