Уроки программирование pic контроллеров

PIC Урок 2. Первый проект в MPLAB X IDE

После краткого изучения архитектуры и возможностей контроллеров PIC пришло время нам попробовать себя в программировании данных контроллеров, так как без программы микроконтроллер — это бесполезная микросхема.

Только чтобы попробовать себя в программировании, обычно требуется какая-то среда программирования (не в блокноте же мы будем писать код), а также компилятор. Для этого у компании Microchip есть бесплатный IDE — это MPLAB X IDE. Давайте её для начала скачаем. Для этого идём на официальный сайт Microchip и идём по пунктам меню DESIGN SUPPORT -> Development Tools -> Software Tools For PIC® MCUs And DsPIC® DSCs -> MPLAB® X IDE

Image00

И попадаем на следующую страницу, в которой выбираем закладку Downloads, в которой скачаем последнюю версию среды разработки (нажмите на картинку для увеличения изображения)

Image02_0500

Image03Image04

Путь оставим предложенный по умолчанию, если у нас нет Proxy, то отключим их

Image05

Далее тоже оставим всё по умолчанию

Image06Image07

И программа установится на наш компьютер

Image08

Отключаем все галки и жмём Finish

Image09

Эти галки гласят о том, что у нас не установлен компилятор, также советуют установить фреймворк для удобства разработки. Всё это мы проделаем самостоятельно потом. Компилятор в среде уже есть, правда только для ассемблера. Но, так как мы решили писать на C, то компилятор нам всё-таки скачать и установить придётся, но чуть позже.

Попробуем запустить нашу среду разработки, чтобы хотя бы убедиться, что всё у нас нормально установилось. И, не создавая никаких проектов, закроем её.

Теперь, соответственно, чтобы нам писать код на C, потребуется компилятор. Компиляторы для контроллеров разной битности (8, 16 и 32) отдельные.

На официальном сайт Microchip проследуем по пунктам меню DESIGN SUPPORT -> Development Tools -> Software Tools For PIC® MCUs And DsPIC® DSCs -> MPLAB® XC Compilers

Image10

На открывшейся странице перейдём по закладке Downloads и скачаем последнюю версию 8-битного компилятора (XC 8) (нажмите на картинку для увеличения изображения)

Image11_0500

Image12 Image14Image13

Путь оставляем по умолчанию

Image15

Image16Image17

Image18

После установки жмём Next, никакой ID не запоминаем, нам профессиональная лицензия не нужна, воспользуемся свободно-распространяемой. На сайте можно почитать об ограничениях свободной лицензии. Они очень незначительны

Image19Image20

Ещё раз запустим среду программирования MPLAB X IDE. Закроем там стартовое окно и перейдём на вкладку Projects

Image21

Как видим, у нас тут пусто. Исправим эту ситуацию, создав новый проэкт. Для этого выберем пунк меню File -> New Project…

Image22

Выбираем Standalone Project и идём далее

Image23

Выберем из выпадающего списка наш контроллер, отфильтровав выше для удобства по семейству

Image24

Выбираем Sinulator, так как пока мы отлаживать проект будем именно в нём. Да и мой контроллер PICkit 2 неоригинальный не поддерживается данной средой. А загружить созданную нами впоследствии прошивку мы будем спомощью специальной программы

Image25

В следующем окне выбираем наш компилятор и идём далее

Image26

В следующем окне назовём наш первый проект BLINK01, выберем папку для его хранения и оставим галку напротив того, чтобы наш проект стал главным и заетм жмём Finish

Image27

Проект появится в дереве проектов.

Создадим в нём файл main.c, выбрав соответствующий пункт контекстного меню в папке Source Files

Image28

В открывшемся окне исправим имя файла, чтобы он был именно main.c ибо нам так как-то привычнее и нажмём Finish

Image29

Файл откроется самостоятельно. В нём будет уже некоторый код

То есть у нас уже подключена стандартная библиотека, которой нам на первых порах будет достаточно, так как в ней внутри находится подключение многих необходимых библиотек. И также у нас есть точка входа в программу — главная функция main.

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

Давайте соберём наш проект, нажав соответствующую кнопку в панели инструментов

Image30

Проект наш собран. Давайте посмотрим информацию в окне вывода сообщений

Image31

Это информация о затраченных и свободных ресурсах различных типов памяти контроллера.

В самом конце информационного сообщения находится путь к файлу прошивки (нажмите на картинку для увеличения изображения)

Image32_0500

Убедимся, что файл прошивки там действительно присутствует

Image34

Мы видим, что прошивка на месте, также в данной папке присутствует ряд других файлов с отладочной и другой информацией.

Думаю, что на этом мы наш сегодняшний урок закончим. В дальнейшем мы напишем какой-то полезный код в наш проект, попробуем его прошить сначала в протеусе, а затем в настоящий контроллер, собрав соответствующую схему и подключив программатор.

PIC Первый проект в MPLAB X IDE

17 комментариев на “ PIC Урок 2. Первый проект в MPLAB X IDE ”

Вы хорошо излагаете материал (очень интересно, спасибо), но видно не любите вы данный тип микроконтроллеров. Публикуйте пожалуйста почаще уроки на данном кристалле, они также интересны как и остальные.

первый код который мне удалось правильно скомпилировать))) Но он у вас с ошибками
void main(void) < while (1) < >return;
Для меня как для начинающего чайника в этом деле даже лучше. Глубже Си освою. Но лучше об этом придупреждать или повнимательней печатать.

