Привет новичкам и всем, кто только только столкнулся с миром микроконтроллеров. При первом же знакомстве с МК семейства PIC и ассемблером возникает много вопросов, а именно: чем и как прошить микроконтроллер?
Благодаря одному хорошему человеку, мне достался программатор-отладчик ICD2 (пиратская версия с сайта 5v.ru ) и очень очень удобная макетная плата, поэтому мое знакомство прошло интересно и завораживающе.
Итак, рассмотрим быстрый старт новичка в программировании на основе среды разработки MPLAB IDE и программатора ICD2. Лезем на оф.сайт microchip.com, и качаем последнюю версию программы MPLAB® IDE. Устанавливаем ее на компьютер. Запускаем. После запуска должно появиться примерно следущее.
Теперь нужно создать папку на диске, назовем ее start. В этой папке создаем файл с расширением .asm (н-р start.asm)
Внимание: Название папок и файлов в них не должны содержать русских букв, иначе MPLAB IDE не будет с ними работать!
Приступаем к созданию проекта. Самый простой вариант через вкладку Projekt-> Project Wizard.
На приглашение нажимаем далее.
Первый шаг: выбираем нами любимый пик 18f252.
Второй: выбираем язык программирования – ассемблер (по умолчанию).
Третий: создание проекта, щелкаем на Browse, и указываем путь созданной нами папки start. Наш проект так же назовем start, нажимаем далее.
Четвертый: фаил start.asm кнопкой add добавляем к проекту, далее, готово.
Поздравляю наш проект создан.
Теперь двойным щелкаем на файл start.asm и открываем окно в которое будем добавлять наш текст программы (пишем сами или вставляем текстовый исходник).
Написали, сохраняем дискеткой, щелкаем на значек компилятора.
Компиллятор радостно сообщает нам BUILD SUCCEEDED, все можно выдохнуть, все прошло успешно и в нашей папке start создан файл прошивки для МК start.hex который мы и будем заливать в микроконтроллер. Его же можно сохранить в другом месте, или под другим названием, с помощью File->Export, в окне ОК, и сохранить как.
Эпизод второй. Заливаем прошивку в контроллер.
У нас уже есть хекс и его нужно залить в пик. Первым шагом лезем в настройки программатора. Programmer- Select programmer- выбираю свой программатор ICD2.
Откроется окно Визарда, щелкаем далее, выбираем порт COM1, скорость 19200, далее, везде далее, и на предпоследнем шаге выскочит окно с вопросом Please ensure that your system’s serial FIFO buffers are disabled. Стоп.
Идем в диспетчер устройств – порт сом1 – параметры порта – дополнительно — снимаем галку в окне буфера FIFO.
Все, закрываем все окна, в предупреждении Mплаба щелкаем ОК.
Открылась панелька программатора.
Подключаем программатор с макеткой кабелем к ком порту, коннектимся (5), через File->Import открываем нужный нам хекс, щелкаем на значек прошивки (1) и ждем. Происходит прошивка пика, она может занять некоторое время. По окончании прошивки окно программатора радостно сообщит нам, что все прошло успешно.
Если наше устройство уже собрано на макетке достаточно запустить проц кнопкой (3), и можно наслаждаться его работой.
Эпизод третий.
С помощью обратных процедур можно скачать прошивку из мк (если конечно он не залочен). Для этого коннектим программатор, запускаем проц (3), нажимаем (2) вторую кнопку Read target device, окно нам сообщает, что прошивка считана, теперь можно ее сохранить.
Можно не парится с дизассемблерами, а делать это сразу в программе. Для этого открываем импортом (File-Import) нужный нам хекс, затем откроем окно
View-programm memory
здесь мы видим наш дизассемблированный текст, правой кнопкой убираем галки с ненужных нам столбцов, и нажимаем Output to file…
выбираем папку и имя, куда будем сохранять, все «исходник» готов.
Итак, быстрый старт работы с МПлаб завершен, теперь мы умеем создавать свой проект, компилировать исходник, делать хекс и заливать его в контроллер. Надеюсь этот обзор поможет начинающим в знакомстве с МПлаб.
(C) kenzo
www.phreakerclub.com
Доброе время суток.
Я начинающий в этом деле. Начал изучение pic контроллеров с самоучителя корабельникова, там предлагается среда MPLAB v5.70.40. Научился писать простейшие программы, однако понял что этот самоучитель не то что мне нужно. Читаю словно художественную книгу. «Об этом расскажу потом», «этим не стоит забивать себе голову» и прочие фразы напрягают.
Началось с того, что я там так и не смог понять как моделировать входное воздействие (изменение логического уровня на ножке микроконтроллера, установленной на вход). Прерывания тоже не смог понять (так как в программе, которую мне нужно написать должно происходить прерывание по входному воздействию).
Попытался найти другие книжки и информацию в интернете, в итоге находил лишь огромные теоретические изложения по функционированию мк и правилам ассемблирования, однако на данный момент у меня задача разобраться именно со средой моделирования.
1) Последняя версия mplab x ide v1.90, однако для неё руководство нашёл только на английском языке. Им я владею слабо, поэтому на изучение уйдёт очень много времени (впринципе, готов потратить, но только при условии что буду боле менее хорошо владеть предыдущими версиями, чтобы выполнять задания на работе). Так вот, есть ли у кого перевод этого руководства или иное руководство на русском?
2) Также согласен на хорошее руководство на русском по mplab для более ранних версий (6.xx…8.xx) (интернет также мне выдавал только английские версии, сейчас читаю одну из них — медленно дело продвигается)
3) Или же руководство по mplab 5.хх версий, в которых описано на русском как моделировать входное воздействие
Заранее спасибо.
После краткого изучения архитектуры и возможностей контроллеров PIC пришло время нам попробовать себя в программировании данных контроллеров, так как без программы микроконтроллер — это бесполезная микросхема.
Только чтобы попробовать себя в программировании, обычно требуется какая-то среда программирования (не в блокноте же мы будем писать код), а также компилятор. Для этого у компании Microchip есть бесплатный IDE — это MPLAB X IDE. Давайте её для начала скачаем. Для этого идём на официальный сайт Microchip и идём по пунктам меню DESIGN SUPPORT -> Development Tools -> Software Tools For PIC® MCUs And DsPIC® DSCs -> MPLAB® X IDE
И попадаем на следующую страницу, в которой выбираем закладку Downloads, в которой скачаем последнюю версию среды разработки (нажмите на картинку для увеличения изображения)
Установим среду
Путь оставим предложенный по умолчанию, если у нас нет Proxy, то отключим их
Далее тоже оставим всё по умолчанию
И программа установится на наш компьютер
Отключаем все галки и жмём Finish
Эти галки гласят о том, что у нас не установлен компилятор, также советуют установить фреймворк для удобства разработки. Всё это мы проделаем самостоятельно потом. Компилятор в среде уже есть, правда только для ассемблера. Но, так как мы решили писать на C, то компилятор нам всё-таки скачать и установить придётся, но чуть позже.
Попробуем запустить нашу среду разработки, чтобы хотя бы убедиться, что всё у нас нормально установилось. И, не создавая никаких проектов, закроем её.
Теперь, соответственно, чтобы нам писать код на C, потребуется компилятор. Компиляторы для контроллеров разной битности (8, 16 и 32) отдельные.
На официальном сайт Microchip проследуем по пунктам меню DESIGN SUPPORT -> Development Tools -> Software Tools For PIC® MCUs And DsPIC® DSCs -> MPLAB® XC Compilers
На открывшейся странице перейдём по закладке Downloads и скачаем последнюю версию 8-битного компилятора (XC 8) (нажмите на картинку для увеличения изображения)
Установим компилятор
Путь оставляем по умолчанию
Включим все галочки
Начнётся установка
После установки жмём Next, никакой ID не запоминаем, нам профессиональная лицензия не нужна, воспользуемся свободно-распространяемой. На сайте можно почитать об ограничениях свободной лицензии. Они очень незначительны
Ещё раз запустим среду программирования MPLAB X IDE. Закроем там стартовое окно и перейдём на вкладку Projects
Как видим, у нас тут пусто. Исправим эту ситуацию, создав новый проект. Для этого выберем пункт меню File -> New Project…
Выбираем Standalone Project и идём далее
Выберем из выпадающего списка наш контроллер, отфильтровав выше для удобства по семейству
Выбираем Sinulator, так как пока мы отлаживать проект будем именно в нём. Да и мой контроллер PICkit 2 неоригинальный не поддерживается данной средой. А загружать созданную нами впоследствии прошивку мы будем с помощью специальной программы
В следующем окне выбираем наш компилятор и идём далее
В следующем окне назовём наш первый проект BLINK01, выберем папку для его хранения и оставим галку напротив того, чтобы наш проект стал главным и заетм жмём Finish
Проект появится в дереве проектов.
Создадим в нём файл main.c, выбрав соответствующий пункт контекстного меню в папке Source Files
В открывшемся окне исправим имя файла, чтобы он был именно main.c ибо нам так как-то привычнее и нажмём Finish
Файл откроется самостоятельно. В нём будет уже некоторый код
#include <xc.h>
void main(void) {
return;
}
То есть у нас уже подключена стандартная библиотека, которой нам на первых порах будет достаточно, так как в ней внутри находится подключение многих необходимых библиотек. И также у нас есть точка входа в программу — главная функция main.
Также мы знаем, что контроллеру необходимо постоянно находиться в работе. Для этого мы в каждый проект в главную функцию добавляем бесконечный цикл. Добавим и в этот проект
void main(void) {
while (1)
{
}
return;
Давайте соберём наш проект, нажав соответствующую кнопку в панели инструментов
Проект наш собран. Давайте посмотрим информацию в окне вывода сообщений
Это информация о затраченных и свободных ресурсах различных типов памяти контроллера.
В самом конце информационного сообщения находится путь к файлу прошивки (нажмите на картинку для увеличения изображения)
Убедимся, что файл прошивки там действительно присутствует
Мы видим, что прошивка на месте, также в данной папке присутствует ряд других файлов с отладочной и другой информацией.
Думаю, что на этом мы наш сегодняшний урок закончим. В дальнейшем мы напишем какой-то полезный код в наш проект, попробуем его прошить сначала в протеусе, а затем в настоящий контроллер, собрав соответствующую схему и подключив программатор.
Предыдущий урок Программирование МК PIC Следующий урок
Post Views:
20 299