Объявление

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

Набор команд 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

      Ни для кого не секрет, что микропроцессоры и микроконтроллеры находят самое широкое применение в различных областях науки и техники. Сегодня трудно указать область электроники, где не использовались бы микроконтроллеры. Количество простейших применений, требующих интеллектуального управления процессом, возрастает лавинообразно. Реализация гибких алгоритмов управления на базе микроконтроллеров дает широкому кругу разработчиков уникальный инструмент для создания «интеллектуальных» систем управления. Умение разумно его применять во многом определяет успех оборудования в конкурентной борьбе на рынке.

      MOTOROLA штурмует трехмиллиардный рубеж

      Статистика гласит, что наибольшую долю рынка встраиваемых систем управления занимают восьмиразрядные микроконтроллеры. Здесь показателен...
      10.02.2017, 14:56
    • Частотомер на PIC16F873 с двух строчным ЖКИ способный измерять частоты
      admin
      alt="" />Частотомер на PIC16F873 с двух строчным ЖКИ способный измерять частоты от 10Гц до 45МГц. Чувствительность по входу около 50мВ, входное сопротивление 250 Ком, входная ёмкость 15пФ. Питание девятивольтная батарея 6F22.В память можно вносить значения, которые будут, прибавлены к входной частоте или вычтены из неё.

      При входной частоте меньше 655.35 КГц вес младшего разряда 10Гц, при входной частоте меньше 6.5535 МГц вес младшего разряда 100Гц, при входной частоте больше 6.5535 МГц вес младшего разряда 1 КГц. Переключение диапазона измерения происходит автоматически.
      Схема прибора изображена на рис.1.Входной сигнал проходит через цепь J3, R8, R9, C7, C6...
      10.02.2017, 14:56
    • Управление нагрузкой 220В переменного напряжения с использованием симисторов
      admin
      Для плавного управления нагрузкой, например, лампой освещения, можно использовать симистор. Открывается симистор током при подачи на управляющий электрод импульса. Закрывается, когда ток, проходящий через него, становится равным нулю, когда переменное напряжение меняет знак.
      ...
      10.02.2017, 14:56
    • Управление модулем Ke-USB24A из Excel
      admin
      Всю прелесть программирования USB модуля Ke-USB24A можно оценить когда встает вопрос о необходимости написания программы на каком-либо не очень широко распространенном языке или для какой-либо среды, которая, казалось бы не предусматривает возможность работы с USB устройствами. Как тут быть? - разбираться с подключением библиотек, вызовами системных функци и т.д.? Все это зачастую бывает сложно. Модуль Ke-USB24A совсем другое дело!...
      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 г.
      Ракович Н. Н.

      "В человеке все должно быть прекрасно… и у него в доме тоже"
      (Почти по А. П. Чехову)
      В последнее время при чтении профессиональных электронных журналов и статей, посвященных использованию электронных компонентов, у меня возникло и окрепло унылое ощущение, что вся гигантская индустрия полупроводников существует лишь для создания компьютеров, интеллектуального промышленного оборудования и прочих столь же серьёзных изделий. Полное осознание этой тенденции произошло после знакомства с продукцией фирмы Holtek. Приятно удивило большое количество микросхем, которые не только улучшают быт или делают жизнь более безопасной, но и не дадут соскучиться при избытке свободного времени.
      Итак, что же предлагает Holtek для разработчиков бытовой электроники?
      Отдельной линейкой представлены микросхемы для цифровых медицинских термометров. Однокристальные КМОП ИС НТ7500, НТ7501, НТ7510 позволяют измерять температуру в диапазоне от +32°С до +42°С с точностью ±0,1°С. В приборах предусмотрена звуковая сигнализация окончания измерения, а автоматическое отключение питания и вывод информации на ЖКИ-дисплей в сочетании с 1,5 В батарейкой делают его очень экономичным. Модели НТ7500 и НТ7501 практически одинаковы, различаясь лишь тем, что в НТ7500 предусмотрены две шкалы (Цельсия и Фаренгейта), а в НТ7501 реализована только шкала Цельсия и функция самотестирования при включении. ИС НТ7510 идентична НТ7500, но при подключении к ней синтезатора речи НТ84018-0D можно создать "говорящий" термометр.
      Термометр фиксирует нездоровье. А причиной его могут стать самые разные проблемы, в том числе и расшалившиеся нервы. Помогая сохранить здоровье, Holtek предлагает семейство кодеров и декодеров, основное назначение которых - системы сигнализации и охраны: защита от взлома, противопожарная сигнализация, управление гаражными воротами, автомобильные охранные системы, системы безопасности, радиотелефоны и другие системы дистанционного управления.
      Рассмотрим кодеры и декодеры серий 212, 312, 318.
      Кодеры серии 212 (НТ12А/НТ12Е) - КМОП БИС для систем дистанционного управления. Они шифруют информацию, содержащую N адресных бит и 12-N бит данных. Каждый вход адреса/данных может быть установлен в одно из двух логических состояний (отсюда название серии). Зашифрованные адреса/данные передаются, начиная со старшего бита, через радиоканал или ИК-канал. Для увеличения функциональной гибкости предусмотрено управление передачей по сигналу ТЕ (НТ12Е) или по сигналам D8-D11. В НТ12Е дополнительно предусмотрен выход 38 кГц для ИК-систем.
      Декодеры серии 212 (НТ12D/НТ12F) - пара к кодерам этой же серии. Они принимают последовательные адреса и данные от кодера по радио- или по ИК-каналу. После троекратной проверки входных данных при отсутствии ошибок эти данные декодируются и поступают на выход. Декодеры серии 212 могут обрабатывать информацию, аналогичную для кодеров (N адресных бит и 12-N бит данных). НТ12D обеспечивает обработку 8 адресных бит и 4 бит данных, а НТ12F используется для декодирования 12-разрядной адресной информации.
      В кодерах серий 312 и 318 каждый вход адреса/данных может быть запрограммирован на три состояния, при...
      10.02.2017, 14:55
    Обработка...
    X