PIC 16F887 и загадочный бит выбора системных часов (SCS)

Я использую PIC 16F887, и я хотел бы использовать внутренний генератор HFINTOSC. Для этого я установил биты IRCF 2:0 на 110 (предделитель 4 МГц) и биты конфигурации FOSC 2:0 на INTOSC.

Теперь я должен сделать кое-что, чего я действительно не могу понять: согласно таблице данных (см. стр. 61) я должен установить бит SCS, чтобы использовать внутренний источник синхронизации (см. окончательный MUX на диаграмме на стр. 61). Поскольку бит SCS находится в регистре OSCON, я должен установить его программно в своем коде, но самому коду для выполнения требуется источник тактового сигнала! Как я могу выполнить код, чтобы установить бит для использования часов, если коду в первую очередь нужен источник часов?????

Цитирую даташит на бит SCS:

4.6.1 БИТ ВЫБОРА СИСТЕМНЫХ ЧАСОВ (SCS) Бит выбора системных часов (SCS) регистра OSCCON выбирает источник системных часов, который используется для ЦП и периферийных устройств. • Когда бит SCS в регистре OSCCON=0, источник системных часов определяется конфигурацией битов FOSC<2:0> в регистре 1 слова конфигурации (CONFIG1). • Когда бит SCS регистра OSCCON = 1, источник системных тактовых импульсов выбирается частотой внутреннего генератора, выбранной битами IRCF<2:0> регистра OSCCON. После сброса бит SCS в регистре OSCCON всегда сбрасывается.

Ответы (1)

Вам не нужно также записывать бит SCS, если вы уже выбрали внутренний генератор в битах конфигурации.

бит 0 SCS: Бит выбора системных часов

  • 1 = внутренний генератор используется для системных часов
  • 0 = источник синхронизации определяется FOSC<2:0> регистра CONFIG1.

Бит SCS по умолчанию равен 0, поэтому системные часы выбираются битами FOSC<2:0> CONFIG1.

Вам даже не нужно устанавливать биты IRCF<2:0>, потому что их значение сброса равно 110 = 4 МГц.

То есть, чтобы выбрать внутренние часы на частоте 4 МГц, мне не нужно трогать какие-либо регистры? (слово конфигурации исключено)
@G_G Это моя интерпретация таблицы данных. Я использовал только PIC16F887 с внешним генератором.