Система команд микроконтроллеров PIC16F873 (PIC16F876) состоит из 35 команд. Полный перечень команд приведен в таблице 31 . Команды условно можно разделить на три группы: к первой группе относятся команды, работающие целиком с байтами; ко второй группе относятся команды, работающие с адресуемыми битами в регистрах; к третьей группе относятся команды управления процессором и команды, работающие с константами. Каждая команда представляет собой 14-разрядный двоичный код, содержащий код операции (OPCODE) и один или два операнда. Форматы команд приведены на рис.25 Большинство команд выполняются за один машинный цикл, исключение составляют команды, которые изменяют состояние счетчика команд:RETFIE, RETLW, RETURN; а также команды условий перехода: DECFSZ и INCFSZ. Эти команды выполняются за два машинных цикла. Машинный цикл состоит из 4 импульсов тактового генератора, т.е. при тактовой частоте 4 МГц время одного машинного цикла равно 1 мкс.
Таблица 36. Система команд микроконтроллера.
№№ | Мнемоника команд | Описание команд | 14-разрядный код бит 13 бит0 | |
Байт ориентированные команды
ADDWF f,d
ANDWF f,d
CLRF f
CLRW
COMF f,d
DECF f,d
DECFSZ f,d
INCF f,d
INCFSZ f,d
IORWF f,d
MOVF f,d
MOVWF f
NOP
RLF f,d
RRF f,d
SUBWF f,d
SWAPF f,d
XORWF f,d
Бит ориентированные команды
Очистить бит номер b в регистре f (b = 0 – 7)
Установить в 1 бит номер b в регистре f
Проверить бит номер b в регистре f и пропустить следующую команду, если бит равен 0
Проверить бит номер b в регистре f и пропустить следующую команду, если бит равен 1
Команды управления и операций с константами
Сложить константу k с регистром W
Побитное «И» константы k и регистра W
Вызов подпрограммы
Очистить сторожевой таймер
Безусловный переход
Побитное «ИЛИ» константы и регистра W
Переслать константу в регистр W
Возврат из подпрограммы с разрешением прерываний
Возврат из подпрограммы с загрузкой константы в регистр W
Возврат из подпрограммы
Перейти в режим энергосбережения SLEEP
Вычесть регистр W из константы
Побитное «Исключающее ИЛИ» константы и регистра W
13 8 7 6 0 |
код операции |
d |
Адрес регистра f |
При d = 0 результат остается в регистре W При d = 1 результат остается в регистре f f - 7-разрядный адрес регистра |
Байт ориентированные операции с регистрами |
Бит ориентированные операции с регистрами |
13 10 9 7 6 0 |
код операции b адрес регистра f |
b – 3-разрядный номер бита в регистре f – 7-разрядный адрес регистра |
Команды управления и операций с константами 13 8 7 0 Код операции k - константа |
k – 8-разрядная константа |
Для команд CALL и GOTO 13 11 10 0 код операции k - константа |
k – 11-разрядная константа |
Рис.28. Форматы команд микроконтроллера. |
Подробное описание команд.
Дата: 2019-04-23, просмотров: 251.