Кроме того, микроконтроллеры PIC можно тактировать от внешнего генератора. Эта возможность может быть полезна при работе нескольких устройств от одного тактового сигнала. В этом случае внешний генератор подключается к выводу OSC1 микроконтроллера, а вывод OSC2 оставляют неподключенным или заземляют через резистор, чтобы уменьшить уровень помех. Сигнал генератора должен удовлетворять следующим требованиям: напряжение НИЗКОГО уровня V1L < 0.3 VDD, а напряжение ВЫСОКОГО уровня V1H > 0.7 VDD[133]. При использовании внешнего генератора микроконтроллеры PIC должны работать в соответствующем по частоте режиме, рассчитанном на подключение резонатора.
Использование целых двух выводов для подключения времязадающих элементов слишком расточительно в случае 8-выводных устройств, особенно если учесть, что два вывода в любом случае используются для подачи питания! По этой причине в моделях с малым числом выводов обычно имеются дополнительные режимы схемы тактирования, предназначенные для высвобождения одного или даже обоих выводов под нужды ввода/вывода. В Табл. 10.2 для примера приведены режимы работы микроконтроллеров PIC12F629/675. В этих режимах используется генератор с внутренней RС-цепочкой, формирующий сигнал частотой 4 МГц. Как и в случае внешней RС-цепочки, реальное значение частоты можно определить только с известной долей приближения, однако для каждого конкретного экземпляра микроконтроллера программист может подстроить частоту, изменяя значение четырех младших битов регистра OSCAL (Oscillator CALibrate — калибровка генератора). За счет этого можно получить 16 слегка отличных друг от друга значений. Наилучшее из этих значений заносится при изготовлении микроконтроллера в последнюю ячейку памяти программ в виде команды retlw n. Таким образом, программист может в блоке инициализации программы выполнить эту команду с последующим копированием значения, возвращенного в W, в регистр OSCAL.
В режиме INTOSC2 на вывод OSC2 выдается тактовый сигнал для управления внешними узлами, как показано на Рис. 10.5,
Режим работы тактового генератора является всего лишь одной из опций, которые можно задавать в момент записи программы в память программ микроконтроллера. В принципе если вы не собираетесь разрабатывать собственный программатор, то вам будет совершенно неважно, каким образом осуществляется собственно процесс программирования. Но скорее всего вы будете использовать коммерческий
Тем не менее для полноты изложения на Рис. 10.6, а приведена схема подключения микроконтроллера при так называемом
Большинство новых микроконтроллеров PIC поддерживают также режим
Рис. 10.6.