Объявление

Свернуть
Пока нет объявлений.

Набор команд PIC микроконтроллеров семейства PIC17CXXX

Свернуть
X
Свернуть
  •  

  • Набор команд 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 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
    Примечания:
    1. Метод двоичного дополнения
    2. Беззнаковая операция
    3. Если s='1', изменяется только файл; Если s='0', тогда оба и WREG и file изменяются; Если нужно, что бы изменядся только Рабочий регистр (WREG), тогда необходимо сделать f = WREG.
    4. Во время выполнения LCALL, содержимое PCLATH загружается в MSb регистра PC и kkkk kkkk загружется в LSb регистра PC(PCL).
    5. Выполнение команды может занять несколько командных циклов при программировании EPROM, если табличный указатель относится ко внутренней EPROM. Выполнение команды завершается прерыванием. Когда команда используется для записи во внешнюю EPROM, выполнение команды занимает 2 командных цикла.
    6. Если условие истинно - команда выполняется за 2 командных цикла, если ложно - за 1 ком. цикл.
    7. Команда выполняется за 2 ком. цикла, кроме TABLRD с PCL (младший байт PC) которая выполняется за 3 ком. цикла.
    8. "пропускаем" - означает, что команда следующая за данной не выполняется, а выполняется команда, которая находится через одну от данной. Вместо следующей за данной командой выполняется команда NOP (Пустая операция).
    9. Эта команда отсутствует в микоконтроллере PIC17C42

      Возможность размещать комментарии к сообщениям отключена.

    Метки статей

    Свернуть

    Меток пока нет.

    Новые статьи

    Свернуть

    • «NO EXCUSES» — специальная программа компании MOTOROLA
      от admin
      Дмитрий Панфилов
      «NO EXCUSES» — специальная программа компании MOTOROLA

      Ни для кого не секрет, что микропроцессоры и микроконтроллеры находят самое широкое применение в различных областях науки и техники. Сегодня трудно указать область электроники, где не использовались бы микроконтроллеры. Количество...
      10.02.2017, 14:56
    • Частотомер на PIC16F873 с двух строчным ЖКИ способный измерять частоты
      от admin
      alt="" />Частотомер на PIC16F873 с двух строчным ЖКИ способный измерять частоты от 10Гц до 45МГц. Чувствительность по входу около 50мВ, входное сопротивление 250 Ком, входная ёмкость 15пФ. Питание девятивольтная батарея 6F22.В память можно вносить значения, которые будут, прибавлены к входной частоте...
      10.02.2017, 14:56
    • Управление нагрузкой 220В переменного напряжения с использованием симисторов
      от admin
      Для плавного управления нагрузкой, например, лампой освещения, можно использовать симистор. Открывается симистор током при подачи на управляющий электрод импульса. Закрывается, когда ток, проходящий через него, становится равным нулю, когда переменное напряжение меняет знак.
      ...
      10.02.2017, 14:56
    • Управление модулем Ke-USB24A из Excel
      от admin
      Всю прелесть программирования USB модуля Ke-USB24A можно оценить когда встает вопрос о необходимости написания программы на каком-либо не очень широко распространенном языке или для какой-либо среды, которая, казалось бы не предусматривает возможность работы с USB устройствами....
      10.02.2017, 14:55
    • Управление матрицей 8х8 - легко!
      от admin
      Матрица управляется так же как и 7-сегментные индикаторы - динамически. Мега16 портом А управляет одной координатой (выбирает сторку для вывода инфы), порт С - выводит ту самую информацию. Информация берётся из массива.
      />

      />
      Что бы пользоваться редактором, нужно переменную STROKA из примера переименовать в rows_arr.
      Вложения: matrica8x8.fcf_avr (56 Кб) Любители ПИКов, вам не составит труда пореколбасить этот п...
      10.02.2017, 14:55
    • То, что улучшает нашу жизнь (микросхемы для домашних и игровых устройств)
      от admin
      Журнал «Компоненты и технологии» №8 2001 г.
      Ракович Н. Н.

      "В человеке все должно быть прекрасно… и у него в доме тоже"
      (Почти по А. П. Чехову)
      В последнее время при чтении профессиональных электронных журналов и статей, посвященных использованию электронных компонентов, у меня возникло и окрепло унылое ощущение, что вся гигантская...
      10.02.2017, 14:55
    Обработка...
    X