Лабораторная работа №1.
Интегрированная среда разработки программ для микроконтроллеров фирмы Microchip MPLAB IDE 8.40.
Создание проекта.
Для создания проекта в среде MicrochipMLABIDEнеобходимо произвести следующие действия:
1. Создать каталог проекта на дисковом устройствекомпьютера средствами операционной системы. Например: d:\users\AiU_07_3\Lab_1. В названии каталога не должны содержаться символы кириллицы(рисунок 1).

Рисунок 1 – Создание каталога проекта
2. Запустить интегрированную среду разработки из меню Пуск или щёлкнув на значок, расположенный на рабочем столе – рисунок 2.

Рисунок 2 – Иконка запуска среды MPLAB IDE
Внешний вид запущенной среды программирования показан на рисунке. Для создания нового проекта можно воспользоваться мастером среды, вызвав его из меню Project–>ProjectWizard… Появится окно приветствия, сообщающее о том, что в дальнейшем будет создаваться новый проект – рисунок 3.

Рисунок 3 – Окно приветствия мастера создания проекта
При нажатии кнопки далее – появится окно выбора программируемого устройства – рисунок 4. Здесь необходимо выбрать тип устройства, для которого пишется проект. В данном случае выбран микроконтроллер PIC16F887.

Рисунок 4 – Окно выбора микроконтроллера
В следующем окне пользователь должен выбрать инструменты программирования (ассемблер или компиляторы языка Си). В выпадающем списке выбираем строчку MicrochipMPASMToolsuite, что говорит о том, что мы будем использовать ассемблер.
В третьем окне мастера предлагается выбрать директорию проекта. И дать ему имя. Нажав кнопку Browse…вызываем диалог сохранения. Отыскиваем созданный нами каталог для проекта (рисунок 5).

Рисунок 5 – Выбор каталога проекта
В поле «Имя файла» вписываем название проекта – LAB_1. Нажав кнопку сохранить окно должно принять вид, представленный на рисунке 6.

Рисунок 6 – Сохранение файла проекта
В четвёртом диалоговом окне мастера предлагается подключить к проекту файлы исходников. Так как мы не создали ещё никаких файлов, этот шаг можно пропустить, нажав кнопку «Далее». В итоге появляется окно (рисунок 7), содержащее некую суммарную информацию о создаваемом проекте.

Рисунок 7 – Завершение создания проекта
В последней строке сообщается, что рабочая среда была создана и новый проект добавлен в неё. Нажав, кнопку готово среда принимает вид изображённый на рисунке. Расположение окон может быть и иным. Окно результатов можно сразу закрыть.

Рисунок 8 – Дерево проекта в среде MPLAB IDE
Слева расположено дерево проекта. Если его нет – то его можно вызвать из меню View–>Project… Оперируя с деревом можно добавлять или удалять исходные файлы проекта.
Для создания нового текстового файла, необходимо выбрать пункт в меню среды File–>New…
Создаётся новый файл, который желательно сразу же сохранить и подключить к проекту. Сохранение осуществляется выбором пункта в меню File–>SaveAs…Появляется окно диалога сохранения – рисунок 9. Исходные файлы проекта желательно хранить в директории проекта. Это удобнее в плане переноса проектов с компьютера на компьютер. В поле имени файла нужно написать имя сохраняемого файла с расширением *.asm. Например –main. asm.

Рисунок 9 – Сохранение исходного файла проекта
Далее созданный файл можно подключить к проекту. Выбрав левой кнопкой мыши иконку SourceFiles в дереве проекта, вызываем контекстное меню правой кнопкой. Выбрав пункт AddFiles…отыскиваемв директории проекта и добавляем файл main. asm. То же самое можно произвести, выбрав пункт меню Project–>AddFilestoProject… Дерево проекта принимает вид представленный на рисунке 10.

Рисунок 10 – Дерево проекта содержащее исходный файл ассемблера
На данном этапе проект считается созданным. Теперь можно непосредственно писать программу. Открываем файл main. asmи пишем в него следующий текст:
#include <p16f887.inc>
ORG h'0000' ; Reset Vector (Векторсброса)
goto START
ORG h'0004' ; Interrupt Vector (Векторпрерывания)
ORGh'0100'
START ; Метка начала программы
nop ; Пустая операция
nop ; Пустая операция
gotoSTART ; Перейти на метку START
end
Окно текстового редактора с программой изображено на рисунке 11.

