Я использую микроконтроллер PIC (PIC16F1846) с внешним кристаллом 8 МГц, подключенным к внешним тактовым контактам (RA6 и RA7).
Почему, когда я использую пробник осциллографа для измерения тактовой частоты, моя базовая программа мигания светодиодов перестает работать (состояние свечения зависает), и мне приходится выполнять сброс?
Попробуйте пробник 10x (не 1x) на контакте OSC2. Вы должны видеть часы. Частота будет незначительно изменена при загрузке зонда.
Я не думаю, что ваш номер детали правильный, но большинство чипов 16F похожи.
Редактировать: загрузка зонда осциллографа объясняется в этой статье Tektronix.
Способность вытягивания кристаллов объясняется в этих указаниях по применению. Обратите внимание, что типичная нагрузка от датчика с 10-кратным увеличением изменит частоту примерно на 100 частей на миллион (0,01%), что неважно во многих приложениях, кроме хронометража.
Это отдельная, но родственная тема.
Измерение частоты на выходе генератора говорит вам о частоте генератора, а не обязательно о тактовой частоте инструкции. На старых PIC это составляло всего 1/4 частоты генератора. Однако многие более новые PIC имеют более сложные цепочки синхронизации, с PLL и различными дополнительными делителями.
Это хорошая идея, как можно раньше убедиться, что часы обучения действительно такие, как вы думаете. Я обычно делаю это, когда мой основной цикл изначально просто переключает булавку. Сначала настройте банк для соответствующего регистра LAT, затем BSF, BCF и BRA, чтобы сделать это снова. Это должно занять 4 цикла команд. Вы смотрите на это на осциллографе и проверяете, что частота выводов действительно составляет 1/4 частоты инструкций, которую вы ожидали.
Емкость зонда может привести к сбою генерации часов. Самый простой способ предотвратить это — подключить резистор к центральному контакту щупа и выполнить измерение, поместив другую ножку резистора на кристалл. 100 Ом будет нормально.
Бимпельрекки