
- •Содержание
- •Введение
- •Лабораторная работа 1 Изучение интегрированной среды разработки mplab
- •Методика выполнения работы
- •Создание нового проекта
- •Создание файла с исходным текстом программы
- •Добавление файла к проекту
- •Компиляция исходного текста программы в машинные коды
- •Запись кода программы во внутреннюю flash память микроконтроллера
- •Отладка (выполнение) программы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 2 Изучение запоминающих устройств микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Постановка задачи
- •Разработка алгоритма программы
- •Написание текста программы на языке Ассемблер
- •Трансляция исходного текста программы в машинные коды
- •Тестирование и отладка
- •Сопровождение
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 3 Изучение работы параллельных портов микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 4 Изучение работы последовательных портов микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Лабораторная работа 5 Изучение работы таймеров микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 6 Изучение работы аналого-цифрового преобразователя микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Постановка задачи
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа 7 Изучение работы модуля захвата/сравнения/шим микроконтроллеров pic-micro
- •Порядок выполнения работы
- •Содержание отчета
- •Библиографический список
- •Приложение 1. Схема лабораторного макета
- •Приложение 2. Краткое описание набора инструкций pic16
- •Приложение 3. Список команд pic16 и их подробное описание
- •Addlw – Сложение рабочего регистра w и константы k
- •Addwf – Сложение рабочего регистра w и регистра f
- •Andlw – Побитное «и» рабочего регистра w и константы k
- •Andwf – Побитное «и» рабочего регистра w и регистра f
- •Bтfsc – Условный переход при нулевом бите b регистра f
- •Bтfss – Условный переход при единичном бите b регистра f
- •Call – Вызов подпрограммы
- •Clrf – Обнуление регистра f
- •Clrw – Обнуление рабочего регистра w
- •Clrwdt – Сброс сторожевого таймера
- •Comf – Инверсия регистра f
- •Decf – Декремент регистра f
- •Decfsz – Декремент регистра f и пропуск в случае нулевого результата
- •Goto – Переход по адресу
- •Incf – Декремент регистра f
- •Incfsz – Декремент регистра f и пропуск в случае нулевого результата
- •Iorlw – Побитное «или» w и константы k
- •Iorwf – Побитное «или» w и регистра f
- •Movf – Пересылка регистра f
- •Movlw – Пересылка константы k
- •Movwf – Пересылка из регистра w в регистр f
- •Retfie – Возврат из подпрограммы с включением прерываний
- •Retlw – Выход из подпрограммы с загрузкой в регистр w константы k
- •Return – Выход из подпрограммы
- •Sleep – Перейти в спящий режим
- •Sublw – Вычитение w из константы k
- •Subwf – Вычитание w из регистра f
- •Swapf – Обмен местами ниблов в регистре f
- •Xorlw – Побитное «Исключающее или» w и константы k
- •Xorwf – Побитное «Исключающее или» w и регистра f
- •Основы микропроцессорной техники
- •620034, Екатеринбург, ул. Колмогорова 66.
Bтfsc – Условный переход при нулевом бите b регистра f
Синтаксис |
BTFSC f,b |
Операнды |
|
Операция |
|
Измен. флаги |
|
Описание |
Если бит b регистра f устанавлен в 0, инкрементируется счетчик команд PC (тем самым, пропускается следующая команда), в противном случае ничего не выполняется. В случае инкремента счетчика команда выполняется за 2 машинных цикла, иначе – за 1. |
Пример |
; f(7) = 6 = 0b110, w = 1 btfsc 7,1 addlw 4 btfsc 7,0 addlw 9 ; w = 10 |
Bтfss – Условный переход при единичном бите b регистра f
Синтаксис |
BTFSS f,b |
Операнды |
|
Операция |
|
Измен. флаги |
|
Описание |
Если бит b регистра f устанавлен в 1, инкрементируется счетчик команд PC (тем самым, пропускается следующая команда), в противном случае ничего не выпоняется. В случае инкремента счетчика команда выполняется за 2 машинных цикла, иначе – за 1. |
Пример |
; f(7) = 6 = 0b110, w = 1 btfss 7,1 addlw 4 btfss 7,0 addlw 9 ; w = 5 |
Call – Вызов подпрограммы
Синтаксис |
CALL k |
Операнды |
|
Операция |
|
Измен. флаги |
|
Описание |
Адрес
следующей инструкции сохраняется в
стеке. В 11 младших бит счетчика программы
PC
загружается константа k.
Два старших бита загружаются в счетчик
команд
|
Пример |
; w = 0 call subprogram addlw 5 ; w = 15 ... subprogram: addlw 10 return |
Clrf – Обнуление регистра f
Синтаксис |
CLRF f |
Операнды |
|
Операция |
|
Измен. флаги |
Z |
Описание |
Обнуляются все биты регистра f |
Пример |
; f(6) = 27 clrf 6 ; f(6) = 0 |
Clrw – Обнуление рабочего регистра w
Синтаксис |
CLRW |
Операнды |
|
Операция |
|
Измен. флаги |
Z |
Описание |
Обнуляются все биты регистра W |
Пример |
; w = 27 clrw ; w = 0 |
Clrwdt – Сброс сторожевого таймера
Синтаксис |
CLRWDT |
Операнды |
|
Операция |
|
Измен. флаги |
|
Описание |
Сбрасывается
регистр-счетчик сторожевого таймера
WDT,
а также его предделитель, если он
подключен. При выполнении команды
устанавливаются флаги таймаута
|
Пример |
; w = 27 clrw ; w = 0 |
Comf – Инверсия регистра f
Синтаксис |
COMF f,d |
Операнды |
|
Операция |
|
Измен. флаги |
Z |
Описание |
Инвертируются все биты регистра f |
Пример |
; f(6) = 7 = 0b00000111 comf 6,1 ; f(6) = 248 = 0b11111000 |