************************ Набор команд PIC16CXX ****************************** Мнемоника Описание Циклы Флаги Прим. *** Байт-ориентированные команды ******************************************** ADDWF f,d Сложение W с f 1 C,DC,Z 1,2 ANDWF f,d Логическое "И" W с f 1 Z 1,2 CLRF f Сброс регистра f 1 Z 2 CLRW Сброс регистра W 1 Z - COMF f,d Инверсия регистра f 1 Z 1,2 DECF f,d Декремент регистра f 1 Z 1,2 DECFSZ f,d Декремент f, пропустить 1(2) Z 1,2,3 команду, если 0 INCF f,d Инкремент регистра f 1 Z 1,2 INCFSZ f,d Инкремент f, пропустить 1(2) Z 1,2,3 команду, если 0 IORWF f,d Логическое "ИЛИ" W c f 1 Z 1,2 MOVF f,d Пересылка регистра F 1 Z 1,2 MOVWF f Пересылка W в F 1 - NOP Холостая команда 1 - RLF f,d Вращение f влево через перенос 1 C 1,2 RRF f,d Вращение f вправо через перенос 1 C 1,2 SUBWF f,d Вычитание W из f 1 C,DC,Z 1,2 SWAPF f,d Обмен местами тетрад в f 1 1,2 XORWF f,d Исключающее "ИЛИ" W и f 1 Z 1,2 *** Операции с константами и управляющими регистрами ************************ ADDLW k Сложение константы с W 1 C,DC,Z - ANDLW k Логическое "И" константы и W 1 Z - IORLW k Логическое "ИЛИ" константы и W 1 Z - SUBLW k Вычитание W из константы MOVLW k Пересылка константы в W 1 - XORLW k Исключающее "ИЛИ" константы и W 1 Z - OPTIONS Загрузка OPTIONS регистра 1 4 TRIS f Загрузка TRIS регистра 1 4 *** Бит-ориентированные команды ********************************************* BCF f,b Сброс бита b в регистре f 1 1,2 BSF f,b Установка бита b в регистре f 1 1,2 BTFSC f,b Пропустить команду, если бит b=0 1(2) 3 BTFSS f,b Пропустить команду, если бит b=1 1(2) 3 *** Переходы **************************************************************** CALL k Вызов подпрограммы 2 - CLRWDT (k) Сброс Watchdog таймера 1 /TO,/PD - GOTO k Переход по адресу 2 - RETLW k Возврат из подпрограммы с загрузкой 2 - константы в W RETFIE Возврат из прерывания 2 - RETURN Возврат из подпрограммы 2 - SLEEP Переход в режим SLEEP 1 /TO,/PD - *** Мнемоники специальных инструкций **************************************** Мнемоника Описание Эквивалентные Флаги операции ADDCF f,d Добавить бит C к регистру BTFSC STATUS,0 INCF f,d Z ADDDCF f,d Добавить бит DC к регистру BTFSC STATUS,1 INCF f,d Z B k Переход GOTO k - BC k Переход если C=1 BTFSC STATUS,0 GOTO k - BDC k Переход если DC=1 BTFSC STATUS,1 GOTO k - BNC k Переход если C=0 BTFSS STATUS,0 GOTO k - BNDC k Переход если DC=0 BTFSS STATUS,1 GOTO k - BNZ k Переход если не ноль BTFSS STATUS,2 GOTO k - BZ k Переход если ноль BTFSC STATUS,2 GOTO k - CLRC Очистить бит C BCF STATUS,0 - CLRDC Очистить бит DC BCF STATUS,1 - CLRZ Очистить бит Z BCF STATUS,2 - LCALL k LGOTO k MOVFW f Пересылка регистра в W MOVF f,0 Z NEGF f,d Изменение знака регистра COMF f,1 INCF f,d Z SETC Установить бит C BSF STATUS,0 - SETDC Установить бит DC BSF STATUS,1 - SETZ Установить бит Z BSF STATUS,2 - SKPC Пропустить если C=1 BTFSS STATUS,0 - SKPDC Пропустить если DC=1 BTFSS STATUS,1 - SKPNC Пропустить если C=0 BTFSC STATUS,0 - SKPNDC Пропустить если DC=0 BTFSC STATUS,1 - SKPNZ Пропустить если не ноль BTFSC STATUS,2 - SKPZ Пропустить если ноль BTFSS STATUS,2 - SUBCF f,d Вычесть бит C из регистра BTFSC STATUS,0 DECF f,d Z SUBDCF f,d Вычесть бит DC из регистр BTFSC STATUS,1 DECF f,d Z TSTF f Проверка регистра MOVF f,1 Z *** Замечания и пояснения *************************************************** f - адрес регистра (0x00 - 0x7f) d - выбор приемника для результата (d=0: результат сохраняется в W; d=1: результат сохраняется в регистр f. По умолчанию d=1.) b - адрес бита (0 - 7) в регистре k - символьное поле, константа, метка. Примечание 1: Когда модифицируется регистр ввода/вывода, например MOVF 6,1, значение, используемое для модификации считывается непосредственно с ножек кристалла. Если значение защелки вывода для ножки, запрог- раммированной на вывод равно "1", но внешний сигнал на этом вы- воде "0" из-за "навала" снаружи, то будет считываться "0". Примечание 2: Если операндом этой команды является регистр TMR0 (и, если допустимо, d=1), то делитель, если он подключен к Timer0, будет обнулен. Примечание 3: Если изменяется Program Counter (PC) или выполняется заданное условие, то команда требует два цикла. Второй цикл выполняется как NOP. Примечание 4: Команды TRIS и OPTION помещены в перечень команд для совмести- мости с семейством PIC16C5X. Их использование не рекомендуется. В PIC16C84 регистры TRIS и OPTION доступны для чтения и записи как обычные регистры с номером. Предупреждаем, что эти команды могут не поддерживаться в дальнейших разработках PIC16CXX. ---------------------------------------------------------------------------- Более подробное описание функционирования PIC микроконтроллеров серий 16C5x, 16C71, 16C84 на русском языке и программаторы для них Вы найдете на сайте: "PIC микроконтроллеры и их программирование". http://YL.DA.RU/pic/rpic.htm