Лабораторные работы 1-5-Драгунов (538456), страница 5
Текст из файла (страница 5)
Московский Государственный Технический Университет “МАМИ”
Факультет “Автоматизация и управление”
Кафедра “Автоматика и Процессы Управления”
Отчёт по лабораторному практикуму
По дисциплине: “Программно – логическое управление”
Студент : ______________________________/______________/группа __________
ПРЕПОДАВАТЕЛЬ:____________________/_______________/
Защишено с оценкой _____________
Дата: ____________200_ г.
Москва – 200_ г.
Приложение В.Команды микроконтроллера
Мнемоника | Операнды | Описание команды | До выполнения | Примеры выполнения команды | После выполнения | |
ADDWF | f, d, a | Сложение W и f W+f | W = 0x1b f = 0x02 | ADDWF reg, 0, 0 | W = 0x1d, f = 0x02 | |
ADDWF reg, 1, 0 | W = 0x02, f = 0x1d | |||||
ADDWFC | f, d, a | Сложение W и f и бита С W+f +C | W = 0x1b f = 0x02 C= 1 | ADDWFC reg, 0, 0 | W = 0x1e, f = 0x02 | |
ADDWFC reg, 1, 0 | W = 0x02, f = 0x1e | |||||
ANDWF | f, d, a | Логическое «И» W и f 1*1=1, 1*0=0, 0*1=0, 0*0=0 | W=10010111 f = 10111011 | ANDWF reg, 0, 0 | W=10010011, f = 10111011 | |
ANDWF reg, 1, 0 | W =10111011, f=10010011 | |||||
CLRF | f, a | Очистка (обнуление) f | f=0x4a | CLRF reg, 0 | f=0x0 | |
COMF | f, d, a | Инверсия f | f=11001100 W=? | COMF reg, 0, 0 | f=00110011 W=? | |
COMF reg, 1, 0 | W=00110011 f=11001100 | |||||
CPFSEQ | f, a | Сравнить W и f, проп. если W=f | W = 0x1а f = 0x09 | CPFSEQ reg, 0 | Cлед. Команда выполняется | |
CPFSGT | f, a | Сравнить W и f, проп. если W>f | W = 0x1а f = 0x09 | CPFSGT reg, 0 | Cлед. команда пропускается | |
CPFSLT | f, a | Сравнить W и f, проп. если W<f | W = 0x1а f = 0x09 | CPFSLT reg, 0 | Cлед. команда выполняется | |
DECF | f, d, a | Декремент f f-1 | f = 0x07 W=? | DECF reg, 0,0 | W = 0x06, f = 0x07 | |
DECF reg, 1,0 | W = ? f = 0x06 | |||||
DECFSZ | f, d, a | Декремент f, проп. если f=0 | f = 0x07 W=? | DECFSZ reg, 0, 0 | W = 0x06, f = 0x07 Cлед. Команда выполняется | |
DECFSZ reg, 1, 0 | W = ?,f = 0x06 Cлед.Команда выполняется | |||||
DCFSNZ | f, d, a | Декремент f, проп. если f не 0 | f = 0x07 W=? | DCFSNZ reg, 0, 0 | W = 0x06,f = 0x07 Cлед. Команда выполняется | |
DCFSNZ reg, 1, 0 | W = ?,f = 0x06 Cлед. команда выполняется | |||||
INCF | f, d, a | Инкремент f f+1 | f = 0x07 W=? | INCF reg, 0,0 | W = 0x08, f = 0x07 | |
INCF reg, 1,0 | W = ? f = 0x07 | |||||
INCFSZ | f, d, a | Инкремент f , проп. если f =0x00 | f = 0x07 W=? | INCFSZ reg, 0,0 | ||
INCFSZ reg, 1,0 | ||||||
INFSNZ | f, d, a | Инкремент f , проп. если f =0x00 | f = 0x07 W=? | INFSNZ reg, 0,0 | ||
INFSNZ reg, 1,0 | ||||||
IORWF | f, d, a | Логическое «ИЛИ» W и f | W=10010111 f =10111011 | IORWF reg, 0, 0 | W =1011111 f=10111011 | |
IORWF reg, 1, 0 | f=1011111 W=10111011 | |||||
MOVF | f, d, a | Переместить f в W | f = 0x04 W=? | MOVF reg, 0, 0 | f = 0x04 W=0x04 | |
MOVFF | fs, fd | Переместить fs в fd | fs= 0x1c fn=? | MOVFF reg1, reg2 | fs= 0x1c fn= 0x1c | |
MOVWF | f, a | Переместить W в f | f = ? W=0x07 | MOVF reg, 0 | f = 0x07 W=0x07 | |
MULWF | f, a | Умножение W и f | ||||
NEGF | f, a | Негативное значение f | ||||
RLCF | f, d, a | Сдвиг влево через перенос | W= ? f = 0010001 1)С=1 2)С=0 | RLCF reg, 0, 0 | f= 0010001 1)W=0100011 2)W=0100010 | |
RLCF reg, 1, 0 | W= ? 1)f=0100011 2)f=0100010 | |||||
RLNCF | f, d, a | Сдвиг влево без переноса | W= ? f = 0010001 | RLCNF reg, 0, 0 | f= 0010001 W=0100010 | |
RLCNF reg, 1, 0 | W= ? f=0100010 | |||||
RRCF | f, d, a | Сдвиг вправо через перенос | W= ? f = 00100100 1)С=1 2)С=0 | RRCF reg, 0, 0 | f= 00100100 1)W=10010010 2)W=00010010 | |
RRCF reg, 1, 0 | W= 00100100 1)f=10010010 2)f=00010010 | |||||
RRNCF | f, d, a | Сдвиг вправо без переноса | W= ? f = 00100100 | RRNCF reg, 0, 0 | f= 00100100 W=00010010 | |
RRNCF reg, 1, 0 | W= 00100100 f=00010010 | |||||
SETF | f | Установить все биты f в 1 | f = 00100100 | SETF reg | f=11111111 | |
SUBFWB | f, d, a | Вычитание f из W c заемом | W= 11111111 f = 00000001 1)С=1 2)С=0 | SUBFWB reg, 0, 0 | f= 00000001 1)W=11111101 2)W=11111110 | |
SUBFWB reg, 1, 0 | W= 00000001 1)f=11111101 2)f=11111110 | |||||
SUBWF | f, d, a | Вычитание W из f | f= 0x3d W= 0x1c | SUBWF reg, 0, 0 | W=0x21 f=0x3d | |
SUBWF reg, 1, 0 | f=0x21 W=0x3d | |||||
SUBWFB | f, d, a | Вычитание W из f c заемом W-f-C | f= 0x3d W= 0x1c C=1 | SUBWFB reg, 0, 0 | W=0x20 f=0x3d | |
SUBWFB reg, 1, 0 | f=0x20 W=0x3d | |||||
SWAPF | f, d, a | Поменять местами полубайты в f | W= ? f = 11110000 | SWAPF reg, 0, 0 | W= 00001111 f = 11110000 | |
SWAPF reg, 1, 0 | W= ? f = 00001111 | |||||
TSTFSZ | f, a | Тест f , проп. если f=0x0 | f=0x0 | TSTFSZ reg, 0 | Cлед. команда пропускается | |
XORWF | f, d, a | Логическое исключающее «ИЛИ» | W= 11001100 f = 10101010 | XORWF reg, 0, 0 | W=01100110 f = 10101010 | |
XORWF reg, 1, 0 | f=01100110 W = 10101010 | |||||
Бит ориентированные команды | ||||||
BCF | f, b, a | Сброс бита в f (b=0…7) | f = 11100001 | BCF reg, 2, 0 | f= 11000001 | |
BCF reg, 7, 0 | f = 11100000 | |||||
BSF | f, b, a | Установка бита в f | f = 11100001 | BSF reg, 4, 0 | f= 11101001 | |
BSF reg, 6, 0 | f = 11100011 | |||||
BTFSC | f, b, a | Тест бита, проп. если b=0 | f = 11100001 | BTFSC reg, 1, 0 | Cлед. команда выполняется | |
BTFSC reg, 5, 0 | Cлед. команда пропускается | |||||
BTFSS | f, b, a | Тест бита, проп. если b=1 | f = 11100001 | BTFSS reg, 1, 0 | Cлед. команда пропускается | |
BTFSS reg, 5, 0 | Cлед. команда выполняется | |||||
BTG | f, b, a | Инверсия бита в f | f = 11100001 | BTG reg, 6, 0 | f = 11100011 | |
BTG reg, 7, 0 | f = 11100000 | |||||
BC | n | Переход, если перенос (С=1) | 1) C=1 2) C=0 | BC metka | 1) Переход к метке 2) Нет перехода | |
BN | n | Переход, если нег. резулт. (N=1) | 1) N=1 2) N=0 | BN metka | 1) Переход к метке 2) Нет перехода | |
BNC | n | Переход, если нет переноса (С=0) | 1) C=1 2) C=0 | BNC metka | 1) Нет перехода 2) Переход к метке | |
BNN | n | Переход, если пол. резулт. (N=0) | 1) N=1 2) N=0 | BNN metka | 1) Нет перехода 2) Переход к метке | |
BNOV | n | Переход, если нет переполн. (OV=0) | 1) OV=1 2) OV=0 | BNOV metka | 1) Нет перехода 2) Переход к метке | |
BNZ | n | Переход, если не нуль (Z=0) | 1) Z=1 2) Z=0 | BNZ metka | 1) Нет перехода 2) Переход к метке | |
BOV | n | Переход, если переполнение (OV=1) | 1) OV=1 2) OV=0 | BOV metka | 1) Переход к метке 2) Нет перехода | |
BRA | n | Безусловный переход | - | BRA metka | Переход к метке | |
BZ | n | Переход, если нег. резулт. (N=1) | 1) N=1 2) N=0 | BN metka | 1) Переход к метке 2) Нет перехода | |
CALL | n, s | Переход на подпрограмму | - | СALL prog, 0 | Переход на подпрограмму | |
CLRWDT | - | Сбросить сторожевой таймер | ||||
DAW | - | Десятичная коррекция W | ||||
GOTO | n | Переход по адресу | - | GOTO metka | ||
NOP | - | Нет операции | - | - | - | |
POP | - | Чтение вершины стека | ||||
PUSH | - | Запись в вершину стека | ||||
RCALL | n | Короткий переход на подпрограмму | - | RСALL prog, 0 | Переход на подпрограмму | |
RESET | - | Программный сброс | ||||
RETFIE | s | Возврат из подпрограммы с разрешением прерываний | ||||
RETLW | k | Возврат из подпрограммы с загрузкой W | ||||
RETURN | s | Возврат из подпрограммы | - | RETURN | Возврат к основной программе | |
SLEEP | - | Переход в SLEEP режим | - | SLEEP | ||
ADDLW | k | Прибавть константу к W | W= 0x3d k = 0x21 | ADDLW 0x21 | W= 0x5e | |
ANDLW | k | Логическое «И» константы и W | W=10010111 k = 10111011 | ANDLW B’10111011’ | W=10010011 | |
IORLW | k | Логическое «ИЛИ» константы и W | W=10010111 k =10111011 | IORLW B’10111011’ | W =1011111 | |
LFSR | f, k | Поместить константу в FSR (k=0…3) | f=2 k=0x3AB | LFSR 2, 0x3AB | LFSRH=0x03 LFSRL=0xAB | |
MOVLB | k | Поместить константу в BSR | BSR=0x02 | MOVLB 0x05 | BSR=0x05 | |
MOVLW | k | Поместить константу в W | W=? | MOVLW 0x5A | W=0x5A | |
MULLW | k | Умножение константы на W | W=0xC4 PRODH=? PRODL=? | MULLW 0xC4 | W=0xE2 PRODH=0xAD PRODL=0x08 | |
RETLW | k | Возврат из подпрограммы с загрузкой W | ||||
SUBLW | k | Вычитание W из константы k | k=0x5D W =0x11 | SUBLW 0x5D | W =0x4C | |
XORLW | k | Логическое исключающее «ИЛИ» константы и W | W= 11001100 k = 10101010 | XORLW B’10101010’ | W=01100110 |
Литература
-
Современные микроконтроллеры: Архитектура, средства проектирования, примеры применения, ресурсы сети Интернет. ©”Телесистемы”. Под ред. Коршуна И.В.; Составоение , пер с англ. и литературная обработка Горбунова Б.Б. – М:Издательство “Аким ”, 1998.- 272 с.,ил.
-
Петров И.В. Программируемые контроллеры. Стандартные языки и примеры прикладного проектирования / Под ред. В.П. Дьяконова. – М.:СОЛОН – Пресс, 2004. – 256 с.:ил . –( Серия “Библиотека инженера”
-
Ульрих В.А. Микроконтроллеры PIC16X7XX. Изд. 2-е, перераб. и доп.- СПб:Наука т Техника , 2002.- 320 стр. с ил.
Под редакцией С.Л. Корякина-Черняка, члена Международной академии информационных процессов и технологий