MPLAB

MPLAB — бесплатная среда разработки (IDE), предназначенная для продуктов марки Microchip. Также обозначается как MPLAB IDE. Эта среда модульная: она позволяет выбирать различные поддерживаемые микроконтроллеры, а также осуществлять программирование этих микросхем напрямую через программатор.

Что важно знать
MPLAB
Тип ассемблер
Разработчик Microchip Technology Inc.
Написана на C++
Операционные системы Windows, macOS, Linux
Последняя версия 8.84 (24 февраля 2012)
Лицензия проприетарная
Сайт microchip.com/mplabx

Описание

Программа работает под управлением Windows, macOS и Linux. Интерфейс содержит стандартные панели программ, меню, панели инструментов состояния и другие элементы. MPLAB включает текстовый редактор, компилятор и возможности симуляции (эмуляция не в реальном времени). Для того чтобы начать написание программы с нуля и затем загрузить её в микроконтроллер в MPLAB версии 7.xx, требуется выполнить следующие шаги:

  1. Создать новый файл с расширением .ASM и произвольным именем.
  2. Создать новый проект, указав имя и расположение.
  3. Добавить созданный файл .ASM как исходный файл (SOURCE FILE).
  4. Выбрать используемый микроконтроллер через пункт SELECT DEVICE в меню CONFIGURE.

После этих шагов можно приступить к написанию программы, соблюдая необходимые директивы и синтаксис для последующей компиляции и записи в микроконтроллер PIC.[1]

Директивы

Директивы — это зарезервированные слова, которые указывают MPLAB, какие функции следует настроить при компиляции программы. Необходимые для правильной компиляции директивы:

Директива Описание Синтаксис
CBLOCK Определяет блок констант. cblock [<выражение>]
#DEFINE Создаёт метку для текстовой подстановки. define <имя> [<значение>]
define <имя> [<арг>,...,<арг>] <значение>
DT Определяет таблицу. [<метка>] dt <выражение>[,<выражение>,...,<выражение>]
[<метка>] dt “<строка>”[,”<строка>”,...]
ELSE Начало альтернативного блока для IF. Else
END Завершает основной программный блок. End
ENDIF Завершает условный блок. Endif
ENDM Завершает определение макроса. Endm
ENDW Завершает цикл While. Endw
EQU Объявляет константу для ассемблера. <метка> equ <выражение>
IF Начало условного блока кода. if <выражение>
#INCLUDE Включает дополнительные исходные файлы. include <<имя_файла>> или “<имя_файла>”
LIST Опции компоновки/листинга. list [<опция>,...,<опция>]
MACRO Начало определения макроса. <метка> macro [<арг>,...,<арг>]
ORG Устанавливает адрес начала программы. <метка> org <выражение>
WHILE Начинает цикл с условием. while <выражение>

Компиляция программы и загрузка в PIC

undefined

После написания и отладки программы выполняется её компиляция. Для этого в меню PROJECT выбирается пункт BUILD ALL («Собрать всё»); если ошибок нет, появляется сообщение «BUILD SUCCESSFUL». Ошибки компилятора носят синтаксический характер: например, если программа ожидает сброса бита в «0», но этого не происходит, возникнет бесконечный цикл, при этом компиляция завершится без синтаксических ошибок.

Также встречаются сообщения и предупреждения. Сообщения, например, информируют о работе с банков памяти, отличных от bank 0. Предупреждения имеют больший вес, например, при несоответствии выбранного и определённого в программе микроконтроллера. В обоих случаях компиляция завершается успешно, но на сообщения и предупреждения следует обращать внимания для предотвращения ошибок.

По окончании компиляции MPLAB создаёт файл с расширением .hex, пригодный для загрузки в PIC. Остаётся только записать его в микроконтроллер с помощью устройства программирования, например, Picstart Plus. После завершения процесса питание подаётся на микроконтроллер, и программа начинает выполняться.

Примечания

Ссылки