Рисунок 11 – Текст программы в окне редактора MPLAB IDE
В первой строке программы стоит директива ассемблера MPASM:
#include<p16f887.inc> – это строка подключает файл определений для данного типа микроконтроллера. В нём описаны имена и адреса всех регистров и битов для данного типа контроллера.
Директива ORG в третьей строке программы определяет адрес в памяти программ микроконтроллера, с которого будут следовать следующие за ней команды. То есть если в программе написано ORGh'0100' – то это означает, что все команды после этой строки будут начинаться с адреса h'100' – или 256-й ячейка памяти программ. В десятой строке программы содержится так называемая «метка» – START – символьное определение адреса для команд ветвления или перехода. Команды в редакторе выделяются жирным шрифтом. Данная программа содержит 4 команды микроконтроллера. Первая команда (gotoSTART) расположена по адресу h'0000' (адрес первой команды выполняемой после включения питания или сброса микроконтроллера) и содержит переход на метку START. Начиная с адреса h'0100' расположены команды пустых операций – nop. Данные команды не производят никаких действий. Последняя команда повторяет первую – то есть переход на метку START или адрес h'0100', ассоциированный с ней.
Сборка (компиляция) программы.
Итогом любой программы для микроконтроллера является HEX-файл – который необходим для программирования микроконтроллера. Попутно, ассемблер MPASMили компиляторы с других языков программирования вырабатывают объектные файлы, файлы библиотек, отладочные файлы, файлы листингов и так называемые map-файлы.
Для компиляции проекта необходимо нажать на иконку сборки проекта в среде MPLAB, изображённую на рисунке 12:
![]()
Рисунок 12 – Иконка кнопки сборки проекта
ИливыбравпунктменюProject–>BuildAll… (а также быстрый вызов – Ctrl+F10). При удачной сборке в окне Output(рисунок 13) – последнее сообщение: BUILD SUCCEEDED. Если в проекте(программе) содержатся ошибки – будут выданы соответствующие сообщения об ошибках.

Рисунок 13 – Окно Output
Отладка программы
Интегрированная среда программирования MPLAB IDE 8.40 содержит мощный программный симулятор MPLABSIMс поддержкой симуляции аппаратных модулей микроконтроллера. Для вызова и подключения симулятора к проекту – необходимо выбрать в меню среды Debugger–>SelectTool–>MPLABSIM.
На панели инструментов среды появится панель симулятора изображённая на рисунке 14:
![]()
Рисунок 14 – Панель управления симулятором MPLAB SIM
Панель содержит 8 иконок(кнопок) управления симулятором.
Справа налево:
1. Run – Запуск(возобновление) симуляции с максимальной скоростью на которую способно аппаратное обеспечение компьютера без обновления наблюдаемых переменных (до точки останова или паузы симуляции)
2. Halt – Пауза симуляции – останавливает симуляцию;
3. Animate – Анимация – симуляция с указанием выполняемой команды и обновлением переменных в окнах наблюдения среды;
4. StepInto – пошаговая симуляция программы с «заходом» внутрь подпрограмм и функций;
5. StepOver – пошаговая симуляция без вызова подпрограмм и трассировки внутри функций;
6. StepOut – пошаговая симуляция с максимальной скоростью до выхода из функции подпрограммы;
7. Reset – Сброс программной модели микроконтроллера,
8. Breakpoints – Вызов окна управления точками останова.
Команды управления симулятором также представлены в меню среды в пункте Debuggerи продублированы функциональными клавишами (рисунок 15):

Рисунок 15 – Меню отладки
В окне кода текущая инструкция микроконтроллера, которая будет выполнена в следующем шаге, обозначается зелёной стрелкой. При нажатии кнопки Reset – счётчик команд модели микроконтроллера сбрасывается и стрелка устанавливается на первую команду – gotoSTART. Нажав F7 – процессор выполняет эту инструкцию и стрелка переходит на команду – nop – после метки START. Если переходов в программе нет, то счётчик команд увеличивается каждый раз на единицу за один цикл работы тактового генератора микроконтроллера (кроме инструкций ветвления и переходов).После ещё одной инструкции nopследует ещё однакоманда gotoSTART. Таким образом, программа является зацикленной. Нажимая F7несколько раз – можно проследить это. Некоторую отладочную информацию можно увидеть в строке состояния среды. Например, текущее значение счётчика команд, биты регистра STATUS.

Рисунок 1.10 Созданный проект
3.1.4 Контрольные вопросы
1. Что входит в рабочее окно среды MPLABIDE?
2. Как осуществляется переключение между группами графического меню?
3. Какое меню включает команды отладки приложения?
4. Для чего предназначена команда SpecialFunctionRegisters меню Windows?
5. Как осуществить выбор контроллера на этапе создания проекта?
6. Для чего предназначен режим симуляции?
7. Какие стандартные расширения у шестнадцатеричных файлов и исходных файлов программ, написанных на языке ассемблера?


