- •И.А. Дубров
- •Содержание
- •Введение
- •Лабораторная работа 1 Изучение интегрированной среды разработки mplab
- •Методика выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 2 Изучение запоминающих устройств микроконтроллеровPic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 3 Изучение работы параллельных портов микроконтроллеровPic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 4 Изучение работы последовательных портов микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 5 Изучение работы таймеров микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 6 Изучение работы аналого-цифрового преобразователя микроконтроллеровPic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 7 Изучение работы модуля захвата/сравнения/шим микроконтроллеровPic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Библиографический список
- •Приложение 1. Схема лабораторного макета
- •Bтfss— Условный переход при единичном битеbрегистраf
- •Call— Вызов подпрограммы
- •Goto— Переход по адресу
- •Incf— Декремент регистраf
- •Incfsz— Декремент регистраfи пропуск в случае нулевого результата
- •Iorlw— Побитное «или»Wи константыk
- •Retlw— Выход из подпрограммы с загрузкой в регистрWконстантыk
- •Return— Выход из подпрограммы
- •Rlf— Циклический сдвиг регистраfвлево через флаг переносаС
- •Rrf— Циклический сдвиг регистраfвправо через флаг переносаС
- •Sleep— Перейти в спящий режим
- •Основы микропроцессорной техники
- •620034, Екатеринбург, ул. Колмогорова 66.
Retlw— Выход из подпрограммы с загрузкой в регистрWконстантыk
Синтаксис |
RETLW k |
Операнды | |
Операция | |
Измен. флаги |
|
Описание |
В регистр W загружается константа k. В счетчик команд PC загружается значение с вершины стека. Команда выполняется за 2 машинных цикла. |
Пример |
; w = 6 call subprogram ; w = 12 ... subprogram: nop retlw 12 |
Return— Выход из подпрограммы
Синтаксис |
RETURN |
Операнды |
|
Операция | |
Измен. флаги |
|
Описание |
В счетчик команд PC загружается значение с вершины стека. Команда выполняется за 2 машинных цикла. |
Пример |
; w = 6 call subprogram ; w = 8 ... subprogram: addlw 2 return |
Rlf— Циклический сдвиг регистраfвлево через флаг переносаС
Синтаксис |
RLF f,d |
Операнды | |
Операция | |
Измен. флаги |
C |
Описание |
Выполняется циклический сдвиг содержимого регистра f влево через флаг переноса. 0-й бит встает на место 1-го, 1-й на место 2-го и т.д. 7-й бит записывается в флаг переноса С, а затем из флага С в 0-й. В зависимости от операнда d результат операции записывается либо в регистре f, либо в регистре W. |
Пример |
; w = 12, f(4) = 135 = 0b10000111, c = 0 rlf 4,1 ; w = 12, f(4) = 16 = 0b00001111, c = 1 rlf 4,0 ; w = 30 = 0b00011110, f(4) = 16, c = 0 |
Rrf— Циклический сдвиг регистраfвправо через флаг переносаС
Синтаксис |
RLF f,d |
Операнды | |
Операция | |
Измен. флаги |
C |
Описание |
Выполняется циклический сдвиг содержимого регистра f вправо через флаг переноса. 7-й бит встает на место 6-го, 6-й на место 5-го и т.д. 0-й бит записывается в флаг переноса С, а затем из флага С в 7-й. В зависимости от операнда d результат операции записывается либо в регистре f, либо в регистре W. |
Пример |
; w = 12, f(4) = 7 = 0b00000111, c = 0 rrf 4,1 ; w = 12, f(4) = 83 = 0b10000011, c = 1 rrf 4,0 ; w = 193 = 0b11000001, f(4) = 83, c = 1 |
Sleep— Перейти в спящий режим
Синтаксис |
SLEEP |
Операнды |
|
Операция | |
Измен. флаги |
|
Описание |
Команда сбрасывает флаг таймаута и устанавливает флаг спящего режима. Затем очищается регистр-счтчик сторожевого таймераи его предделитель если он настроен. После этого микроконтроллер переводится в спящий режим и тактовый генератор отключается. |
Пример |
sleep |
SUBLW— ВычитениеWиз константыk
Синтаксис |
SUBLW k |
Операнды | |
Операция | |
Измен. флаги |
C, DC, Z |
Описание |
Выполняется вычитание регистра W из 8-битной константы k. Результат помещается в регистр W. |
Пример |
; w = 3 sublw 5 ; w = 2 |
SUBWF— ВычитаниеWиз регистраf
Синтаксис |
SUBWF f, d |
Операнды | |
Операция | |
Измен. флаги |
C, DC, Z |
Описание |
Выполняется вычитание регистра W из регистра f. Результат помещается в регистр W, при d=0, или в f при d=1. |
Пример |
; w = 4, f(3) = 6 subwf 3,0 ; w = 2 |
SWAPF— Обмен местами ниблов в регистреf
Синтаксис |
SWAPF f, d |
Операнды | |
Операция | |
Измен. флаги |
|
Описание |
Выполняется обмен местами ниблов (четырехбитий) регистра f. Результат помещается в регистр W, при d=0, или в f при d=1. |
Пример |
; f(3) = 15 = 0b00001111 swapf 3,1 ; f(3) = 240 = 0b11110000 |
XORLW— Побитное «Исключающее ИЛИ»Wи константыk
Синтаксис |
XORLW k |
Операнды | |
Операция | |
Измен. флаги |
C, DC, Z |
Описание |
Выполняется побитное «Исключающее ИЛИ» регистра W и 8-битной константы k. Результат помещается в регистр W. |
Пример |
; w = 3 = 0b11 xorlw 2 ; 0b10 ; w = 1 ; 0b01 |
XORWF— Побитное «Исключающее ИЛИ»Wи регистраf
Синтаксис |
XORWF f, d |
Операнды | |
Операция | |
Измен. флаги |
C, DC, Z |
Описание |
Выполняется побитное «Исключающее ИЛИ» регистра W c содержимым регистра f. Результат помещается в регистр W, при d=0, или в f при d=1. |
Пример |
; w = 4 = 0b100, f(4)= 5 = 0b101 xorwf 4,0 ; w = 1 = 0b001, f(4)= 5
|
Учебное издание
Дубров Игорь Александрович
Белошицкий Михаил Юрьевич
Попов Антон Николаевич