По идее не может быть такого. Я код поэтому всегда копирую в проект именно с сайта. Во-первых, чтобы не искать потом ошибок в проекте при ручном вводе, а во-вторых, чтобы на сайте также не было ошибок. Причём я делаю это дважды. До съёмки я прогоняю полностью весь сценарий с сайта, а затем ещё и в момент съёмки. «return;» там по идее не нужен, но автогенератор его ставит всегда и в примерах во многих тоже стоит.
Но вообще все равно спасибо за замечание! Я обязательно учту.

Тут всего лишь Вы не выделили закрывающую фигурную скобку после ,return;,
(
……. этот проект void main(void) < while (1) < >return; Давайте собе……
)

Приветствую всех ! Помогите мне новичку решить проблему. Скачал последнюю версию MPLAB а она с глюками работает на моей Windows XP SP3. Если поставлю 7 вместо XP то это избавит от проблем ?

Здравствуйте!
До этой статьи делал проект на AVR, все прекрасно получилось, спасибо Вашим публикациям. Теперь хочу сделать проект на PIC. Но скачав и установив с MICROCHIP (12.05.2020) все программы и напечатав первую программу, возле строк начали появляться «лампочки предупреждения». Компилируется все нормально, в Протеусе все работает, но эти лампочки… меня напрягают, если честно. Да, я знаю как их отключить, но это не выход, а вдруг если отключу их то не увижу что то важное. Может мне другую версию скачать, как у Вас?
P.S. хотелось бы очень! пообщаться лично!

Здравствуйте!
Не могу создать проект,выскакивает ошибка в последнем окне «Project Folder already exists and is not empty. File Makefile exists.».Не могу понять,с чем это связано
Директива выглядит следующим образом: C:\MASTERs\LABs\Xpress\CIP

Прокрутите вниз и выберите вариант под свою ОС:
(здесь была внешняя ссылка)
Там же на странице вверху есть ссылки на дополнительное ПО.

У меня тоже проблема с проектом, который якобы существует. Программа напихивает туда кучу файлов, а потом ругается, что вот — проект то существует. Создается ощушение, что она параллельно уже проект пытается открыть,так как маке файл блокирован и удалить его не получается, пока не закроешь «мастер» создания проекта. Как будто последовтельность обработки напутана. А если выбираешь — удалить существующий проект — то сожно хоть до утра жмать на финишь и окно не закроется

Здравствуйте. make[2]: *** [build/default/production/main.p1] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
main.c:10:1: error: expected ‘>’
^
Что это означает?

У меня выдал ошибку самый первый проект. ((
Не понимаю в чем причина, еще и строк толком нет, а уже что-то не вяжется… make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory ‘D:/termo/term.X’
make -f nbproject/Makefile-default.mk dist/default/production/term.X.production.hex
make[2]: Entering directory ‘D:/termo/term.X’
«C:\Program Files\Microchip\xc8\v2.36\bin\xc8-cc.exe» -mcpu=18F66J15 -c -mdfp=»C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/PIC18F-J_DFP/1.5.44/xc8″ -fno-short-double -fno-short-float -memi=wordwrite -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -DXPRJ_default=default -msummary=-psect,-class,+mem,-hex,-file -ginhx32 -Wl,—data-init -mno-keep-startup -mno-download -mdefault-config-bits -std=c99 -gdwarf-3 -mstack=compiled:auto:auto:auto -o build/default/production/main.p1 main.c
«C:\Program Files\Microchip\xc8\v2.36\bin\xc8-cc.exe» -mcpu=18F66J15 -Wl,-Map=dist/default/production/term.X.production.map -DXPRJ_default=default -Wl,—defsym=__MPLAB_BUILD=1 -mdfp=»C:/Program Files/Microchip/MPLABX/v6.00/packs/Microchip/PIC18F-J_DFP/1.5.44/xc8″ -fno-short-double -fno-short-float -memi=wordwrite -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -mwarn=-3 -Wa,-a -msummary=-psect,-class,+mem,-hex,-file -ginhx32 -Wl,—data-init -mno-keep-startup -mno-download -mdefault-config-bits -std=c99 -gdwarf-3 -mstack=compiled:auto:auto:auto -Wl,—memorysummary,dist/default/production/memoryfile.xml -o dist/default/production/term.X.production.elf build/default/production/main.p1
:11761:: warning: (1311) missing configuration setting for config word 0x17FF8; using default
:11761:: error: (1504) the PIC18 extended instruction set was enabled but is not supported by this compiler
:11761:: warning: (1311) missing configuration setting for config word 0x17FF9; using default
:11761:: warning: (1311) missing configuration setting for config word 0x17FFA; using default
:11761:: warning: (1311) missing configuration setting for config word 0x17FFB; using default
:11761:: warning: (1311) missing configuration setting for config word 0x17FFD; using default
(908) exit status = 1
nbproject/Makefile-default.mk:138: recipe for target ‘dist/default/production/term.X.production.hex’ failed
make[2]: Leaving directory ‘D:/termo/term.X’
nbproject/Makefile-default.mk:91: recipe for target ‘.build-conf’ failed
make[1]: Leaving directory ‘D:/termo/term.X’
nbproject/Makefile-impl.mk:39: recipe for target ‘.build-impl’ failed
make[2]: *** [dist/default/production/term.X.production.hex] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2 BUILD FAILED (exit value 2, total time: 3s)

MPLab X компиляет простой проект с одним пустым while-ом полторы минуты. Ось Вин7, версия MPlab 6. Никто не сталкивался с таким?

Источник

Читайте также:  Программирование графики на примерах
Оцените статью