Академический Документы
Профессиональный Документы
Культура Документы
Оглавление
Общие положения.
Числовая форма конфигурирования
1. Структура слова конфигурации PIC16F84/84A и варианты их конфигурирования
2. Структура слова конфигурации PIC12F629/675, PIC16F630/676 и варианты их
конфигурирования
3. Структура слова конфигурации PIC16F628/628A и варианты их конфигурирования
(с учётом неодинаковости их “конфигослов”)
4. Структура слова конфигурации PIC16F873/874/876/877 и варианты их
конфигурирования
5. Структура слова конфигурации PIC16F873A/874A/876A/877A и варианты их
конфигурирования
6. Структура слова конфигурации PIC16F631/677/685/687/689/690, PIC12F683 и варианты их
конфигурирования
Символьная форма конфигурирования
1А. Варианты конфигурирования PIC16F84/84A
2А. Варианты конфигурирования PIC12F629/675, PIC16F630/676
3А. Варианты конфигурирования PIC16F628/628A (с учётом неодинаковости их “конфигослов”).
4A. Варианты конфигурирования PIC16F873/874/876/877
5A. Варианты конфигурирования PIC16F873A/874A/876A/877A
6A. Варианты конфигурирования PIC16F631/677/685/687/689/690, PIC12F683
“Гибридная” форма конфигурирования (общие положения)
Общие положения
Примечание: в PIC12F683, “конфигослово” состоит не из 14-ти (№13 … №0), а из 16-ти битов (№15 … №0), но по
причине того, что биты №15 и №14 не используются, можно условно считать, что “конфигослово” PIC12F683 состоит
из 14-ти битов (№13 … №0). То есть, биты №15 и №14 можно проигнорировать.
1
По причине того, что технические возможности различных типов ПИКов различны,
остальная “начинка конфигослова варьируется” в зависимости от типа ПИКа.
Даже в приложении к конкретному типу ПИКа (не говоря уж о нескольких типах ПИКов), возникает
многовариантность “конфигонастроек”, выбор одной из которых “не страдает могучей
комфортабельностью”.
Ниже осуществлена попытка “повышения уровня этой комфортабельности” (а заодно и
“сведения до системной кучи разбросанного там-сям”), что позволит уменьшить трудозатраты,
связанные с выбором нужных “конфигонастроек” и минимизировать “уровень
конфигоошибок”, допущенных по-невнимательности, по-недоразумению и т.п. (эти ошибки ох
как дорого стОят!).
Примечание: по причине того, что я не вижу веских оснований для выключения PWRT (за исключением редких
случаев), во всех “нижележащих” вариантах “конфигослов”, таймер включения питания работает (это нужная
“штуковина”). Выбранный Вами вариант “конфигослова” нужно просто скопировать в текст программы.
Например:
__CONFIG 3FF1H ; Защита выключена, PWRT включен, WDT выключен,
; XT - генератор.
Цвета фона и символов, в текстовый редактор MPLAB, не копируются (“DOC-разукрасил” для удобства ориентации.
Как индейца на тропе войны. Люблю колоритные образы. Они легче запоминаются).
В него будет скопировано строго содержимое того, о чём сказано выше, причём, сугубо в чёрном цвете и в
моноширном, MPLABовском шрифте Courier. Так что копируйте без опасений (“бяк” не будет).
Общее замечание: содержимое защищённого PC/EEPROM массива (массивов) считывается программатором в виде
массива (массивов), состоящего из нолей.
Снятие защиты (с помощью программатора) приводит к уничтожению защищённых (от считывания) данных.
2
Защита выключена, WDT включен
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 1 0 1 0 0 3FF4h
__CONFIG 3FF4h ; Защита выключена, PWRT включен, WDT включен,
; LP - генератор.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 1 0 1 0 1 3FF5h
__CONFIG 3FF5h ; Защита выключена, PWRT включен, WDT включен,
; XT - генератор.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 1 0 1 1 0 3FF6h
__CONFIG 3FF6h ; Защита выключена, PWRT включен, WDT включен,
; HS - генератор.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 1 0 1 1 1 3FF7h
__CONFIG 3FF7h ; Защита выключена, PWRT включен, WDT включен,
; RC - генератор.
Защита включена, WDT выключен
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0h
__CONFIG 0h ; Защита включена, PWRT включен, WDT выключен,
; LP - генератор.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1h
__CONFIG 1h ; Защита включена, PWRT включен, WDT выключен,
; XT - генератор.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 0 0 0 0 0 0 0 0 0 1 0 2h
__CONFIG 2h ; Защита включена, PWRT включен, WDT выключен,
; HS - генератор.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 0 0 0 0 0 0 0 0 0 1 1 3h
__CONFIG 3h ; Защита включена, PWRT включен, WDT выключен,
; RC - генератор.
Защита включена, WDT включен
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 0 0 0 0 0 0 0 0 1 0 0 4h
__CONFIG 4h ; Защита включена, PWRT включен, WDT включен,
; LP - генератор.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 0 0 0 0 0 0 0 0 1 0 1 5h
__CONFIG 5h ; Защита включена, PWRT включен, WDT включен,
; XT - генератор.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 0 0 0 0 0 0 0 0 1 1 0 6h
__CONFIG 6h ; Защита включена, PWRT включен, WDT включен,
; HS - генератор.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 0 0 0 0 0 0 0 0 1 1 1 7h
__CONFIG 7h ; Защита включена, PWRT включен, WDT включен,
; RC - генератор.
3
..3 à GP3 MCLR). Так как ..3 мультиплицирован с MCLR, то
Для PIC16F630/676 ..3 работает только “на вход”.
..3 à RA3
4 -PWRTE Бит управления таймером 1 à PWRT выключен
включения питания 0 à PWRT включен
3 WDTE Бит управления сторожевым 1 à WDT включен
таймером 0 à WDT выключен
111 à RC-генератор.
Внешняя RC-цепочка подключается к ..5.
На ..4 присутствует сигнал с Fosc/4.
110 à RC-генератор.
Биты выбора режима работы Внешняя RC-цепочка подключается к ..5.
тактового генератора ..4 работает как канал ввода/вывода.
011 à EC-генератор.
На ..5 подаётся внешний такт.
..4 работает как канал ввода/вывода.
Примечание: В “пустышные” биты №11…9 ничего записать нельзя. Они всегда читаются как “1”.
Пусть в них будут якобы “записываться” единицы (см. выделенное тёмно-серым цветом).
4
; (GP5 работает как канал ввода/вывода.На GP4 присутствует
; сигнал с Fosc/4).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 1 0 0 1 1 0 0FA6h
__CONFIG 0FA6h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод GP3 работает как MCLR, RC – генератор
; (внешняя RC-цепочка подключается к GP5.GP4 работает как
; канал ввода/вывода).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 1 0 0 1 1 1 0FA7h
__CONFIG 0FA7h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод GP3 работает как MCLR, RC – генератор
; (внешняя RC-цепочка подключается к GP5. На GP4 присутствует
; сигнал с Fosc/4).
Защита выключена, WDT включен, сброс BOR запрещён, вывод GP3
работает как MCLR
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 1 0 1 0 0 0 0FA8h
__CONFIG 0FA8h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод GP3 работает как MCLR, LP - генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 1 0 1 0 0 1 0FA9h
__CONFIG 0FA9h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод GP3 работает как MCLR, XT - генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 1 0 1 0 1 0 0FAAh
__CONFIG 0FAAh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод GP3 работает как MCLR, HS - генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 1 0 1 0 1 1 0FABh
__CONFIG 0FABh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод GP3 работает как MCLR, EC - генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 1 0 1 1 0 0 0FACh
__CONFIG 0FACh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод GP3 работает как MCLR, INTOSC – генератор
; (GP5 и GP4 работают как каналы ввода/вывода).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 1 0 1 1 0 1 0FADh
__CONFIG 0FADh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод GP3 работает как MCLR, INTOSC – генератор
; (GP5 работает как канал ввода/вывода.На GP4 присутствует
; сигнал с Fosc/4).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 1 0 1 1 1 0 0FAEh
__CONFIG 0FAEh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод GP3 работает как MCLR, RC – генератор
; (внешняя RC-цепочка подключается к GP5.GP4 работает как
; канал ввода/вывода).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 1 0 1 1 1 1 0FAFh
__CONFIG 0FAFh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод GP3 работает как MCLR, RC – генератор
; (внешняя RC-цепочка подключается к GP5. На GP4 присутствует
; сигнал с Fosc/4).
Защита выключена, WDT выключен, сброс BOR запрещён, вывод GP3
работает как канал ввода (MCLR внутренне подключен к +Uпит.)
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 0 0 0 0 0 0 0F80h
__CONFIG 0F80h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода, LP-генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 0 0 0 0 0 1 0F81h
__CONFIG 0F81h ; Защита выключена, PWRT выключен, WDT выключен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода, XT-генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 0 0 0 0 1 0 0F82h
__CONFIG 0F82h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода, HS-генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 0 0 0 0 1 1 0F83h
__CONFIG 0F83h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода, EC-генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 0 0 0 1 0 0 0F84h
__CONFIG 0F84h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
5
; запрещён, вывод GP3 работает как канал ввода,
; INTOSC–генератор(GP5 и GP4 работают как каналы ввода/вывода)
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 0 0 0 1 0 1 0F85h
__CONFIG 0F85h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода,
; INTOSC–генератор (GP5 работает как канал ввода/вывода.
; На GP4 присутствует сигнал с Fosc/4).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 0 0 0 1 1 0 0F86h
__CONFIG 0F86h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода, RC–генератор
; (внешняя RC-цепочка подключается к GP5. GP4 работает как
; канал ввода/вывода).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 0 0 0 1 1 1 0F87h
__CONFIG 0F87h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода, RC–генератор
; (внешняя RC-цепочка подключается к GP5. На GP4 присутствует
; сигнал с Fosc/4).
Защита выключена, WDT включен, сброс BOR запрещён, вывод GP3 работает как канал ввода (MCLR внутренне
подключен к +Uпит.)
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 0 0 1 0 0 0 0F88h
__CONFIG 0F88h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода, LP-генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 0 0 1 0 0 1 0F89h
__CONFIG 0F89h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода, XT-генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 0 0 1 0 1 0 0F8Ah
__CONFIG 0F8Ah ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода, HS-генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 0 0 1 0 1 1 0F8Bh
__CONFIG 0F8Bh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода, EC-генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 0 0 1 1 0 0 0F8Ch
__CONFIG 0F8Ch ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода,
; INTOSC–генератор(GP5 и GP4 работают как каналы ввода/вывода)
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 0 0 1 1 0 1 0F8Dh
__CONFIG 0F8Dh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода,
; INTOSC–генератор (GP5 работает как канал ввода/вывода.
; На GP4 присутствует сигнал с Fosc/4).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 0 0 1 1 1 0 0F8Eh
__CONFIG 0F8Eh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода, RC–генератор
; (внешняя RC-цепочка подключается к GP5. GP4 работает как
; канал ввода/вывода).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 0 0 0 1 1 1 1 0F8Fh
__CONFIG 0F8Fh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода, RC–генератор
; (внешняя RC-цепочка подключается к GP5. На GP4 присутствует
; сигнал с Fosc/4).
Защита выключена, WDT выключен, сброс BOR разрешён, вывод GP3
работает как MCLR
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 1 0 0 0 0 0 0FE0h
__CONFIG 0FE0h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод GP3 работает как MCLR, LP - генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 1 0 0 0 0 1 0FE1h
__CONFIG 0FE1h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод GP3 работает как MCLR, XT - генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 1 0 0 0 1 0 0FE2h
__CONFIG 0FE2h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод GP3 работает как MCLR, HS - генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 1 0 0 0 1 1 0FE3h
6
__CONFIG 0FE3h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод GP3 работает как MCLR, EC - генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 1 0 0 1 0 0 0FE4h
__CONFIG 0FE4h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод GP3 работает как MCLR, INTOSC – генератор
; (GP5 и GP4 работают как каналы ввода/вывода).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 1 0 0 1 0 1 0FE5h
__CONFIG 0FE5h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод GP3 работает как MCLR, INTOSC – генератор
; (GP5 работает как канал ввода/вывода.На GP4 присутствует
; сигнал с Fosc/4).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 1 0 0 1 1 0 0FE6h
__CONFIG 0FE6h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод GP3 работает как MCLR, RC – генератор
; (внешняя RC-цепочка подключается к GP5.GP4 работает как
; канал ввода/вывода).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 1 0 0 1 1 1 0FE7h
__CONFIG 0FE7h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод GP3 работает как MCLR, RC – генератор
; (внешняя RC-цепочка подключается к GP5. На GP4 присутствует
; сигнал с Fosc/4).
Защита выключена, WDT включен, сброс BOR разрешён, вывод GP3
работает как MCLR
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 1 0 1 0 0 0 0FE8h
__CONFIG 0FE8h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как MCLR, LP - генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 1 0 1 0 0 1 0FE9h
__CONFIG 0FE9h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как MCLR, XT - генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 1 0 1 0 1 0 0FEAh
__CONFIG 0FEAh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как MCLR, HS - генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 1 0 1 0 1 1 0FEBh
__CONFIG 0FEBh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как MCLR, EC - генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 1 0 1 1 0 0 0FECh
__CONFIG 0FECh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как MCLR, INTOSC – генератор
; (GP5 и GP4 работают как каналы ввода/вывода).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 1 0 1 1 0 1 0FEDh
__CONFIG 0FEDh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как MCLR, INTOSC – генератор
; (GP5 работает как канал ввода/вывода.На GP4 присутствует
; сигнал с Fosc/4).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 1 0 1 1 1 0 0FEEh
__CONFIG 0FEEh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как MCLR, RC – генератор
; (внешняя RC-цепочка подключается к GP5.GP4 работает как
; канал ввода/вывода).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 1 0 1 1 1 1 0FEFh
__CONFIG 0FEFh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как MCLR, RC – генератор
; (внешняя RC-цепочка подключается к GP5. На GP4 присутствует
; сигнал с Fosc/4).
Защита выключена, WDT выключен, сброс BOR разрешён, вывод GP3
работает как канал ввода (MCLR внутренне подключен к +Uпит.)
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 0 0 0 0 0FC0h
__CONFIG 0FC0h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода, LP-генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 0 0 0 1 0FC1h
__CONFIG 0FC1h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода, XT-генератор.
7
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 0 0 1 0 0FC2h
__CONFIG 0FC2h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода, HS-генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 0 0 1 1 0FC3h
__CONFIG 0FC3h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода, EC-генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 0 1 0 0 0FC4h
__CONFIG 0FC4h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода,
; INTOSC–генератор(GP5 и GP4 работают как каналы ввода/вывода)
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 0 1 0 1 0FC5h
__CONFIG 0FC5h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода,
; INTOSC–генератор (GP5 работает как канал ввода/вывода.
; На GP4 присутствует сигнал с Fosc/4).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 0 1 1 0 0FC6h
__CONFIG 0FC6h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода, RC–генератор
; (внешняя RC-цепочка подключается к GP5. GP4 работает как
; канал ввода/вывода).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 0 1 1 1 0FC7h
__CONFIG 0FC7h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода, RC–генератор
; (внешняя RC-цепочка подключается к GP5. На GP4 присутствует
; сигнал с Fosc/4).
Защита выключена, WDT включен, сброс BOR разрешён, вывод GP3 работает как канал ввода (MCLR внутренне
подключен к +Uпит.)
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 1 0 0 0 0FC8h
__CONFIG 0FC8h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода, LP-генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 1 0 0 1 0FC9h
__CONFIG 0FC9h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода, XT-генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 1 0 1 0 0FCAh
__CONFIG 0FCAh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода, HS-генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 1 0 1 1 0FCBh
__CONFIG 0FCBh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода, EC-генератор.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 1 1 0 0 0FCCh
__CONFIG 0FCCh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода,
; INTOSC–генератор(GP5 и GP4 работают как каналы ввода/вывода)
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 1 1 0 1 0FCDh
__CONFIG 0FCDh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода,
; INTOSC–генератор (GP5 работает как канал ввода/вывода.
; На GP4 присутствует сигнал с Fosc/4).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 1 1 1 0 0FCEh
__CONFIG 0FCEh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода, RC–генератор
; (внешняя RC-цепочка подключается к GP5. GP4 работает как
; канал ввода/вывода).
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 1 1 1 1 0FCFh
__CONFIG 0FCFh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода, RC–генератор
; (внешняя RC-цепочка подключается к GP5. На GP4 присутствует
; сигнал с Fosc/4).
8
Для того чтобы это сделать, сначала, из “вышележащего” списка, нужно выбрать
нужную Вам конфигурацию (не обращая внимания на биты CPD и CP), а затем, с помощью
любого HEX-калькулятора (рекомендую универсальный, “майкрософтовский” калькулятор calc. Он имеется на
CD: папка Программы à папка Калькуляторы à calc), вычесть, из числа, с которым работает
директива CONFIG, число 180h (110000000), после чего заменить число, с которым
работает директива CONFIG, на результат этого вычитания.
Например, пусть будет такая “мать” (00111111001111):
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 1 1 1 1 0FCFh
__CONFIG 0FCFh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода, RC–генератор
; (внешняя RC-цепочка подключается к GP5. На GP4 присутствует
; сигнал с Fosc/4).
FCFh – 180h = E4Fh (00111001001111)
Получается такая “дочь”:
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 0 0 1 0 0 1 1 1 1 0E4Fh
__CONFIG 0E4Fh ; PC/EEPROM-защиты включены, PWRT включен, WDT включен, сброс
; BOR разрешён, вывод GP3 работает как канал ввода,
; RC–генератор (внешняя RC-цепочка подключается к GP5. На GP4
; присутствует сигнал с Fosc/4).
Защита PC включена, защита EEPROM выключена (CP = 0, CPD = 1)
В данном случае, нужно вычесть 80h.
“Привяжусь” к указанной выше “матери”.
FCFh – 80h = F4Fh (00111101001111)
Получается такая “дочь”:
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 0 1 0 0 1 1 1 1 0F4Fh
__CONFIG 0F4Fh ; PC-защита включена, EEPROM-защита выключена, PWRT включен,
; WDT включен, сброс BOR разрешён, вывод GP3 работает как
; канал ввода, RC–генератор (внешняя RC-цепочка подключается к
; GP5. На GP4 присутствует сигнал с Fosc/4).
Защита EEPROM включена, защита PC выключена (CPD = 0, CP = 1)
В данном случае, нужно вычесть 100h.
“Привяжусь” к указанной выше “матери”.
FCFh – 100h = EСFh (00111011001111)
Получается такая “дочь”:
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 0 1 1 0 0 1 1 1 1 0ECFh
__CONFIG 0ECFh ; EEPROM-защита включена, PC-защита выключена, PWRT включен,
; WDT включен, сброс BOR разрешён, вывод GP3 работает как
; канал ввода, RC–генератор (внешняя RC-цепочка подключается к
; GP5. На GP4 присутствует сигнал с Fosc/4).
Комплексные варианты
Комбинаций может быть несколько.
Для объяснения сути, на мой взгляд, достаточно одного примера.
“Привяжусь” к указанной выше “матери” (для Вашего удобства, дублирую):
9
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
0 0 1 1 1 1 1 1 0 0 1 1 1 1 0FCFh
__CONFIG 0FCFh ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод GP3 работает как канал ввода, RC–генератор
; (внешняя RC-цепочка подключается к GP5. На GP4 присутствует
; сигнал с Fosc/4).
Допустим, что вдобавок к этому, нужно
выставить PC и EEPROM защиты,
установить верхний предел калибровки.
FCFh (“мать”) – 180h (PC и EEPROM защиты включены) + 3000h (установка верхнего предела калибровки) = 3E4Fh
(11111001001111)
Получается “дочь”, которая соответствует вожделеемому:
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 0 0 1 0 0 1 1 1 1 0FCFh
__CONFIG 3E4Fh ; PC/EEPROM-защиты включены, PWRT включен, WDT включен, сброс
; BOR разрешён, вывод GP3 работает как канал ввода,
; RC–генератор (внешняя RC-цепочка подключается к GP5. На GP4
; присутствует сигнал с Fosc/4). Верхний предел BOR-калибровки
Таким образом, имеется некая “основа” (“мать”), которая, путём внесения в неё
корректирующих поправок (если это необходимо), “трансформируется в вожделеемое
конфигослово”.
Таблица “конфигопоправок” для PIC12F629/675, PIC16F630/676
Варианты Действия Поправки
Защита PC и EEPROM включена (CPD=CP=0) вычесть 180h
Защита PC включена, защита EEPROM выключена (CP=0, CPD=1) вычесть 80h
Защита EEPROM включена, защита PC выключена (CPD=0, CP=1) вычесть 100h
Установка верхнего предела калибровки приплюсовать 3000h
Для PIC16F628
№ бита Название Функция
11 à PC-защита выключена
Биты защиты памяти 10 à PC-защита включена для PC-ячеек с
13…10 CP1, CP0 программ адресами 400h…7FFh
Пары CP1, CP0 (биты №13, 12 01 à PC-защита включена для PC-ячеек с
и биты №11, 10) должны иметь адресами 200h…7FFh
одинаковое значение 00 à PC-защита включена для PC-ячеек с
адресами 000h…7FFh
9 Не используется Запись в него невозможна. Читается как “1”.
10
111 à ER-генератор.
Внешний R подключается к RA7.
На RA6 присутствует сигнал с Fosc/4.
110 à ER-генератор.
Внешний R подключается к RA7.
RA6 работает как канал ввода/вывода.
101 à INTRC-генератор.
2…0 FOSC2…FOSC0 RA7 работает как канал ввода/вывода.
На RA6 присутствует сигнал с Fosc/4.
Биты выбора режима работы
тактового генератора 100 à INTRC-генератор.
RA6 работает как канал ввода/вывода.
RA7 работает как канал ввода/вывода.
011 à EC-генератор.
На RA7 подаётся внешний такт.
RA6 работает как канал ввода/вывода.
Для PIC16F628A
№ бита Название Функция
13 CP Бит защиты памяти 1 à PC-защита выключена
программ 0 à PC-защита включена
12…9 Не используются Запись в них невозможна. Читаются как “1”.
110 à ER-генератор.
Внешний R подключается к RA7.
RA6 работает как канал ввода/вывода.
101 à INTRC-генератор.
2…0 FOSC2…FOSC0 Биты выбора режима работы RA7 работает как канал ввода/вывода.
тактового генератора На RA6 присутствует сигнал с Fosc/4.
100 à INTRC-генератор.
RA6 работает как канал ввода/вывода.
RA7 работает как канал ввода/вывода.
011 à EC-генератор.
На RA7 подаётся внешний такт.
RA6 работает как канал ввода/вывода.
Примечание 1: В “пустышные” биты №9 (для PIC16F628) №12…9 (для PIC16F628A) ничего записать нельзя. Они
всегда читаются как “1”. Пусть в них будет якобы “записываться” единица (см. выделенное тёмно-серым цветом).
Примечание 2: по причине того, что режим низковольтного программирования используется редко, в “нижележащих”
вариантах конфигурирования, он выключен (LVP = 0. Вывод RB4/PGM работает как канал ввода/вывода).
12
Защита выключена, WDT включен, сброс BOR запрещён, вывод RA5
работает как MCLR
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 1 0 0 1 0 0 3F24h
__CONFIG 3F24h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод RA5 работает как MCLR, LP – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 1 0 0 1 0 1 3F25h
__CONFIG 3F25h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод RA5 работает как MCLR, XT – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 1 0 0 1 1 0 3F26h
__CONFIG 3F26h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод RA5 работает как MCLR, HS – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 1 0 0 1 1 1 3F27h
__CONFIG 3F27h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод RA5 работает как MCLR, EC – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 1 1 0 1 0 0 3F34h
__CONFIG 3F34h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод RA5 работает как MCLR, INTRC – генератор
; (RA6 и RA7 работают как каналы ввода/вывода).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 1 1 0 1 0 1 3F35h
__CONFIG 3F35h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод RA5 работает как MCLR, INTRC – генератор
; (RA7 работает как канал ввода/вывода.На RA6 присутствует
; сигнал с Fosc/4).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 1 1 0 1 1 0 3F36h
__CONFIG 3F36h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод RA5 работает как MCLR, ER – генератор
; (внешний R подключается к RA7. RA6 работает как
; канал ввода/вывода).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 1 1 0 1 1 1 3F37h
__CONFIG 3F37h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод RA5 работает как MCLR, ER – генератор
13
; (внешний R подключается к RA7. На RA6 присутствует
; сигнал с Fosc/4).
Защита выключена, WDT выключен, сброс BOR запрещён, вывод RA5 работает как канал ввода (MCLR
внутренне подключен к +Uпит.)
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 0 0 0 0 0 3F00h
__CONFIG 3F00h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод RA5 работает как канал ввода, LP - генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 0 0 0 0 1 3F01h
__CONFIG 3F01h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод RA5 работает как канал ввода, XT – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 0 0 0 1 0 3F02h
__CONFIG 3F02h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод RA5 работает как канал ввода, HS – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 0 0 0 1 1 3F03h
__CONFIG 3F03h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод RA5 работает как канал ввода, EC – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 1 0 0 0 0 3F10h
__CONFIG 3F10h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод RA5 работает как канал ввода, INTRC – генератор
; (RA6 и RA7 работают как каналы ввода/вывода).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 1 0 0 0 1 3F11h
__CONFIG 3F11h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод RA5 работает как канал ввода, INTRC – генератор
; (RA7 работает как канал ввода/вывода.На RA6 присутствует
; сигнал с Fosc/4).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 1 0 0 1 0 3F12h
__CONFIG 3F12h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод RA5 работает как канал ввода, ER – генератор
; (внешний R подключается к RA7. RA6 работает как
; канал ввода/вывода).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 1 0 0 1 1 3F13h
14
__CONFIG 3F13h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод RA5 работает как канал ввода, ER – генератор
; (внешний R подключается к RA7. На RA6 присутствует
; сигнал с Fosc/4).
Защита выключена, WDT включен, сброс BOR запрещён, вывод RA5 работает как канал ввода (MCLR внутренне
подключен к +Uпит.)
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 0 0 1 0 0 3F04h
__CONFIG 3F04h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод RA5 работает как канал ввода, LP - генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 0 0 1 0 1 3F05h
__CONFIG 3F05h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод RA5 работает как канал ввода, XT – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 0 0 1 1 0 3F06h
__CONFIG 3F06h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод RA5 работает как канал ввода, HS – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 0 0 1 1 1 3F07h
__CONFIG 3F07h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод RA5 работает как канал ввода, EC – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 1 0 1 0 0 3F14h
__CONFIG 3F14h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод RA5 работает как канал ввода, INTRC – генератор
; (RA6 и RA7 работают как каналы ввода/вывода).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 1 0 1 0 1 3F15h
__CONFIG 3F15h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод RA5 работает как канал ввода, INTRC – генератор
; (RA7 работает как канал ввода/вывода.На RA6 присутствует
; сигнал с Fosc/4).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 1 0 1 1 0 3F16h
__CONFIG 3F16h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод RA5 работает как канал ввода, ER – генератор
; (внешний R подключается к RA7. RA6 работает как
; канал ввода/вывода).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
15
1 1 1 1 1 1 0 0 0 1 0 1 1 1 3F17h
__CONFIG 3F17h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, вывод RA5 работает как канал ввода, ER – генератор
; (внешний R подключается к RA7. На RA6 присутствует
; сигнал с Fosc/4).
Защита выключена, WDT выключен, сброс BOR разрешён, вывод RA5
работает как MCLR
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 0 0 0 0 0 3F60h
__CONFIG 3F60h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод RA5 работает как MCLR, LP - генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 0 0 0 0 1 3F61h
__CONFIG 3F61h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод RA5 работает как MCLR, XT – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 0 0 0 1 0 3F62h
__CONFIG 3F62h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод RA5 работает как MCLR, HS – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 0 0 0 1 1 3F63h
__CONFIG 3F63h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод RA5 работает как MCLR, EC – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 0 0 0 3F70h
__CONFIG 3F70h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод RA5 работает как MCLR, INTRC – генератор
; (RA6 и RA7 работают как каналы ввода/вывода).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 0 0 1 3F71h
__CONFIG 3F71h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод RA5 работает как MCLR, INTRC – генератор
; (RA7 работает как канал ввода/вывода.На RA6 присутствует
; сигнал с Fosc/4).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 0 1 0 3F72h
__CONFIG 3F72h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод RA5 работает как MCLR, ER – генератор
; (внешний R подключается к RA7. RA6 работает как
; канал ввода/вывода).
Для PIC16F628
16
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 0 1 1 3F73h
__CONFIG 3F73h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод RA5 работает как MCLR, ER – генератор
; (внешний R подключается к RA7. На RA6 присутствует
; сигнал с Fosc/4).
Защита выключена, WDT включен, сброс BOR разрешён, вывод RA5
работает как MCLR
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 0 0 1 0 0 3F64h
__CONFIG 3F64h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как MCLR, LP - генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 0 0 1 0 1 3F65h
__CONFIG 3F65h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как MCLR, XT – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 0 0 1 1 0 3F66h
__CONFIG 3F66h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как MCLR, HS – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 0 0 1 1 1 3F67h
__CONFIG 3F67h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как MCLR, EC – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 1 0 0 3F74h
__CONFIG 3F74h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как MCLR, INTRC – генератор
; (RA6 и RA7 работают как каналы ввода/вывода).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 1 0 1 3F75h
__CONFIG 3F75h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как MCLR, INTRC – генератор
; (RA7 работает как канал ввода/вывода.На RA6 присутствует
; сигнал с Fosc/4).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 1 1 0 3F76h
__CONFIG 3F76h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как MCLR, ER – генератор
; (внешний R подключается к RA7. RA6 работает как
17
; канал ввода/вывода).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVPBOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 1 1 1 3F77h
__CONFIG 3F77h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как MCLR, ER – генератор
; (внешний R подключается к RA7. На RA6 присутствует
; сигнал с Fosc/4).
Защита выключена, WDT выключен, сброс BOR разрешён, вывод RA5 работает как канал ввода (MCLR
внутренне подключен к +Uпит.)
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 0 0 0 0 0 3F40h
__CONFIG 3F40h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, LP - генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 0 0 0 0 1 3F41h
__CONFIG 3F41h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, XT – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 0 0 0 1 0 3F42h
__CONFIG 3F42h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, HS – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 0 0 0 1 1 3F43h
__CONFIG 3F43h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, EC – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 1 0 0 0 0 3F50h
__CONFIG 3F50h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, INTRC – генератор
; (RA6 и RA7 работают как каналы ввода/вывода).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 1 0 0 0 1 3F51h
__CONFIG 3F51h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, INTRC – генератор
; (RA7 работает как канал ввода/вывода.На RA6 присутствует
; сигнал с Fosc/4).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 1 0 0 1 0 3F52h
__CONFIG 3F52h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, ER – генератор
18
; (внешний R подключается к RA7. RA6 работает как
; канал ввода/вывода).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 1 0 0 1 1 3F53h
__CONFIG 3F53h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, ER – генератор
; (внешний R подключается к RA7. На RA6 присутствует
; сигнал с Fosc/4).
Защита выключена, WDT включен, сброс BOR разрешён, вывод RA5 работает как канал ввода (MCLR внутренне
подключен к +Uпит.)
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 0 0 1 0 0 3F44h
__CONFIG 3F44h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, LP - генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 0 0 1 0 1 3F45h
__CONFIG 3F45h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, XT – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 0 0 1 1 0 3F46h
__CONFIG 3F46h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, HS – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 0 0 1 1 1 3F47h
__CONFIG 3F47h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, EC – генератор.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 1 0 1 0 0 3F54h
__CONFIG 3F54h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, INTRC – генератор
; (RA6 и RA7 работают как каналы ввода/вывода).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 1 0 1 0 1 3F55h
__CONFIG 3F55h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, INTRC – генератор
; (RA7 работает как канал ввода/вывода.На RA6 присутствует
; сигнал с Fosc/4).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 1 0 1 1 0 3F56h
__CONFIG 3F56h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
19
; разрешён, вывод RA5 работает как канал ввода, ER – генератор
; (внешний R подключается к RA7. RA6 работает как
; канал ввода/вывода).
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 1 0 1 1 1 3F57h
__CONFIG 3F57h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, ER – генератор
; (внешний R подключается к RA7. На RA6 присутствует
; сигнал с Fosc/4).
Для PIC16F628
20
Для случаев защиты части памяти программ
400h … 7FFh
Защита EEPROM включена, защита PC включена для ячеек с адресами
400h…7FFh (CPD = 0, CP1 = 1, CP0 = 0)
В данном случае, нужно вычесть 1500h.
“Привяжусь” к указанной выше “матери”.
3F57h – 1500h = 2A57h (10101001010111)
Получается такая “дочь”:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 0 1 0 1 0 0 1 0 1 0 1 1 1 2A57h
__CONFIG 2A57h ; EEPROM-защита включена, PC-защита включена для ячеек с
; адресами 400h-7FFh, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, ER – генератор
; (внешний R подключается к RA7. На RA6 присутствует сигнал
; с Fosc/4).
Защита EEPROM выключена, защита PC включена для ячеек с адресами
400h…7FFh, (CPD = 1, CP1 = 1, CP0 = 0)
В данном случае, нужно вычесть 1400h.
“Привяжусь” к указанной выше “матери”.
3F57h – 1400h = 2B57h (10101101010111)
Получается такая “дочь”:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 0 1 0 1 1 0 1 0 1 0 1 1 1 2B57h
__CONFIG 2B57h ; EEPROM-защита выключена, PC-защита включена для ячеек с
; адресами 400h-7FFh, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, ER – генератор
; (внешний R подключается к RA7. На RA6 присутствует сигнал
; с Fosc/4).
200h … 7FFh
Защита EEPROM включена, защита PC включена для ячеек с адресами
200h…7FFh (CPD = 0, CP1 = 0, CP0 = 1)
В данном случае, нужно вычесть 2900h.
“Привяжусь” к указанной выше “матери”.
3F57h – 2900h = 1657h (01011001010111)
Получается такая “дочь”:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
0 1 0 1 1 0 0 1 0 1 0 1 1 1 1657h
__CONFIG 1657h ; EEPROM-защита включена, PC-защита включена для ячеек с
; адресами 200h-7FFh, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, ER – генератор
; (внешний R подключается к RA7. На RA6 присутствует сигнал
; с Fosc/4).
Защита EEPROM выключена, защита PC включена для ячеек с адресами
200h…7FFh, (CPD = 1, CP1 = 0, CP0 = 1)
В данном случае, нужно вычесть 2800h.
“Привяжусь” к указанной выше “матери”.
3F57h – 2800h = 1757h (01011101010111)
Получается такая “дочь”:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
0 1 0 1 1 1 0 1 0 1 0 1 1 1 1657h
__CONFIG 1757h ; EEPROM-защита выключена, PC-защита включена для ячеек с
; адресами 200h-7FFh, PWRT включен, WDT включен, сброс BOR
; разрешён, вывод RA5 работает как канал ввода, ER – генератор
; (внешний R подключается к RA7. На RA6 присутствует сигнал
; с Fosc/4).
Таким образом, имеется некая “основа” (“мать”), которая, путём внесения в неё
корректирующих поправок (если это необходимо), “трансформируется в вожделеемое
конфигослово”.
Таблица “конфигопоправок” для PIC16F628
21
Варианты Действия Поправки
(CP1=CP0=CPD=0)
Защита PC включена, защита EEPROM выключена вычесть 3C00h
(CP=CP1=0, CPD=1)
Защита EEPROM включена, защита PC выключена вычесть 100h
(CPD=0, CP1=CP0=1)
Защищается часть памяти программ
400h … 7FFh
Защита EEPROM включена, защита PC включена для ячеек с вычесть 1500h
адресами 400h…7FFh (CPD=0, CP1=1, CP0=0)
Для PIC16F628A
22
0 1 1 1 1 1 0 1 0 1 0 1 1 1 1F57h
__CONFIG 1F57h ; PC-защита включена, EEPROM-защита выключена, PWRT включен,
; WDT включен, сброс BOR разрешён, вывод RA5 работает как канал
; ввода, ER – генератор (внешний R подключается к RA7. На RA6
; присутствует сигнал с Fosc/4).
Защита EEPROM включена, защита PC выключена (CPD = 0, CP = 1)
В данном случае, нужно вычесть 100h.
“Привяжусь” к указанной выше “матери”.
3F57h – 100h = 3E57h (11111001010111)
Получается такая “дочь”:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 0 0 1 0 1 0 1 1 1 3E57h
__CONFIG 3E57h ; EEPROM-защита включена, PC-защита выключена, PWRT включен,
; WDT включен, сброс BOR разрешён, вывод RA5 работает как канал
; ввода, ER – генератор (внешний R подключается к RA7. На RA6
; присутствует сигнал с Fosc/4).
23
На OSC2 присутствует сигнал с Fosc/4.
Примечание: для PIC16F873/876, OSC1 - вывод 9,
Биты выбора режима работы а OSC2 - вывод 10.
1,0 FOSC1, FOSC0 тактового генератора Для PIC16F874/877, OSC1 - вывод
13, а OSC2 - вывод 14.
10 à HS-генератор (ВЧ)
01 à XT-генератор (стандарт)
00 à LP-генератор (НЧ)
Примечание 1: В “пустышный” бит №10 ничего записать нельзя. Он всегда читается как “1”.
Пусть в него будет якобы “записываться” единица (см. выделенное тёмно-серым цветом).
Примечание 2: по причине того, что режим низковольтного программирования используется редко, в “нижележащих”
вариантах конфигурирования, он выключен (LVP = 0. Вывод RB3/PGM работает как канал ввода/вывода).
25
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 0 1 1 0 1 0 0 3534h
__CONFIG 3534h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, Flash-запись запрещена, внутрисхемная отладка
; включена, LP - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 0 1 1 0 1 0 1 3535h
__CONFIG 3535h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, Flash-запись запрещена, внутрисхемная отладка
; включена, XT - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 0 1 1 0 1 1 0 3536h
__CONFIG 3536h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, Flash-запись запрещена, внутрисхемная отладка
; включена, HS - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 0 1 1 0 1 1 1 3537h
__CONFIG 3537h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, Flash-запись запрещена, внутрисхемная отладка
; включена, RC - генератор.
Защита выключена, WDT выключен, сброс BOR разрешён, Flash-запись
запрещена, внутрисхемная отладка включена
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 0 0 0 3570h
__CONFIG 3570h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, Flash-запись запрещена, внутрисхемная отладка
; включена, LP - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 0 0 1 3571h
__CONFIG 3571h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, Flash-запись запрещена, внутрисхемная отладка
; включена, XT - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 0 1 0 3572h
__CONFIG 3572h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, Flash-запись запрещена, внутрисхемная отладка
; включена, HS - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 0 1 1 3573h
__CONFIG 3573h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, Flash-запись запрещена, внутрисхемная отладка
; включена, RC - генератор.
Защита выключена, WDT включен, сброс BOR разрешён, Flash-запись
запрещена, внутрисхемная отладка включена
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 1 0 0 3574h
__CONFIG 3574h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, Flash-запись запрещена, внутрисхемная отладка
; включена, LP - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 1 0 1 3575h
__CONFIG 3575h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, Flash-запись запрещена, внутрисхемная отладка
; включена, XT - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 1 1 0 3576h
__CONFIG 3576h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, Flash-запись запрещена, внутрисхемная отладка
; включена, HS - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 1 1 1 3577h
__CONFIG 3577h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, Flash-запись запрещена, внутрисхемная отладка
; включена, RC - генератор.
26
Защита PC и EEPROM включена (CP1 = CP0 = CPD = 0)
Для того чтобы это сделать, сначала, из “вышележащего” списка, нужно выбрать
нужную Вам конфигурацию (не обращая внимания на биты CP1, CP0, CPD), а затем, с помощью
любого HEX-калькулятора, вычесть, из числа, с которым работает директива CONFIG,
число 3130h (11000100110000), после чего заменить число, с которым работает директива
CONFIG, на результат этого вычитания.
Например, пусть будет такая “мать” (11010101110111):
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 1 1 1 3577h
__CONFIG 3577h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, Flash-запись запрещена, внутрисхемная отладка
; включена, RC - генератор.
3577h – 3130h = 447h (00010001000111)
Получается такая “дочь”:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 1 0 0 0 1 0 0 0 1 1 1 447h
__CONFIG 447h ; PC/EEPROM-защиты включены, PWRT включен, WDT включен, сброс BOR
; разрешён, Flash-запись запрещена, внутрисхемная отладка
; включена, RC - генератор.
Защита PC включена, защита EEPROM выключена (CP1 = CP0 = 0, CPD = 1)
В данном случае, нужно вычесть 3030h.
“Привяжусь” к указанной выше “матери”.
3577h – 3030h = 547h (00010101000111)
Получается такая “дочь”:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 1 0 1 0 1 0 0 0 1 1 1 547h
__CONFIG 547h ; PC-защита включена, EEPROM-защита выключена, PWRT включен, WDT
; включен, сброс BOR разрешён, Flash-запись запрещена,
; внутрисхемная отладка включена, RC - генератор.
Защита EEPROM включена, защита PC выключена (CPD = 0, CP1 = CP0 = 1)
В данном случае, нужно вычесть 100h.
“Привяжусь” к указанной выше “матери”.
3577h – 100h = 3477h (11010001110111)
Получается такая “дочь”:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 0 0 1 1 1 0 1 1 1 3477h
__CONFIG 3477h ; EEPROM-защита включена, PC-защита выключена, PWRT включен, WDT
; включен, сброс BOR разрешён, Flash-запись запрещена,
; внутрисхемная отладка включена, RC - генератор.
27
Получается такая “дочь”:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 0 0 1 0 1 0 1 1 0 0 1 1 1 2567h
__CONFIG 2567h ; EEPROM-защита выключена, PC-защита включена для части PC-ячеек
; (см. “вышележащие”, адресные пояснения), PWRT включен, WDT
; включен, сброс BOR разрешён, Flash-запись запрещена,
; внутрисхемная отладка включена, RC - генератор.
Разрешение Flash-записи
В данном случае, нужно прибавить 200h.
“Привяжусь” к указанной выше “матери”.
3577h + 200h = 3777h (11011101110111)
Получается такая “дочь”:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 1 1 1 0 1 1 1 3777h
__CONFIG 3777h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, Flash-запись разрешена, внутрисхемная отладка
; включена, RC - генератор.
Комплексные варианты
Комбинаций может быть несколько.
Для объяснения сути, на мой взгляд, достаточно одного примера.
“Привяжусь” к указанной выше “матери” (для Вашего удобства, дублирую):
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 1 1 1 3577h
__CONFIG 3577h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, Flash-запись запрещена, внутрисхемная отладка
; включена, RC - генератор.
Допустим, что вдобавок к этому, нужно
выставить PC и EEPROM защиты,
разрешить Flash-запись.
3577h (“мать”) – 3130h (PC и EEPROM защиты включены) + 200h (разрешение Flash-записи) = 647h (00011001000111)
Получается “дочь”, которая соответствует вожделеемому:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 1 1 0 0 1 0 0 0 1 1 1 647h
__CONFIG 647h ; PC/EEPROM-защиты включены, PWRT включен, WDT включен, сброс BOR
28
; разрешён, Flash-запись разрешена, внутрисхемная отладка
; включена, RC - генератор.
Таким образом, имеется некая “основа” (“мать”), которая, путём внесения в неё
корректирующих поправок (если это необходимо), “трансформируется в вожделеемое
конфигослово”.
Таблица “конфигопоправок” для PIC16F873/874/876/877
Варианты Действия Поправки
Защита PC и EEPROM включена вычесть 3130h
(CP1=CP0=CPD=0)
Защита PC включена, защита EEPROM выключена вычесть 3030h
(CP1=CP0=0, CPD=1)
Защита EEPROM включена, защита PC выключена вычесть 100h
(CPD=0, CP1=CP0= 1)
Защищается часть памяти программ
0F00h … 0FFFh (для PIC16F873/874 à 4 PC-килослова)
1F00h … 1FFFh (для PIC16F876/877 à 8 PC-килослов)
Защита EEPROM включена, защита PC включена вычесть 1110h
(CPD=0, CP1=1, CP0=0)
Защита EEPROM выключена, защита PC включена вычесть 1010h
(CPD=1, CP1=1, CP0=0)
Защищается часть памяти программ
0800h … 0FFFh (для PIC16F873/874 à 4 PC-килослова)
1000h … 1FFFh (для PIC16F876/877 à 8 PC-килослов)
Защита EEPROM включена, защита PC включена вычесть 2120h
(CPD=0, CP1=0, CP0=1)
Защита EEPROM выключена, защита PC включена вычесть 2020h
(CPD=1, CP1=0, CP0=1)
Разрешение Flash-записи приплюсовать 200h
29
снижения более 100 мкс.) (типовое значение 4,0 в)
5,4 Не используется Запись в них невозможна. Читаются как “1”.
10 à HS-генератор (ВЧ)
01 à XT-генератор (стандарт)
00 à LP-генератор (НЧ)
Примечание 1: В “пустышные” биты №12, 5, 4 ничего записать нельзя. Они всегда читаются как “1”.
Пусть в них будет якобы “записываться” единица (см. выделенное тёмно-серым цветом).
Примечание 2: по причине того, что режим низковольтного программирования используется редко, в “нижележащих”
вариантах конфигурирования, он выключен (LVP = 0. Вывод RB3/PGM работает как канал ввода/вывода).
31
1 1 0 1 1 1 0 0 1 1 0 0 1 1 3733h
__CONFIG 3733h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; запрещён, Flash-запись разрешена, внутрисхемная отладка
; включена, RC - генератор.
Защита выключена, WDT включен, сброс BOR запрещён, Flash-запись
разрешена, внутрисхемная отладка включена
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 0 1 1 0 1 0 0 3734h
__CONFIG 3734h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, Flash-запись разрешена, внутрисхемная отладка
; включена, LP - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 0 1 1 0 1 0 1 3735h
__CONFIG 3735h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, Flash-запись разрешена, внутрисхемная отладка
; включена, XT - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 0 1 1 0 1 1 0 3736h
__CONFIG 3736h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, Flash-запись разрешена, внутрисхемная отладка
; включена, HS - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 0 1 1 0 1 1 1 3737h
__CONFIG 3737h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; запрещён, Flash-запись разрешена, внутрисхемная отладка
; включена, RC - генератор.
Защита выключена, WDT выключен, сброс BOR разрешён, Flash-запись
разрешена, внутрисхемная отладка включена
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 1 1 1 0 0 0 0 3770h
__CONFIG 3770h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, Flash-запись разрешена, внутрисхемная отладка
; включена, LP - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 1 1 1 0 0 0 1 3771h
__CONFIG 3771h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, Flash-запись разрешена, внутрисхемная отладка
; включена, XT - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 1 1 1 0 0 1 0 3772h
__CONFIG 3772h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, Flash-запись разрешена, внутрисхемная отладка
; включена, HS - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 1 1 1 0 0 1 1 3773h
__CONFIG 3773h ; Защита выключена, PWRT включен, WDT выключен, сброс BOR
; разрешён, Flash-запись разрешена, внутрисхемная отладка
; включена, RC - генератор.
Защита выключена, WDT включен, сброс BOR разрешён, Flash-запись
разрешена, внутрисхемная отладка включена
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 1 1 1 0 1 0 0 3774h
__CONFIG 3774h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, Flash-запись разрешена, внутрисхемная отладка
; включена, LP - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 1 1 1 0 1 0 1 3775h
__CONFIG 3775h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, Flash-запись разрешена, внутрисхемная отладка
; включена, XT - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 1 1 1 0 1 1 0 3776h
__CONFIG 3776h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, Flash-запись разрешена, внутрисхемная отладка
32
; включена, HS - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 1 1 1 0 1 1 1 3777h
__CONFIG 3777h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, Flash-запись разрешена, внутрисхемная отладка
; включена, RC - генератор.
33
__CONFIG 3577h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, Flash-запись разрешена в часть PC, внутрисхемная
; отладка включена, RC - генератор.
Комплексные варианты
Комбинаций может быть несколько.
Для объяснения сути, на мой взгляд, достаточно одного примера.
“Привяжусь” к указанной выше “матери” (для Вашего удобства, дублирую):
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 1 1 1 0 1 1 1 3777h
__CONFIG 3777h ; Защита выключена, PWRT включен, WDT включен, сброс BOR
; разрешён, Flash-запись разрешена, внутрисхемная отладка
; включена, RC - генератор.
Допустим, что применяется PIC16F873A, и вдобавок к этому, нужно
выставить PC и EEPROM защиты,
разрешить Flash-запись в PC-ячейки с адресами 0100h…0FFFh.
3777h (“мать”) – 2100h (PC и EEPROM защиты включены) - 200h (разрешение Flash-записи в PC-ячейки с адресами 0100h…
0FFFh) = 1477h (01010001110111)
Получается “дочь”, которая соответствует вожделеемому:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
0 1 0 1 0 0 0 1 1 1 0 1 1 1 1477h
__CONFIG 1477h ; PC/EEPROM-защиты включены, PWRT включен, WDT включен, сброс BOR
; разрешён, Flash-запись разрешена в часть PC, внутрисхемная
; отладка включена, RC - генератор.
Таким образом, имеется некая “основа” (“мать”), которая, путём внесения в неё
корректирующих поправок (если это необходимо), “трансформируется в вожделеемое
конфигослово”.
Таблица “конфигопоправок” для PIC16F873A/874A/876A/877A
Варианты Действия Поправки
Защита PC и EEPROM включена (CP=CPD=0) вычесть 2100h
Защита PC включена, защита EEPROM выключена (CP=0, CPD=1) вычесть 2000h
Защита EEPROM включена, защита PC выключена (CPD= 0, CP= 1) вычесть 100h
Flash-запись разрешена в PC-ячейки
0100h … 0FFFh (для PIC16F873A/874A à 4 PC-килослова) вычесть 200h
0100h … 1FFFh (для PIC16F876A/877A à 8 PC-килослов)
Flash-запись разрешена в PC-ячейки
0400h … 0FFFh (для PIC16F873A/874A à 4 PC-килослова) вычесть 400h
34
0800h … 1FFFh (для PIC16F876A/877A à 8 PC-килослов)
Flash-запись разрешена в PC-ячейки
0800h … 0FFFh (для PIC16F873A/874A à 4 PC-килослова) вычесть 600h
1000h … 1FFFh (для PIC16F876A/877A à 8 PC-килослов)
110 à RC-генератор.
Внешняя RC-цепочка подключается к ..5.
35
Биты выбора режима работы ..4 работает как канал ввода/вывода.
тактового генератора
Для 101 à INTOSC-генератор.
PIC16F631/677/685/687/689/690 ..5 работает как канал ввода/вывода.
2,0 FOSC2…FOSC0 ..4 à RA4 На ..4 присутствует сигнал с Fosc/4.
..5 à RA5
Для PIC12F683 100 à INTOSC-генератор.
..4 à GP4 ..5 и ..4 работают как каналы ввода/вывода.
..5 à GP5
011 à EC-генератор.
На ..5 подаётся внешний такт.
..4 работает как канал ввода/вывода.
Примечание: в “пустышныe” биты №13…12 ничего записать нельзя. Они всегда читаются как “1”.
Пусть в них будут якобы “записываться” единицы (см. выделенное тёмно-серым цветом).
36
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 0 1 1 0 30E6h
__CONFIG 30E6h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT выключен, сброс BOR запрещён, вывод
; RA3 работает как MCLR, RC – генератор (внешняя RC-цепочка
; подключается к RA5. RA4 работает как канал ввода/вывода).
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 0 1 1 1 30E7h
__CONFIG 30E7h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT выключен, сброс BOR запрещён, вывод
; RA3 работает как MCLR, RC – генератор (внешняя RC-цепочка
; подключается к RA5. На RA4 присутствует сигнал с Fosc/4).
Защита выключена, мониторинг выключен, ускоренный режим запуска
запрещён, WDT включен, сброс BOR запрещён, RA3 работает как MCLR
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 1 0 0 0 30E8h
__CONFIG 30E8h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как MCLR, LP - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 1 0 0 1 30E9h
__CONFIG 30E9h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как MCLR, XT - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 1 0 1 0 30EAh
__CONFIG 30EAh ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как MCLR, HS - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 1 0 1 1 30EBh
__CONFIG 30EBh ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как MCLR, EC - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 1 1 0 0 30ECh
__CONFIG 30ECh ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как MCLR, INTOSC – генератор (RA5 и RA4 работают
; как каналы ввода/вывода).
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 1 1 0 1 30EDh
__CONFIG 30EDh ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как MCLR, INTOSC – генератор (RA5 работает как
; канал ввода/вывода. На RA4 присутствует сигнал с Fosc/4).
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 1 1 1 0 30EEh
__CONFIG 30EEh ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как MCLR, RC – генератор (внешняя RC-цепочка
; подключается к RA5. RA4 работает как канал ввода/вывода).
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 1 1 1 1 30EFh
__CONFIG 30EFh ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как MCLR, RC – генератор (внешняя RC-цепочка
; подключается к RA5. На RA4 присутствует сигнал с Fosc/4).
Защита выключена, мониторинг выключен, ускоренный режим запуска
запрещён, WDT выключен, сброс BOR запрещён, RA3 работает как канал
ввода (MCLR внутренне подключен к +Uпит.)
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 0 0 0 0 30C0h
__CONFIG 30C0h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT выключен, сброс BOR запрещён, вывод
37
; RA3 работает как канал ввода, LP - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 0 0 0 1 30C1h
__CONFIG 30C1h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT выключен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, XT - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 0 0 1 0 30C2h
__CONFIG 30C2h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT выключен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, HS - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 0 0 1 1 30C3h
__CONFIG 30C3h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT выключен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, EC - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 0 1 0 0 30C4h
__CONFIG 30C4h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT выключен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, INTOSC – генератор (RA5 и RA4
; работают как каналы ввода/вывода).
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 0 1 0 1 30C5h
__CONFIG 30C5h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT выключен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, INTOSC – генератор (RA5 работает
; как канал ввода/вывода. На RA4 присутствует сигнал с Fosc/4).
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 0 1 1 0 30C6h
__CONFIG 30C6h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT выключен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, RC – генератор (внешняя RC-цепочка
; подключается к RA5. RA4 работает как канал ввода/вывода).
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 0 1 1 1 30C7h
__CONFIG 30C7h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT выключен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, RC – генератор (внешняя RC-цепочка
; подключается к RA5. На RA4 присутствует сигнал с Fosc/4).
Защита выключена, мониторинг выключен, ускоренный режим запуска
запрещён, WDT включен, сброс BOR запрещён, RA3 работает как канал
ввода (MCLR внутренне подключен к +Uпит.)
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 1 0 0 0 30C8h
__CONFIG 30C8h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, LP - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 1 0 0 1 30C9h
__CONFIG 30C9h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, XT - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 1 0 1 0 30CAh
__CONFIG 30CAh ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, HS - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 1 0 1 1 30CBh
__CONFIG 30CBh ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, EC - генератор.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
38
1 1 0 0 0 0 1 1 0 0 1 1 0 0 30CCh
__CONFIG 30CCh ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, INTOSC – генератор (RA5 и RA4
; работают как каналы ввода/вывода).
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 1 1 0 1 30CDh
__CONFIG 30CDh ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, INTOSC – генератор (RA5 работает
; как канал ввода/вывода. На RA4 присутствует сигнал с Fosc/4).
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 1 1 1 0 30CEh
__CONFIG 30CEh ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, RC – генератор (внешняя RC-цепочка
; подключается к RA5. RA4 работает как канал ввода/вывода).
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 1 1 1 1 30CFh
__CONFIG 30CFh ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, RC – генератор (внешняя RC-цепочка
; подключается к RA5. На RA4 присутствует сигнал с Fosc/4).
39
; XT - генератор.
Разрешение мониторинга
В данном случае, нужно прибавить 800h.
“Привяжусь” к указанной выше “матери”.
30C9h + 800h = 38C9h (11100011001001)
Получается такая “дочь”:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 0 0 0 1 1 0 0 1 0 0 1 38C9h
__CONFIG 38C9h ; Защита выключена, мониторинг включен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, XT - генератор.
Разрешение ускоренного запуска
В данном случае, нужно прибавить 400h.
“Привяжусь” к указанной выше “матери”.
30C9h + 400h = 34C9h (11010011001001)
Получается такая “дочь”:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 1 0 0 1 1 0 0 1 0 0 1 34C9h
__CONFIG 34C9h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; разрешён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, XT - генератор.
Разрешение мониторинга и ускоренного запуска
В данном случае, нужно прибавить C00h.
“Привяжусь” к указанной выше “матери”.
30C9h + C00h = 3CC9h (11110011001001)
Получается такая “дочь”:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 0 0 1 1 0 0 1 0 0 1 3CC9h
__CONFIG 3CC9h ; Защита выключена, мониторинг включен, ускоренный режим запуска
; разрешён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, XT - генератор.
Разрешение сброса BOR (BOREN1 = BOREN0 = 1)
В данном случае, нужно прибавить 300h.
“Привяжусь” к указанной выше “матери”.
30C9h + 300h = 33C9h (11001111001001)
Получается такая “дочь”:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 1 1 1 1 0 0 1 0 0 1 33C9h
__CONFIG 33C9h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR разрешён, вывод
; RA3 работает как канал ввода, XT - генератор.
Вариант сброса BOR (BOREN1 = 1, BOREN0 = 0)
В данном случае, нужно прибавить 200h.
“Привяжусь” к указанной выше “матери”.
30C9h + 200h = 32C9h (11001011001001)
Получается такая “дочь”:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 1 0 1 1 0 0 1 0 0 1 32C9h
__CONFIG 32C9h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR разрешён, вывод
; RA3 работает как канал ввода, XT - генератор.
Вариант сброса BOR (BOREN1 = 0, BOREN0 = 1)
В данном случае, нужно прибавить 100h.
“Привяжусь” к указанной выше “матери”.
30C9h + 100h = 31C9h (11000111001001)
Получается такая “дочь”:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 1 1 1 0 0 1 0 0 1 31C9h
__CONFIG 31C9h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR разрешён, вывод
40
; RA3 работает как канал ввода, XT - генератор.
Комплексные варианты
Комбинаций может быть несколько.
Для объяснения сути, на мой взгляд, достаточно одного примера.
“Привяжусь” к указанной выше “матери” (для Вашего удобства, дублирую):
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 1 0 0 1 30C9h
__CONFIG 30C9h ; Защита выключена, мониторинг выключен, ускоренный режим запуска
; запрещён, PWRT включен, WDT включен, сброс BOR запрещён, вывод
; RA3 работает как канал ввода, XT - генератор.
Допустим, что вдобавок к этому, нужно
разрешить мониторинг и ускоренный запуск,
разрешить сброс BOR (по варианту BOREN1 = BOREN0 = 1),
выставить PC-защиту.
30C9h (“мать”) + C00h (разрешение мониторинга и ускоренного запуска) + 300h (разрешение сброса BOR) – 40h
(PC-защита включена) = 3F89h (11111110001001)
Получается “дочь”, которая соответствует вожделеемому:
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 0 0 1 0 0 1 3F89h
__CONFIG 3F89h ; PC-защита включена, EEPROM-защита выключена, мониторинг включен,
; ускоренный режим запуска разрешён, PWRT включен, WDT включен,
; сброс BOR разрешён, вывод RA3 работает как канал ввода,
; XT - генератор.
Таким образом, имеется некая “основа” (“мать”), которая, путём внесения в неё
корректирующих поправок (если это необходимо), “трансформируется в вожделеемое
конфигослово”.
Таблица “конфигопоправок” для PIC16F631/677/685/687/689/690, PIC12F683
Варианты Действия Поправки
Защита PC и EEPROM включена (CPD=CP=0) вычесть C0h
Защита PC включена, защита EEPROM выключена (CP=0, CPD=1) вычесть 40h
Защита EEPROM включена, защита PC выключена (CPD=0, CP=1) вычесть 80h
Разрешение мониторинга приплюсовать 800h
Разрешение ускоренного запуска приплюсовать 400h
Разрешение мониторинга и ускоренного запуска приплюсовать C00h
Разрешение сброса BOR (BOREN1=BOREN0=1) приплюсовать 300h
Вариант сброса BOR (BOREN1=1, BOREN0=0) приплюсовать 200h
Вариант сброса BOR (BOREN1=0, BOREN0=1) приплюсовать 100h
41
Если такого подключения не будет, то после осуществления ассемблирования, MPLAB
выдаст сообщения об ошибках (типа [Error113] ), количество которых равно количеству
“неопознанных конфигосимволов”.
“Опознание” производится путём сравнения “конфигосимволов, прописанных в
шапке” программы, и “конфигосимволов, прописанных” в подключенном INC-
файле, причём, второе “задаёт правила игры” для первого.
42
On означает “включено”.
Off означает “выключено”.
Как видите, приложении к числовой форме конфигурирования, директива
#include <p16f84a.inc>
“по-барабану”, а в приложении к символьной форме конфигурирования, она совсем
не “по-барабану”.
Для того чтобы убедиться в этом, заблокируйте #include <p16f84a.inc>, и после
ассемблирования, Вы увидите это (2 ошибки и отказ в создании HEX-файла):
43
Теперь об оптимизации символьной формы конфигурирования (в приложении к
рассматриваемому примеру).
Если подходить к этому формально, то возникает такая “страхолЮдина”:
__CONFIG _XT_OSC&_WDT_ON&_PWRTE_ON&_CP_OFF ; Защита выключена, PWRT включен, WDT
; включен, XT - генератор.
Это не ошибка (работает “на ура”), а неоптимальность, которая неоправданно удлиняет
надпись.
Сравните с этим (применено выше):
Примечание: кстати, такого рода избыточностью “страдает” пример, приведённый на стр. 27-4 “Справочника по
среднему семейству…”. 5 “позиций” можно сократить до 3-х, и ничего за это не будет.
Возможны 2 варианта.
44
;===================================================================
; Configuration Bits (для PIC16F84/84A)
;===================================================================
_CP_ON EQU H'000F' ; PC-защита включена.
_CP_OFF EQU H'3FFF' ; PC-защита выключена.
_PWRTE_ON EQU H'3FF7' ; PWRT включен.
_PWRTE_OFF EQU H'3FFF' ; PWRT выключен.
_WDT_ON EQU H'3FFF' ; WDT включен.
_WDT_OFF EQU H'3FFB' ; WDT выключен.
_LP_OSC EQU H'3FFC' ; Работает LP-генератор.
_XT_OSC EQU H'3FFD' ; Работает XT-генератор.
_HS_OSC EQU H'3FFE' ; Работает HS-генератор.
_RC_OSC EQU H'3FFF' ; Работает RC-генератор.
;====================================================================
45
; По-умолчанию: защита выключена, WDT включен.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 1 0 1 0 1 3FF5h
#include <p16f84a.inc> ; Подключение INC-файла PIC16F84A.
;;; #include <p16f84.inc> ; Подключение INC-файла PIC16F84.
__CONFIG _XT_OSC&_PWRTE_ON
; XT – генератор, PWRT включен.
; По-умолчанию: защита выключена, WDT включен.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 1 0 1 1 0 3FF6h
#include <p16f84a.inc> ; Подключение INC-файла PIC16F84A.
;;; #include <p16f84.inc> ; Подключение INC-файла PIC16F84.
__CONFIG _HS_OSC&_PWRTE_ON
; HS – генератор, PWRT включен.
; По-умолчанию: защита выключена, WDT включен.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 1 0 1 1 1 3FF7h
#include <p16f84a.inc> ; Подключение INC-файла PIC16F84A.
;;; #include <p16f84.inc> ; Подключение INC-файла PIC16F84.
__CONFIG _PWRTE_ON
; PWRT включен.
; По-умолчанию: защита выключена, WDT включен, RC-генератор.
Защита включена, WDT выключен
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0h
#include <p16f84a.inc> ; Подключение INC-файла PIC16F84A.
;;; #include <p16f84.inc> ; Подключение INC-файла PIC16F84.
__CONFIG _CP_ON&_LP_OSC&_PWRTE_ON&_WDT_OFF
; Защита включена, LP – генератор,
; PWRT включен, WDT выключен.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1h
#include <p16f84a.inc> ; Подключение INC-файла PIC16F84A.
;;; #include <p16f84.inc> ; Подключение INC-файла PIC16F84.
__CONFIG _CP_ON&_XT_OSC&_PWRTE_ON&_WDT_OFF
; Защита включена, XT – генератор,
; PWRT включен, WDT выключен.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 0 0 0 0 0 0 0 0 0 1 0 2h
#include <p16f84a.inc> ; Подключение INC-файла PIC16F84A.
;;; #include <p16f84.inc> ; Подключение INC-файла PIC16F84.
__CONFIG _CP_ON&_HS_OSC&_PWRTE_ON&_WDT_OFF
; Защита включена, HS – генератор,
; PWRT включен, WDT выключен.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 0 0 0 0 0 0 0 0 0 1 1 3h
#include <p16f84a.inc> ; Подключение INC-файла PIC16F84A.
;;; #include <p16f84.inc> ; Подключение INC-файла PIC16F84.
__CONFIG _CP_ON&_PWRTE_ON&_WDT_OFF
; Защита включена, PWRT включен, WDT выключен.
; По-умолчанию: RC – генератор.
Защита включена, WDT включен
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 0 0 0 0 0 0 0 0 1 0 0 4h
#include <p16f84a.inc> ; Подключение INC-файла PIC16F84A.
;;; #include <p16f84.inc> ; Подключение INC-файла PIC16F84.
__CONFIG _CP_ON&_LP_OSC&_PWRTE_ON
; Защита включена, LP – генератор, PWRT включен.
; По-умолчанию: WDT включен.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 0 0 0 0 0 0 0 0 1 0 1 5h
#include <p16f84a.inc> ; Подключение INC-файла PIC16F84A.
;;; #include <p16f84.inc> ; Подключение INC-файла PIC16F84.
__CONFIG _CP_ON&_XT_OSC&_PWRTE_ON
; Защита включена, XT – генератор, PWRT включен.
; По-умолчанию: WDT включен.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 0 0 0 0 0 0 0 0 1 1 0 6h
#include <p16f84a.inc> ; Подключение INC-файла PIC16F84A.
;;; #include <p16f84.inc> ; Подключение INC-файла PIC16F84.
__CONFIG _CP_ON&_HS_OSC&_PWRTE_ON
; Защита включена, HS – генератор, PWRT включен.
; По-умолчанию: WDT включен.
CP CP CP CP CP CP CP CP CP CP -RWRTE WDTE FOSC1 FOSC0 Значение
0 0 0 0 0 0 0 0 0 0 0 1 1 1 7h
#include <p16f84a.inc> ; Подключение INC-файла PIC16F84A.
;;; #include <p16f84.inc> ; Подключение INC-файла PIC16F84.
__CONFIG _CP_ON&_PWRTE_ON
46
; Защита включена, , PWRT включен.
; По-умолчанию: WDT включен, RC – генератор.
48
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _INTRC_OSC_NOCLKOUT&_PWRTE_ON&_BODEN_OFF
; INTOSC – генератор (GP5 и GP4 работают как каналы
; ввода/вывода), PWRT включен, сброс BOR запрещён.
; По-умолчанию: защита выключена, WDT включен, вывод GP3
; работает как MCLR.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 1 0 1 1 0 1 3FADh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _INTRC_OSC_CLKOUT&_PWRTE_ON&_BODEN_OFF
; INTOSC – генератор (GP5 работает как канал ввода/вывода. На
; GP4 присутствует сигнал с Fosc/4), PWRT включен, сброс BOR
; запрещён. По-умолчанию: защита выключена, WDT включен,
; вывод GP3 работает как MCLR.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 1 0 1 1 1 0 3FAEh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _EXTRC_OSC_NOCLKOUT&_PWRTE_ON&_BODEN_OFF
; RC – генератор (внешняя RC-цепочка подключается к GP5. GP4
; работает как канал ввода/вывода), PWRT включен, сброс BOR
; запрещён. По-умолчанию: защита выключена, WDT включен,
; вывод GP3 работает как MCLR.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 1 0 1 1 1 1 3FAFh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _PWRTE_ON&_BODEN_OFF
; PWRT включен, сброс BOR запрещён.
; По-умолчанию: защита выключена, RC – генератор (внешняя
; RC-цепочка подключается к GP5. На GP4 присутствует сигнал с
; Fosc/4), WDT включен, вывод GP3 работает как MCLR.
Защита выключена, WDT выключен, сброс BOR запрещён, вывод GP3
работает как канал ввода (MCLR внутренне подключен к +Uпит.)
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 0 0 0 0 0 0 3F80h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _LP_OSC&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_MCLRE_OFF
; LP – генератор, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода.
; По-умолчанию: защита выключена.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 0 0 0 0 0 1 3F81h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _XT_OSC&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_MCLRE_OFF
; XT – генератор, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода.
; По-умолчанию: защита выключена.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 0 0 0 0 1 0 3F82h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _HS_OSC&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_MCLRE_OFF
; HS – генератор, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода.
; По-умолчанию: защита выключена.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 0 0 0 0 1 1 3F83h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _EC_OSC&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_MCLRE_OFF
; EC – генератор, PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода.
; По-умолчанию: защита выключена.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 0 0 0 1 0 0 3F84h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _INTRC_OSC_NOCLKOUT&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_MCLRE_OFF
; INTOSC – генератор (GP5 и GP4 работают как каналы
; ввода/вывода), PWRT включен, WDT выключен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода.
; По-умолчанию: защита выключена.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 0 0 0 1 0 1 3F85h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
49
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _INTRC_OSC_CLKOUT&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_MCLRE_OFF
; INTOSC – генератор (GP5 работает как канал ввода/вывода. На
; GP4 присутствует сигнал с Fosc/4), PWRT включен, WDT
; выключен, сброс BOR запрещён, вывод GP3 работает как канал
; ввода. По-умолчанию: защита выключена.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 0 0 0 1 1 0 3F86h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _EXTRC_OSC_NOCLKOUT&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_MCLRE_OFF
; RC – генератор (внешняя RC-цепочка подключается к GP5. GP4
; работает как канал ввода/вывода), PWRT включен, WDT
; выключен, сброс BOR запрещён, вывод GP3 работает как канал
; ввода. По-умолчанию: защита выключена.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 0 0 0 1 1 1 3F87h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _PWRTE_ON&_WDT_OFF&_BODEN_OFF&_MCLRE_OFF
; PWRT включен, WDT выключен, сброс BOR запрещён, вывод GP3
; работает как канал ввода.
; По-умолчанию: защита выключена, RC – генератор
;(внешняя RC-цепочка подключается к GP5. На GP4 присутствует
; сигнал с Fosc/4).
Защита выключена, WDT включен, сброс BOR запрещён, вывод GP3 работает как канал ввода (MCLR внутренне
подключен к +Uпит.)
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 0 0 1 0 0 0 3F88h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _LP_OSC&_PWRTE_ON&_BODEN_OFF&_MCLRE_OFF
; LP – генератор, PWRT включен, сброс BOR запрещён, вывод GP3
; работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 0 0 1 0 0 1 3F89h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _XT_OSC&_PWRTE_ON&_BODEN_OFF&_MCLRE_OFF
; XT – генератор, PWRT включен, сброс BOR запрещён, вывод GP3
; работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 0 0 1 0 1 0 3F8Ah
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _HS_OSC&_PWRTE_ON&_BODEN_OFF&_MCLRE_OFF
; HS – генератор, PWRT включен, сброс BOR запрещён, вывод GP3
; работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 0 0 1 0 1 1 3F8Bh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _EC_OSC&_PWRTE_ON&_BODEN_OFF&_MCLRE_OFF
; EC – генератор, PWRT включен, сброс BOR запрещён, вывод GP3
; работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 0 0 1 1 0 0 3F8Ch
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _INTRC_OSC_NOCLKOUT&_PWRTE_ON&_BODEN_OFF&_MCLRE_OFF
; INTOSC – генератор (GP5 и GP4 работают как каналы
; ввода/вывода), PWRT включен, сброс BOR запрещён, вывод GP3
; работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 0 0 1 1 0 1 3F8Dh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _INTRC_OSC_CLKOUT&_PWRTE_ON&_BODEN_OFF&_MCLRE_OFF
; INTOSC – генератор (GP5 работает как канал ввода/вывода. На
; GP4 присутствует сигнал с Fosc/4), PWRT включен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 0 0 1 1 1 0 3F8Eh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
50
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _EXTRC_OSC_NOCLKOUT&_PWRTE_ON&_BODEN_OFF&_MCLRE_OFF
; RC – генератор (внешняя RC-цепочка подключается к GP5. GP4
; работает как канал ввода/вывода), PWRT включен, сброс BOR
; запрещён, вывод GP3 работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 0 0 0 1 1 1 1 3F8Fh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _PWRTE_ON&_BODEN_OFF&_MCLRE_OFF
; PWRT включен, сброс BOR запрещён, вывод GP3 работает как
; канал ввода.
; По-умолчанию: защита выключена, WDT включен RC – генератор
; (внешняя RC-цепочка подключается к GP5. На GP4 присутствует
; сигнал с Fosc/4).
Защита выключена, WDT выключен, сброс BOR разрешён, вывод GP3
работает как MCLR
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 0 0 0 0 0 3FE0h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _LP_OSC&_PWRTE_ON&_WDT_OFF
; LP – генератор, PWRT включен, WDT выключен,
; По-умолчанию: защита выключена, вывод GP3 работает как
; MCLR, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 0 0 0 0 1 3FE1h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _XT_OSC&_PWRTE_ON&_WDT_OFF
; XT – генератор, PWRT включен, WDT выключен,
; По-умолчанию: защита выключена, вывод GP3 работает как
; MCLR, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 0 0 0 1 0 3FE2h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _HS_OSC&_PWRTE_ON&_WDT_OFF
; HS – генератор, PWRT включен, WDT выключен,
; По-умолчанию: защита выключена, вывод GP3 работает как
; MCLR, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 0 0 0 1 1 3FE3h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _EC_OSC&_PWRTE_ON&_WDT_OFF
; EC – генератор, PWRT включен, WDT выключен,
; По-умолчанию: защита выключена, вывод GP3 работает как
; MCLR, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 0 0 1 0 0 3FE4h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _INTRC_OSC_NOCLKOUT&_PWRTE_ON&_WDT_OFF
; INTOSC – генератор (GP5 и GP4 работают как каналы
; ввода/вывода), PWRT включен, WDT выключен,
; По-умолчанию: защита выключена, вывод GP3 работает как
; MCLR, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 0 0 1 0 1 3FE5h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _INTRC_OSC_CLKOUT&_PWRTE_ON&_WDT_OFF
; INTOSC – генератор (GP5 работает как канал ввода/вывода. На
; GP4 присутствует сигнал с Fosc/4), PWRT включен, WDT
; выключен. По-умолчанию: защита выключена, вывод GP3
; работает как MCLR, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 0 0 1 1 0 3FE6h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _EXTRC_OSC_NOCLKOUT&_PWRTE_ON&_WDT_OFF
; RC – генератор (внешняя RC-цепочка подключается к GP5. GP4
; работает как канал ввода/вывода), PWRT включен, WDT
; выключен. По-умолчанию: защита выключена, вывод GP3
; работает как MCLR, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 0 0 1 1 1 3FE7h
51
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _PWRTE_ON&_WDT_OFF
; PWRT включен, WDT выключен.
; По-умолчанию: защита выключена, RC – генератор (внешняя
; RC-цепочка подключается к GP5. На GP4 присутствует сигнал с
; Fosc/4), вывод GP3 работает как MCLR, сброс BOR разрешён.
Защита выключена, WDT включен, сброс BOR разрешён, вывод GP3
работает как MCLR
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 0 1 0 0 0 3FE8h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _LP_OSC&_PWRTE_ON
; LP – генератор, PWRT включен.
; По-умолчанию: защита выключена, WDT включен, вывод GP3
; работает как MCLR, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 0 1 0 0 1 3FE9h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _XT_OSC&_PWRTE_ON
; XT – генератор, PWRT включен.
; По-умолчанию: защита выключена, WDT включен, вывод GP3
; работает как MCLR, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 0 1 0 1 0 3FEAh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _HS_OSC&_PWRTE_ON
; HS – генератор, PWRT включен.
; По-умолчанию: защита выключена, WDT включен, вывод GP3
; работает как MCLR, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 0 1 0 1 1 3FEBh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _EC_OSC&_PWRTE_ON
; EC – генератор, PWRT включен.
; По-умолчанию: защита выключена, WDT включен, вывод GP3
; работает как MCLR, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 0 1 1 0 0 3FECh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _INTRC_OSC_NOCLKOUT&_PWRTE_ON
; INTOSC – генератор (GP5 и GP4 работают как каналы
; ввода/вывода), PWRT включен.
; По-умолчанию: защита выключена, WDT включен, вывод GP3
; работает как MCLR, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 0 1 1 0 1 3FEDh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _INTRC_OSC_CLKOUT&_PWRTE_ON
; INTOSC – генератор (GP5 работает как канал ввода/вывода. На
; GP4 присутствует сигнал с Fosc/4), PWRT включен,
; По-умолчанию: защита выключена, WDT включен,
; вывод GP3 работает как MCLR, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 0 1 1 1 0 3FEEh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _EXTRC_OSC_NOCLKOUT&_PWRTE_ON
; RC – генератор (внешняя RC-цепочка подключается к GP5. GP4
; работает как канал ввода/вывода), PWRT включен,
; По-умолчанию: защита выключена, WDT включен,
; вывод GP3 работает как MCLR, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 1 0 1 1 1 1 3FEFh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _PWRTE_ON
; PWRT включен.
; По-умолчанию: защита выключена, RC – генератор (внешняя
; RC-цепочка подключается к GP5. На GP4 присутствует сигнал с
; Fosc/4), WDT включен, вывод GP3 работает как MCLR,
; сброс BOR разрешён.
52
Защита выключена, WDT выключен, сброс BOR разрешён, вывод GP3
работает как канал ввода (MCLR внутренне подключен к +Uпит.)
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 0 0 0 0 0 0 3FC0h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _LP_OSC&_PWRTE_ON&_WDT_OFF&_MCLRE_OFF
; LP – генератор, PWRT включен, WDT выключен,
; вывод GP3 работает как канал ввода.
; По-умолчанию: защита выключена, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 0 0 0 0 0 1 3FC1h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _XT_OSC&_PWRTE_ON&_WDT_OFF&_MCLRE_OFF
; XT – генератор, PWRT включен, WDT выключен,
; вывод GP3 работает как канал ввода.
; По-умолчанию: защита выключена, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 0 0 0 0 1 0 3FC2h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _HS_OSC&_PWRTE_ON&_WDT_OFF&_MCLRE_OFF
; HS – генератор, PWRT включен, WDT выключен,
; вывод GP3 работает как канал ввода.
; По-умолчанию: защита выключена, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 0 0 0 0 1 1 3FC3h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _EC_OSC&_PWRTE_ON&_WDT_OFF&_MCLRE_OFF
; EC – генератор, PWRT включен, WDT выключен,
; вывод GP3 работает как канал ввода.
; По-умолчанию: защита выключена, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 0 0 0 1 0 0 3FC4h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _INTRC_OSC_NOCLKOUT&_PWRTE_ON&_WDT_OFF&_MCLRE_OFF
; INTOSC – генератор (GP5 и GP4 работают как каналы
; ввода/вывода), PWRT включен, WDT выключен,
; вывод GP3 работает как канал ввода.
; По-умолчанию: защита выключена, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 0 0 0 1 0 1 3FC5h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _INTRC_OSC_CLKOUT&_PWRTE_ON&_WDT_OFF&_MCLRE_OFF
; INTOSC – генератор (GP5 работает как канал ввода/вывода. На
; GP4 присутствует сигнал с Fosc/4), PWRT включен, WDT
; выключен, вывод GP3 работает как канал
; ввода. По-умолчанию: защита выключена, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 0 0 0 1 1 0 3FC6h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _EXTRC_OSC_NOCLKOUT&_PWRTE_ON&_WDT_OFF&_MCLRE_OFF
; RC – генератор (внешняя RC-цепочка подключается к GP5. GP4
; работает как канал ввода/вывода), PWRT включен, WDT
; выключен, вывод GP3 работает как канал
; ввода. По-умолчанию: защита выключена, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 0 0 0 1 1 1 3FC7h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _PWRTE_ON&_WDT_OFF&_MCLRE_OFF
; PWRT включен, WDT выключен, вывод GP3
; работает как канал ввода.
; По-умолчанию: защита выключена, RC – генератор
;(внешняя RC-цепочка подключается к GP5. На GP4 присутствует
; сигнал с Fosc/4), сброс BOR разрешён.
Защита выключена, WDT включен, сброс BOR разрешён, вывод GP3 работает как канал ввода (MCLR внутренне
подключен к +Uпит.)
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 0 0 1 0 0 0 3FC8h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _LP_OSC&_PWRTE_ON&_MCLRE_OFF
; LP – генератор, PWRT включен, вывод GP3
53
; работает как канал ввода. По-умолчанию: защита выключена,
; WDT включен, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 0 0 1 0 0 1 3FC9h
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _XT_OSC&_PWRTE_ON&_MCLRE_OFF
; XT – генератор, PWRT включен, вывод GP3
; работает как канал ввода. По-умолчанию: защита выключена,
; WDT включен, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 0 0 1 0 1 0 3FCAh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _HS_OSC&_PWRTE_ON&_MCLRE_OFF
; HS – генератор, PWRT включен, вывод GP3
; работает как канал ввода. По-умолчанию: защита выключена,
; WDT включен, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 0 0 1 0 1 1 3FCBh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _EC_OSC&_PWRTE_ON&_MCLRE_OFF
; EC – генератор, PWRT включен, вывод GP3
; работает как канал ввода. По-умолчанию: защита выключена,
; WDT включен, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 0 0 1 1 0 0 3FCCh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _INTRC_OSC_NOCLKOUT&_PWRTE_ON&_MCLRE_OFF
; INTOSC – генератор (GP5 и GP4 работают как каналы
; ввода/вывода), PWRT включен, вывод GP3
; работает как канал ввода. По-умолчанию: защита выключена,
; WDT включен, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 0 0 1 1 0 1 3FCDh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _INTRC_OSC_CLKOUT&_PWRTE_ON&_MCLRE_OFF
; INTOSC – генератор (GP5 работает как канал ввода/вывода. На
; GP4 присутствует сигнал с Fosc/4), PWRT включен,
; вывод GP3 работает как канал ввода. По-умолчанию: защита
; выключена, WDT включен, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 0 0 1 1 1 0 3FCEh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _EXTRC_OSC_NOCLKOUT&_PWRTE_ON&_MCLRE_OFF
; RC – генератор (внешняя RC-цепочка подключается к GP5. GP4
; работает как канал ввода/вывода), PWRT включен,
; вывод GP3 работает как канал ввода. По-умолчанию: защита
; выключена, WDT включен, сброс BOR разрешён.
BG1 BG0 х х х CPD CP BODEN MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 1 1 1 1 1 1 0 0 1 1 1 1 3FCFh
#include <p12f629.inc> ; Подключение INC-файла PIC12F629.
;;; #include <p12f675.inc> ; Подключение INC-файла PIC12F675.
__CONFIG _PWRTE_ON&_MCLRE_OFF
; PWRT включен, вывод GP3 работает как
; канал ввода.
; По-умолчанию: защита выключена, WDT включен RC – генератор
; (внешняя RC-цепочка подключается к GP5. На GP4 присутствует
; сигнал с Fosc/4), сброс BOR разрешён.
Защита PC и EEPROM включена (CPD = CP = 0)
Нужно добавить _CP_ON&_CPD_ON& (если слева) или &_CP_ON&_CPD_ON (если справа).
Защита PC включена, защита EEPROM выключена (CP = 0, CPD = 1)
Нужно добавить _CP_ON& (если слева) или &_CP_ON (если справа).
Защита EEPROM включена, защита PC выключена (CPD = 0, CP = 1)
Нужно добавить _CPD_ON& (если слева) или &_CPD_ON (если справа).
54
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0
Для PIC16F628A
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0
Примечание: по причине того, что режим низковольтного программирования используется редко, в “нижележащих”
вариантах конфигурирования, он выключен (LVP = 0. Вывод RB4/PGM работает как канал ввода/вывода).
В “пустышные” биты №9 (для PIC16F628) №12…9 (для PIC16F628A) ничего записать нельзя. Они всегда читаются
как “1”. Пусть в них будет якобы “записываться” единица (см. выделенное тёмно-серым цветом).
55
_ER_OSC_NOCLKOUT EQU H'3FFE' ; ER-генератор (один из вариантов).
;----------------------------------------------------------------------------------------------------
_INTOSC_OSC_CLKOUT EQU H'3FFD' ; INTRC-генератор (один из вариантов).
_INTOSC_OSC_NOCLKOUT EQU H'3FFC' ; INTRC-генератор (один из вариантов).
;----------------------------------------------------------------------------------------------------
; Пояснение: “нижележащие” 2 позиции это то же самое (адресно), что и “вышележащие” 2 позиции, но с
; другими символьными названиями.
; В версии MPLAB 8.xx, можно использовать INTOSC или INTRC (на выбор конструктора).
; В версии MPLAB 5.70.40, нужно использовать только INTOSC, либо “прописать”, в соответствующем
; INC-файле, две “нижележащие” позиции (в этом случае, можно использовать INTOSC или INTRC).
;----------------------------------------------------------------------------------------------------
_INTRC_OSC_CLKOUT EQU H'3FFD' ; INTRC-генератор (один из вариантов).
_INTRC_OSC_NOCLKOUT EQU H'3FFC' ; INTRC-генератор (один из вариантов).
;----------------------------------------------------------------------------------------------------
_EXTCLK_OSC EQU H'3FEF' ; Работает EC-генератор.
_HS_OSC EQU H'3FEE' ; Работает HS-генератор.
_XT_OSC EQU H'3FED' ; Работает XT-генератор.
_LP_OSC EQU H'3FEC' ; Работает LP-генератор.
;====================================================================================================
58
; Примечание: для PIC16F628A, _ER_OSC_NOCLKOUT можно заменить на _RC_OSC_NOCLKOUT
;-----------------------------------------------------------------------------------------
; ER – генератор (внешний R подключается к RA7. RA6 работает как
; канал ввода/вывода), PWRT включен, сброс BOR запрещён,
; LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; WDT включен.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 1 1 0 1 1 1 3F37h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _PWRTE_ON&_BODEN_OFF&_LVP_OFF
; PWRT включен, сброс BOR запрещён, LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; ER – генератор (внешний R подключается к RA7. На RA6
; присутствует сигнал с Fosc/4), WDT включен.
Защита выключена, WDT выключен, сброс BOR запрещён, вывод RA5 работает как канал ввода (MCLR
внутренне подключен к +Uпит.)
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 0 0 0 0 0 3F00h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _LP_OSC&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF&_MCLRE_OFF
; LP – генератор, PWRT включен, WDT выключен, сброс BOR
; запрещён, LVP выключен, вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 0 0 0 0 1 3F01h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _XT_OSC&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF&_MCLRE_OFF
; XT – генератор, PWRT включен, WDT выключен, сброс BOR
; запрещён, LVP выключен, вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 0 0 0 1 0 3F02h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _HS_OSC&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF&_MCLRE_OFF
; HS – генератор, PWRT включен, WDT выключен, сброс BOR
; запрещён, LVP выключен, вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 0 0 0 1 1 3F03h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _EXTCLK_OSC&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF&_MCLRE_OFF
; EC – генератор, PWRT включен, WDT выключен, сброс BOR
; запрещён, LVP выключен, вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
59
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 1 0 0 0 0 3F10h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _INTOSC_OSC_NOCLKOUT&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF&_MCLRE_OFF
;-----------------------------------------------------------------------------------------
; Примечание: для PIC16F628A, _INTOSC_OSC_NOCLKOUT можно заменить на _INTRC_OSC_NOCLKOUT
;-----------------------------------------------------------------------------------------
; INTRC – генератор (RA6 и RA7 работают как каналы ввода/вывода),
; PWRT включен, WDT выключен, сброс BOR запрещён, LVP выключен,
; вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 1 0 0 0 1 3F11h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _INTOSC_OSC_CLKOUT&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF&_MCLRE_OFF
;-----------------------------------------------------------------------------------------
; Примечание: для PIC16F628A, _INTOSC_OSC_CLKOUT можно заменить на _INTRC_OSC_CLKOUT
;-----------------------------------------------------------------------------------------
; INTRC – генератор (RA7 работает как канал ввода/вывода.На RA6
; присутствует сигнал с Fosc/4), PWRT включен, WDT выключен,
; сброс BOR запрещён, LVP выключен, вывод RA5 работает как канал
; ввода. По-умолчанию: защита выключена.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 1 0 0 1 0 3F12h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _ER_OSC_NOCLKOUT&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF&_MCLRE_OFF
;-----------------------------------------------------------------------------------------
; Примечание: для PIC16F628A, _ER_OSC_NOCLKOUT можно заменить на _RC_OSC_NOCLKOUT
;-----------------------------------------------------------------------------------------
; ER – генератор (внешний R подключается к RA7. RA6 работает как
; канал ввода/вывода), PWRT включен, WDT выключен, сброс BOR
; запрещён, LVP выключен, вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x хCPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 1 0 0 1 1 3F13h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF&_MCLRE_OFF
; PWRT включен, WDT выключен, сброс BOR запрещён, LVP выключен,
; вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена, ER – генератор (внешний
; R подключается к RA7. На RA6 присутствует сигнал с Fosc/4).
Защита выключена, WDT включен, сброс BOR запрещён, вывод RA5 работает как канал ввода (MCLR внутренне
подключен к +Uпит.)
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 0 0 1 0 0 3F04h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _LP_OSC&_PWRTE_ON&_BODEN_OFF&_LVP_OFF&_MCLRE_OFF
; LP – генератор, PWRT включен, сброс BOR запрещён, LVP выключен,
; вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
60
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 0 0 1 0 1 3F05h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _XT_OSC&_PWRTE_ON&_BODEN_OFF&_LVP_OFF&_MCLRE_OFF
; XT – генератор, PWRT включен, сброс BOR запрещён, LVP выключен,
; вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 0 0 1 1 0 3F06h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _HS_OSC&_PWRTE_ON&_BODEN_OFF&_LVP_OFF&_MCLRE_OFF
; HS – генератор, PWRT включен, сброс BOR запрещён, LVP выключен,
; вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 0 0 1 1 1 3F07h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _EXTCLK_OSC&_PWRTE_ON&_BODEN_OFF&_LVP_OFF&_MCLRE_OFF
; EC – генератор, PWRT включен, сброс BOR запрещён, LVP выключен,
; вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 1 0 1 0 0 3F14h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _INTOSC_OSC_NOCLKOUT&_PWRTE_ON&_BODEN_OFF&_LVP_OFF&_MCLRE_OFF
;-----------------------------------------------------------------------------------------
; Примечание: для PIC16F628A, _INTOSC_OSC_NOCLKOUT можно заменить на _INTRC_OSC_NOCLKOUT
;-----------------------------------------------------------------------------------------
; INTRC – генератор (RA6 и RA7 работают как каналы ввода/вывода),
; PWRT включен, сброс BOR запрещён, LVP выключен, вывод RA5
; работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 1 0 1 0 1 3F15h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _INTOSC_OSC_CLKOUT&_PWRTE_ON&_BODEN_OFF&_LVP_OFF&_MCLRE_OFF
;-----------------------------------------------------------------------------------------
; Примечание: для PIC16F628A, _INTOSC_OSC_CLKOUT можно заменить на _INTRC_OSC_CLKOUT
;-----------------------------------------------------------------------------------------
; INTRC – генератор (RA7 работает как канал ввода/вывода.На RA6
; присутствует сигнал с Fosc/4), PWRT включен, сброс BOR
; запрещён, LVP выключен, вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 1 0 1 1 0 3F16h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _ER_OSC_NOCLKOUT&_PWRTE_ON&_BODEN_OFF&_LVP_OFF&_MCLRE_OFF
;-----------------------------------------------------------------------------------------
; Примечание: для PIC16F628A, _ER_OSC_NOCLKOUT можно заменить на _RC_OSC_NOCLKOUT
61
;-----------------------------------------------------------------------------------------
; ER – генератор (внешний R подключается к RA7. RA6 работает как
; канал ввода/вывода), PWRT включен, сброс BOR запрещён, LVP
; выключен, вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 0 1 0 1 1 1 3F17h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _PWRTE_ON&_BODEN_OFF&_LVP_OFF&_MCLRE_OFF
; PWRT включен, сброс BOR запрещён, LVP выключен, вывод RA5
; работает как канал ввода.
; По-умолчанию: защита выключена, ER – генератор (внешний
; R подключается к RA7. На RA6 присутствует сигнал с Fosc/4),
; WDT включен.
Защита выключена, WDT выключен, сброс BOR разрешён, вывод RA5
работает как MCLR
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 0 0 0 0 0 3F60h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _LP_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF
; LP – генератор, PWRT включен, WDT выключен, LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 0 0 0 0 1 3F61h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _XT_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF
; XT – генератор, PWRT включен, WDT выключен, LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 0 0 0 1 0 3F62h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _HS_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF
; HS – генератор, PWRT включен, WDT выключен, LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 0 0 0 1 1 3F63h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _EXTCLK_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF
; EC – генератор, PWRT включен, WDT выключен, LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
62
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 0 0 0 3F70h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _INTOSC_OSC_NOCLKOUT&_PWRTE_ON&_WDT_OFF&_LVP_OFF
;-----------------------------------------------------------------------------------------
; Примечание: для PIC16F628A, _INTOSC_OSC_NOCLKOUT можно заменить на _INTRC_OSC_NOCLKOUT
;-----------------------------------------------------------------------------------------
; INTRC – генератор (RA6 и RA7 работают как каналы ввода/вывода),
; PWRT включен, WDT выключен, LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 0 0 1 3F71h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _INTOSC_OSC_CLKOUT&_PWRTE_ON&_WDT_OFF&_LVP_OFF
;-----------------------------------------------------------------------------------------
; Примечание: для PIC16F628A, _INTOSC_OSC_CLKOUT можно заменить на _INTRC_OSC_CLKOUT
;-----------------------------------------------------------------------------------------
; INTRC – генератор (RA7 работает как канал ввода/вывода.На RA6
; присутствует сигнал с Fosc/4), PWRT включен, WDT выключен,
; LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 0 1 0 3F72h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _ER_OSC_NOCLKOUT&_PWRTE_ON&_WDT_OFF&_LVP_OFF
;-----------------------------------------------------------------------------------------
; Примечание: для PIC16F628A, _ER_OSC_NOCLKOUT можно заменить на _RC_OSC_NOCLKOUT
;-----------------------------------------------------------------------------------------
; ER – генератор (внешний R подключается к RA7. RA6 работает как
; канал ввода/вывода), PWRT включен, WDT выключен, LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 0 1 1 3F73h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _PWRTE_ON&_WDT_OFF&_LVP_OFF
; PWRT включен, WDT выключен, LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; ER – генератор (внешний R подключается к RA7. На RA6
; присутствует сигнал с Fosc/4), сброс BOR разрешён.
Защита выключена, WDT включен, сброс BOR разрешён, вывод RA5
работает как MCLR
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 0 0 1 0 0 3F64h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _LP_OSC&_PWRTE_ON&_LVP_OFF
; LP – генератор, PWRT включен, LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; WDT включен, сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
63
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 0 0 1 0 1 3F65h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _XT_OSC&_PWRTE_ON&_LVP_OFF
; XT – генератор, PWRT включен, LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; WDT включен, сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 0 0 1 1 0 3F66h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _HS_OSC&_PWRTE_ON&_LVP_OFF
; HS – генератор, PWRT включен, LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; WDT включен, сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 0 0 1 1 1 3F67h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _EXTCLK_OSC&_PWRTE_ON&_LVP_OFF
; EC – генератор, PWRT включен, LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; WDT включен, сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 1 0 0 3F74h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _INTOSC_OSC_NOCLKOUT&_PWRTE_ON&_LVP_OFF
;-----------------------------------------------------------------------------------------
; Примечание: для PIC16F628A, _INTOSC_OSC_NOCLKOUT можно заменить на _INTRC_OSC_NOCLKOUT
;-----------------------------------------------------------------------------------------
; INTRC – генератор (RA6 и RA7 работают как каналы ввода/вывода),
; PWRT включен, LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; WDT включен, сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 1 0 1 3F75h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _INTOSC_OSC_CLKOUT&_PWRTE_ON&_LVP_OFF
;-----------------------------------------------------------------------------------------
; Примечание: для PIC16F628A, _INTOSC_OSC_CLKOUT можно заменить на _INTRC_OSC_CLKOUT
;-----------------------------------------------------------------------------------------
; INTRC – генератор (RA7 работает как канал ввода/вывода.На RA6
; присутствует сигнал с Fosc/4), PWRT включен, LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; WDT включен, сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 1 1 0 3F76h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _ER_OSC_NOCLKOUT&_PWRTE_ON&_LVP_OFF
;-----------------------------------------------------------------------------------------
64
; Примечание: для PIC16F628A, _ER_OSC_NOCLKOUT можно заменить на _RC_OSC_NOCLKOUT
;-----------------------------------------------------------------------------------------
; ER – генератор (внешний R подключается к RA7. RA6 работает как
; канал ввода/вывода), PWRT включен, LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; WDT включен, сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 1 1 1 3F77h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _PWRTE_ON&_LVP_OFF
; PWRT включен, LVP выключен.
; По-умолчанию: защита выключена, вывод RA5 работает как MCLR,
; ER – генератор (внешний R подключается к RA7. На RA6
; присутствует сигнал с Fosc/4), WDT включен, сброс BOR разрешён.
Защита выключена, WDT выключен, сброс BOR разрешён, вывод RA5 работает как канал ввода (MCLR
внутренне подключен к +Uпит.)
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 0 0 0 0 0 3F40h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _LP_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF&_MCLRE_OFF
; LP – генератор, PWRT включен, WDT выключен, LVP выключен,
; вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена, сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 0 0 0 0 1 3F41h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _XT_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF&_MCLRE_OFF
; XT – генератор, PWRT включен, WDT выключен, LVP выключен,
; вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена, сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 0 0 0 1 0 3F42h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _HS_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF&_MCLRE_OFF
; HS – генератор, PWRT включен, WDT выключен, LVP выключен,
; вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена, сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 0 0 0 1 1 3F43h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _EXTCLK_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF&_MCLRE_OFF
; EC – генератор, PWRT включен, WDT выключен, LVP выключен,
; вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена, сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
65
1 1 1 1 1 1 0 1 0 1 0 0 0 0 3F50h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _INTOSC_OSC_NOCLKOUT&_PWRTE_ON&_WDT_OFF&_LVP_OFF&_MCLRE_OFF
;-----------------------------------------------------------------------------------------
; Примечание: для PIC16F628A, _INTOSC_OSC_NOCLKOUT можно заменить на _INTRC_OSC_NOCLKOUT
;-----------------------------------------------------------------------------------------
; INTRC – генератор (RA6 и RA7 работают как каналы ввода/вывода),
; PWRT включен, WDT выключен, LVP выключен, вывод RA5 работает
; как канал ввода.
; По-умолчанию: защита выключена, сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 1 0 0 0 1 3F51h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _INTOSC_OSC_CLKOUT&_PWRTE_ON&_WDT_OFF&_LVP_OFF&_MCLRE_OFF
;-----------------------------------------------------------------------------------------
; Примечание: для PIC16F628A, _INTOSC_OSC_CLKOUT можно заменить на _INTRC_OSC_CLKOUT
;-----------------------------------------------------------------------------------------
; INTRC – генератор (RA7 работает как канал ввода/вывода.На RA6
; присутствует сигнал с Fosc/4), PWRT включен, WDT выключен,
; LVP выключен, вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена, сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 1 0 0 1 0 3F52h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _ER_OSC_NOCLKOUT&_PWRTE_ON&_WDT_OFF&_LVP_OFF&_MCLRE_OFF
;-----------------------------------------------------------------------------------------
; Примечание: для PIC16F628A, _ER_OSC_NOCLKOUT можно заменить на _RC_OSC_NOCLKOUT
;-----------------------------------------------------------------------------------------
; ER – генератор (внешний R подключается к RA7. RA6 работает как
; канал ввода/вывода), PWRT включен, WDT выключен, LVP выключен,
; вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена, сброс BOR разрешён.
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х
CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 11 0 1 0 1 0 0 1 1 3F53h
#include<p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include<p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG_PWRTE_ON&_WDT_OFF&_LVP_OFF&_MCLRE_OFF
; PWRT включен, WDT выключен, LVP выключен, вывод RA5 работает
; как канал ввода.
; По-умолчанию: защита выключена, ER – генератор (внешний R
; подключается к RA7. На RA6 присутствует сигнал с Fosc/4),
; сброс BOR разрешён.
Защита выключена, WDT включен, сброс BOR разрешён, вывод RA5 работает как канал ввода (MCLR внутренне
подключен к +Uпит.)
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 0 0 1 0 0 3F44h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _LP_OSC&_PWRTE_ON&_LVP_OFF&_MCLRE_OFF
; LP – генератор, PWRT включен, LVP выключен, вывод RA5 работает
; как канал ввода.
; По-умолчанию: защита выключена, WDT включен, сброс BOR разрешён
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
66
1 1 1 1 1 1 0 1 0 0 0 1 0 1 3F45h
67
;-----------------------------------------------------------------------------------------
; ER – генератор (внешний R подключается к RA7. RA6 работает как
; канал ввода/вывода), PWRT включен, LVP выключен,
; вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен, сброс BOR разрешён
Для PIC16F628
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 CP1 CP0 х CPD LVP BODEN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
Для PIC16F628A
CP x x x х CPD LVP BOREN MCLRE FOSC2 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 0 1 0 1 1 1 3F57h
#include <p16f628A.inc>; Подключение INC-файла PIC16F628A.
;;; #include <p16f628.inc> ; Подключение INC-файла PIC16F628.
__CONFIG _PWRTE_ON&_LVP_OFF&_MCLRE_OFF
; PWRT включен, LVP выключен, вывод RA5 работает как канал ввода.
; По-умолчанию: защита выключена, ER – генератор (внешний R
; подключается к RA7. На RA6 присутствует сигнал с Fosc/4),
; WDT включен, сброс BOR разрешён.
Для PIC16F628
Для PIC16F628A
68
;====================================================================================================
_CP_ALL EQU H'0FCF' ; Защищена вся PC -> 00111111001111
_CP_HALF EQU H'1FDF' ; PC-защита включена для ячеек с адресами 0800h…0FFFh
; (если PIC16F873/874) или для ячеек с адресами
; 1000h…1FFFh (если PIC16F876/877) -> 01111111011111
_CP_UPPER_256 EQU H'2FEF' ; PC-защита включена для ячеек с адресами 0F00h…0FFFh
; (если PIC16F873/874) или для ячеек с адресами
; 1F00h…1FFFh (если PIC16F876/877) -> 10111111101111
_CP_OFF EQU H'3FFF' ; PC-защита выключена -> 11111111111111
;----------------------------------------------------------------------------------------------------
_DEBUG_ON EQU H'37FF' ; Внутрисхемная отладка включена.
_DEBUG_OFF EQU H'3FFF' ; Внутрисхемная отладка выключена.
_WRT_ENABLE_ON EQU H'3FFF' ; Flash-запись разрешена.
_WRT_ENABLE_OFF EQU H'3DFF' ; Flash-запись запрещена.
_CPD_ON EQU H'3EFF' ; EEPROM-защита включена.
_CPD_OFF EQU H'3FFF' ; EEPROM-защита выключена.
_LVP_ON EQU H'3FFF' ; LVP включен.
_LVP_OFF EQU H'3F7F' ; LVP выключен.
_BODEN_ON EQU H'3FFF' ; Сброс BOR разрешён.
_BODEN_OFF EQU H'3FBF' ; Сброс BOR запрещён.
_PWRTE_OFF EQU H'3FFF' ; PWRT выключен.
_PWRTE_ON EQU H'3FF7' ; PWRT включен.
_WDT_ON EQU H'3FFF' ; WDT включен.
_WDT_OFF EQU H'3FFB' ; WDT выключен.
_LP_OSC EQU H'3FFC' ; Работает LP-генератор.
_XT_OSC EQU H'3FFD' ; Работает XT-генератор.
_HS_OSC EQU H'3FFE' ; Работает HS-генератор.
_RC_OSC EQU H'3FFF' ; Работает RC-генератор.
;====================================================================================================
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 0 1 0 0 1 1 0 1 0 0 3D34h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
70
; выключена, сброс BOR разрешён.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 0 1 0 1 1 1 0 0 1 0 3D72h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _HS_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF&_WRT_ENABLE_OFF
; HS – генератор, PWRT включен, WDT выключен, LVP выключен,
; Flash-запись запрещена.
; По-умолчанию: защита выключена, внутрисхемная отладка
; выключена, сброс BOR разрешён.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 0 1 0 1 1 1 0 0 1 1 3D73h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _PWRTE_ON&_WDT_OFF&_LVP_OFF&_WRT_ENABLE_OFF
; PWRT включен, WDT выключен, LVP выключен,
; Flash-запись запрещена.
; По-умолчанию: защита выключена, RC – генератор,
; внутрисхемная отладка выключена, сброс BOR разрешён.
Защита выключена, WDT включен, сброс BOR разрешён, Flash-запись
запрещена, внутрисхемная отладка выключена
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 0 1 0 1 1 1 0 1 0 0 3D74h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _LP_OSC&_PWRTE_ON&_LVP_OFF&_WRT_ENABLE_OFF
; LP – генератор, PWRT включен, LVP выключен,
; Flash-запись запрещена.
; По-умолчанию: защита выключена, WDT включен, внутрисхемная
; отладка выключена, сброс BOR разрешён.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 0 1 0 1 1 1 0 1 0 1 3D75h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _XT_OSC&_PWRTE_ON&_LVP_OFF&_WRT_ENABLE_OFF
; XT – генератор, PWRT включен, LVP выключен,
; Flash-запись запрещена.
; По-умолчанию: защита выключена, WDT включен, внутрисхемная
; отладка выключена, сброс BOR разрешён.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 0 1 0 1 1 1 0 1 1 0 3D76h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _HS_OSC&_PWRTE_ON&_LVP_OFF&_WRT_ENABLE_OFF
; HS – генератор, PWRT включен, LVP выключен,
; Flash-запись запрещена.
; По-умолчанию: защита выключена, WDT включен, внутрисхемная
; отладка выключена, сброс BOR разрешён.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 1 1 0 1 0 1 1 1 0 1 1 1 3D77h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _PWRTE_ON&_LVP_OFF&_WRT_ENABLE_OFF
; PWRT включен, LVP выключен, Flash-запись запрещена.
; По-умолчанию: защита выключена, RC – генератор, WDT включен,
; внутрисхемная отладка выключена, сброс BOR разрешён.
Защита выключена, WDT выключен, сброс BOR запрещён, Flash-запись
запрещена, внутрисхемная отладка включена
13 12 11 10 9 8 7 6 5 4 3 2 1 0
71
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 0 1 1 0 0 0 0 3530h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _LP_OSC&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF&_WRT_ENABLE_OFF&_DEBUG_ON
; LP – генератор, PWRT включен, WDT выключен, сброс BOR
; запрещён, LVP выключен, Flash-запись запрещена, внутрисхемная
; отладка включена.
; По-умолчанию: защита выключена.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 0 1 1 0 0 0 1 3531h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _XT_OSC&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF&_WRT_ENABLE_OFF&_DEBUG_ON
; XT – генератор, PWRT включен, WDT выключен, сброс BOR
; запрещён, LVP выключен, Flash-запись запрещена, внутрисхемная
; отладка включена.
; По-умолчанию: защита выключена.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 0 1 1 0 0 1 0 3532h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _HS_OSC&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF&_WRT_ENABLE_OFF&_DEBUG_ON
; HS – генератор, PWRT включен, WDT выключен, сброс BOR
; запрещён, LVP выключен, Flash-запись запрещена, внутрисхемная
; отладка включена.
; По-умолчанию: защита выключена.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 0 1 1 0 0 1 1 3533h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF&_WRT_ENABLE_OFF&_DEBUG_ON
; PWRT включен, WDT выключен, сброс BOR запрещён, LVP выключен,
; Flash-запись запрещена, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, RC – генератор.
Защита выключена, WDT включен, сброс BOR запрещён, Flash-запись
запрещена, внутрисхемная отладка включена
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 0 1 1 0 1 0 0 3534h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _LP_OSC&_PWRTE_ON&_BODEN_OFF&_LVP_OFF&_WRT_ENABLE_OFF&_DEBUG_ON
; LP – генератор, PWRT включен, сброс BOR запрещён, LVP выключен,
; Flash-запись запрещена, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, WDT включен.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 0 1 1 0 1 0 1 3535h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _XT_OSC&_PWRTE_ON&_BODEN_OFF&_LVP_OFF&_WRT_ENABLE_OFF&_DEBUG_ON
; XT – генератор, PWRT включен, сброс BOR запрещён, LVP выключен,
; Flash-запись запрещена, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, WDT включен.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 0 1 1 0 1 1 0 3536h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _HS_OSC&_PWRTE_ON&_BODEN_OFF&_LVP_OFF&_WRT_ENABLE_OFF&_DEBUG_ON
; HS – генератор, PWRT включен, сброс BOR запрещён, LVP выключен,
72
; Flash-запись запрещена, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, WDT включен.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 0 1 1 0 1 1 1 3537h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _PWRTE_ON&_BODEN_OFF&_LVP_OFF&_WRT_ENABLE_OFF&_DEBUG_ON
; PWRT включен, сброс BOR запрещён, LVP выключен, Flash-запись
; запрещена, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, RC – генератор, WDT включен.
Защита выключена, WDT выключен, сброс BOR разрешён, Flash-запись
запрещена, внутрисхемная отладка включена
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 0 0 0 3570h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _LP_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF&_WRT_ENABLE_OFF&_DEBUG_ON
; LP – генератор, PWRT включен, WDT выключен, LVP выключен,
; Flash-запись запрещена, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, сброс BOR разрешён.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 0 0 1 3571h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _XT_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF&_WRT_ENABLE_OFF&_DEBUG_ON
; XT – генератор, PWRT включен, WDT выключен, LVP выключен,
; Flash-запись запрещена, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, сброс BOR разрешён.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 0 1 0 3572h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _HS_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF&_WRT_ENABLE_OFF&_DEBUG_ON
; HS – генератор, PWRT включен, WDT выключен, LVP выключен,
; Flash-запись запрещена, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, сброс BOR разрешён.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 0 1 1 3573h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _PWRTE_ON&_WDT_OFF&_LVP_OFF&_WRT_ENABLE_OFF&_DEBUG_ON
; PWRT включен, WDT выключен, LVP выключен, Flash-запись
; запрещена, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, RC – генератор, сброс BOR
; разрешён.
Защита выключена, WDT включен, сброс BOR разрешён, Flash-запись
запрещена, внутрисхемная отладка включена
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 1 0 0 3574h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _LP_OSC&_PWRTE_ON&_LVP_OFF&_WRT_ENABLE_OFF&_DEBUG_ON
; LP – генератор, PWRT включен, LVP выключен, Flash-запись
; запрещена, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, WDT включен,
; сброс BOR разрешён.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 1 0 1 3575h
73
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _XT_OSC&_PWRTE_ON&_LVP_OFF&_WRT_ENABLE_OFF&_DEBUG_ON
; XT – генератор, PWRT включен, LVP выключен, Flash-запись
; запрещена, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, WDT включен,
; сброс BOR разрешён.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 1 1 0 3576h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _HS_OSC&_PWRTE_ON&_LVP_OFF&_WRT_ENABLE_OFF&_DEBUG_ON
; HS – генератор, PWRT включен, LVP выключен, Flash-запись
; запрещена, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, WDT включен,
; сброс BOR разрешён.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP1 CP0 DEBUG х WRT CPD LVP BODEN CP1 CP0 -PWRTE WDTE FOSC1 FOSC0 Значение
1 1 0 1 0 1 0 1 1 1 0 1 1 1 3577h
#include <p16f873.inc> ; Подключение INC-файла PIC16F873.
;;; #include <p16f874.inc> ; Подключение INC-файла PIC16F874.
;;; #include <p16f876.inc> ; Подключение INC-файла PIC16F876.
;;; #include <p16f877.inc> ; Подключение INC-файла PIC16F877.
__CONFIG _PWRTE_ON&_LVP_OFF&_WRT_ENABLE_OFF&_DEBUG_ON
; PWRT включен, LVP выключен, Flash-запись запрещена,
; внутрисхемная отладка включена.
; По-умолчанию: защита выключена, RC – генератор, WDT включен,
; сброс BOR разрешён.
Разрешение Flash-записи
В “вышележащих” вариантах, Flash-запись запрещена.
Для того чтобы её разрешить, нужно убрать &_WRT_ENABLE_OFF
Комплексные варианты
Допустим, что нужно
выставить PC и EEPROM защиты,
разрешить Flash-запись.
Действия:
1. добавить _CP_ALL&_CPD_ON& (если слева) или &_CP_ALL&_CPD_ON (если справа),
2. убрать &_WRT_ENABLE_OFF .
74
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0
Примечание: по причине того, что режим низковольтного программирования используется редко, в “нижележащих”
вариантах конфигурирования, он выключен (LVP = 0. Вывод RB3/PGM работает как канал ввода/вывода).
В “пустышныe” биты №12 и №5, 4 ничего записать нельзя. Они всегда читаются как “1”. Пусть в них будут якобы
“записываться” единицы (см. выделенное тёмно-серым цветом).
75
; По-умолчанию: защита выключена, внутрисхемная отладка
; выключена, Flash-запись разрешена по всему “объёму” PC.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 1 1 0 0 1 0 3F32h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _HS_OSC&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF
; HS – генератор, PWRT включен, WDT выключен, сброс BOR запрещён,
; LVP выключен.
; По-умолчанию: защита выключена, внутрисхемная отладка
; выключена, Flash-запись разрешена по всему “объёму” PC.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 1 1 0 0 1 1 3F33h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF
; PWRT включен, WDT выключен, сброс BOR запрещён, LVP выключен.
; По-умолчанию: защита выключена, RC – генератор, внутрисхемная
; отладка выключена, Flash-запись разрешена по всему “объёму” PC.
Защита выключена, WDT включен, сброс BOR запрещён, Flash-запись
разрешена, внутрисхемная отладка выключена
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 1 1 0 1 0 0 3F34h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _LP_OSC&_PWRTE_ON&_BODEN_OFF&_LVP_OFF
; LP – генератор, PWRT включен, сброс BOR запрещён, LVP выключен.
; По-умолчанию: защита выключена, WDT включен, внутрисхемная
; отладка выключена, Flash-запись разрешена по всему “объёму” PC.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 1 1 0 1 0 1 3F35h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _XT_OSC&_PWRTE_ON&_BODEN_OFF&_LVP_OFF
; XT – генератор, PWRT включен, сброс BOR запрещён, LVP выключен.
; По-умолчанию: защита выключена, WDT включен, внутрисхемная
; отладка выключена, Flash-запись разрешена по всему “объёму” PC.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 1 1 0 1 1 0 3F36h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _HS_OSC&_PWRTE_ON&_BODEN_OFF&_LVP_OFF
; HS – генератор, PWRT включен, сброс BOR запрещён, LVP выключен.
; По-умолчанию: защита выключена, WDT включен, внутрисхемная
; отладка выключена, Flash-запись разрешена по всему “объёму” PC.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 0 1 1 0 1 1 1 3F37h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _PWRTE_ON&_BODEN_OFF&_LVP_OFF
; PWRT включен, сброс BOR запрещён, LVP выключен.
; По-умолчанию: защита выключена, RC – генератор, WDT включен,
; внутрисхемная отладка выключена, Flash-запись разрешена по
; всему “объёму” PC.
Защита выключена, WDT выключен, сброс BOR разрешён, Flash-запись
разрешена, внутрисхемная отладка выключена
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 0 0 0 3F70h
76
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _LP_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF
; LP – генератор, PWRT включен, WDT выключен, LVP выключен.
; По-умолчанию: защита выключена, внутрисхемная отладка
; выключена, Flash-запись разрешена по всему “объёму” PC,
; сброс BOR разрешён.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 0 0 1 3F71h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _XT_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF
; XT – генератор, PWRT включен, WDT выключен, LVP выключен.
; По-умолчанию: защита выключена, внутрисхемная отладка
; выключена, Flash-запись разрешена по всему “объёму” PC,
; сброс BOR разрешён.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 0 1 0 3F72h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _HS_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF
; HS – генератор, PWRT включен, WDT выключен, LVP выключен.
; По-умолчанию: защита выключена, внутрисхемная отладка
; выключена, Flash-запись разрешена по всему “объёму” PC,
; сброс BOR разрешён.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 0 1 1 3F73h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _PWRTE_ON&_WDT_OFF&_LVP_OFF
; PWRT включен, WDT выключен, LVP выключен.
; По-умолчанию: защита выключена, RC – генератор, внутрисхемная
; отладка выключена, Flash-запись разрешена по всему “объёму” PC,
; сброс BOR разрешён.
Защита выключена, WDT включен, сброс BOR разрешён, Flash-запись
разрешена, внутрисхемная отладка выключена
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 1 0 0 3F74h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _LP_OSC&_PWRTE_ON&_LVP_OFF
; LP – генератор, PWRT включен, LVP выключен.
; По-умолчанию: защита выключена, WDT включен, внутрисхемная
; отладка выключена, Flash-запись разрешена по всему “объёму” PC,
; сброс BOR разрешён.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 1 0 1 3F75h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _XT_OSC&_PWRTE_ON&_LVP_OFF
; XT – генератор, PWRT включен, LVP выключен.
; По-умолчанию: защита выключена, WDT включен, внутрисхемная
; отладка выключена, Flash-запись разрешена по всему “объёму” PC,
; сброс BOR разрешён.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 1 1 0 3F76h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _HS_OSC&_PWRTE_ON&_LVP_OFF
77
; HS – генератор, PWRT включен, LVP выключен.
; По-умолчанию: защита выключена, WDT включен, внутрисхемная
; отладка выключена, Flash-запись разрешена по всему “объёму” PC,
; сброс BOR разрешён.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 1 1 1 1 0 1 1 1 0 1 1 1 3F77h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _PWRTE_ON&_LVP_OFF
; PWRT включен, LVP выключен.
; По-умолчанию: защита выключена, RC – генератор, WDT включен,
; внутрисхемная отладка выключена, Flash-запись разрешена по
; всему “объёму” PC, сброс BOR разрешён.
Защита выключена, WDT выключен, сброс BOR запрещён, Flash-запись
разрешена, внутрисхемная отладка включена
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 0 1 1 0 0 0 0 3730h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _LP_OSC&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF&_DEBUG_ON
; LP – генератор, PWRT включен, WDT выключен, сброс BOR запрещён,
; LVP выключен, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, Flash-запись разрешена по всему
; “объёму” PC.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 0 1 1 0 0 0 1 3731h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _XT_OSC&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF&_DEBUG_ON
; XT – генератор, PWRT включен, WDT выключен, сброс BOR запрещён,
; LVP выключен, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, Flash-запись разрешена по всему
; “объёму” PC.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 0 1 1 0 0 1 0 3732h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _HS_OSC&_PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF&_DEBUG_ON
; HS – генератор, PWRT включен, WDT выключен, сброс BOR запрещён,
; LVP выключен, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, Flash-запись разрешена по всему
; “объёму” PC.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 0 1 1 0 0 1 1 3733h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _PWRTE_ON&_WDT_OFF&_BODEN_OFF&_LVP_OFF&_DEBUG_ON
; PWRT включен, WDT выключен, сброс BOR запрещён, LVP выключен,
; внутрисхемная отладка включена.
; По-умолчанию: защита выключена, RC – генератор, Flash-запись
; разрешена по всему “объёму” PC.
Защита выключена, WDT включен, сброс BOR запрещён, Flash-запись
разрешена, внутрисхемная отладка включена
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 0 1 1 0 1 0 0 3734h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _LP_OSC&_PWRTE_ON&_BODEN_OFF&_LVP_OFF&_DEBUG_ON
; LP – генератор, PWRT включен, сброс BOR запрещён,
; LVP выключен, внутрисхемная отладка включена.
78
; По-умолчанию: защита выключена, WDT включен, Flash-запись
; разрешена по всему “объёму” PC.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 0 1 1 0 1 0 1 3735h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _XT_OSC&_PWRTE_ON&_BODEN_OFF&_LVP_OFF&_DEBUG_ON
; XT – генератор, PWRT включен, сброс BOR запрещён,
; LVP выключен, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, WDT включен, Flash-запись
; разрешена по всему “объёму” PC.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 0 1 1 0 1 1 0 3736h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _HS_OSC&_PWRTE_ON&_BODEN_OFF&_LVP_OFF&_DEBUG_ON
; HS – генератор, PWRT включен, сброс BOR запрещён,
; LVP выключен, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, WDT включен, Flash-запись
; разрешена по всему “объёму” PC.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 0 1 1 0 1 1 1 3737h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _PWRTE_ON&_BODEN_OFF&_LVP_OFF&_DEBUG_ON
; PWRT включен, сброс BOR запрещён, LVP выключен,
; внутрисхемная отладка включена.
; По-умолчанию: защита выключена, RC – генератор, WDT включен,
; Flash-запись разрешена по всему “объёму” PC.
Защита выключена, WDT выключен, сброс BOR разрешён, Flash-запись
разрешена, внутрисхемная отладка включена
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 1 1 1 0 0 0 0 3770h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _LP_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF&_DEBUG_ON
; LP – генератор, PWRT включен, WDT выключен, LVP выключен,
; внутрисхемная отладка включена.
; По-умолчанию: защита выключена, сброс BOR разрешён,
; Flash-запись разрешена по всему “объёму” PC.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 1 1 1 0 0 0 1 3771h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _XT_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF&_DEBUG_ON
; XT – генератор, PWRT включен, WDT выключен, LVP выключен,
; внутрисхемная отладка включена.
; По-умолчанию: защита выключена, сброс BOR разрешён,
; Flash-запись разрешена по всему “объёму” PC.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 1 1 1 0 0 1 0 3772h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _HS_OSC&_PWRTE_ON&_WDT_OFF&_LVP_OFF&_DEBUG_ON
; HS – генератор, PWRT включен, WDT выключен, LVP выключен,
; внутрисхемная отладка включена.
; По-умолчанию: защита выключена, сброс BOR разрешён,
; Flash-запись разрешена по всему “объёму” PC.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
79
1 1 0 1 1 1 0 1 1 1 0 0 1 1 3773h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _PWRTE_ON&_WDT_OFF&_LVP_OFF&_DEBUG_ON
; PWRT включен, WDT выключен, LVP выключен, внутрисхемная отладка
; включена.
; По-умолчанию: защита выключена, RC – генератор, сброс BOR
; разрешён, Flash-запись разрешена по всему “объёму” PC.
Защита выключена, WDT включен, сброс BOR разрешён, Flash-запись
разрешена, внутрисхемная отладка включена
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 1 1 1 0 1 0 0 3774h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _LP_OSC&_PWRTE_ON&_LVP_OFF&_DEBUG_ON
; LP – генератор, PWRT включен, LVP выключен,
; внутрисхемная отладка включена.
; По-умолчанию: защита выключена, WDT включен, сброс BOR
; разрешён, Flash-запись разрешена по всему “объёму” PC.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 1 1 1 0 1 0 1 3775h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _XT_OSC&_PWRTE_ON&_LVP_OFF&_DEBUG_ON
; XT – генератор, PWRT включен, LVP выключен,
; внутрисхемная отладка включена.
; По-умолчанию: защита выключена, WDT включен, сброс BOR
; разрешён, Flash-запись разрешена по всему “объёму” PC.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 1 1 1 0 1 1 0 3776h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _HS_OSC&_PWRTE_ON&_LVP_OFF&_DEBUG_ON
; HS – генератор, PWRT включен, LVP выключен,
; внутрисхемная отладка включена.
; По-умолчанию: защита выключена, WDT включен, сброс BOR
; разрешён, Flash-запись разрешена по всему “объёму” PC.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
CP x DEBUG WRT1 WRT0 CPD LVP BOREN x x -PWRTEN WDTEN FOSC1 FOSC0 Значение
1 1 0 1 1 1 0 1 1 1 0 1 1 1 3777h
#include <p16f873A.inc>; Подключение INC-файла PIC16F873A.
;;; #include <p16f874A.inc>; Подключение INC-файла PIC16F874A.
;;; #include <p16f876A.inc>; Подключение INC-файла PIC16F876A.
;;; #include <p16f877A.inc>; Подключение INC-файла PIC16F877A.
__CONFIG _PWRTE_ON&_LVP_OFF&_DEBUG_ON
; PWRT включен, LVP выключен, внутрисхемная отладка включена.
; По-умолчанию: защита выключена, RC – генератор, WDT включен,
; сброс BOR разрешён, Flash-запись разрешена по всему “объёму” PC
80
Flash-запись разрешена (WRT1 = 0, WRT0 = 1)
Нужно добавить _WRT_1FOURTH& (если слева) или &_WRT_1FOURTH (если справа).
Примечание: Flash-запись разрешена для PC-ячеек с адресами 0400h…0FFFh (если PIC16F873/874) или для ячеек с
адресами 0800h…1FFFh (если PIC16F876/877).
Комплексные варианты
Допустим, что нужно
выставить PC и EEPROM защиты,
разрешить Flash-запись для PC-ячеек с адресами 0100h…0FFFh (если PIC16F873/874)
или для ячеек с адресами 0100h…1FFFh (если PIC16F876/877).
Действия:
1. добавить _CP_ALL&_CPD_ON& (если слева) или &_CP_ALL&_CPD_ON (если справа),
2. добавить _WRT_256& (если слева) или &_WRT_256 (если справа).
81
;----------------------------------------------
_INTRC_OSC_NOCLKOUT EQU H'3FFC' ; INTOSC-генератор (один из вариантов).
_INTRC_OSC_CLKOUT EQU H'3FFD' ; INTOSC-генератор (один из вариантов).
_EXTRC_OSC_NOCLKOUT EQU H'3FFE' ; RC-генератор (один из вариантов).
_EXTRC_OSC_CLKOUT EQU H'3FFF' ; RC-генератор (один из вариантов).
;---------------------------------------------------------------------------
; Адресные дубли 4-х “вышележащих” позиций (можно применить и эти названия).
;---------------------------------------------------------------------------
_INTOSCIO EQU H'3FFC' ; INTOSC-генератор (один из вариантов).
_INTOSC EQU H'3FFD' ; INTOSC-генератор (один из вариантов).
_EXTRCIO EQU H'3FFE' ; RC-генератор (один из вариантов).
_EXTRC EQU H'3FFF' ; RC-генератор (один из вариантов).
;====================================================================================================
Пояснение:
“Нижележащие” варианты конфигурирования “заточены” под PIC16F631/677/685/687/689/690 (работа с
RA…). Если же речь идёт о PIC12F683, то нужно просто банально заменить RA… на GP…
82
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _EC_OSC&_PWRTE_ON&_WDT_OFF&_BOR_OFF&_FCMEN_OFF&_IESO_OFF
;--------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
;--------------------------------------------------------------------------------
; EC – генератор, PWRT включен, WDT выключен, сброс BOR запрещён,
; мониторинг выключен, ускоренный режим запуска запрещён.
; По-умолчанию: защита выключена, работа вывода RA3 в качестве
; MCLR.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 0 1 0 0 30E4h
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _INTRC_OSC_NOCLKOUT&_PWRTE_ON&_WDT_OFF&_BOR_OFF&_FCMEN_OFF&_IESO_OFF
;-----------------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
; Для всех вышеперечисленных типов ПИКов, _INTRC_OSC_NOCLKOUT можно заменить на _INTOSCIO
;-----------------------------------------------------------------------------------------
; INTOSC–генератор (RA5 и RA4 работают как каналы ввода/вывода),
; PWRT включен, WDT выключен, сброс BOR запрещён, мониторинг
; выключен, ускоренный режим запуска запрещён.
; По-умолчанию: защита выключена, работа вывода RA3 в качестве
; MCLR.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 0 1 0 1 30E5h
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _INTRC_OSC_CLKOUT&_PWRTE_ON&_WDT_OFF&_BOR_OFF&_FCMEN_OFF&_IESO_OFF
;-----------------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
; Для всех вышеперечисленных типов ПИКов, _INTRC_OSC_CLKOUT можно заменить на _INTOSC
;-----------------------------------------------------------------------------------------
; INTOSC–генератор (RA5 работает как канал ввода/вывода. На RA4
; присутствует сигнал с Fosc/4), PWRT включен, WDT выключен,
; сброс BOR запрещён, мониторинг выключен, ускоренный режим
; запуска запрещён.
; По-умолчанию: защита выключена, работа вывода RA3 в качестве
; MCLR.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 0 1 1 0 30E6h
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _EXTRC_OSC_NOCLKOUT&_PWRTE_ON&_WDT_OFF&_BOR_OFF&_FCMEN_OFF&_IESO_OFF
;-----------------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
; Для всех вышеперечисленных типов ПИКов, _EXTRC_OSC_NOCLKOUT можно заменить на _EXTRCIO
;-----------------------------------------------------------------------------------------
; RC–генератор (внешняя RC-цепочка подключается к RA5. RA4
; работает как канал ввода/вывода), PWRT включен, WDT выключен,
; сброс BOR запрещён, мониторинг выключен, ускоренный режим
; запуска запрещён.
; По-умолчанию: защита выключена, работа вывода RA3 в качестве
; MCLR.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 0 1 1 1 30E7h
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
83
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _PWRTE_ON&_WDT_OFF&_BOR_OFF&_FCMEN_OFF&_IESO_OFF
;-----------------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
;-----------------------------------------------------------------------------------------
; PWRT включен, WDT выключен, сброс BOR запрещён, мониторинг
; выключен, ускоренный режим запуска запрещён.
; По-умолчанию: защита выключена, RC–генератор (внешняя
; RC-цепочка подключается к RA5. На RA4 присутствует сигнал с
; Fosc/4), работа вывода RA3 в качестве MCLR.
Защита выключена, мониторинг выключен, ускоренный режим запуска
запрещён, WDT включен, сброс BOR запрещён, RA3 работает как MCLR
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 1 0 0 0 30E8h
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _LP_OSC&_PWRTE_ON&_BOR_OFF&_FCMEN_OFF&_IESO_OFF
;--------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
;--------------------------------------------------------------------------------
; LP – генератор, PWRT включен, сброс BOR запрещён, мониторинг
; выключен, ускоренный режим запуска запрещён.
; По-умолчанию: защита выключена, WDT включен, работа вывода RA3
; в качестве MCLR.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 1 0 0 1 30E9h
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _XT_OSC&_PWRTE_ON&_BOR_OFF&_FCMEN_OFF&_IESO_OFF
;--------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
;--------------------------------------------------------------------------------
; XT – генератор, PWRT включен, сброс BOR запрещён, мониторинг
; выключен, ускоренный режим запуска запрещён.
; По-умолчанию: защита выключена, WDT включен, работа вывода RA3
; в качестве MCLR.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 1 0 1 0 30EAh
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _HS_OSC&_PWRTE_ON&_BOR_OFF&_FCMEN_OFF&_IESO_OFF
;--------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
;--------------------------------------------------------------------------------
; HS – генератор, PWRT включен, сброс BOR запрещён, мониторинг
; выключен, ускоренный режим запуска запрещён.
; По-умолчанию: защита выключена, WDT включен, работа вывода RA3
; в качестве MCLR.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 1 0 1 1 30EBh
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
84
__CONFIG _EC_OSC&_PWRTE_ON&_BOR_OFF&_FCMEN_OFF&_IESO_OFF
;--------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
;--------------------------------------------------------------------------------
; EC – генератор, PWRT включен, сброс BOR запрещён, мониторинг
; выключен, ускоренный режим запуска запрещён.
; По-умолчанию: защита выключена, WDT включен, работа вывода RA3
; в качестве MCLR.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 1 1 0 0 30ECh
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _INTRC_OSC_NOCLKOUT&_PWRTE_ON&_BOR_OFF&_FCMEN_OFF&_IESO_OFF
;-----------------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
; Для всех вышеперечисленных типов ПИКов, _INTRC_OSC_NOCLKOUT можно заменить на _INTOSCIO
;-----------------------------------------------------------------------------------------
; INTOSC–генератор (RA5 и RA4 работают как каналы ввода/вывода),
; PWRT включен, сброс BOR запрещён, мониторинг выключен,
; ускоренный режим запуска запрещён.
; По-умолчанию: защита выключена, WDT включен, работа вывода RA3
; в качестве MCLR.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 1 1 0 1 30EDh
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _INTRC_OSC_CLKOUT&_PWRTE_ON&_BOR_OFF&_FCMEN_OFF&_IESO_OFF
;-----------------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
; Для всех вышеперечисленных типов ПИКов, _INTRC_OSC_CLKOUT можно заменить на _INTOSC
;-----------------------------------------------------------------------------------------
; INTOSC–генератор (RA5 работает как канал ввода/вывода. На RA4
; присутствует сигнал с Fosc/4), PWRT включен, сброс BOR
; запрещён, мониторинг выключен, ускоренный режим запуска
; запрещён.
; По-умолчанию: защита выключена, WDT включен, работа вывода RA3
; в качестве MCLR.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 1 1 1 0 30EEh
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _EXTRC_OSC_NOCLKOUT&_PWRTE_ON&_BOR_OFF&_FCMEN_OFF&_IESO_OFF
;-----------------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
; Для всех вышеперечисленных типов ПИКов, _EXTRC_OSC_NOCLKOUT можно заменить на _EXTRCIO
;-----------------------------------------------------------------------------------------
; RC–генератор (внешняя RC-цепочка подключается к RA5. RA4
; работает как канал ввода/вывода), PWRT включен, сброс BOR
; запрещён, мониторинг выключен, ускоренный режим запуска
; запрещён.
; По-умолчанию: защита выключена, WDT включен, работа вывода RA3
; в качестве MCLR.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 1 0 1 1 1 1 30EFh
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _PWRTE_ON&_BOR_OFF&_FCMEN_OFF&_IESO_OFF
85
;-----------------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
;-----------------------------------------------------------------------------------------
; PWRT включен, сброс BOR запрещён, мониторинг
; выключен, ускоренный режим запуска запрещён.
; По-умолчанию: защита выключена, WDT включен, RC–генератор
; (внешняя RC-цепочка подключается к RA5. На RA4 присутствует
; сигнал с Fosc/4), работа вывода RA3 в качестве MCLR.
Защита выключена, мониторинг выключен, ускоренный режим запуска
запрещён, WDT выключен, сброс BOR запрещён, RA3 работает как канал
ввода (MCLR внутренне подключен к +Uпит.)
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 0 0 0 0 30C0h
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _LP_OSC&_PWRTE_ON&_WDT_OFF&_BOR_OFF&_FCMEN_OFF&_IESO_OFF&_MCLRE_OFF
;--------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
;--------------------------------------------------------------------------------
; LP – генератор, PWRT включен, WDT выключен, сброс BOR запрещён,
; мониторинг выключен, ускоренный режим запуска запрещён,
; RA3 работает как канал ввода.
; По-умолчанию: защита выключена.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 0 0 0 1 30C1h
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _XT_OSC&_PWRTE_ON&_WDT_OFF&_BOR_OFF&_FCMEN_OFF&_IESO_OFF&_MCLRE_OFF
;--------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
;--------------------------------------------------------------------------------
; XT – генератор, PWRT включен, WDT выключен, сброс BOR запрещён,
; мониторинг выключен, ускоренный режим запуска запрещён,
; RA3 работает как канал ввода.
; По-умолчанию: защита выключена.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 0 0 1 0 30C2h
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _HS_OSC&_PWRTE_ON&_WDT_OFF&_BOR_OFF&_FCMEN_OFF&_IESO_OFF&_MCLRE_OFF
;--------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
;--------------------------------------------------------------------------------
; HS – генератор, PWRT включен, WDT выключен, сброс BOR запрещён,
; мониторинг выключен, ускоренный режим запуска запрещён,
; RA3 работает как канал ввода.
; По-умолчанию: защита выключена.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 0 0 1 1 30C3h
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _EC_OSC&_PWRTE_ON&_WDT_OFF&_BOR_OFF&_FCMEN_OFF&_IESO_OFF&_MCLRE_OFF
;--------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
;--------------------------------------------------------------------------------
86
; EC – генератор, PWRT включен, WDT выключен, сброс BOR запрещён,
; мониторинг выключен, ускоренный режим запуска запрещён,
; RA3 работает как канал ввода.
; По-умолчанию: защита выключена.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 0 1 0 0 30C4h
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _INTRC_OSC_NOCLKOUT&_PWRTE_ON&_WDT_OFF&_BOR_OFF&_FCMEN_OFF&_IESO_OFF&_MCLRE_OFF
;-----------------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
; Для всех вышеперечисленных типов ПИКов, _INTRC_OSC_NOCLKOUT можно заменить на _INTOSCIO
;-----------------------------------------------------------------------------------------
; INTOSC–генератор (RA5 и RA4 работают как каналы ввода/вывода),
; PWRT включен, WDT выключен, сброс BOR запрещён, мониторинг
; выключен, ускоренный режим запуска запрещён,
; RA3 работает как канал ввода.
; По-умолчанию: защита выключена.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 0 1 0 1 30C5h
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _INTRC_OSC_CLKOUT&_PWRTE_ON&_WDT_OFF&_BOR_OFF&_FCMEN_OFF&_IESO_OFF&_MCLRE_OFF
;-----------------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
; Для всех вышеперечисленных типов ПИКов, _INTRC_OSC_CLKOUT можно заменить на _INTOSC
;-----------------------------------------------------------------------------------------
; INTOSC–генератор (RA5 работает как канал ввода/вывода. На RA4
; присутствует сигнал с Fosc/4), PWRT включен, WDT выключен,
; сброс BOR запрещён, мониторинг выключен, ускоренный режим
; запуска запрещён, RA3 работает как канал ввода.
; По-умолчанию: защита выключена.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 0 1 1 0 30C6h
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _EXTRC_OSC_NOCLKOUT&_PWRTE_ON&_WDT_OFF&_BOR_OFF&_FCMEN_OFF&_IESO_OFF&_MCLRE_OFF
;-----------------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
; Для всех вышеперечисленных типов ПИКов, _EXTRC_OSC_NOCLKOUT можно заменить на _EXTRCIO
;-----------------------------------------------------------------------------------------
; RC–генератор (внешняя RC-цепочка подключается к RA5. RA4
; работает как канал ввода/вывода), PWRT включен, WDT выключен,
; сброс BOR запрещён, мониторинг выключен, ускоренный режим
; запуска запрещён, RA3 работает как канал ввода.
; По-умолчанию: защита выключена.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 0 1 1 1 30C7h
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _PWRTE_ON&_WDT_OFF&_BOR_OFF&_FCMEN_OFF&_IESO_OFF&_MCLRE_OFF
;-----------------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
;-----------------------------------------------------------------------------------------
; PWRT включен, WDT выключен, сброс BOR запрещён, мониторинг
; выключен, ускоренный режим запуска запрещён,
; RA3 работает как канал ввода.
87
; По-умолчанию: защита выключена, RC–генератор (внешняя
; RC-цепочка подключается к RA5. На RA4 присутствует сигнал с
; Fosc/4).
Защита выключена, мониторинг выключен, ускоренный режим запуска
запрещён, WDT включен, сброс BOR запрещён, RA3 работает как канал
ввода (MCLR внутренне подключен к +Uпит.)
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 1 0 0 0 30C8h
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _LP_OSC&_PWRTE_ON&_BOR_OFF&_FCMEN_OFF&_IESO_OFF&_MCLRE_OFF
;--------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
;--------------------------------------------------------------------------------
; LP – генератор, PWRT включен, сброс BOR запрещён,
; мониторинг выключен, ускоренный режим запуска запрещён,
; RA3 работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 1 0 0 1 30C9h
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _XT_OSC&_PWRTE_ON&_BOR_OFF&_FCMEN_OFF&_IESO_OFF&_MCLRE_OFF
;--------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
;--------------------------------------------------------------------------------
; XT – генератор, PWRT включен, сброс BOR запрещён,
; мониторинг выключен, ускоренный режим запуска запрещён,
; RA3 работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 1 0 1 0 30CAh
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _HS_OSC&_PWRTE_ON&_BOR_OFF&_FCMEN_OFF&_IESO_OFF&_MCLRE_OFF
;--------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
;--------------------------------------------------------------------------------
; HS – генератор, PWRT включен, сброс BOR запрещён,
; мониторинг выключен, ускоренный режим запуска запрещён,
; RA3 работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 1 0 1 1 30CBh
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _EC_OSC&_PWRTE_ON&_BOR_OFF&_FCMEN_OFF&_IESO_OFF&_MCLRE_OFF
;--------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
;--------------------------------------------------------------------------------
; EC – генератор, PWRT включен, сброс BOR запрещён,
; мониторинг выключен, ускоренный режим запуска запрещён,
; RA3 работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
88
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 1 1 0 0 30CCh
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _INTRC_OSC_NOCLKOUT&_PWRTE_ON&_BOR_OFF&_FCMEN_OFF&_IESO_OFF&_MCLRE_OFF
;-----------------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
; Для всех вышеперечисленных типов ПИКов, _INTRC_OSC_NOCLKOUT можно заменить на _INTOSCIO
;-----------------------------------------------------------------------------------------
; INTOSC–генератор (RA5 и RA4 работают как каналы ввода/вывода),
; PWRT включен, сброс BOR запрещён, мониторинг выключен,
; ускоренный режим запуска запрещён, RA3 работает как канал ввода
; По-умолчанию: защита выключена, WDT включен.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 1 1 0 1 30CDh
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _INTRC_OSC_CLKOUT&_PWRTE_ON&_BOR_OFF&_FCMEN_OFF&_IESO_OFF&_MCLRE_OFF
;-----------------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
; Для всех вышеперечисленных типов ПИКов, _INTRC_OSC_CLKOUT можно заменить на _INTOSC
;-----------------------------------------------------------------------------------------
; INTOSC–генератор (RA5 работает как канал ввода/вывода. На RA4
; присутствует сигнал с Fosc/4), PWRT включен, сброс BOR
; запрещён, мониторинг выключен, ускоренный режим запуска
; запрещён, RA3 работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 1 1 1 0 30CEh
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _EXTRC_OSC_NOCLKOUT&_PWRTE_ON&_BOR_OFF&_FCMEN_OFF&_IESO_OFF&_MCLRE_OFF
;-----------------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
; Для всех вышеперечисленных типов ПИКов, _EXTRC_OSC_NOCLKOUT можно заменить на _EXTRCIO
;-----------------------------------------------------------------------------------------
; RC–генератор (внешняя RC-цепочка подключается к RA5. RA4
; работает как канал ввода/вывода), PWRT включен, сброс BOR
; запрещён, мониторинг выключен, ускоренный режим запуска
; запрещён, RA3 работает как канал ввода.
; По-умолчанию: защита выключена, WDT включен.
13 12 11 10 9 8 7 6 5 4 3 2 1 0
x x FCMEN IESO BOREN1 BOREN0 CPD CP MCLRE -PWRTE WDTE FOSC2 FOSC1 FOSC0 Значение
1 1 0 0 0 0 1 1 0 0 1 1 1 1 30CFh
#include <p16f631.inc> ; Подключение INC-файла PIC16F631.
;;; #include <p16f677.inc> ; Подключение INC-файла PIC16F677.
;;; #include <p16f685.inc> ; Подключение INC-файла PIC16F685.
;;; #include <p16f687.inc> ; Подключение INC-файла PIC16F687.
;;; #include <p16f689.inc> ; Подключение INC-файла PIC16F689.
;;; #include <p16f690.inc> ; Подключение INC-файла PIC16F690.
;;; #include <p12f683.inc> ; Подключение INC-файла PIC12F683.
__CONFIG _PWRTE_ON&_BOR_OFF&_FCMEN_OFF&_IESO_OFF&_MCLRE_OFF
;-----------------------------------------------------------------------------------------
; Примечание: если используется PIC12F683, то _BOR_OFF нужно заменить на _BOD_OFF
;-----------------------------------------------------------------------------------------
; PWRT включен, сброс BOR запрещён, мониторинг выключен,
; ускоренный режим запуска запрещён, RA3 работает как канал ввода
; По-умолчанию: защита выключена, RC–генератор (внешняя
; RC-цепочка подключается к RA5. На RA4 присутствует сигнал с
; Fosc/4), WDT включен.
89
Защита EEPROM включена (CPD = 0)
Нужно добавить _CPD_ON& (если слева) или &_CPD_ON (если справа).
Защита PC и EEPROM включена (CP = CPD = 0)
Нужно добавить _CP_ON&_CPD_ON& (если слева) или &_CP_ON&_CPD_ON (если справа).
Разрешение мониторинга
Нужно убрать &_FCMEN_OFF.
Разрешение ускоренного запуска
Нужно убрать &_IESO_OFF.
Разрешение мониторинга и ускоренного запуска
Нужно убрать &_FCMEN_OFF и &_IESO_OFF.
Разрешение сброса BOR (BOREN1 = BOREN0 = 1)
Для PIC16F631/677/685/687/689/690, нужно убрать &_BOR_OFF.
Для PIC12F683, нужно убрать &_BOD_OFF.
Вариант сброса BOR (BOREN1 = 1, BOREN0 = 0)
Для PIC16F631/677/685/687/689/690, нужно заменить _BOR_OFF на _BOR_NSLEEP.
Для PIC12F683, нужно заменить _BOD_OFF на _BOD_NSLEEP.
Вариант сброса BOR (BOREN1 = 0, BOREN0 = 1)
Для PIC16F631/677/685/687/689/690, нужно заменить &_BOR_OFF на _BOR_SBODEN.
Для PIC12F683, нужно заменить &_BOD_OFF на _BOD_SBODEN.
Комплексные варианты
Допустим, что нужно
выставить PC и EEPROM защиты,
разрешить мониторинг и ускоренный запуск,
разрешить сброс BOR (для варианта BOREN1 = BOREN0 = 1).
Действия:
1. добавить _CP_ON&_CPD_ON& (если слева) или &_CP_ON&_CPD_ON (если справа),
2. убрать &_FCMEN_OFF и &_IESO_OFF,
3. для PIC16F631/677/685/687/689/690, нужно убрать &_BOR_OFF,
для PIC12F683, нужно убрать &_BOD_OFF.
90
_LP_OSC EQU H'3FFC' ; Работает LP-генератор.
_XT_OSC EQU H'3FFD' ; Работает XT-генератор.
_HS_OSC EQU H'3FFE' ; Работает HS-генератор.
_RC_OSC EQU H'3FFF' ; Работает RC-генератор.
;====================================================================
В приложении к этому случаю, “гибрид” выглядит так (см. то, что выше выделено жёлтым фоном):
;***************************************************************************************************
; Простейшая программа, позволяющая увидеть (в симуляторе) результат конфигурирования,
; произведённого в “гибридной” форме.
;***************************************************************************************************
LIST p=16f84A ; Используется PIC16F84A.
__CONFIG H'3FFD'&H'3FF7' ; Защита выключена, PWRT включен, WDT включен,
; XT - генератор.
;;; __CONFIG 3FFD&3FF7 ; А можно и так.
;;; __CONFIG 0x3FFD&0x3FF7 ; А можно и так.
;;; __CONFIG 3FFDh&3FF7h ; А можно и так.
org 0 ; Выполнение программы начинается c 0-го PC-адреса.
;***********************************************************************************************
goto $ ; "Мертвяк".
;**************************************************************************************************
end ; Конец программы.
91