![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Каждая команда PIC16F84 представляет собой 14-разрядное слово, содержащее поле кода операции OPCOD и поле одного или более операндов, которые могут участвовать в этой команде. Система команд PIC16F84 приведена в таблице 19.3 и включает в себя команды работы с байтами, команды работы с битами, команды передачи управления и операции с константами. Она отличается от системы команд PIC16C5X (см. Приложение В1), лишь тем, что группа команд передачи управления и операций с константами дополнена четырьмя новыми командами: ADDLW, RETFIE, RETURN, SULW (см. приложение В2).
Для команд работы с байтами "f" обозначает регистр, с которым производится действие; а бит "d" определяет регистр назначения. Если "d" =0 результат помещается в W регистр, при "d"=1 результат помещается в регистр "f", заданный в команде.
Для команд работы с битами "b" обозначает номер бита, участвующего в команде, а "f" -это регистр в котором этот бит расположен. Для команд управления и операций с константами "k" обозначает 8-ми или 11- битную константу или идентификатор.
Все команды выполняются в течение одного командного цикла, кроме следующих двух случаев:
- переход по проверке условия, если результат поиска истина;
- изменение программного счетчика как результат выполнения команды.
В этих случаях команда выполняется за два цикла, с выполнением второго цикла как NOP. Один командный цикл состоит из четырех периодов генератора. Таким образом, для генератора с тактовой частотой 4 Мгц время выполнения команды составит 1 мкс.
Таблица 1.3.
Cистема команд PIC16F84
Мнемокод | Название команды | Примечания |
Команды работы с байтами | ||
ADDWF f, d | Сложение W с f | 2,3 |
ANDWF f, d | Логическое "И" W и f | 2,3 |
CLRF f | Сброс регистра f | |
CLRW - | Сброс регистра W | - |
COMF f, d | Инверсия регистра f | 2,3 |
DECF f, d | Декремент регистра f | 2,3 |
DECFSZ f, d | Декремент f, пропустить команду, если 0 | 2,3 |
INCF f, d | Инкремент регистра f | 2,3 |
INCFSZ f, d | Инкремент f, пропустить команду, если 0 | 2,3 |
IORWF f, d | Логическое "ИЛИ " W и f | 2,3 |
MOVF f, d | Пересылка регистра f | 2,3 |
Окончание табл. 1.3.
Мнемокод | Название команды | Примечания |
MOVWF f | Пересылка W в f | |
NOP - | Холостая команда | - |
RLF f, d | Сдвиг f влево через перенос | 2,3 |
RRF f, d | Сдвиг f вправо через перенос | 2,3 |
SUBWF f, d | Вычитание W из f | 2,3 |
SWAPF f, d | Обмен местами тетрад в f | 2,3 |
XORWF f, d | Исключающее "ИЛИ" W и f | 2,3 |
Команды работы с битами | ||
BCF f, b | Сброс бита в регистре f | 2,3 |
BSF f, b | Установка бита в регистре f | 2,3 |
BTFSC f, b | Пропустить команду, если бит в f равен нулю | - |
BTFSS f, b | Пропустить команду, если бит в f равен единице | - |
Команды передачи управления и операции с константами | ||
ANDLW k | Логическое "И" константы и W | - |
IORLW k | Логическое "ИЛИ" константы и W | - |
MOVLW k | Пересылка константы в W | - |
XORLW k | Исключающее "ИЛИ" константы и W | - |
OPTION | Загрузка W в OPTION регистр | |
ADDLW k | Сложение константы с W | |
SUBLW k | Вычитание W из константы. | |
CALL k | Вызов подпрограммы | - |
CLRWDT | Сброс Watchdog таймера | - |
GOTO k | Переход по адресу | - |
RETLW k | Возврат из подпрограммы с загрузкой константы в W | - |
RETFIE | Возврат из прерывания. | |
RETURN | Возврат из подпрограммы. | |
SLEEP | Переход в режим SLEEP | - |
TRIS f | Загрузка TRIS регистра |
Примечания:
1. Команды TRIS и OPTION помещены в перечень команд для совместимости с семейством PIC16C5X. Их использование не рекомендуется. В PIC16C71 и PIC 16F84 регистры TRIS и OPTION доступны для чтения и записи как обычные регистры с номером.
2. Когда модифицируется регистр ввода/вывода(например MOVF PORT,1), используется значение, считываемое с выводов. Например, если в выходной защелке порта, включенного на ввод, находится "1", а внешнее устройство формирует на этом выводе "0", то в этом разряде данных будет записан "0".
3. Если операндом команды является регистр TMRO (и, если допустимо, d=1), то предварительный делитель, если он подключен к TMRO, будет обнулен.
4. Команды ADDLW, RETFIE, RETURN и SUBLW отсутствуют в системах команд PIC 12CXX и PIC 16C5X.
Более подробное описание команд с примерами их выполнения приведено в Приложении В (В1 и В2). Данную систему команд имеют все микроконтроллеры расширенного семейства (PIC16CXX). Микроконтроллеры простейшего и базового семейств (PIC12CXX и PIC16C5X) имеют урезанную систему команд (Приложение В1). Микроконтроллеры высокопроизводительного семейства (PIC17CXX) имеют расширенную (по сравнению с PIC16CXX) систему команд, которая содержит до 57-ми команд [4,5].
Дата публикования: 2014-12-10; Прочитано: 436 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!