Маркировка PIC микроконтроллеров
PIC - это programmable integrated circuit, "программируемая интегральная
схема" - так фирма Microchip преподносит свои микроконтроллеры.
Фирма микрочип на данный момент выпускает несколько семейств КМОП
микроконтроллеров с внутренним ПЗУ, ОЗУ, таймерами, АЦП, ШИМ и другими
периферийными модулями. Самые маленькие это PIC10 -3–6 вывода, PIC12 - 8
выводов, PIC16- 14-68 выводов, PIC17- 40-84 вывода, PIC18- 28-84 вывода,
dsPIC30-28-64 вывода, rfPIC12- 18-20 выводов, со встроенным радиоканалом. Каждое
семейство имеет свое назначение и область применения.
Идентифицируют тип микроконтроллера согласно коду, следующему за семейством. То
есть в обозначении идут буквы указывающие на тип памяти программ : EPROM-
обозначается индексом "С”, ROM- обозначается индексом "CR”, FLASH- обозначается
индексом «F». Если перед этими буквами стоит индекс "L” то это означает что
данный микроконтроллер работает в расширенном диапазоне питания .
Например, PIC16LF
Далее идет порядковый номер разработки, 2-4 цифры.
Например, 84 - вроде как модель.
Буква A после номера - модификация (улучшенный вариант)
Следующие 2 цифры после номера через дефис обозначают максимальную частоту
кварцевого генератора в мГц.
Например, 04 - максимальная паспортная тактовая частота (4MHz)
Последующая буква за тактовой частотой - означает рабочую температуру кристалла
I=-40oC...+85oC,
E=-40oC...+125oC,
при отсутствии буквы = 0oC...+70oC.
И, наконец, последние буквы через косую черту - обозначают тип корпуса табл1.
Например, PIC16F873-20/P - означает микроконтроллер фирмы микрочип среднего
семейства, с FLASH памятью программ (многократное перепрограммирование порядка
1000 циклов), максимальная частота кварца 20мГц, рабочий диапазон температур
0oC...+70oC, корпус пластиковый типа DIP.
Таблица 1.
L |
= PLCC (пластиковый выводной кристаллоноситель) |
P |
= пластиковый DIP |
S |
= кристалл в ячеистой упаковке |
W |
= кристалл в форме пластины |
MR |
= микромодуль на ленте, 8 контактный, 35 мм |
MT |
= микромодуль на подносе, 8 контактный |
OT |
= SOT-23, 5 контактный |
SL |
= SO 150 mil, 14 выводный |
SM |
= SO 207 mil, 8 выводный |
SN |
= SO 150 mil, 8 выводный |
SO |
= SOIC 300 mil |
SS |
= пластиковый узкий SSOP |
ST |
= тонкий узкий SO (4.4 мм) |
TO |
= пластиковый транзисторный, 3 выводный |
TS |
= тонкий SO (8x20 мм) |
TT |
= маленький пластиковый транзисторный, 3 выводный |
VS |
= очень маленький SO (8x12 мм) |
WF |
= нарезанная пластина |
CL |
= CERQUAD с окошком |
JW |
= CERDIP с окошком для УФ стирания |
PQ |
= PQFP (пластиковый, квадратный, плоский) |
PT |
= TQFP (тонкий, пластиковый, квадратный, плоский) |
SP |
= пластиковый DIP |
SB |
= COB (кристалл на плате) |
СИСТЕМА КОМАНД PIC МИКРОКОНТРОЛЛЕРОВ
Содержит 35 инструкций, полный список приведен в табл.2. Команды разделены на
три группы: байт ориентированные, бит ориентированные, команды управления и
операций с константами.
Таблица 2.
Мнемоника команды |
Описание
|
Циклов |
Изм.
флаги |
Байт
ориентированные команды |
ADDWF f,d |
Сложение W и f |
1 |
C,DC,Z |
ANDWF f,d |
Побитное 'И' W и f |
1 |
z |
CLRF f |
Очистить f |
1 |
z |
CLRW |
Очистить W |
1 |
z |
COMF f,d |
Инвертировать f |
1 |
z |
DECF f,d |
Вычесть 1 из f |
1 |
z |
DECFSZ f,d |
Вычесть 1 из f и пропустить если 0 |
1(2) |
|
INCF f,d |
Прибавить 1 Kf |
1 |
z |
INCFSZ f,d |
Прибавить 1 к f и пропустить если 0 |
1(2) |
|
IORWF f,d |
Побитное 'ИЛИ' W и f |
1 |
z |
MOVF f,d |
Переслать f |
1 |
z |
MOVWF f |
Переслать W в f |
1 |
|
NOP |
Нет операции |
1 |
|
RLF f,d |
Циклический сдвиг f влево через перенос |
1 |
с |
RRF f,d |
Циклический сдвиг f вправо через перенос |
1 |
с |
SUBWF f,d |
Вычесть W из f |
1 |
C.DC.Z |
SWAPF f,d |
Поменять местами полубайты в регистре f |
1 |
|
XORWF f,d |
Побитное исключающее ИЛИ1 W и f |
1 |
z |
Бит
ориентированные команды |
BCF f,b |
Очистить бит b в регистре f |
1 |
|
BSF f,b |
Установить бит b в регистре f |
1 |
|
BTFSC f,b |
Проверить бит b в регистре f, пропустить если 0 |
1(2) |
|
BTFSS f,b |
Проверить бит b в регистре f, пропустить если 1 |
1(2) |
|
Команды
управления и операций с константами |
ADDLW k |
Сложить константу с W |
1 |
C,DC,Z |
ANDLW k |
Побитное 'И' константы и W |
1 |
Z |
CALL k |
Вызов подпрограммы |
2 |
|
CLRWDT |
Очистить WDT |
1 |
-TO,-PD |
GOTO k |
Безусловный переход |
2 |
|
IORLW k |
Побитное 'ИЛИ' константы и W |
1 |
Z |
MOVLW k |
Переслать константу в W |
1 |
|
RETFIE |
Возврат из подпрограммы с разрешением прерываний |
2 |
|
RETLW k |
Возврат из подпрограммы с загрузкой
константы в W |
2 |
|
RETURN |
Возврат из подпрограммы |
2 |
|
SLEEP |
Перейти в режим SLEEP |
1 |
-TO.-PD |
SUBLW k |
Вычесть W из константы |
1 |
C,DC,Z |
XORLW k |
Побитное 'исключающее ИЛИ' константы и W |
1 |
Z |
В таблице:
w -означает рабочий регистр, в некоторых микроконтроллерах данный регистр
называют аккумулятором. Например при выполнении команды над регистром w и
константой результат будет помещен в w (аккумулятор).
f – означает адрес регистра.
d –указатель адресата результата операции, при d=0 –результат сохраняется
в регистре w, при d=1 –результат сохраняется в регистре f. В кодах программы
вместо
d иногда напрямую указывают регистр f или w.
b – номер бита в 8 –разрядном регистре.
k – константа, под которой понимается метка или 8 –разрядные данные.
C – флаг признака переноса.
DC- флаг признака вспомогательного переноса из младшего полубайта в
старший.
Z – флаг признака нулевого результата, выполненной арифметической или
логической операции.
–TO=1 – флаг выполнения команды clrwdt, sleep или включено питание,
–TO=0 – сработал wdt .
–PD=1 - флаг выполнения команды clrwdt или включено питание,
–PD=0 – выполнена команда sleep
Номенклатура PIC контроллеров