- •И.А. Дубров
- •Содержание
- •Введение
- •Лабораторная работа 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.
Goto— Переход по адресу
Синтаксис |
GOTO k |
Операнды | |
Операция | |
Измен. флаги |
|
Описание |
В 11 младших бит счетчика программы PC загружается константа k. Два старших бита загружаются в счетчик команд из регистраPCLATH. Выполнение команды занимает 2 машинных цикла. |
Пример |
; w = 0 goto skip addlw 5 skip: addlw 3 ; w = 3 |
Incf— Декремент регистраf
Синтаксис |
INCF f,d |
Операнды | |
Операция | |
Измен. флаги |
C, DC, Z |
Описание |
Инвертируются все биты регистра f |
Пример |
; f(4) = 7, w = 1 incf 4,0 ; f(4) = 7, w = 8 |
Incfsz— Декремент регистраfи пропуск в случае нулевого результата
Синтаксис |
INCFSZ f,d |
Операнды | |
Операция | |
Измен. флаги |
|
Описание |
Первым шагом происходит инкремент регистра f и запись полученного результата в f или W в зависимости от операнда d. На втором шаге, если результат первого шага оказался нулевым, происходит инкремент регистра-счетчика команд PC, тем самым вызывая пропуск следующей команды. |
Пример |
; f(7) = 254, w = 0 loop: addlw 3 incfsz 7,1 goto exit_loop goto loop exit_loop: ; f(7) = 0, w = 6 |
Iorlw— Побитное «или»Wи константыk
Синтаксис |
IORLW k |
Операнды | |
Операция | |
Измен. флаги |
C, DC, Z |
Описание |
Выполняется побитное «ИЛИ» регистра W и 8-битной константы k. Результат помещается в регистр W. |
Пример |
; w = 3 = 0b11 iorlw 4 ; 0b100 ; w = 7 ; 0b111 |
IORWF— Побитное «ИЛИ»Wи регистраf
Синтаксис |
IORWF f, d |
Операнды | |
Операция | |
Измен. флаги |
C, DC, Z |
Описание |
Выполняется побитное «ИЛИ» регистра W c содержимым регистра f. Результат помещается в регистр W, при d=0, или в f при d=1. |
Пример |
; w = 4 = 0b100, f(4)= 1 = 0b001 iorwf 4,0 ; w = 5 = 0b101, f(4)= 4 |
MOVF— Пересылка регистраf
Синтаксис |
MOVF f, d |
Операнды | |
Операция | |
Измен. флаги |
Z |
Описание |
Содержимое регистра f пересылается само в себя при d=1 или в регистр W, при d=0. Такая, на первый взгляд избыточная и абсурдная команда, на практике используется для проверки регистра на ноль (с помощью флага Z). |
Пример |
; f(4)= 0, Z = 0 movf 4,1 ; f(4)= 0, Z = 1 |
MOVLW— Пересылка константыk
Синтаксис |
MOVLW k |
Операнды | |
Операция | |
Измен. флаги |
|
Описание |
Выполняется пересылка константы k в регистр W. |
Пример |
; w = 3 movlw 4 ; w = 4 |
MOVWF— Пересылка из регистраWв регистрf
Синтаксис |
MOVWF f |
Операнды | |
Операция | |
Измен. флаги |
|
Описание |
Выполняется пересылка содержимого регистра W в регистр f. |
Пример |
; w = 4, f(2) = 12 movwf 2 ; f(2) = 4, w = 4 |
NOP— Простой
Синтаксис |
NOP |
Операнды |
|
Операция |
|
Измен. флаги |
|
Описание |
В течение одного машинного цикла не выполняется никаких операций |
Пример |
nop |
RETFIE— Возврат из подпрограммы с включением прерываний
Синтаксис |
RETFIE |
Операнды |
|
Операция | |
Измен. флаги |
|
Описание |
В счетчик команд PC записывается значение взятое из стека. Взводится флаг разрешения прерываний GIE. Команда выполняется за 2 машинных цикла. |
Пример |
org 004h ; прерывание передает управление ; по этому адресу goto interrupt ; переходим к обработчику ... interrupt: ... retfie ; возвращаемся из обработчика ; с включением прерываний |