PIC16F87X
Однокристальные 8-разрядные
FLASH CMOS микроконтроллеры
компании Microchip Technology Incorporated
PIC16F873
PIC16F874
PIC16F876
PIC16F877
Перевод основывается на технической документации DS30292C
компании Microchip Technology Incorporated, USA.
ООО “Микро-Чип”
Москва - 2002
Распространяется бесплатно.
Полное или частичное воспроизведение материала допускается только с письменного разрешения
ООО «Микро-Чип»
тел. (095) 737-7545
www.microchip.ru
PIC16F87X
28/40-Pin 8-Bit CMOS FLASH Microcontrollers
Trademarks: The Microchip name, logo, PIC, PICmicro, PICMASTER, PIC-START, PRO MATE, KEELOQ, SEEVAL, MPLAB
and The Embedded Control Solutions Company are registered trademarks of Microchip Technology Incorporated in the U.S.A.
and other countries.
Total Endurance, ICSP, In-Circuit Serial Programming, Filter-Lab, MXDEV, microID, FlexROM, fuzzyLAB, MPASM, MPLINK,
MPLIB, PICDEM, ICEPIC, Migratable Memory, FanSense, ECONOMONITOR and SelectMode are trademarks of Microchip
Technology Incorporated in the U.S.A.
Serialized Quick Term Programming (SQTP) is a service mark of Microchip Technology Incorporated in the U.S.A.
All other trademarks mentioned herein are property of their respective companies.
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 3
Микроконтроллеры, описываемые в этом документе:
PIC16F873
PIC16F874
PIC16F876
PIC16F877
Характеристика микроконтроллеров:
Высокоскоростная RISC архитектура
35 инструкций
Все команды выполняются за один цикл,
кроме инструкций переходов, выполняемых
за два цикла
Тактовая частота:
- DC - 20МГц, тактовый сигнал
- DC - 200нс, один машинный цикл
До 8к x 14 слов FLASH памяти программ
До 368 x 8 байт памяти данных (ОЗУ)
До 256 x 8 байт EEPROM памяти данных
Совместимость по выводам с
PIC16C73B/74B/76/77
Система прерываний (до 14 источников)
8-уровневый аппаратный стек
Прямой, косвенный и относительный режим
адресации
Сброс по включению питания (POR)
Таймер сброса (PWRT) и таймер ожидания
запуска генератора (OST) после включения
питания
Сторожевой таймер WDT с собственным RC
генератором
Программируемая защита памяти программ
Режим энергосбережения SLEEP
Выбор параметров тактового генератора
Высокоскоростная, энергосберегающая CMOS
FLASH/EEPROM технология
Полностью статическая архитектура
Программирование в готовом устройстве
(используется два вывода микроконтроллера)
Низковольтный режим программирования
Режим внутрисхемной отладки (используется
два вывода микроконтроллера)
Широкий диапазон напряжений питания
от 2.0В до 5.5В
Повышенная нагрузочная способность портов
ввода/вывода (25мА)
Малое энергопотребление:
- < 0.6 мА @ 3.0В, 4.0МГц
- 20мкА @ 3.0В, 32кГц
- < 1мкА в режиме энергосбережения
Расположение выводов
Характеристика периферийных модулей:
Таймер 0: 8-разрядный таймер/счетчик с
8-разрядным программируемым предделителем
Таймер 1: 16-разрядный таймер/счетчик с
возможностью подключения внешнего
резонатора
Таймер 2: 8-разрядный таймер/счетчик с
8-разрядным программируемым предделителем и
выходным делителем
Два модуля сравнение/захват/ШИМ (CCP):
- 16-разрядный захват (максимальная
разрешающая способность 12.5нс)
- 16-разрядное сравнение (максимальная
разрешающая способность 200нс)
- 10-разрядный ШИМ
Многоканальное 10-разрядное АЦП
Последовательный синхронный порт MSSP
- ведущий/ведомый режим SPI
- ведущий/ведомый режим I2С
Последовательный синхронно-асинхронный
приемопередатчик USART с поддержкой
детектирования адреса
Ведомый 8-разрядный параллельный порт PSP
с поддержкой внешних сигналов -RD,-WR, -CS
(только в 40/44-выводных микроконтроллерах)
Детектор пониженного напряжения (BOD) для
сброса по снижению напряжения питания
(BOR)
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 4
Расположение выводов
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 5
Параметр PIC16F873 PIC16F874 PIC16F876 PIC16F877
Тактовая частота DC - 20МГц DC - 20МГц DC - 20МГц DC - 20МГц
Сброс (задержка сброса) POR, BOR
(PWRT, OST)
POR, BOR
(PWRT, OST)
POR, BOR
(PWRT, OST)
POR, BOR
(PWRT, OST)
FLASH память программ (14-разрядных
слов)
4K 4K 8K 8K
Память данных (байт) 192 192 368 368
EEPROM память данных (байт) 128 128 256 256
Прерываний 13 14 13 14
Порты ввода/вывода Порты A,B,C Порты A,B,C,D,E Порты A,B,C Порты A,B,C,D,E
Таймеры 3 3 3 3
Модуль захват/сравнение/ШИМ 2 2 2 2
Модули последовательного интерфейса MSSP, USART MSSP, USART MSSP, USART MSSP, USART
Модули параллельного интерфейса - PSP - PSP
Модуль 10-разрядного АЦП 5 каналов 8 каналов 5 каналов 8 каналов
Инструкций 35 35 35 35
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 6
Автор перевода: Александ р Зайцев (г . Шахты Ростовской обл. 86362 55472)
Содержание
1.0 Введение ......... 9
2.0 Организация памяти.................................................................................................................... 14
2.1 Организация памяти программ ..................................................................................................................... 14
2.2 Организация памяти данных ......................................................................................................................... 15
2.2.1 Регистры общего назначения............................................................................................................... 15
2.2.2 Регистры специального назначения .................................................................................................... 18
2.3 Регистры PCLATH и PCL 29
2.3.1 Вычисляемый переход ............................................................................................................................ 29
2.3.2 Стек.......................... 29
2.4 Страницы памяти программ .......................................................................................................................... 30
2.5 Косвенная адресация, регистры INDF и FSR............................................................................................... 31
3.0 Порты ввода/вывода .................................................................................................................. 32
3.1 Регистры PORTA и TRI 32
3.2 Регистры PORTB и TRI 34
3.3 Регистры PORTC и TRISC ............................................................................................................................. 36
3.4 Регистры PORTD и TRISD ............................................................................................................................. 38
3.5 Регистры PORTE и TRI 39
3.6 Ведомый параллельный порт........................................................................................................................ 41
4.0 EEPROM память данных и FLASH память программ ............................................................. 43
4.1 Регистры EECON1, EECON2 ......................................................................................................................... 43
4.2 Чтение из EEPROM памяти данных.............................................................................................................. 45
4.3 Запись в EEPROM память данных................................................................................................................ 45
4.4 Чтение из FLASH памяти программ.............................................................................................................. 46
4.5 Запись во FLASH память программ.............................................................................................................. 46
4.6 Проверка записи ............. 47
4.7 Защита от случайной записи ......................................................................................................................... 47
4.8 Операции при включенной защите кода ...................................................................................................... 47
4.9 Защита записи FLASH памяти программ ..................................................................................................... 47
5.0 Модуль таймера TMR0 ................................................................................................................ 49
5.1 Прерывания от TMR0..... 49
5.2 Использование внешнего источника тактового сигнала для TMR0........................................................... 50
5.3 Предделитель ................. 50
6.0 Модуль таймера TMR1 ................................................................................................................ 51
6.1 Работа TMR1 в режиме таймера................................................................................................................... 52
6.2 Работа TMR1 в режиме счетчика.................................................................................................................. 52
6.3 Работа TMR1 в режиме синхронного счетчика............................................................................................ 52
6.4 Работа TMR1 в режиме асинхронного счетчика.......................................................................................... 53
6.4.1 Чтение/запись TMR1 в асинхронном режиме ...................................................................................... 53
6.5 Генератор TMR1 ............. 53
6.6 Сброс TMR1 триггером модуля CCP ............................................................................................................ 53
6.7 Сброс регистров TMR1 (TMR1H, TMR1L)..................................................................................................... 54
6.8 Предделитель TMR1 ...... 54
7.0 Модуль таймера TMR2 ................................................................................................................ 55
7.1 Предделитель и выходной делитель TMR2................................................................................................. 56
7.2 Сигнал TMR2................... 56
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 7
8.0 CCP модуль (захват/сравнение/ШИМ) ...................................................................................... 57
8.1 Режим захвата ................ 59
8.1.1 Настройка вывода модуля CCP ............................................................................................................ 59
8.1.2 Настройка таймера TMR1 .................................................................................................................... 59
8.1.3 Обработка прер_отка..59
8.1.4 Предварительный счетчик событий модуля CCP............................................................................. 59
8.2 Режим сравнения............ 60
8.2.1 Настройка вывода модуля CCP ............................................................................................................ 60
8.2.2 Настройка таймера TMR1 .................................................................................................................... 60
8.2.3 Обработка прер_отка..60
8.2.4 Триггер специального события ............................................................................................................ 60
8.3 Режим ШИМ..................... 61
8.3.1 Период ШИМ............. 61
8.3.2 Скважность ШИМ.... 62
8.3.3 Последовательность настройки модуля CCP в ШИМ режиме......................................................... 62
9.0 Модуль ведущего синхронного последовательного порта (MSSP)..................................... 64
9.1 Режим SPI........................ 68
9.1.1 Режим ведущего SPI ............................................................................................................................... 69
9.1.2 Режим ведомого SPI 70
9.2 Режим I2C......................... 71
9.2.1 Режим ведомого I2C. 72
9.2.2 Поддержка общего вызова ..................................................................................................................... 75
9.2.3 Работа в SLEEP режиме........................................................................................................................ 75
9.2.4 Эффект сброса ....... 75
9.2.5 Режим ведущего I2C 76
9.2.6 Режим конкуренции . 76
9.2.7 Поддержка режима ведущего I2C........................................................................................................... 77
9.2.8 Работа в режиме ведущего I2C............................................................................................................. 77
9.2.8 Генератор скорости обмена ................................................................................................................. 78
9.2.9 Формирование бита START в режиме ведущего I2C .......................................................................... 79
9.2.10 Формирование бита повторный START в режиме ведущего I2C.................................................... 80
9.2.11 Передача данных в режиме ведущего I2C........................................................................................... 81
9.2.12 Прием данных в режиме ведущего I2C................................................................................................ 83
9.2.13 Формирование бита подтверждения в режиме ведущего I2C......................................................... 85
9.2.14 Формирование бита STOP в режиме ведущего I2C .......................................................................... 85
9.2.15 Синхронизация тактового сигнала.................................................................................................... 86
9.2.16 Режим конкуренции, арбитраж и конфликты шины......................................................................... 86
9.3 Подключение к шине I2C 91
10.0 Универсальный синхронно-асинхронный приемопередатчик (USART) ........................... 92
10.1 Генератор частоты обмена USART BRG.................................................................................................... 94
10.1.1 Выборка .................. 94
10.2 Асинхронный режим USART........................................................................................................................ 96
10.2.1 Асинхронный передатчик USART ....................................................................................................... 96
10.2.2 Асинхронный приемник USART............................................................................................................ 98
10.2.3 Настройка 9-разрядного асинхронного приема с детектированием адреса ............................. 100
10.3 Синхронный ведущий режим USART ....................................................................................................... 102
10.3.1 Передача синхронного ведущего ...................................................................................................... 102
10.3.2 Прием синхронного ведущего............................................................................................................ 104
10.4 Синхронный ведомый режим USART ....................................................................................................... 105
10.4.1 Передача синхронного ведомого....................................................................................................... 105
10.4.2 Прием синхронного ведомого ............................................................................................................ 106
11.0 Модуль 10-разрядного АЦП.................................................................................................... 107
11.1 Временные требования к подключению канала АЦП ............................................................................. 110
11.2 Выбор источника тактовых импульсов для АЦП ..................................................................................... 111
11.3 Настройка аналоговых входов .................................................................................................................. 111
11.4 Аналого-цифровое преобразование......................................................................................................... 112
11.4.1 Выравнивание результата преобразования................................................................................... 112
11.5 Работа модуля АЦП в SLEEP режиме...................................................................................................... 113
11.6 Эффект сброса ........... 113
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 8
12.0 Особенности микроконтроллеров PIC16F87X..................................................................... 114
12.1 Биты конфигурации .... 114
12.2 Настройка тактового генератора............................................................................................................... 116
12.2.1 Режимы тактового генератора....................................................................................................... 116
12.2.2 Кварцевый/керамический резонатор................................................................................................ 116
12.2.3 RC генератор...... 117
12.3 Сброс ........................... 118
12.4 Сброс по включению питания POR........................................................................................................... 119
12.5 Таймер включения питания PWRT ........................................................................................................... 119
12.6 Таймер запуска генератора OST............................................................................................................... 119
12.7 Сброс по снижению напряжения питания BOR ....................................................................................... 119
12.8 Последовательность удержания микроконтроллера в состоянии сброса............................................ 119
12.9 Регистр PCON............. 119
12.10 Прерывания............... 124
12.10.1 Внешнее прерывание с входа RB0/INT............................................................................................ 124
12.10.2 Прерывание по переполнению TMR0 .............................................................................................. 125
12.10.3 Прерывание по изменению уровня сигнала на входах RB7:RB4.................................................. 125
12.11 Сохранение контекста при обработке прерываний............................................................................... 125
12.12 Сторожевой таймер WDT ........................................................................................................................ 126
12.13 Режим энергосбережения SLEEP........................................................................................................... 127
12.13.1 Выход из режима SLEEP................................................................................................................... 127
12.13.2 Выход из режима SLEEP по прерыванию ....................................................................................... 127
12.14 Внутрисхемный отладчик ICD ................................................................................................................. 128
12.15 Защита кода программы .......................................................................................................................... 128
12.16 Размещение идентификатора ID ............................................................................................................ 128
12.17 Внутрисхемное программирование ICSP............................................................................................... 129
12.18 Режим низковольтного программирования............................................................................................ 129
13.0 Система команд........................................................................................................................ 130
13.1 Подробное описание команд..................................................................................................................... 132
14.0 Поддержка разработчиков ..................................................................................................... 139
14.1 Интегрированная среда проектирования MPLAB-IDE ............................................................................ 139
14.2 Ассемблер MPASM..... 140
14.3 C компиляторы MPLAB-C17 и MPLAB-C18 .............................................................................................. 140
14.4 Линкер MPLINK/ Организатор библиотек MPLIB ..................................................................................... 140
14.5 Программный симулятор MPLAB-SIM ...................................................................................................... 140
14.6 Универсальный эмулятор MPLAB-ICE...................................................................................................... 140
14.7 ICEPIC.......................... 141
14.8 Внутрисхемный отладчик MPLAB-ICD...................................................................................................... 141
14.9 Универсальный программатор PRO MATE II ........................................................................................... 141
14.10 Программатор PICSTART ........................................................................................................................ 141
14.11 Демонстрационная плата PICDEM-1 ...................................................................................................... 141
14.12 Демонстрационная плата PICDEM-2 для PIC16CXXX.......................................................................... 141
14.13 Демонстрационная плата PICDEM-3 для PIC16CXXX.......................................................................... 141
14.14 Демонстрационная плата PICDEM-17 .................................................................................................... 142
14.15 KeeLoq (с функциями программатора) ................................................................................................... 142
15.0 Электрические характеристики ............................................................................................. 144
15.1 Электрические характеристики (Коммерческий, Промышленный)........................................................ 146
15.2 Электрические характеристики (Коммерческий, Промышленный)........................................................ 147
15.3 Электрические характеристики (Расширенный)...................................................................................... 148
15.4 Электрические характеристики (Расширенный)...................................................................................... 149
15.5 Символьное обозначение временных параметров................................................................................. 150
15.6 Временные диаграммы и спецификации ................................................................................................. 151
16.0 Характеристики микроконтроллеров ................................................................................... 164
17.0 Корпуса микроконтроллеров................................................................................................. 175
17.1 Описание обозначений на корпусах микроконтроллеров....................................................................... 175
17.2 Правила идентификации типа микроконтроллеров PIC16F87X ............................................................ 183
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 9
1.0 Введение
Дополнительную информацию по работе с микроконтроллерами PIC16F87X смотрите в технической
документации DS33023 "PICmicro™ Mid-Range Reference Manual". Файл Вы может получить у представителя Microchip
Inc., на WEB узлах технической поддержки www.microchip.com и www.microchip.ru. Рекомендуется прочитать
документацию "PICmicro™ Mid-Range Reference Manual" для лучшего понимания архитектуры микроконтроллеров и
работы периферийных модулей.
В документации описывается работа четырех микроконтроллеров (PIC16F873, PIC16F874, PIC16F876 и
PIC16F877). Микроконтроллеры PIC16F873/876 выпускаются в 28-выводном корпусе, а PIC16F874/877 в 40-выводном. В
микроконтроллерах PIC16F873/876 ведомый параллельный порт не реализован.
На рисунках 1-1, 1-2 показаны структурные схемы 28-выводных и 40-выводных микроконтроллеров, а таблицах
1-1, 1-2 представлен список выводов.
Рис. 1-1 Структурная схема микроконтроллеров PIC16F873 и PIC16F876
Примечание 1. Старшие биты адреса находятся в регистре STATUS.
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 10
Рис. 1-2 Структурная схема микроконтроллеров PIC16F874 и PIC16F877
Примечание 1. Старшие биты адреса находятся в регистре STATUS.
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 11
Таблица 1-1 Назначение выводов микроконтроллеров PIC16F873 и PIC16F876
Обозначение
вывода
№ вывода
DIP
№ вывода
SOIC
Тип
I/O/P Тип буфера Описание
OSC1/CLKIN 9 9 I ST/CMOS(3) Вход генератора/ вход внешнего тактового сигнала
OSC2/CLKOUT 10 10 O - Выход генератора. Подключается кварцевый или
керамический резонатор. В RC режиме тактового
генератора на выходе OSC2 присутствует тактовый
сигнал CLKOUT, равный FOSC/4.
-MCLR/VPP 1 1 I/P ST Вход сброса микроконтроллера или вход напряжения
программирования. Сброс микроконтроллера
происходит при низком логическом уровне сигнала на
входе.
Двунаправленный порт ввода/вывода PORTA.
RA0/AN0 2 2 I/O TTL RA0 может быть настроен как аналоговый канал 0
RA1/AN1 3 3 I/O TTL RA1 может быть настроен как аналоговый канал 1
RA2/AN2/VREF- 4 4 I/O TTL RA2 может быть настроен как аналоговый канал 2 или
вход отрицательного опорного напряжения
RA3/AN3/VREF+ 5 5 I/O TTL RA3 может быть настроен как аналоговый канал 3 или
вход положительного опорного напряжения
RA4/T0CKI 6 6 I/O ST RA4 может использоваться в качестве входа внешнего
тактового сигнала для TMR0. Выход с открытым стоком.
RA5/-SS/AN4 7 7 I/O TTL RA1 может быть настроен как аналоговый канал 1 или
вход выбора микросхемы в режиме ведомого SPI
Двунаправленный порт ввода/вывода PORTB. PORTB
имеет программно подключаемые подтягивающие
резисторы на входах.
RB0/INT 21 21 I/O TTL/ST(1) RB0 может использоваться в качестве входа внешних
прерываний.
RB1 22 22 I/O TTL
RB2 23 23 I/O TTL
RB3/PGM 24 24 I/O TTL RB3 может использоваться в качестве входа для режима
низковольтного программирования.
RB4 25 25 I/O TTL Прерывания по изменению уровня входного сигнала.
RB5 26 26 I/O TTL Прерывания по изменению уровня входного сигнала.
RB6/PGC 27 27 I/O TTL/ST(2) Прерывания по изменению уровня входного сигнала или
вывод для режима внутрисхемной отладки ICD.
Тактовый вход в режиме программирования.
RB7/PGD 28 28 I/O TTL/ST(2) Прерывания по изменению уровня входного сигнала или
вывод для режима внутрисхемной отладки ICD. Вывод
данных в режиме программирования.
Двунаправленный порт ввода/вывода PORTC.
RC0/T1OSO/T1CKI 11 11 I/O ST RC0 может использоваться в качестве выхода
генератора TMR1 или входа внешнего тактового сигнала
для TMR1.
RC1/T1OSI/CCP2 12 12 I/O ST RC1 может использоваться в качестве входа генератора
для TMR1 или вывода модуля CCP2.
RC2/CCP1 13 13 I/O ST RC2 может использоваться в качестве вывода модуля
CCP1.
RC3/SCK/SCL 14 14 I/O ST RC3 может использоваться в качестве входа/выхода
тактового сигнала в режиме SPI и I2C.
RC4/SDI/SDA 15 15 I/O ST RC4 может использоваться в качестве входа данных в
режиме SPI или вход/выход данных в режиме I2C.
RC5/SDO 16 16 I/O ST RC5 может использоваться в качестве выхода данных в
режиме SPI.
RC6/TX/CK 17 17 I/O ST RC6 может использоваться в качестве вывода
передатчика USART в асинхронном режиме или вывода
синхронизации USART в синхронном режиме.
RC7/RX/DT 18 18 I/O ST RC6 может использоваться в качестве вывода
приемника USART в асинхронном режиме или вывода
данных USART в синхронном режиме.
VSS 8, 19 8, 19 P - Общий вывод для внутренней логики и портов
ввода/вывода
VDD 20 20 P - Положительное напряжение питания для внутренней
логики и портов ввода/вывода
Обозначения: I = вход, O = выход, I/O = вход/выход, P = питание, - = не используется,
TTL = входной буфер ТТЛ, ST = вход с триггером Шмидта.
Примечания:
1. Входной буфер с триггером Шмидта при использовании внешних прерываний.
2. Входной буфер с триггером Шмидта при работе в режиме последовательного
программирования.
3. Входной буфер с триггером Шмидта в режиме RC генератора и CMOS буфер в других режимах.
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 12
Таблица 1-2 Назначение выводов микроконтроллеров PIC16F874 и PIC16F877
Обозначение
вывода
№ выв.
DIP
№ выв.
PLCC
№ выв.
QFP
Тип
I/O/P Тип буфера Описание
OSC1/CLKIN 13 14 30 I ST/CMOS(4) Вход генератора / вход внешнего тактового сигнала
OSC2/CLKOUT 14 15 31 O - Выход генератора. Подключается кварцевый или
керамический резонатор. В RC режиме тактового
генератора на выходе OSC2 присутствует тактовый
сигнал CLKOUT, равный FOSC/4.
-MCLR/VPP 1 2 18 I/P ST Вход сброса микроконтроллера или вход напряжения
программирования. Сброс микроконтроллера
происходит при низком логическом уровне сигнала на
входе.
Двунаправленный порт ввода/вывода PORTA.
RA0/AN0 2 3 19 I/O TTL RA0 может быть настроен как аналоговый канал 0
RA1/AN1 3 4 20 I/O TTL RA1 может быть настроен как аналоговый канал 1
RA2/AN2/VREF- 4 5 21 I/O TTL RA2 может быть настроен как аналоговый канал 2 или
вход отрицательного опорного напряжения
RA3/AN3/VREF+ 5 6 22 I/O TTL RA3 может быть настроен как аналоговый канал 3 или
вход положительного опорного напряжения
RA4/T0CKI 6 7 23 I/O ST RA4 может использоваться в качестве входа внешнего
тактового сигнала для TMR0. Выход с открытым стоком.
RA5/-SS/AN4 7 8 24 I/O TTL RA1 может быть настроен как аналоговый канал 1 или
вход выбора микросхемы в режиме ведомого SPI
Двунаправленный порт ввода/вывода PORTB. PORTB
имеет программно подключаемые подтягивающие
резисторы на входах.
RB0/INT 33 36 8 I/O TTL/ST(1) RB0 может использоваться в качестве входа внешних
прерываний.
RB1 34 37 9 I/O TTL
RB2 35 38 10 I/O TTL
RB3/PGM 36 39 11 I/O TTL RB3 может использоваться в качестве входа для режима
низковольтного программирования.
RB4 37 41 14 I/O TTL Прерывания по изменению уровня входного сигнала.
RB5 38 42 15 I/O TTL Прерывания по изменению уровня входного сигнала.
RB6/PGC 39 43 16 I/O TTL/ST(2) Прерывания по изменению уровня входного сигнала или
вывод для режима внутрисхемной отладки ICD.
Тактовый вход в режиме программирования.
RB7/PGD 40 44 17 I/O TTL/ST(2) Прерывания по изменению уровня входного сигнала или
вывод для режима внутрисхемной отладки ICD. Вывод
данных в режиме программирования.
Обозначения: I = вход, O = выход, I/O = вход/выход, P = питание, - = не используется,
TTL = входной буфер ТТЛ, ST = вход с триггером Шмидта.
Примечания:
1. Входной буфер с триггером Шмидта при использовании внешних прерываний.
2. Входной буфер с триггером Шмидта при работе в режиме последовательного
программирования.
3. Входной буфер с триггером Шмидта при работе в режиме цифровых портов ввода/вывода. В
режиме ведомого параллельного порта подключены входные буферы ТТЛ (для совместимости
с шиной микропроцессора).
4. Входной буфер с триггером Шмидта в режиме RC генератора и CMOS буфер в других режимах.
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 13
Таблица 1-2 Назначение выводов микроконтроллеров PIC16F874 и PIC16F877 (продолжение)
Обозначение
вывода
№ выв.
DIP
№ выв.
PLCC
№ выв.
QFP
Тип
I/O/P Тип буфера Описание
Двунаправленный порт ввода/вывода PORTC.
RC0/T1OSO/T1CKI 15 16 32 I/O ST RC0 может использоваться в качестве выхода
генератора TMR1 или входа внешнего тактового сигнала
для TMR1.
RC1/T1OSI/CCP2 16 18 35 I/O ST RC1 может использоваться в качестве входа генератора
для TMR1 или вывода модуля CCP2.
RC2/CCP1 17 19 36 I/O ST RC2 может использоваться в качестве вывода модуля
CCP1.
RC3/SCK/SCL 18 20 37 I/O ST RC3 может использоваться в качестве входа/выхода
тактового сигнала в режиме SPI и I2C.
RC4/SDI/SDA 23 25 42 I/O ST RC4 может использоваться в качестве входа данных в
режиме SPI или вход/выход данных в режиме I2C.
RC5/SDO 24 26 43 I/O ST RC5 может использоваться в качестве выхода данных в
режиме SPI.
RC6/TX/CK 25 27 44 I/O ST RC6 может использоваться в качестве вывода
передатчика USART в асинхронном режиме или вывода
синхронизации USART в синхронном режиме.
RC7/RX/DT 26 29 1 I/O ST RC6 может использоваться в качестве вывода
приемника USART в асинхронном режиме или вывода
данных USART в синхронном режиме.
Двунаправленный порт ввода/вывода PORTD или
ведомый параллельный порт для подключения к шине
микропроцессора
RD0/PSP0 19 21 38 I/O ST/TTL(3)
RD1/PSP1 20 22 39 I/O ST/TTL(3)
RD2/PSP2 21 23 40 I/O ST/TTL(3)
RD3/PSP3 22 24 41 I/O ST/TTL(3)
RD4/PSP4 27 30 2 I/O ST/TTL(3)
RD5/PSP5 28 31 3 I/O ST/TTL(3)
RD6/PSP6 29 32 4 I/O ST/TTL(3)
RD7/PSP7 30 33 5 I/O ST/TTL(3)
Двунаправленный порт ввода/вывода PORTE.
RE0/-RD/AN5 8 9 25 I/O ST/TTL(3) RE0 может использоваться в качестве управляющего
входа чтения PSP или аналогового канала 5
RE1/-WR/AN6 9 10 26 I/O ST/TTL(3) RE1 может использоваться в качестве управляющего
входа записи PSP или аналогового канала 6
RE2/-CS/AN7 10 11 27 I/O ST/TTL(3) RE2 может использоваться в качестве управляющего
входа выбора PSP или аналогового канала 7
VSS 12,31 13,34 6, 29 P - Общий вывод для внутренней логики и портов
ввода/вывода
VDD 11,32 12,35 7,28 P - Положительное напряжение питания для внутренней
логики и портов ввода/вывода
NC - 1,17,
28,40
12,13,
33,34
- - Эти выводы внутри микросхемы не подключены.
Обозначения: I = вход, O = выход, I/O = вход/выход, P = питание, - = не используется,
TTL = входной буфер ТТЛ, ST = вход с триггером Шмидта.
Примечания:
1. Входной буфер с триггером Шмидта при использовании внешних прерываний.
2. Входной буфер с триггером Шмидта при работе в режиме последовательного
программирования.
3. Входной буфер с триггером Шмидта при работе в режиме цифровых портов ввода/вывода. В
режиме ведомого параллельного порта подключены входные буферы ТТЛ (для совместимости
с шиной микропроцессора).
4. Входной буфер с триггером Шмидта в режиме RC генератора и CMOS буфер в других режимах.
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 14
2.0 Организация памяти
В микроконтроллерах PIC16F87X имеется три вида памяти. Память программ и память данных имеют
раздельные шины данных и адреса, что позволяет выполнять параллельный доступ. Подробное описание работы с
EEPROM памятью данных смотрите в разделе 4.0.
Дополнительную информацию по организации памяти смотрите в технической документации DS33023
"PICmicro™ Mid-Range Reference Manual".
2.1 Организация памяти программ
Микроконтроллеры PIC16F87X имеют 13-разрядный счетчик команд PC, способный адресовать 8К х 14 слов
памяти программ. Физически реализовано FLASH памяти программ 8К х 14 в PIC16F877/876 и 4К х 14 в PIC16F873/874.
Обращение к физически не реализованной памяти программ приведет к адресации реализованной памяти.
Адрес вектора сброса – 0000h. Адрес вектора прерываний – 0004h.
Рис. 2-1 Организация памяти
в микроконтроллере PIC16F877/876
Рис. 2-2 Организация памяти
в микроконтроллере PIC16F874/873
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 15
2.2 Организация памяти данных
Память данных разделена на четыре банка, которые содержат регистры общего и специального (SFR)
назначения. Биты RP1 (STATUS<6>) и RP0 (STATUS<5>) предназначены для управления банками данных.
В таблице показано состояние управляющих битов при обращении к банкам памяти данных.
RP1: RP0 Банк
00 0
01 1
10 2
11 3
Объем банков памяти данных до 128 байт (7Fh). В начале банка размещаются регистры специального
назначения, затем регистры общего назначения выполненные как статическое ОЗУ. Все реализованные банки
содержат регистры специального назначения. Некоторые, часто используемые регистры специального назначения
могут отображаться и в других банках памяти.
Примечание. Описание EEPROM памяти данных смотрите в разделе 4.0.
2.2.1 Регистры общего назначения
Обратиться к регистрам общего назначения можно прямой или косвенной адресацией, через регистр FSR.
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 16
Рис. 2-3 Карта памяти данных микроконтроллеров PIC16F877/876
Адрес
Регистр
косвенной
адресации*
00h
Регистр
косвенной
адресации*
80h
Регистр
косвенной
адресации*
100h
Регистр
косвенной
адресации*
180h
TMR0 01h OPTION_REG 81h TMR0 101h OPTION_REG 181h
PCL 02h PCL 82h PCL 102h PCL 182h
STATUS 03h STATUS 83h STATUS 103h STATUS 183h
FSR 04h FSR 84h FSR 104h FSR 184h
PORTA 05h TRISA 85h 105h 185h
PORTB 06h TRISB 86h PORTB 106h TRISB 186h
PORTC 07h TRISC 87h 107h 187h
PORTD(1) 08h TRISD(1) 88h 108h 188h
PORTE(1) 09h TRISE(1) 89h 109h 189h
PCLATH 0Ah PCLATH 8Ah PCLATH 10Ah PCLATH 18Ah
INTCON 0Bh INTCON 8Bh INTCON 10Bh INTCON 18Bh
PIR1 0Ch PIE1 8Ch EEDATA 10Ch EECON1 18Ch
PIR2 0Dh PIE2 8Dh EEADR 10Dh EECON2 18Dh
TMR1L 0Eh PCON 8Eh EEDATH 10Eh Резерв(2) 18Eh
TMR1H 0Fh 8Fh EEADRH 10Fh Резерв(2) 18Fh
T1CON 10h 90h 110h 190h
TMR2 11h SSPCON2 91h 111h 191h
T2CON 12h PR2 92h 112h 192h
SSPBUF 13h SSPADD 93h 113h 193h
SSPCON 14h SSPSTAT 94h 114h 194h
CCPR1L 15h 95h 115h 195h
CCPR1H 16h 96h 116h 196h
CCP1CON 17h 97h 117h 197h
RCSTA 18h TXSTA 98h 118h 198h
TXREG 19h SPBRG 99h 119h 199h
RCREG 1Ah 9Ah 11Ah 19Ah
CCPR2L 1Bh 9Bh 11Bh 19Bh
CCPR2H 1Ch 9Ch 11Ch 19Ch
CCP2CON 1Dh 9Dh 11Dh 19Dh
ADRESH 1Eh ADRESL 9Eh 11Eh 19Eh
ADCON0 1Fh ADCON1 9Fh
Регистры
общего
назначения
16 байт
11Fh
Регистры
общего
назначения
16 байт
19Fh
20h A0h 120h 1A0h
Регистры
общего
назначения
80 байт
EFh
Регистры
общего
назначения
80 байт
16Fh
Регистры
общего
назначения
80 байт
1EFh
F0h 170h 1F0h
Регистры
общего
назначения
96 байт
7Fh
Доступ к
70h-7Fh
FFh
Доступ к
70h-7Fh
17Fh
Доступ к
70h-7Fh
1FFh
Банк 0 Банк 1 Банк 2 Банк 3
* - не физический регистр
Закрашенные участки памяти данных не реализованы, значение при чтение 00h
Примечания:
1. Эти регистры не реализованы в PIC16F876
2. Резервные регистры, пользователь не должен их использовать.
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 17
Рис. 2-4 Карта памяти данных микроконтроллеров PIC16F874/873
Адрес
Регистр
косвенной
адресации*
00h
Регистр
косвенной
адресации*
80h
Регистр
косвенной
адресации*
100h
Регистр
косвенной
адресации*
180h
TMR0 01h OPTION_REG 81h TMR0 101h OPTION_REG 181h
PCL 02h PCL 82h PCL 102h PCL 182h
STATUS 03h STATUS 83h STATUS 103h STATUS 183h
FSR 04h FSR 84h FSR 104h FSR 184h
PORTA 05h TRISA 85h 105h 185h
PORTB 06h TRISB 86h PORTB 106h TRISB 186h
PORTC 07h TRISC 87h 107h 187h
PORTD(1) 08h TRISD(1) 88h 108h 188h
PORTE(1) 09h TRISE(1) 89h 109h 189h
PCLATH 0Ah PCLATH 8Ah PCLATH 10Ah PCLATH 18Ah
INTCON 0Bh INTCON 8Bh INTCON 10Bh INTCON 18Bh
PIR1 0Ch PIE1 8Ch EEDATA 10Ch EECON1 18Ch
PIR2 0Dh PIE2 8Dh EEADR 10Dh EECON2 18Dh
TMR1L 0Eh PCON 8Eh EEDATH 10Eh Резерв(2) 18Eh
TMR1H 0Fh 8Fh EEADRH 10Fh Резерв(2) 18Fh
T1CON 10h 90h 110h 190h
TMR2 11h SSPCON2 91h
T2CON 12h PR2 92h
SSPBUF 13h SSPADD 93h
SSPCON 14h SSPSTAT 94h
CCPR1L 15h 95h
CCPR1H 16h 96h
CCP1CON 17h 97h
RCSTA 18h TXSTA 98h
TXREG 19h SPBRG 99h
RCREG 1Ah 9Ah
CCPR2L 1Bh 9Bh
CCPR2H 1Ch 9Ch
CCP2CON 1Dh 9Dh
ADRESH 1Eh ADRESL 9Eh
ADCON0 1Fh ADCON1 9Fh
20h A0h 120h 1A0h
Регистры
общего
назначения
96 байт
7Fh
Регистры
общего
назначения
96 байт
FFh
Доступ к
20h-7Fh
17Fh
Доступ к
A0h-FFh
1FFh
Банк 0 Банк 1 Банк 2 Банк 3
* - не физический регистр
Закрашенные участки памяти данных не реализованы, значение при чтение 00h
Примечания:
1. Эти регистры не реализованы в PIC16F873
2. Резервные регистры, пользователь не должен их использовать.
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 18
2.2.2 Регистры специального назначения
С помощью регистров специального назначения выполняется управление функциями ядра и периферийными
модулями микроконтроллера. Регистры специального назначения реализованы как статическое ОЗУ.
В этом разделе будут описаны регистры управляющие функциями ядра микроконтроллера. Описание регистров
периферийных модулей смотрите в соответствующем разделе документации.
Таблица 2-1 Регистры специального назначения
Адрес Имя Бит 7 Бит 6 Бит 5 Бит 4 Бит 3 Бит 2 Бит 1 Бит 0 Сброс
POR, BOR
Банк 0
00h(3) INDF Обращение к регистру, адрес которого записан в FSR (не физический регистр) 0000 0000
01h TMR0 Регистр таймера 0 xxxx xxxx
02h(3) PCL Младше биты счетчика команд PC 0000 0000
03h(3) STATUS IRP RP1 RP0 -TO -PD Z DC C 0001 1xxx
04h(3) FSR Регистр адреса при косвенной адресации xxxx xxxx
05h PORTA - - Зап. в вых. защелку PORTA, чтение сост. выв. PORTA --0x 0000
06h PORTB Запись в выходную защелку PORTB, чтение состояния выводов PORTB xxxx xxxx
07h PORTC Запись в выходную защелку PORTC, чтение состояния выводов PORTC xxxx xxxx
08h(4) PORTD Запись в выходную защелку PORTD, чтение состояния выводов PORTD xxxx xxxx
09h(4) PORTE - - - - - RE2 RE1 RE0 ---- -xxx
0Ah(1,3) PCLATH - - - Старшие биты счетчика команд PC ---0 0000
0Bh(3) INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x
0Ch PIR1 PSPIF(2) ADIF RCIF TXIF SSPIF CCP1IF TMR2IF TMR1IF 0000 0000
0Dh PIR2 - (5) - EEIF BCLIF - - CCP2IF -r-0 0--0
0Eh TMR1L Младший байт 16-разрядного таймера 1 xxxx xxxx
0Fh TMR1H Старший байт 16-разрядного таймера 1 xxxx xxxx
10h T1CON - - T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON --00 0000
11h TMR2 Регистр таймера 2 0000 0000
12h T2CON - TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 -000 0000
13h SSPBUF Буфер приемника MSSP / регистр передатчика xxxx xxxx
14h SSPCON WCOL SSPOV SSPEN CKP SSPM3 SSPM2 SSPM1 SSPM0 0000 0000
15h CCPR1L Младший байт захвата/сравнения/ШИМ CCP1 xxxx xxxx
16h CCPR1H Старший байт захвата/сравнения/ШИМ CCP1 xxxx xxxx
17h CCP1CON - - CCP1X CCP1Y CCP1M3 CCP1M2 CCP1M1 CCP1M0 --00 0000
18h RCSTA SPEN RX9 SREN CREN ADDEN FERR OERR RX9D 0000 000x
19h TXREG Регистр данных передатчика USART 0000 0000
1Ah RCREG Регистр данных приемника USART 0000 0000
1Bh CCPR2L Младший байт захвата/сравнения/ШИМ CCP2 xxxx xxxx
1Ch CCPR2H Старший байт захвата/сравнения/ШИМ CCP2 xxxx xxxx
1Dh CCP2CON - - CCP2X CCP2Y CCP2M3 CCP2M2 CCP2M1 CCP2M0 --00 0000
1Eh ADRESH Старший байт результат преобразования АЦП xxxx xxxx
1Fh ADCON0 ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/-DONE - ADON 0000 00-0
Обозначения: - = не используется, читается как 0; u = не изменяется; x = не известно; q = зависит от условий, r = резерв.
Затененные ячейки читаются как '0'.
Примечания:
1. Старший байт счетчика команд PC программно не доступен. В регистре PCLATH сохраняются
старшие биты <12:8>, переписываемые в старший байт счетчика команд.
2. Биты PSPIE и PSPIF в микроконтроллерах PIC16F873/876 не реализованы, всегда должны
равняться нулю.
3. Обращение к этим регистрам можно выполнить из любого банка.
4. Регистры PORTD, PORTE, TRISD, TRISE не реализованы в микроконтроллерах PIC16F873/876,
читаются как '0'.
5. Резервные биты PIR2<6> и PIE2<6> при записи в регистр PIR2 всегда должны равняться нулю.
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 19
Таблица 2-1 Регистры специального назначения (продолжение)
Адрес Имя Бит 7 Бит 6 Бит 5 Бит 4 Бит 3 Бит 2 Бит 1 Бит 0 Сброс
POR, BOR
Банк 1
80h(3) INDF Обращение к регистру, адрес которого записан в FSR (не физический регистр) 0000 0000
81h OPTION_REG -RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111
82h(3) PCL Младше биты счетчика команд PC 0000 0000
83h(3) STATUS IRP RP1 RP0 -TO -PD Z DC C 0001 1xxx
84h(3) FSR Регистр адреса при косвенной адресации xxxx xxxx
85h TRISA - - Направление выводов PORTA --11 1111
86h TRISB Направление выводов PORTB 1111 1111
87h TRISC Направление выводов PORTC 1111 1111
88h(4) TRISD Направление выводов PORTD 1111 1111
89h(4) TRISE IBF OBF IBOV PSPMODE - Направление выв. PORTE 0000 -111
8Ah(1,3) PCLATH - - - Старшие биты счетчика команд PC ---0 0000
8Bh(3) INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x
8Ch PIE1 PSPIE(2) ADIE RCIE TXIE SSPIE CCP1IE TMR2IE TMR1IE 0000 0000
8Dh PIE2 - (5) - EEIE BCLIE - - CCP2IE -r-0 0--0
8Eh PCON - - - - - - -POR -BOR ---- --qq
8Fh - Не реализовано -
90h - Не реализовано -
91h SSPCON2 GCEN ACKSTAT ACKDT ACKEN RCEN PEN RSEN SEN 0000 0000
92h PR2 Регистр периода таймера 2 1111 1111
93h SSPADD Регистр адреса / Регистр генератора скорости обмена 0000 0000
94h SSPSTAT SMP CKE D/-A P S R/-W UA BF 0000 0000
95h - Не реализовано -
96h - Не реализовано -
97h - Не реализовано -
98h TXSTA CSRC TX9 TXEN SYNC - BRGH TRMT TX9D 0000 –010
99h SPBRG Регистр генератора скорости USART 0000 0000
9Ah - Не реализовано -
9Bh - Не реализовано -
9Ch - Не реализовано -
9Dh - Не реализовано -
9Eh ADRESL Младший байт результат преобразования АЦП xxxx xxxx
9Fh ADCON1 ADFM - - - PCFG3 PCFG2 PCFG1 PCFG0 0--- 0000
Обозначения: - = не используется, читается как 0; u = не изменяется; x = не известно; q = зависит от условий, r = резерв.
Затененные ячейки читаются как '0'.
Примечания:
1. Старший байт счетчика команд PC программно не доступен. В регистре PCLATH сохраняются
старшие биты <12:8>, переписываемые в старший байт счетчика команд.
2. Биты PSPIE и PSPIF в микроконтроллерах PIC16F873/876 не реализованы, всегда должны
равняться нулю.
3. Обращение к этим регистрам можно выполнить из любого банка.
4. Регистры PORTD, PORTE, TRISD, TRISE не реализованы в микроконтроллерах PIC16F873/876,
читаются как '0'.
5. Резервные биты PIR2<6> и PIE2<6> при записи в регистр PIR2 всегда должны равняться нулю.
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 20
Таблица 2-1 Регистры специального назначения (продолжение)
Адрес Имя Бит 7 Бит 6 Бит 5 Бит 4 Бит 3 Бит 2 Бит 1 Бит 0 Сброс
POR, BOR
Банк 2
100h(3) INDF Обращение к регистру, адрес которого записан в FSR (не физический регистр) 0000 0000
101h TMR0 Регистр таймера 0 xxxx xxxx
102h(3) PCL Младше биты счетчика команд PC 0000 0000
103h(3) STATUS IRP RP1 RP0 -TO -PD Z DC C 0001 1xxx
104h(3) FSR Регистр адреса при косвенной адресации xxxx xxxx
105h - Не реализовано -
106h PORTB Запись в выходную защелку PORTB, чтение состояния выводов PORTB xxxx xxxx
107h - Не реализовано -
108h - Не реализовано -
109h - Не реализовано -
10Ah(1,3) PCLATH - - - Старшие биты счетчика команд PC ---0 0000
10Bh(3) INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x
10Ch EEDATA Регистр данных, младший байт xxxx xxxx
10Dh EEADR Регистр адреса, младший байт xxxx xxxx
10Eh EEDATH - - Регистр данных, старший байт xxxx xxxx
10Fh EEADRH - - - Регистр адреса, старший байт xxxx xxxx
Банк 3
180h(3) INDF Обращение к регистру, адрес которого записан в FSR (не физический регистр) 0000 0000
181h OPTION_REG -RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111
182h(3) PCL Младше биты счетчика команд PC 0000 0000
183h(3) STATUS IRP RP1 RP0 -TO -PD Z DC C 0001 1xxx
184h(3) FSR Регистр адреса при косвенной адресации xxxx xxxx
185h - Не реализовано -
186h TRISB Направление выводов PORTB 1111 1111
187h - Не реализовано -
188h - Не реализовано -
189h - Не реализовано -
18Ah(1,3) PCLATH - - - Старшие биты счетчика команд PC ---0 0000
18Bh(3) INTCON GIE PEIE T0IE INTE RBIE T0IF INTF RBIF 0000 000x
18Ch EECON1 EEPGD - - - WREER WREN WR RD x--- x000
18Dh EECON2 Регистр управления 2 (физически не реализован) ---- ----
18Eh - Резерв -
18Fh - Резерв -
Обозначения: - = не используется, читается как 0; u = не изменяется; x = не известно; q = зависит от условий, r = резерв.
Затененные ячейки читаются как '0'.
Примечания:
1. Старший байт счетчика команд PC программно не доступен. В регистре PCLATH сохраняются
старшие биты <12:8>, переписываемые в старший байт счетчика команд.
2. Биты PSPIE и PSPIF в микроконтроллерах PIC16F873/876 не реализованы, всегда должны
равняться нулю.
3. Обращение к этим регистрам можно выполнить из любого банка.
4. Регистры PORTD, PORTE, TRISD, TRISE не реализованы в микроконтроллерах PIC16F873/876,
читаются как '0'.
5. Резервные биты PIR2<6> и PIE2<6> при записи в регистр PIR2 всегда должны равняться нулю.
ООО «Микро-Чип» - поставка комплектующих Microchip тел.: (095) 737-7545 DS30292C
WWW.MICROCHIP.RU – поставки и техподдержка на русском языке 21
2.2.2.1 Регистр STATUS
В регистре STATUS содержатся флаги состояния АЛУ, флаги причины сброса микроконтроллера и биты
управления банками памяти данных.
Регистр STATUS может быть адресован любой командой, как и любой другой регистр памяти данных. Если
обращение к регистру STATUS выполняется командой, которая воздействует на флаги Z, DC и C, то изменение этих
трех битов командой заблокирована. Эти биты сбрасываются или устанавливаются согласно логике ядра
микроконтроллера. Команды изменения регистра STATUS также не воздействуют на биты -TO и -PD. Поэтому,
результат выполнения команды с регистром STATUS может отличаться от ожидаемого. Например, команда CLRF
STATUS сбросит три старших бита и установит бит Z (состояние регистра STATUS после