НАБОР КОМАНД PIC МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА PIC17CXXX
Мнемоника | Краткое описание | Циклов | 16-ти битный код | Изменяет флаги | Прим. | БАЙТ-ОРИЕНТИРОВАННЫЕ КОМАНДЫ | ANDWF f,d | Сложение WREG и f | 1 | 0000 111D FFFF FFFF | OV, C, DC, Z | | ADDWFC f,d | Прибавление WREG и Carry bit( Бита переноса) к f | 1 | 0001 000D FFFF FFFF | OV, C, DC, Z | | ANDWF f,d | Поразрядная операция "И" c WREG и f | 1 | 0000 101D FFFF FFFF | Z | | CLRF f,s | Очистка регистра f | 1 | 0010 100S FFFF FFFF | нет | 3 | COMF f,d | Инвертирование битов регистра f | 1 | 0001 001D FFFF FFFF | Z | | CPFSEQ f | Операция сравнения f с WREG, пропуск след. комманды если f=WREG | 1(2) | 0011 0001 FFFF FFFF | нет | 6, 8 | CPFSGT f | Операция сравнения f с WREG, пропуск след. комманды если f>WREG | 1(2) | 0011 0010 FFFF FFFF | нет | 2, 6, 8 | CPFSLT f | Операция сравнения f с WREG, пропуск след. комманды если f<WREG | 1(2) | 0011 0000 FFFF FFFF | нет | 2, 6, 8 | DAW f,s | Десятичная коррекция регистра WREG | 1 | 0010 111S FFFF FFFF | C | 3 | DCFSNZ f,d | Уменьшение значения регистра f, пропуск следующей инструкции если результат не равен нулю. | 1(2) | 0010 011D FFFF FFFF | нет | 6, 8 | DECF f,d | Уменьшение значения регистра f | 1 | 0000 011D FFFF FFFF | OV, C, DC, Z | | DECFSZ f,d | Уменьшение значения регистра f, пропуск следующей инструкции если результат равен нулю. | 1(2) | 0001 011D FFFF FFFF | нет | 6, 8 | INCF f,d | Увеличение значения регистра f на 1 | 1 | 0001 010D FFFF FFFF | OV, C, DC, Z | | INCFSZ f,d | Увеличение значения регистра f, пропуск следующей инструкции если результат равен нулю. | 1(2) | 0001 111D FFFF FFFF | нет | 6, 8 | INFSNZ f,d | Увеличение значения регистра f, пропуск следующей инструкции если результат не равен нулю. | 1(2) | 0010 010D FFFF FFFF | нет | 6, 8 | IORWF f,d | Логическая операция включающего ИЛИ WREG и f | 1 | 0000 100D FFFF FFFF | Z | | MOVFP f,p | Пересылка содержимого регистра f в p | 1 | 011P PPPP FFFF FFFF | нет | | MOVPF p,f | Пересылка содержимого регистра p в f | 1 | 010P PPPP FFFF FFFF | Z | | MOVWF f | Пересылка содержимого регистра WREG в регистр f | 1 | 0000 0001 FFFF FFFF | нет | | MULWF f | Перемножение WREG с f | 1 | 0011 0100 FFFF FFFF | нет | 9 | NEGW f,s | Изменить знак WREG | 1 | 0010 110S FFFF FFFF | OV, C, DC, Z | 1, 3 | NOP | Пустая команда | 1 | 0000 0000 0000 0000 | нет | | RLCF f,d | Циклический сдвиг влево через флаг переноса | 1 | 0001 101D FFFF FFFF | C | | RLNCF f,d | Циклический сдвиг влево (без переноса) | 1 | 0010 001D FFFF FFFF | нет | | RRCF f,d | Циклический сдвига вправо через флаг переноса | 1 | 0001 100D FFFF FFFF | C | | RRNCF f,d | Циклический сдвига вправо (без флага переноса) | 1 | 0010 000D FFFF FFFF | нет | | SETF f,s | Установка всех битов f в 1 | 1 | 0010 101S FFFF FFFF | нет | 3 | SUBWF f,d | Вычитание WREG из f | 1 | 0000 010D FFFF FFFF | OV, C, DC, Z | 1 | SUBWFB f,d | Вычитание W из f с заемом | 1 | 0000 001D FFFF FFFF | OV, C, DC, Z | 1 | SWAPF f,d | Обмен местами полу-байт регистра f | 1 | 0001 110D FFFF FFFF | нет | | TABLRD t,i,f | Чтение таблицы | 2 (3 тактов, если f=PCL) | 1010 10TI FFFF FFFF | нет | 7 | TABLWT t,i,f | Табличная запись | 2 (и больше если происходит запись во встроенную EEPROM ) | 1010 11TI FFFF FFFF | нет | 5 | TLRD t,f | Считывание Защелки таблицы | 1 | 1010 00TX FFFF FFFF | нет | | TLWT t,f | Запись в Защелку таблицы | 1 | 1010 01TX FFFF FFFF | нет | | TSTFSZ f | Проверка f, пропуск след. ком. если 0. | 1(2) | 0011 0011 FFFF FFFF | нет | 6, 8 | XORWF f,d | Логическая операция исключающего ИЛИ с WREG и f | 1 | 0000 110D FFFF FFFF | Z | | БИТ-ОРИЕНТИРОВАННЫЕ КОМАНДЫ | BCF f,b | Очистка бита в f | 1 | 1000 1BBB FFFF FFFF | нет | | BSF f,b | Установка бита в f | 1 | 1000 0BBB FFFF FFFF | нет | | BTFSC f,b | Проверка на равенство бита нулю, пропускаем след. команду если да. | 1(2) | 1001 1BBB FFFF FFFF | нет | 6, 8 | BTFSS f,b | Проверка на равенство бита 1, пропускаем след. команду если да. | 1(2) | 1001 0BBB FFFF FFFF | нет | 6, 8 | BTG f,b | Инвертирование бита в регистра f | 1 | 0011 1BBB FFFF FFFF | нет | | СИМВОЛЬНЫЕ КОМАНДЫ И КОМАНДЫ ВЕТВЛЕНИЯ | ADDLW k | Сложение литеры и WREG | 1 | 1011 0001 KKKK KKKK | OV, C, DC, Z | | ANDLW k | Логическая операция "И" с символом и WREG | 1 | 10011 0101 KKKK KKKK | Z | | CALL k | Вызов процедуры | 2 | 111K KKKK KKKK KKKK | нет | 7 | CLRWDT | Сброс Сторожевого Таймера (WDT) | 1 | 0000 0000 0000 0100 | TO, PD | | GOTO k | Безусловный переход | 2 | 110K KKKK KKKK KKKK | None | 7 | IORLW k | Логическая операция включающего ИЛИ с символом и WREG | 1 | 1011 0011 KKKK KKKK | Z | | LCALL k | Вызов дальней процедуры | 2 | 1011 0111 KKKK KKKK | нет | 4, 7 | MOVLB k | Пересылка литеры в младший полубайт регистра BSR | 1 | 1011 1000 UUUU KKKK | Нет | | MOVLR k | Пересылка литеры в старший полубайт регистра BSR | 1 | 1011 101X KKKK UUUU | Нет | 9 | MOVLW k | Пересылка литеры в регистр WREG | 1 | 1011 0000 KKKK KKKK | нет | | MULLW k | Перемножение литеры с WREG | 1 | 1011 1100 KKKK KKKK | нет | 9 | RETFIE | Возврат управления после прерывания | 2 | 0000 0000 0000 0101 | GLINTD | 7 | RETLW k | Возврат с литерой в W | 2 | 1011 0110 KKKK KKKK | нет | 7 | RETURN | Возврат из процедуры | 2 | 0000 0000 0000 0010 | нет | 7 | SLEEP | Переход в режим "сна" | 1 | 0000 0000 0000 0011 | TO, PD | | SUBLW k | Вычитание W из литеры | 1 | 1011 0010 KKKK KKKK | OV, C, DC, Z | | XORLW k | Логическая операция исключающего ИЛИ с символом и W | 1 | 1011 0100 KKKK KKKK | Z | |
|
Примечания: - Метод двоичного дополнения
- Беззнаковая операция
- Если s='1', изменяется только файл; Если s='0', тогда оба и WREG и file изменяются; Если нужно, что бы изменядся только Рабочий регистр (WREG), тогда необходимо сделать f = WREG.
- Во время выполнения LCALL, содержимое PCLATH загружается в MSb регистра PC и kkkk kkkk загружется в LSb регистра PC(PCL).
- Выполнение команды может занять несколько командных циклов при программировании EPROM, если табличный указатель относится ко внутренней EPROM. Выполнение команды завершается прерыванием. Когда команда используется для записи во внешнюю EPROM, выполнение команды занимает 2 командных цикла.
- Если условие истинно - команда выполняется за 2 командных цикла, если ложно - за 1 ком. цикл.
- Команда выполняется за 2 ком. цикла, кроме TABLRD с PCL (младший байт PC) которая выполняется за 3 ком. цикла.
- "пропускаем" - означает, что команда следующая за данной не выполняется, а выполняется команда, которая находится через одну от данной. Вместо следующей за данной командой выполняется команда NOP (Пустая операция).
- Эта команда отсутствует в микоконтроллере PIC17C42
Читайте далее: Устройство телефонного аппарата и основы телефонной связи, Интегральные микросхемы и работа с ними, Простой и быстрый способ расчета источников питания, Практическое применение таймера 555, Применение микросхем A277D (К1003ПП1), Запуск ИС таймера 555 положительным импульсом, Необычный режим работы полевого транзистора, Мембранная клавиатура, КР174УН31 - низковольтный усилитель мощности звуковой частоты, Некоторые применения операционного усилителя типа 741 (140УД7), Изготовление трансформаторов, Защита СВЧ транзисторов, Механическое ускорение травления, Изготовление корпуса за 5 минут, Серебрение проводников, Канифоль из смолы, Разъем для батарей, Диаметр по линейке, Хранение радиодеталей,
|