Ноя 16

Система команд для микроконтроллеров семейства PIC14000/PIC16CXXX (14 бит)

В данной статье представлена система команд для микроконтроллеров семейства PIC14000/PIC16CXXX. Она будем полезна тем кто работает с этими микроконтроллерами не так давно и не помнит всех команд. В приведенной таблице можно видеть мнемонику каждой команды, краткое описание, цикл, 14-ти битный код и какие флаги изменяются при выполнении команды.

БАЙТ-ОРИЕНТИРОВАННЫЕ КОМАНДЫ

Мнемоника Краткое описание Циклов 14-ти битный код Изменяет флаги Прим.
ADDWF f,d Сложение W и f 1 00 0111 DFFF FFFF C, DC, Z 1, 2
ANDWF f,d Поразрядная операция «И» W и f 1 00 0101 DFFF FFFF Z 1, 2
CLRF f Очистка регистра f 1 00 0001 1FFF FFFF Z 2
CLRW Очистка регистра W 1 00 0001 0000 0011 Z
COMF f,d Инвертирование битов регистра f 1 00 1001 DFFF FFFF Z 1, 2
DECF f,d Уменьшение значения регистра f 1 00 0011 DFFF FFFF Z 1, 2
DECFSZ f,d Уменьшение значения регистра f, пропуск следующей инструкции если результат равен нулю. 1 (2) 00 1011 DFFF FFFF нет 1,2,3
INCF f,d Увеличение значения регистра f на 1 1 00 1010 DFFF FFFF Z 1, 2
INCFSZ f,d Увеличение значения регистра f, пропуск следующей инструкции если результат равен нулю. 1 (2) 00 1111 DFFF FFFF нет 1,2,3
IORWF f,d Логическая операция включающего ИЛИ W и f 1 00 0100 DFFF FFFF Z 1, 2
MOVF f,d Пересылка содержимого регистра f 1 00 1000 DFFF FFFF Z 1, 2
MOVWF f Пересылка содержимого регистра W в регистр f 1 00 0000 1FFF FFFF нет
NOP Пустая команда 1 00 0000 0XX0 0000 нет
RLF f,d Циклический сдвиг влево через флаг переноса 1 00 1101 DFFF FFFF C 1, 2
RRF f,d Циклический сдвига вправо через флаг переноса 1 00 1100 DFFF FFFF C 1, 2
SUBWF f,d Вычитание W из f 1 00 0010 DFFF FFFF C, DC, Z
SWAPF f,d Обмен местами полу-байт регистра f 1 00 1110 DFFF FFFF нет
TRIS f Загрузка регистра TRIS 1 00 0000 0110 0FFF нет
XORWF f,d Логическая операция исключающего ИЛИ с W и f 1 00 0110 DFFF FFFF Z

БИТ-ОРИЕНТИРОВАННЫЕ КОМАНДЫ

Мнемоника Краткое описание Циклов 14-ти битный код Изменяет флаги Прим.
BCF f,d Очистка бита в f 1 01 00BB BFFF FFFF нет 1, 2
BSF f,b Установка бита в f 1 01 01BB BFFF FFFF нет 1, 2
BTFSC f,b Проверка на равенство бита нулю, пропускаем след. команду если да. 1 (2) 01 10BB BFFF FFFF нет 3
BTFSS f,b Проверка на равенство бита 1, пропускаем след. команду если да. 1 (2) 01 11BB BFFF FFFF нет 3

СИМВОЛЬНЫЕ КОМАНДЫ И КОМАНДЫ ВЕТВЛЕНИЯ

Мнемоника Краткое описание Циклов 14-ти битный код Изменяет флаги Прим.
ADDLW k Сложение литеры и W 1 11 111X KKKK KKKK C, DC, Z
ANDLW k Логическая операция «И» с символом и W 1 11 1001 KKKK KKKK Z
CALL k Вызов процедуры 2 10 0KKK KKKK KKKK нет
CLRWDT Сброс Сторожевого Таймера (WDT) 1 00 0000 0110 0100 TO, PD
GOTO k Безусловный переход 2 10 1KKK KKKK KKKK нет
IORLW k Логическая операция включающего ИЛИ с символом и W 1 11 1000 KKKK KKKK Z
MOVLW k Пересылка литеры в регистр W 1 11 00XX KKKK KKKK нет
OPTION Загрузка данных в регистр OPTION 1 00 0000 0110 0010 нет
RETFIE Возврат управления после прерывания 2 00 0000 0000 1001 нет
RETLW k Возврат с литерой в W 2 11 01XX KKKK KKKK нет
RETURN Возврат из процедуры 2 00 0000 0000 1000 нет
SLEEP Переход в режим «сна» 1 00 0000 0110 0011 TO, PD
SUBLW k Вычитание W из литеры 1 11 110X KKKK KKKK C, DC, Z
XORLW k Логическая операция исключающего ИЛИ с символом и W 1 11 1010 KKKK KKKK Z

Примечания:

  1. Когда регистр ввода вывода используется для модификации самого себя (MOVF PORTB, 1), то для записи будут использоваться значения 0/1 непосредственно с ножек микроконтролера, а не значение записаное в выходную защелку порта. (См. схему устройства ноги ввода вывода из даташита.) Например если в защелку записана единица, а порт сконфигурен на ввод данных и снаружи на этом выводе логический 0, то в PORTB будет записан 0! Смысл в том, что выход защелки отделен от ножки контроллера тристабильным буфером и на вход считывается именно нога контроллера, которая за буфером. Поэтому вроде писали в порт 1, а читается 0, вот он то и пишется обратно.
  2. Если команда оперирует с регистром TMR0 (и при этом d=1), тогда предделитель обнуляется (если он относится к модулю Timer 0)
  3. Если изменяется Программный Счетчик (PC) или условие истинно, тогда команда выполняется за 2 командных цикла. Второй командный цикл исполняется как команда NOP (Пустая операция).

Похожие записи:

  1. Система команд для микроконтроллеров семейства PIC16C5X (12 бит) В данной статье представлена система команд для микроконтроллеров семейства PIC16C5X....
  2. Система команд для микроконтроллеров MCS-51 В данной статье представлена система команд для микроконтроллеров MCS-51. Она...
  3. Hotkey (Хоткей) или Горячие клавиши для Microsoft Office Word Иногда намного проще, чтобы выполнить определенное действие нажать на клавиатуре...
  4. Дифференциальный усилитель В этой статье представлена общая схема дифференциального усилителя. Приведено общие...
  5. Hotkey (Хоткей) или Горячие клавиши для Microsoft Office Excel 2007 Иногда намного проще, чтобы выполнить определенное действие нажать на клавиатуре...

Автор: admin


Оставьте комментарий или два

Подтвердите, что Вы не бот — выберите человечка с поднятой рукой:

Рейтинг@Mail.ru

Яндекс.Метрика

usa online pharmacy Fully licensed online pharmacies `<|; buy prescription drugs a large product list.