Главная Гальваническое покрытие Обработка поверхности Радиотехника
Бессточные операции Гальвано- химическое производство Достижения

Самые новые
Основы организации современных гальвано-химических производств
Взаимная адаптация технологий гальванического производства и очистки сточных вод
Импульсная металлизация печатных плат
Создание высокоэффективных систем промывки деталей
Утилизация гальванических отходов как гигиеническая проблема
Получение химико-механических цинковых покрытий на высокопрочных термообработанных сталях
Переработка металлургических отходов
Последние достижения в гальванопластике
Обработка промывных вод травильных агрегатов
Экологические перспективные технологии цинкования, кадмирования и меднения
Об утилизации гальванических шламов
Технологии изготовления технологической оснастки и продуктов методом гальванопластики
Россия экспортировала продукции химической промышленности и каучука на 11,3 млн долларов
В октябре экспорт ферросплавов уменьшился на 0,03% до 108,9 тыс. тонн
Мировое производство стали за 10 месяцев 2006 года выросло на 9,2%
Производство алюминия продолжает расти
Химическое производство в России выросло на 1,2%
Китай за 10 месяцев увеличил выпуск медной продукции на 6,6% до 4,6 млн. т
"Антон" - "Северсталь"
Чистая прибыль ОАО "Ульяновский автомобильный завод"
Оценка эфф. подготовки поверхности полистирола перед химической металлизацией
"Российские металлургические компании и ЕС - особые отношения"
Аналитики расходятся во мнениях по прогнозу цен на железную руду
Evraz увеличивает выплаты
Китай вышел на ежемесячный объем экспорта стали
Чистая прибыль Borealis в III квартале выросла в 2,6 раза
"Цинк среди драгоценных металлов"
Росбанк стал держателем 29,33% "Норникеля"
"Северсталь" подорожала на 2.7 миллиарда долларов после вчерашнего IPO
Новая волна слухов на тему консолидации в мировой металлургии
Итоги деятельности химического комплекса за 9 месяцев
Стратегия развития металлургической промышленности
Инженеры в почете
Информационное обеспечение химического комплекса
Дефицит кадров
Спрос на оцинкованную сталь растет
Карта: 1 2 3 4 5 6 7 8 9
10 11 12 13 14
Главная Радиотехника


Система команд PIC-контроллеров серии PIC16C8X


Каждая команда контроллеров серии PIC16C8X представляет собой 14-разрядное слово, содержащее поле кода операции OPCODE и поле операндов. Система команд включает в себя команды работы с байтами, команды работы с битами, команды управления и операции с константами.

Для команд работы с байтами f обозначает регистр, с которым производится действие, а бит d определяет регистр назначения. При d=0 результат помещается в регистр W, при d=1 результат помещается в регистр f, заданный в команде.

Для команд работы с битами b обозначает номер бита, участвющего в команде, а f - регистр, в котором этот бит расположен.

Для команд управления и операций с константами k обозначает 8- или 11-битовую константу или идентификатор.

Все команды выполняются в течение одного командного цикла, кроме следующих двух случаев:

  • Переход по проверке условия, если результат проверки условия - истина.
  • Изменение счетчика команд как результат выполнения команды.
В этих случаях команда выполняется за два цикла с выполнением второго цикла как NOP. Один командный цикл состоит из четырех периодов генератора. для генератора с частотой 4 МГц время выполнения команды составит 1 мкс. Если выполняется переход по проверке условия или в результате выполнения команды изменился счетчик команд, время выполнения этой команды при тактовой частоте 4 МГц составит 2 мкс.

Принятые обозначения

f: Адрес регистра
W: Рабочий регистр
b: Номер бита в 8-ми разрядном регистре
k: Константа
x: Не используется. Ассемблер формирует код с х=0
d: Регистр назначения:

d=0 - результат в регистре W

d=1 - результат в регистре f.

По умолчанию d=1
label: Имя метки
TOS: Вершина стека
РС: Счетчик команд
ТО: Тайм-аут
PD: Выключение питания
dest: Регистр назначения: рабочий регистр W или регистр, заданный в команде
[]: Необязательные параметры
(): Содержание
-->: Присвоение
<>: Битовое поле
О: Из набора
Обозначение Функция Циклы Код команды Биты состояния Примечания
ADDLW Сложение константы и W 1 11 111x kkkk kkkk C, DC, Z
ADDWF Сложение W c f 1 00 0111 dfff ffff C, DC, Z 1, 2
ANDLW Логическое И константы и W 1 11 1001 kkkk kkkk Z
ANDWF Логическое И W и f 1 00 0101 dfff ffff Z 1, 2
BCF Сброс бита в регистре f 1 01 00bb bfff ffff 1, 2
BSF Установка бита в регистре f 1 01 01bb bfff ffff 1, 2
BTFSC Пропустить команду, если бит в f равен нулю 1 (2) 01 10bb bfff ffff 3
BTFSS Пропустить команду, если бит в f равен единице 1 (2) 01 11bb bfff ffff 3
CALL Вызов подпрограммы 2 10 0kkk kkkk kkkk
CLRF Сброс регистра f 1 00 0001 1fff ffff Z 2
CLRW Сброс регистра W 1 00 0001 0xxx xxxx Z
CLRWDT Сброс сторожевого таймера WDT 1 00 0000 0110 0100
__  __

TO, PD
COMF Инверсия регистра f 1 00 1001 dfff ffff Z 1, 2
DECF Декремент регистра f 1 00 0011 dfff ffff Z 1, 2
DECFSZ Декремент f, пропустить команду, если 0 1 (2) 00 1011 dfff ffff 1, 2, 3
GOTO Переход по адресу 2 10 1kkk kkkk kkkk
INCF Инкремент регистра f 1 00 1010 dfff ffff Z 1, 2
INCFSZ Инкремент f, пропустить команду, если 0 1 (2) 00 1111 dfff ffff 1, 2, 3
IORLW Логическое ИЛИ константы и W 1 11 1000 kkkk kkkk Z
IORWF Логическое ИЛИ W и f 1 00 0100 dfff ffff Z 1, 2
MOVF Пересылка регистра f 1 00 1000 dfff ffff Z 1, 2
MOVLW Пересылка константы в W 1 11 00xx kkkk kkkk
MOVWF Пересылка W в f 1 00 0000 1fff ffff
NOP Холостая команда 1 00 0000 0xx0 0000
OPTION Загрузка регистра OPTION 1 00 0000 0110 0010
RETFIE Возврат из прерывания 2 00 0000 0000 1001
RETLW Возврат из подпрограммы с загрузкой константы в W 2 11 01xx kkkk kkkk
RETURN Возврат из подпрограммы 2 00 0000 0000 1000
RLF Сдвиг f влево через перенос 1 00 1101 dfff ffff C 1, 2
RRF Сдвиг f вправо через перенос 1 00 1100 dfff ffff C 1, 2
SLEEP Переход в режим SLEEP 1 00 0000 0110 0011
__  __

TO, PD
SUBLW Вычитание W из константы 1 11 110x kkkk kkkk C, DC, Z
SUBWF Вычитание W из f 1 00 0010 dfff ffff C, DC, Z 1, 2
SWAPF Обмен местами тетрад вf 1 00 1110 dfff ffff 1, 2
TRIS Загрузка регистра TRIS 1 00 0000 0110 0fff
XORLW Исключающее ИЛИ константы и W 1 11 1010 kkkk kkkk Z
XORWF Исключающее ИЛИ W и f 1 00 0110 dfff ffff 1, 2


Примечание:

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


Источник: http://gaw.ru

Читайте далее: Проходной конденсатор - больше, чем просто конденсатор!, Как правильно выбрать величину индуктивности дросселя?, Самодельные радиаторы для полупроводниковых приборов, Улучшение приема FM радиовещания в некоторых видеокартах, Графическая среда для разработки программного обеспечения микроконтроллеров, Реализация последовательной асинхронной передачи данных в микроконтроллерах PIC, Программное дeкодирование DTMF по принципу АОН на базе микроконтроллера PIC16F628, Декодировка сигналов тонального набора номера, Что такое GPS?, Типоразмеры компонентов для монтажа на поверхность, Сетка телевизионных каналов, используемых в России., Пайка алюминия, Расчетные формулы при работе с проволокой, CAN 2.0 А, CAN интерфейс, CTN - Многоцветные скрученные нематики, Мой первый проект на PIC микроконтроллере, Индикатор опасности (катастроф), Сильноскрученный нематик (HTN),
Самые читаемые