Программатор pic контроллеров: USB программатор PIC своими руками.

  • Home
  • Разное
  • Программатор pic контроллеров: USB программатор PIC своими руками.

Содержание

USB программатор PIC своими руками.

Собираем программатор для микроконтроллеров PIC и микросхем EEPROM

Какие первые шаги должен сделать радиолюбитель, решивший собрать схему на микроконтроллере? Естественно, необходима управляющая программа – «прошивка», а также программатор.

И если с первым пунктом нет проблем – готовую «прошивку» обычно выкладывают авторы схем, то вот с программатором дела обстоят сложнее.

Цена готовых USB-программаторов довольно высока и лучшим решением будет собрать его самостоятельно. Вот схема предлагаемого устройства (картинки кликабельны).

Основная часть.

Панель установки МК.

Исходная схема взята с сайта LabKit.ru с разрешения автора, за что ему большое спасибо. Это так называемый клон фирменного программатора PICkit2. Так как вариант устройства является «облегчённой» копией фирменного PICkit2, то автор назвал свою разработку PICkit-2 Lite, что подчёркивает простоту сборки такого устройства для начинающих радиолюбителей.

Что может программатор? С помощью программатора можно будет прошить большинство легкодоступных и популярных МК серии PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A и др.), а также микросхемы памяти EEPROM серии 24LC. Кроме этого программатор может работать в режиме USB-UART преобразователя, имеет часть функций логического анализатора. Особо важная функция, которой обладает программатор – это расчёт калибровочной константы встроенного RC-генератора некоторых МК (например, таких как PIC12F629 и PIC12F675).

Необходимые изменения.

В схеме есть некоторые изменения, которые необходимы для того, чтобы с помощью программатора PICkit-2 Lite была возможность записывать/стирать/считывать данные у микросхем памяти EEPROM серии 24Cxx.

Из изменений, которые были внесены в схему. Добавлено соединение от 6 вывода DD1 (RA4) до 21 вывода ZIF-панели. Вывод AUX используется исключительно для работы с микросхемами EEPROM-памяти 24LС (24C04, 24WC08 и аналоги). По нему передаются данные, поэтому на схеме панели программирования он помечен словом «Data». При программировании микроконтроллеров вывод AUX обычно не используется, хотя он и нужен при программировании МК в режиме LVP.

Также добавлен «подтягивающий» резистор на 2 кОм, который включается между выводом SDA и Vcc микросхем памяти.

Все эти доработки я уже делал на печатной плате, после сборки PICkit-2 Lite по исходной схеме автора.

Микросхемы памяти 24Cxx (24C08 и др.) широко используются в бытовой радиоаппаратуре, и их иногда приходится прошивать, например, при ремонте кинескопных телевизоров. В них память 24Cxx применяется для хранения настроек.

В ЖК-телевизорах применяется уже другой тип памяти (Flash-память). О том, как прошить память ЖК-телевизора я уже рассказывал. Кому интересно, загляните.

В связи с необходимостью работы с микросхемами серии 24Cxx мне и пришлось «допиливать» программатор. Травить новую печатную плату я не стал, просто добавил необходимые элементы на печатной плате. Вот что получилось.

Ядром устройства является микроконтроллер PIC18F2550-I/SP.

Это единственная микросхема в устройстве. МК PIC18F2550 необходимо «прошить». Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема «курицы и яйца». Как её решил я, расскажу чуть позднее.

Список деталей для сборки программатора. В мобильной версии потяните таблицу влево (свайп влево-вправо), чтобы увидеть все её столбцы.

НазваниеОбозначениеНоминал/ПараметрыМарка или тип элемента
Для основной части программатора
МикроконтроллерDD18-ми битный микроконтроллерPIC18F2550-I/SP
Биполярные транзисторыVT1, VT2, VT3 КТ3102
VT4 КТ361
ДиодVD1 КД522, 1N4148
Диод ШотткиVD2 1N5817
СветодиодыHL1, HL2 любой на 3 вольта, красного и зелёного цвета свечения
РезисторыR1, R2300 ОмМЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R322 кОм
R41 кОм
R5, R6, R1210 кОм
R7, R8, R14100 Ом
R9, R10, R15, R164,7 кОм
R112,7 кОм
R13100 кОм
КонденсаторыC20,1 мкК10-17 (керамические), импортные аналоги
C30,47 мк
Электролитические конденсаторыC1100 мкф * 6,3 вК50-6, импортные аналоги
C447 мкф * 16 в
Катушка индуктивности (дроссель)L1680 мкГнунифицированный типа EC24, CECL или самодельный
Кварцевый резонаторZQ120 МГц 
USB-розетка
XS1 типа USB-BF
ПеремычкаXT1 любая типа «джампер»
Для панели установки микроконтроллеров (МК)
ZIF-панельXS1 любая 40-ка контактная ZIF-панель
РезисторыR12 кОмМЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги
R2, R3, R4, R5, R610 кОм

Теперь немного о деталях и их назначении.

Зелёный светодиод HL1 светится, когда на программатор подано питание, а красный

светодиод HL2 излучает в момент передачи данных между компьютером и программатором.

Для придания устройству универсальности и надёжности используется USB-розетка XS1 типа «B» (квадратная). В компьютере же используется USB-розетка типа «А». Поэтому перепутать гнёзда соединительного кабеля невозможно. Также такое решение способствует надёжности устройства. Если кабель придёт в негодность, то его легко заменить новым не прибегая к пайке и монтажным работам.

В качестве дросселя L1 на 680 мкГн лучше применить готовый (например, типов EC24 или CECL). Но если готовое изделие найти не удастся, то дроссель можно изготовить самостоятельно. Для этого нужно намотать 250 – 300 витков провода ПЭЛ-0,1 на сердечник из феррита от дросселя типа CW68. Стоит учесть, что благодаря наличию ШИМ с обратной связью, заботиться о точности номинала индуктивности не стоит.

Напряжение для высоковольтного программирования (Vpp) от +8,5 до 14 вольт создаётся ключевым стабилизатором. В него входят элементы VT1, VD1, L1, C4, R4, R10, R11. С 12 вывода PIC18F2550 на базу VT1 поступают импульсы ШИМ. Обратная связь осуществляется делителем R10, R11.

Чтобы защитить элементы схемы от обратного напряжения с линий программирования в случае использования USB-программатора в режиме внутрисхемного программирования ICSP (In-Circuit Serial Programming) применён диод VD2. VD2 – это диод Шоттки. Его стоит подобрать с падением напряжения на P-N переходе не более 0,45 вольт. Также диод VD2 защищает элементы от обратного напряжения, когда программатор применяется в режиме USB-UART преобразования и логического анализатора.

При использовании программатора исключительно для программирования микроконтроллеров в панели (без применения ICSP), то можно исключить диод VD2 полностью (так сделано у меня) и установить вместо него перемычку.

Компактность устройству придаёт универсальная ZIF-панель (Zero Insertion Force – с нулевым усилием установки).

Благодаря ей можно «зашить» МК практически в любом корпусе DIP.

На схеме «Панель установки микроконтроллера (МК)» указано, как необходимо устанавливать микроконтроллеры с разными корпусами в панель. При установке МК следует обращать внимание на то, чтобы микроконтроллер в панели позиционируется так, чтобы ключ на микросхеме был со стороны фиксирующего рычага ZIF-панели.

Вот так нужно устанавливать 18-ти выводные микроконтроллеры (PIC16F84A, PIC16F628A и др.).

А вот так 8-ми выводные микроконтроллеры (PIC12F675, PIC12F629 и др.).

Если есть нужда прошить микроконтроллер в корпусе для поверхностного монтажа (SOIC), то можно воспользоваться переходником или просто подпаять к микроконтроллеру 5 выводов, которые обычно требуются для программирования (Vpp, Clock, Data, Vcc, GND).

Готовый рисунок печатной платы со всеми изменениями вы найдёте по ссылке в конце статьи. Открыв файл в программе Sprint Layout 5.0 можно с помощью режима «Печать» не только распечатать слой с рисунком печатных проводников, но и просмотреть позиционирование элементов на печатной плате. Обратите внимание на изолированную перемычку, которая связывает 6 вывод DD1 и 21 вывод ZIF-панели. Печатать рисунок платы необходимо

в зеркальном отображении.

Изготовить печатную плату можно методом ЛУТ, а также маркером для печатных плат, с помощью цапонлака (так делал я) или «карандашным» методом.

Вот рисунок позиционирования элементов на печатной плате (кликабельно).

При монтаже первым делом необходимо запаять перемычки из медного лужёного провода, затем установить низкопрофильные элементы (резисторы, конденсаторы, кварц, штыревой разъём ISCP), затем транзисторы и запрограммированный МК. Последним шагом будет установка ZIF-панели, USB-розетки и запайка провода в изоляции (перемычки).

«Прошивка» микроконтроллера PIC18F2550.

Файл «прошивки» — PK2V023200.hex необходимо записать в память МК PIC18F2550I-SP при помощи любого программатора, который поддерживает PIC микроконтроллеры (например, Extra-PIC). Я воспользовался JDM Programmator’ом JONIC PROG и программой WinPic800.

Ссылка на файл PK2V023200.hex, запакованный в архив rar, дана в конце статьи.

Залить «прошивку» в МК PIC18F2550 можно и с помощью всё того же фирменного программатора PICkit2 или его новой версии PICkit3. Естественно, сделать это можно и самодельным PICkit-2 Lite, если кто-либо из друзей успел собрать его раньше вас:).

Также стоит знать, что «прошивка» микроконтроллера PIC18F2550-I/SP (файл PK2V023200.hex) записывается при установке программы PICkit 2 Programmer в папку вместе с файлами самой программы. Примерный путь расположения файла PK2V023200.hex  — «C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex». У тех, у кого на ПК установлена 32-битная версия Windows, путь расположения будет другим: «C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex».

Ну, а если разрешить проблему «курицы и яйца» не удалось предложенными способами, то можно купить уже готовый программатор PICkit3 на сайте AliExpress. Там он стоит гораздо дешевле. О том, как покупать детали и электронные наборы на AliExpress я писал тут.

Обновление «прошивки» программатора.

Прогресс не стоит на месте и время от времени компания Microchip выпускает обновления для своего ПО, в том числе и для программатора PICkit2, PICkit3. Естественно, и мы можем обновить управляющую программу своего самодельного PICkit-2 Lite. Для этого понадобится программа PICkit2 Programmer. Что это такое и как пользоваться — чуть позднее. А пока пару слов о том, что нужно сделать, чтобы обновить «прошивку».

Для обновления ПО программатора необходимо замкнуть перемычку XT1 на программаторе, когда он отключен от компьютера. Затем подключить программатор к ПК и запустить PICkit2 Programmer. При замкнутой XT1 активируется режим bootloader для загрузки новой версии прошивки. Затем в PICkit2 Programmer через меню «Tools» — «Download PICkit 2 Operation System» открываем заранее подготовленный hex-файл обновлённой прошивки. Далее произойдёт процесс обновления ПО программатора.

После обновления нужно отключить программатор от ПК и снять перемычку XT1. В обычном режиме перемычка разомкнута. Узнать версию ПО программатора можно через меню «Help» — «About» в программе PICkit2 Programmer.

Это всё по техническим моментам. А теперь о софте.

Работа с программатором. Программа PICkit2 Programmer.

Для работы с USB-программатором нам потребуется установить на компьютер программу PICkit2 Programmer. Это специальная программа обладает простым интерфейсом, легко устанавливается и не требует особой настройки. Стоит отметить, что работать с программатором можно и с помощью среды разработки MPLAB IDE, но для того, чтобы прошить/стереть/считать МК достаточно простой программы – PICkit2 Programmer. Рекомендую.

После установки программы PICkit2 Programmer подключаем к компьютеру собранный USB-программатор. При этом засветится зелёный светодиод («питание»), а операционная система опознает устройство как «PICkit2 Microcontroller Programmer» и установит драйвера.

Запускаем программу PICkit2 Programmer. В окне программы должна отобразиться надпись.

Если программатор не подключен, то в окне программы отобразится страшная надпись и краткие инструкции «Что делать?» на английском.

Если же программатор подключить к компьютеру с установленным МК, то программа при запуске определить его и сообщит нам об этом в окне PICkit2 Programmer.

Поздравляю! Первый шаг сделан. А о том, как пользоваться программой PICkit2 Programmer, я рассказал в отдельной статье. Следующий шаг.

Необходимые файлы:

Главная &raquo Микроконтроллеры &raquo Текущая страница

Также Вам будет интересно узнать:

 

Программатор pic-контроллеров Extra-pic своими руками

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

Для того, чтобы микросхема начала исполнять какие-либо функции, нужно её прошить, т.е. загрузить в её память код прошивки. Сделать это можно с помощью специального устройства, называемого программатором. Программатор связывает компьютер, на котором находится файл прошивки с прошиваемым микроконтроллером. Стоит упомянуть, что существуют микроконтроллеры семейства AVR, например такие, как Atmega8, Attiny13, и серии pic, например PIC12F675, PIC16F676. Pic-серия принадлежит компании Microchip, а AVR компании Atmel, поэтому способы прошивки pic и AVR отличаются. В этой статье рассмотрим процесс создания программатора Extra-pic, с помощью которого можно прошить микроконтроллер серии pic.
К достоинствам именно этого программатора можно отнести простоту его схемы, надёжность работы, универсальность, ведь поддерживает он все распространённые микроконтроллеры. На компьютере поддерживается также самыми распространёнными программами для прошивки, такими как Ic-prog, WinPic800, PonyProg, PICPgm.

Схема программатора



Она содержит в себе две микросхемы, импортную MAX232 и отечественную КР1533ЛА3, которую можно заменить на КР155ЛА3. Два транзистора, КТ502, который можно заменить на КТ345, КТ3107 или любой другой маломощный PNP транзистор. КТ3102 также можно менять, например, на BC457, КТ315. Зелёный светодиод служит индикатором наличия питания, красный загорается во время процесса прошивки микроконтроллера. Диод 1N4007 служит для защиты схемы от подачи напряжения неправильной полярности.

Материалы



Список необходимых для сборки программатора деталей:
  • Стабилизатор 78L05 – 2 шт.
  • Стабилизатор 78L12 – 1 шт.
  • Светодиод на 3 в. зелёный – 1 шт.
  • Светодиод на 3 в. красный – 1 шт.
  • Диод 1N4007 – 1 шт.
  • Диод 1N4148 – 2 шт.
  • Резистор 0,125 Вт 4,7 кОм – 2 шт.
  • Резистор 0,125 Вт 1 кОм – 6 шт.
  • Конденсатор 10 мкФ 16В – 4 шт.
  • Конденсатор 220 мкФ 25В – 1 шт.
  • Конденсатор 100 нФ – 3 шт.
  • Транзистор КТ3102 – 1 шт.
  • Транзистор КТ502 – 1 шт.
  • Микросхема MAX232 – 1 шт.
  • Микросхема КР1533ЛА3 – 1 шт.
  • Разъём питания – 1 шт
  • Разъём COM порта «мама» — 1 шт.
  • Панелька DIP40 – 1 шт.
  • Панелька DIP8 – 2 шт.
  • Панелька DIP14 – 1 шт.
  • Панелька DIP16 – 1 шт.
  • Панелька DIP18 – 1 шт.
  • Панелька DIP28 – 1 шт.

Кроме того, необходим паяльник и умение им пользоваться.

Изготовление печатной платы


Программатор собирается на печатной плате размерами 100х70 мм. Печатная плата выполняется методом ЛУТ, файл к статье прилагается. Отзеркаливать изображение перед печатью не нужно.

Скачать плату:

Сборка программатора


Первым делом на печатную плату впаиваются перемычки, затем резисторы, диоды. В последнюю очередь нужно впаять панельки и разъёмы питания и СОМ порта.


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

Разъём СОМ порта (он называется DB-9) имеет два штырька, которые должны «втыкаться» в плату. Чтобы не сверлить под них лишние отверстия на плате, можно открутить два винтика под бокам разъёма, при этом штырьки отпадут, как и металлическая окантовка разъёма.

После впайки всех деталей плату нужно отмыть от флюса, прозвонить соседние контакты, нет ли замыканий. Убедиться в том, что в панельках нет микросхем (вынуть нужно в том числе и МАХ232, и КР1533ЛА3), подключить питание. Проверить, присутствует ли напряжение 5 вольт на выходах стабилизаторов. Если всё хорошо, можно устанавливать микросхемы МАХ232 и КР1533ЛА3, программатор готов к работе. Напряжение питания схемы 15-24 вольта.


Плата программатора содержит 4 панельки для микроконтроллеров и одну для прошивки микросхем памяти. Перед установкой на плату прошиваемого микроконтроллера нужно посмотреть, совпадает ли его распиновка с распиновкой на плате программатора. Программатор можно подключать к СОМ-порту компьютера напрямую, либо же через удлинительный кабель. Успешной сборки!

Самый простой программатор для pic. Самодельный программатор для PIC-контроллеров

Вот есть микроконтроллер, есть написанная программа. Что ещё нужно? Программатор! Ведь без помощи аппаратуры, которая сможет записать последовательностью сигналов процесс, который хочет реализовать человек, сложно будет что-то сделать. А как здорово сделать программатор своими руками!

Также здесь вы найдете описание программаторов и из другого семейства — АВР, но исключительно в сравнительных целях. Приступим к статье, где рассказывается, как сделать программатор-flash своими руками.

Для чего необходим программатор

Так как статья пишется в том числе и для читателей, не слишком осведомленных в этом вопросе, то необходимо взять во внимание и такой пункт. Программатор — это специальное устройство, которое посредством получаемых от компьютера сигналов программирует микроконтроллер, который будет управлять схемой. Качественное устройство является очень важным, ведь в таком случае можно будет быть уверенным в том, что МК не выйдет из строя, или, что важнее, из строя не выйдет компьютер. Есть небольшое уточнение: программатор для PIC своими руками делают только те, у кого есть микроконтроллеры этого семейства. Другие из-за другой архитектуры могут не работать. Но можно попробовать своими силами усовершенствовать представленные схемы и собрать программатор AVR своими руками.

Платные против самодельных

Отдельно нужно рассказать о приобретенных в магазинах и самодельных программаторах. Дело в том, что это устройства не очень-то и простые и требуют уже определённых навыков работы, практики пайки и умения обращаться с железом. При работе с купленным программатором от производителя или его дилера можно быть уверенным в том, что на прибор программа будет записана, и ничего не сгорит. А в случае обнаружения неисправностей в самом начале периода эксплуатации его можно вернуть и получить взамен работоспособное устройство.

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

Драйвера

Первоначально следует подобрать программное обеспечение. В зависимости от схемы программатор может быть заточен или под один микроконтроллер, или под большое их количество. Тот, что будет далее рассматриваться, рассчитан примерно на 98 программаторов от 12-го до 18-го семейств. Для тех, кому понравится вариант сборки, следует уточнить, что в качестве драйверного программного обеспечения использовалась программа IC-PROG. Можете попробовать работать и с другой, но уже на свой страх и риск. Это информация для тех, кто хочет создать программатор для AVR своими руками. Далее будет указано, для каких семейств микроконтроллеров РІС он рассчитан. Если есть желание сделать программатор AVR своими руками или какой-то другой тип МК, то вы всегда можете попытаться.

Схема программатора

Вот тут уже можно попробовать сделать программатор для PIC своими руками. В качестве гнезда необходимо использовать разъем DB9. Можно сделать и USB-программатор своими руками, но для него понадобятся дополнительные элементы схемы, которые усложнят и без того довольно сложную плату. Также внимательно рассмотрите рисунок с различными прямоугольниками (чтобы знать, какие части за что отвечают). Выводы должны подключатся именно туда, куда нужно, иначе микроконтроллер превратится в небольшой кусочек пластика и железа, который можно поставить на стеночку как напоминание о былых ошибках. Процесс сборки и использования программатора таков:

  1. Собрать сам программатор так, как написано на схемах. Просмотреть на наличие некачественной пайки, а также потенциальных мест замыкания. Программатор рассчитан на работу с напряжением 15-18В, больше категорически не рекомендуется.
  2. Подготовьте среду управления прошивкой (выше было упоминание одной программы, с которой программатор точно работает).

Процесс прошивки микроконтроллера

Процесс прошивки микроконтроллера данными можно считать продолжением предыдущего списка:

  1. Произвести необходимые для работы программы настройки.
  2. Установить микроконтроллер в программатор так, как отмечено на схеме. Лучше лишний раз убедиться, что всё так, как должно быть, чем ехать за новым МК.
  3. Подключить питание.
  4. Запустить выбранное программное обеспечения (для этого программатора ещё раз посоветуем IC-Prog).
  5. В выпадающем меню вверху справа выбрать, какой именно микроконтроллер следует прошить.
  6. Подготовленный файл выбрать для программирования. Для этого перейдите по пути «Файл» — «Открыть файл». Смотрите, не перепутайте с «Открыть файл данных», это совсем другое, прошить микроконтроллер с помощью второй кнопки не получится.
  7. Нажать на кнопку «Начать программировать микросхему». Примерное время, через которое она будет запрограммирована — до 2 минут. Прерывать процесс программирования нельзя, это чревато выведением из строя микроконтроллера.
  8. И в качестве небольшого контроля нажмите на кнопку «Сравнить микросхему с буфером».

Не очень сложно, но эта последовательность действий позволяет получить качественный программатор, своими руками сделанный, для различных типов микроконтроллеров РІС.

Какие микроконтроллеры поддерживаются и могут быть прошиты программным обеспечением

Как уже выше упоминалось, этот программатор может работать как минимум с 98 моделями. Как можно заметить по схематическим рисункам и платам, он рассчитан на те МК, что имеют 8, 14, 18, 28 и 40 выводов. Этого должно хватить для самых различных экспериментов и построения самых разных механизмов, которые только можно сделать в пределах скромного бюджета среднестатистического гражданина. Можно выразить уверенность, что сделанный программатор своими руками сможет удовлетворить самых требовательных радиолюбителей — при условии, что он будет сделан качественно.

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

Схема позволяет программировать микроконтроллеры и память EEPROM I2C.

Список поддерживаемых микроконтроллеров, при условии совместного использования с утилитой IC-PROG v1.05D:

Микроконтроллеры фирмы Microchip: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12F629, PIC12F675, PIC16C433, PIC16C61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67, PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16C84, PIC16F83, PIC16F84, PIC16F84A, PIC16F88, PIC16C505*, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A, PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630*, PIC16F648A, PIC16F676*, PIC16C710, PIC16C711, PIC16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770*, PIC16C771*, PIC16C773, PIC16C774, PIC16C781*, PIC16C782*, PIC16F818, PIC16F819, PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F873A, PIC16F874, PIC16F874A, PIC16F876, PIC16F876A, PIC16F877, PIC16F877A, PIC16C923*, PIC16C924*, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620*, PIC18F6720*, PIC18F8620*, PIC18F8720*

Примечание: микроконтроллеры, которые отмечены звездочкой (*) необходимо подключить к программатору через ICSP разъем.

Последовательная память EEPROM I2C (IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, AT24C512.


Установите микросхему в панельку, строго соблюдая положение ключа. Подключите шнур, включите питание. Запустите программу IC-PROG. В выпадающем списке выберите ваш микроконтроллер PIC.

Если у вас нет прошивки — сделайте ее: для этого откройте стандартную программу «Блокнот» или любой другой редактор; вставьте в документ текст прошивки; сохраните под любым именем с расширение *.txt или *.hex.

Затем в утилите в IC-PROG Файл >> Открыть файл >> найти наш файл с прошивкой. Окно «Программного кода» должно заполнится разными кодами.

В окне IC-PROG нажимаем «Программировать микросхему» при этом загорается красный светодиод на схеме устройства. Программирование длится около 30 секунд. Для проверки выбираем — Сравнить микросхему с буфером.

Альтернативный вариант схемы программатора EXTRA-PIC из с готовой печатной платой в Sprint Layout вы можете открыть по зеленой ссылке выше.

Микроконтроллеры PIC заслужили славу благодаря своей неприхотливости и качеству работы, а также универсальности в использовании. Но что может дать микроконтроллер без возможности записывать новые программы на него? Без программатора это не больше чем кусочек удивительного по форме исполнения железа. Сам программатор PIC может быть двух типов: или самодельный, или заводской.

Различие заводского и самодельного программаторов

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

Заводской программатор от Microchip

Самый известный и популярный — простой программатор PIC, который использует множество людей и известный для многих под названием PICkit 2. Его популярность объясняется явными и неявными достоинствами. Явные достоинства, которые имеет этот USB программатор для PIC, можно перечислять долго, среди них: относительно небольшая стоимость, простота эксплуатации и универсальность относительно всего семейства микроконтроллеров, начиная от 6-выводных и заканчивая 20-выводными.

Использование программатора от Microchip

По его использованию можно найти много обучающих уроков, которые помогут разобраться с всевозможными аспектами использования. Если рассматривать не только программатор PIC, купленный «с рук», а приобретенный у официального представителя, то можно ещё подметить качество поддержки, предоставляемое вместе с ним. Так, в дополнение идут обучающие материалы по использованию, лицензионные среды разработки, а также демонстрационная плата, которая предназначена для работы с маловыводными микроконтроллерами. Кроме всего этого, присутствуют утилиты, которые сделают работу с механизмом более приятной, помогут отслеживать процесс программирования и отладки работы микроконтроллера. Также поставляется утилита для стимулирования работы МК.

Другие программаторы

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

Программаторы, собранные вручную

А теперь, пожалуй, самое интересное — программаторы PIC-контроллеров, которые собираются вручную. Этим вариантом пользуются те, у кого нет денег или просто нет желания их тратить. В случае покупки у официального представителя можно рассчитывать на то, что если устройство окажется некачественным, то его можно вернуть и получить новое взамен. А при покупке «с рук» или с помощью досок объявлений в случае некачественной пайки или механических повреждений рассчитывать на возмещение расходов и получение качественного программатора не приходится. А теперь перейдём к собранной вручную электронике.

Программатор PIC может быть рассчитан на определённые модели или быть универсальным (для всех или почти всех моделей). Собираются они на микросхемах, которые смогут преобразовать сигналы с порта RS-232 в сигнал, который позволит программировать МК. Нужно помнить, что, когда собираешь данную кем-то конструкцию, программатор PIC, схема и результат должны подходить один к одному. Даже небольшие отклонения нежелательны. Это замечание относится к новичкам в электронике, люди с опытом и практикой могут улучшить практически любую схему, если есть куда улучшать.

Отдельно стоит молвить слово и про программный комплекс, которым обеспечивают USB-программатор для PIC, своими рукамисобранный. Дело в том, что собрать сам программатор по одной из множества схем, представленных в мировой сети, — мало. Необходимо ещё и программное обеспечение, которое позволит компьютеру с его помощью прошить микроконтроллер. В качестве такового довольно часто используются Icprog, WinPic800 и много других программ. Если сам автор схемы программатора не указал ПО, с которым его творение сможет выполнять свою работу, то придется методом перебора узнавать самому. Это же относится и к тем, кто собирает свои собственные схемы. Можно и самому написать программу для МК, но это уже настоящий высший пилотаж.

Универсальные программаторы, которые подойдут не только к РІС

Если человек увлекается программированием микроконтроллеров, то вряд ли он постоянно будет пользоваться только одним типом. Для тех, кто не желает покупать отдельно программаторы для различных типов микроконтроллеров, от различных производителей, были разработаны универсальные устройства, которые смогут запрограммировать МК нескольких компаний. Так как компаний, выпускающих их, довольно много, то стоит избрать пару и рассказать про программаторы для них. Выбор пал на гигантов рынка микроконтроллеров: PIC и AVR.

Универсальный программатор PIC и AVR — это аппаратура, особенность которой заключается в её универсальности и возможности изменять работу благодаря программе, не внося изменений в аппаратную составляющую. Благодаря этому свойству такие приборы легко работают с МК, которые были выпущены в продажу уже после выхода программатора. Учитывая, что значительным образом архитектура в ближайшее время меняться не будет, они будут пригодны к использованию ещё длительное время. К дополнительным приятным свойствам заводских программаторов стоит отнести:

  1. Значительные аппаратные ограничения по количеству программируемых микросхем, что позволит программировать не одну, а сразу несколько единиц электроники.
  2. Возможность программирования микроконтроллеров и схем, в основе которых лежат различные технологии (NVRAM, NAND Flash и другие).
  3. Относительно небольшое время программирования. В зависимости от модели программатора и сложности программируемого кода может понадобиться от 20 до 400 секунд.

Особенности практического использования

Отдельно стоит затронуть тему практического использования. Как правило, программаторы подключаются к портам USB, но есть и такие вариации, что работают с помощью тех же проводов, что и винчестер. И для их использования придется снимать крышку компьютера, перебирать провода, да и сам процесс подключения не очень-то и удобный. Но второй тип является более универсальным и мощным, благодаря ему скорость прошивки больше, нежели при подключении через USB. Использование второго варианта не всегда представляется таким удобным и комфортным решением, как с USB, ведь до его использования необходимо проделать ряд операций: достать корпус, открыть его, найти необходимый провод. Про возможные проблемы от перегревания или скачков напряжения при работе с заводскими моделями можно не волноваться, так как у них, как правило, есть специальная защита.

Работа с микроконтроллерами

Что же необходимо для работы всех программаторов с микроконтроллерами? Дело в том, что, хотя сами программаторы и являются самостоятельными схемами, они передают сигналы компьютера в определённой последовательности. И задача относительно того, как компьютеру объяснить, что именно необходимо послать, решается программным обеспечением для программатора.

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

Возможные проблемы

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

  1. Некачественная пайка элементов программатора.
  2. Отсутствие драйверов для работы с устройством.
  3. Повреждения внутри программатора или проводов внутри компьютера/USB.

Эксперименты с микроконтроллерами

Итак, всё есть. Как же начать работу с техникой, как начать прошивать микроконтроллер программатором?

  1. Подключить внешнее питание, присоединить всю аппаратуру.
  2. Первоначально необходима среда, с помощью которой всё будет делаться.
  3. Создать необходимый проект, выбрать конфигурацию микроконтроллера.
  4. Подготовить файл, в котором находится весь необходимый код.
  5. Подключиться к программатору.
  6. Когда всё готово, можно уже прошивать микроконтроллер.

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

Хочется отдельно написать обращение к тем, кто только начинает пользоваться программаторами. Помните, что, какими бы элементарными ни казались некоторые шаги, всегда необходимо их придерживаться, чтобы техника нормально и адекватно могла работать и выполнять поставленные вами задачи. Успехов в электронике!

USB программатор PIC контроллеров — 3.8 out of 5 based on 11 votes

Фотогорафии программатора предоставленны Ансаганом Хасеновым

В данной статье рассматриваются практические аспекты сборки несложного USB программатора PIC микроконтроллеров, который имеет оригинальное название GTP-USB (Grabador TodoPic-USB). Существует старшая модель этого программатора GTP-USB plus который поддерживает и AVR микроконтроллеры, но предлагается за деньги. Однозначных сведений по схемам и прошивкам к GTP-USB plus обнаружить не удалось. Если у вас есть информация по GTP-USB plus, прошу связаться со мной.

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

Из оригинальной схемы GTP-USB исключены элементы индикации для упрощения рисунка печатной платы. Основной индикатор — это монитор вашего компьютера, на котором из программы WinPic800 версий 3.55G или 3.55B вы можете наблюдать за процессом программирования.

Облегченная схема GTP-USB.

Сигнальные линии Vpp1 и Vpp2 определены под микроконтроллеры в корпусах с различным количеством выводов. Линия Vpp/ICSP определена для внутрисхемного программирования. Остальные линии типовые.

Программатор собран на односторонней печатной плате .

Адаптер можно безболезненно подключать к любому другому программатору PIC-микроконтроллеров, что, безусловно, удобно.

После сборки производим первое включение. По факту первого подключения GTP-USB к ПК появляется сообщение

Затем следует традиционный запрос на установку драйвера. Драйвер расположен в управляющей программе WinPic800 по примерному пути \WinPic800 3.55G\GTP-USB\Driver GTP-USB\.


Соглашаемся с предупреждениями и продолжаем установку.

Обращаю внимание. Данная схема программатора и прошивка к нему проверены на практике и работают с управляющей программой WinPic800 версий 3.55G и 3.55B. Более старшие версии, например, 3.63C не работают с этим программатором. Производим настройку управляющей программы: в меню Settings — Hardware (Установки — Оборудование) выбираем GTP-USB-#0 или GTP-USB-#F1 и нажимаем Apply (Применить).

Нажимаем на панели кнопку и производим тест оборудования. В результате успешного тестирования появляется сообщение (см. ниже), которое не может нас не радовать.

Данный программатор отлично работал со следующими контроллерами (из того что было в наличии): PIC12F675, PIC16F84A, PIC16F628A, PIC16F874A, PIC16F876A, PIC18F252. Тест контроллеров, запись и чтение данных — выполнены успешно. Скорость работы впечатляет. Чтение 1-2 сек. Запись 3-5 сек. Глюков не замечено. Часть зашитых МК протестировано в железе — работает.


Однажды я решил собрать несложный LC-метр на pic16f628a и естественно его надо было чем-то прошить. Раньше у меня был компьютер с физическим com-портом, но сейчас в моём распоряжении только usb и плата pci-lpt-2com. Для начала я собрал простой JDM программатор, но как оказалось ни с платой pci-lpt-com, ни с usb-com переходником он работать не захотел (низкое напряжение сигналов RS-232). Тогда я бросился искать usb программаторы pic, но там, как оказалось всё ограничено использованием дорогих pic18f2550/4550, которых у меня естественно не было, да и жалко такие дорогие МК использовать, если на пиках я очень редко что-то делаю (предпочитаю авр-ы, их прошить проблем не составляет, они намного дешевле, да и программы писать мне кажется, на них проще). Долго копавшись на просторах интернета в одной из множества статей про программатор EXTRA-PIC и его всевозможные варианты один из авторов написал, что extrapic работает с любыми com-портами и даже переходником usb-com.

В схеме данного программатора используется преобразователь логических уровней max232.

Я подумал, если использовать usb адаптер, то будет очень глупо делать два раза преобразование уровней usb в usart TTL, TTL в RS232, RS232 обратно в TTL, если можно просто взять TTL сигналы порта RS232 из микросхемы usb-usart преобразователя.

Так и сделал. Взял микросхему Ch440G (в которой есть все 8 сигналов com-порта) и подключил её вместо max232. И вот что получилось.

В моей схеме есть перемычка jp1, которой нет в экстрапике, её я поставил потому что, не знал, как себя поведёт вывод TX на ТТЛ уровне, поэтому сделал возможность его инвертировать на оставшемся свободном элементе И-НЕ и не прогадал, как оказалось, напрямую на выводе TX логическая единица, и поэтому на выводе VPP при включении присутствует 12 вольт, а при программировании ничего не будет (хотя можно инвертировать TX программно).

После сборки платы пришло время испытаний. И тут настало главное разочарование. Программатор определился сразу (программой ic-prog) и заработал, но очень медленно! В принципе — ожидаемо. Тогда в настройках com порта я выставил максимальную скорость (128 килобод) начал испытания всех найденных программ для JDM. В итоге, самой быстрой оказалась PicPgm. Мой pic16f628a прошивался полностью (hex, eeprom и config) плюс верификация где-то 4-6 минут (причём чтение идёт медленнее записи). IcProg тоже работает, но медленнее. Ошибок про программировании не возникло. Также я попробовал прошить eeprom 24с08, результат тот же — всё шьёт, но очень медленно.

Выводы: программатор достаточно простой, в нём нет дорогостоящих деталей (Ch440 — 0.3-0.5$ , к1533ла3 можно вообще найти среди радиохлама), работает на любом компьютере, ноутбуке (и даже можно использовать планшеты на windows 8/10). Минусы: он очень медленный. Также он требует внешнее питание для сигнала VPP. В итоге, как мне показалось, для нечастой прошивки пиков — это несложный для повторения и недорогой вариант для тех, у кого нет под рукой древнего компьютера с нужными портами.

Вот фото готового девайса:

Как поётся в песне «я его слепила из того, что было». Набор деталей самый разнообразный: и smd, и DIP.

Для тех, кто рискнёт повторить схему, в качестве usb-uart конвертера подойдёт почти любой (ft232, pl2303, cp2101 и др), вместо к1533ла3 подойдёт к555, думаю даже к155 серия или зарубежный аналог 74als00, возможно даже будет работать с логическими НЕ элементами типа к1533лн1. Прилагаю свою печатную плату, но разводка там под те элементы, что были в наличии, каждый может перерисовать под себя.

Список радиоэлементов
ОбозначениеТипНоминалКоличествоПримечаниеМагазинМой блокнот
IC1МикросхемаCh440G1В блокнот
IC2МикросхемаК1533ЛА31В блокнот
VR1Линейный регулятор

LM7812

1В блокнот
VR2Линейный регулятор

LM7805

1В блокнот
VT1Биполярный транзистор

КТ502Е

1В блокнот
VT2Биполярный транзистор

КТ3102Е

1В блокнот
VD1-VD3Выпрямительный диод

1N4148

2В блокнот
C1, C2, C5-C7Конденсатор100 нФ5В блокнот
C3, C4Конденсатор22 пФ2В блокнот
HL1-HL4СветодиодЛюбой4В блокнот
R1, R3, R4Резистор

1 кОм

3

Arduino программатор PIC-ов. | AlexGyver Community

Составители официальной документации узнав про программирование PIC-ов с помощью какой то ардуины, поперхнулись бы от такого факта и стали бы отрицать возможность этого.

Вот тут Вы сильно ошибаетесь

Жаль не грузится файлик, размер большой.
In-Circuit Serial Programming Guide DS30277
DS41227
DS41226
DS30228 и т.д.

В этих документах досконально описаны режимы программирования, алгоритмы и даже схемки есть простенькие.

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

К сожалению все режимы программирования задокументированы.
А кто на чём собирать будет, его право.
MicroCHIP не заставляет пользоваться их программатором.

Хотя в свободном доступе есть схемы PicKIT2 и PicKIT3. И прошивки на них в свободном доступе.
А они позволяют осуществлять внутрисхемную отладку.
Так что ардуину можно использовать один раз для программирования PicKIT.

Они его придумали?
По этимологии что оно значит? Как-то задавался таким вопросом, но инфы не нашёл.

Кто его знает они или нет. Но это слово встречается только в их документации.
В документации на другие микроконтроллеры используется , основном, понятие — конфигурационные биты.

И поскольку программатор из ардуины отсутствует в официально возможных к применению программаторов PIC-ов, я буду называть конфигурационные биты PIC-ов фьюзами.

Да называйте как хотите. Просто знайте, когда будете разговаривать с человеком, который проработал всю жизнь с PIC микроконтроллерами и ничего не знает об Atmel, Вас никогда не поймёт, если вы будете дуть ему в уши про «фьюзы»и «Скетчи» (Скетч) — короткая одноактная пьеса комедийного содержания с небольшим числом действующих лиц (как правило двумя, реже — тремя). Это выше понимания как прошивка может называться «Одноактной пьесой»

Средства программирования PIC-контроллеров / Хабр

Введение

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

Миниатюрные PIC контроллеры хороши для построения преобразователей интерфейсов последовательной передачи данных, для реализации функций «прием – обработка – передача данных» и несложных регуляторов систем автоматического управления.

Компания Microchip распространяет MPLAB — бесплатную интегрированную среду редактирования и отладки программ, которая записывает бинарные файлы в микроконтроллеры PIC через программаторы.

Взаимодействие MPLAB и Matlab/Simulink позволяет разрабатывать программы для PIC-контроллеров в среде Simulink — графического моделирования и анализа динамических систем. В этой работе рассматриваются средства программирования PIC контроллеров: MPLAB, Matlab/Simulink и программатор PIC-KIT3 в следующих разделах.

• Характеристики миниатюрного PIC контроллера PIC12F629
• Интегрированная среда разработки MPLAB IDE
• Подключение Matlab/Simulink к MPLAB
• Подключение программатора PIC-KIT3

Характеристики миниатюрного PIC-контроллера

Семейство РIС12ххх содержит контроллеры в миниатюрном 8–выводном корпусе со встроенным тактовым генератором. Контроллеры имеют RISC–архитектуру и обеспечивают выполнение большинства команд процессора за один машинный цикл.

Для примера, ниже даны характеристики недорогого компактного 8-разрядного контроллера PIC12F629 с многофункциональными портами, малым потреблением и широким диапазоном питания [1].

• Архитектура: RISC
• Напряжение питания VDD: от 2,0В до 5,5В (< 6,5В)
• Потребление:
— <1,0 мА @ 5,5В, 4МГц
— 20 мкА (тип) @ 32 кГц, 2,0В
— <1,0 мкА (тип) в режиме SLEEP@2,0В
• Рассеиваемая мощность: 0,8Вт
• Многофункциональные каналы ввода/вывода: 6/5
• Максимальный выходной ток портов GPIO: 125мА
• Ток через программируемые внутренние подтягивающие резисторы портов: ≥50 (250) ≤400 мкА @ 5,0В
• Разрядность контроллера: 8
• Тактовая частота от внешнего генератора: 20 МГц
Длительность машинного цикла: 200 нс
• Тактовая частота от внутреннего RC генератора: 4 МГц ±1%
Длительность машинного цикла: 1мкс
• FLASH память программ: 1К
Число циклов стирание/запись: ≥1000
• ОЗУ память данных: 64
• EEPROM память данных: 128
Число циклов стирание/запись: ≥10K (-40оС ≤TA≤ +125 оС)
• Аппаратные регистры специального назначения: 16
• Список команд: 35 инструкций, все команды выполняются за один машинный цикл,
кроме команд перехода, выполняемых за 2 цикла
• Аппаратный стек: 8 уровней
• Таймер/счетчик ТМR0: 8-разрядный с предделителем
• Таймер/счетчик ТМR1: 16-разрядный с предделителем

Дополнительные особенности:


• Сброс по включению питания (POR)
• Таймер сброса (PWRTтаймер ожидания запуска генератора (OST
• Сброс по снижению напряжения питания (BOD)
• Сторожевой таймер WDT
• Мультиплексируемый вывод -MCLR
• Система прерываний по изменению уровня сигнала на входах
• Индивидуально программируемые для каждого входа подтягивающие резисторы
• Программируемая защита входа
• Режим пониженного энергопотребления SLEEP
• Выбор режима работы тактового генератора
• Внутрисхемное программирование ICSP с использованием двух выводов
• Четыре пользовательские ID ячейки

Предельная рабочая температура для Е исполнения (расширенный диапазон) от -40оС до +125 оС;

Температура хранения от -65оС до +150 оС.

КМОП технология контроллера обеспечивает полностью статический режим работы, при котором остановка тактового генератора не приводит к потере логических состояний внутренних узлов.
Микроконтроллер PIC12F629 имеет 6-разрядный порт ввода/вывода GPIO. Один вывод GP3 порта GPIO работает только на вход, остальные выводы можно сконфигурировать для работы как на вход так и на выход. Каждый вывод GPIO имеет индивидуальный бит разрешения прерываний по изменению уровня сигнала на входах и бит включения внутреннего подтягивающего резистора.

Интегрированная среда разработки MPLAB IDE

MPLAB IDE — бесплатная интегрированная среда разработки ПО для микроконтроллеров PIC включает средства для создания, редактирования, отладки, трансляции и компоновки программ, записи машинного кода в микроконтроллеры через программаторы.

Загрузка MPLAB IDE

Бесплатные версии MPLAB (включая MPLAB 8.92) хранятся на сайте компании Microchip в разделе «DOWNLOAD ARCHIVE».

Создание проекта

Пример создания проекта программ PIC контроллера в среде MPLAB включает следующие шаги [2].

1. Вызов менеджера проекта.

2. Выбор типа PIC микроконтроллера.

3. Выбор компилятора, например, Microchip MPASM для ассемблера.

4. Выбор пути к каталогу проекта (клавиша Browse…) и ввод имени проекта.

5. Подключение файлов к проекту в окне Project Wizard → Step Four можно не выполнять. Это можно сделать позднее, внутри активного проекта. Клавиша Next открывает следующее окно.

6. Завершение создания проекта (клавиша Finish).

В результате создания проекта FirstPrMPLAB интерфейс MPLAB принимает вид, показанный на Рис. 1.


Рис. 1. Интерфейс среды MPLAB v8.92 и шаблон проекта.

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

Создание программы в MPLAB можно выполнить в следующей последовательности.

1. Открыть редактор программ: меню → File → New. Изначально программе присвоено имя Untitled.

2. Набрать или скопировать программу, например, на ассемблере.

3. Сохранить программу под другим именем (меню → File → Save As), например, FirstPrMPLAB.asm.


Рис. 2. Пример простейшей программы (на ассемблере) вывода сигналов через порты контроллера GP0, GP1, GP2, GP4, GP5 на максимальной частоте.

Запись ‘1’ в разряде регистра TRISIO переводит соответствующий выходной буфер в 3-е состояние, в этом случае порт GP может работать только на вход. Установка нуля в TRISIO настраивает работу порта GP на выход.

Примечание. По спецификации PIC12F629 порт GP3 микроконтроллера работает только на вход (соответствующий бит регистра TRISIO не сбрасывается – всегда находится в ‘1’).

Регистры TRISIO и GPIO находятся в разных банках области памяти. Переключение банков выполняется 5-м битом регистра STATUS.

Любая программа на ассемблере начинается директивой org и заканчивается директивой end. Переход goto Metka обеспечивает циклическое выполнение программы.

В программе (Рис. 2) используются следующие обозначения.

Директива LIST — назначение типа контроллера
Директива __CONFIG — установка значений битов конфигурации контроллера
Директива equ — присвоение числового значения
Директива org 0 — начало выполнения программы с адреса 0
Команда bsf — устанавливает бит указанного регистра в 1
Команда bсf — сбрасывает бит указанного регистра в 0
Команда movlw — записывает константу в регистр W
Команда movwf — копирует содержимое регистра W в указанный регистр
Команда goto — обеспечивает переход без условия на строку с меткой
Директива end — конец программы

Установка требуемой конфигурации микроконтроллера

Конфигурация микроконтроллера PIC12F629 зависит от настроек слова конфигурации (2007h), которые можно задать в программе через директиву __CONFIG.

Непосредственно или через окно MPLAB: меню → Configure → Configuration Bits:

Где:

Бит 2-0 — FOSC2:FOSC0. Выбор тактового генератора
111 — Внешний RC генератор. Подключается к выводу GP5. GP4 работает как CLKOUT
110 — Внешний RC генератор. Подключается к выводу GP5. GP4 работает как ввод/вывод
101 — Внутренний RC генератор 4МГц. GP5 работает как ввод/вывод. GP4 — как CLKOUT
100 — Внутренний RC генератор 4МГц. GP5 и GP4 работают как ввод/вывод
011 — EC генератор. GP4 работает как ввод/вывод. GP5 — как CLKIN
010 — HC генератор. Резонатор подключается к GP4 и GP5
001 — XT генератор. Резонатор подключается к GP4 и GP5
000 — LP генератор. Резонатор подключается к GP4 и GP5

Бит 3 — WDTE: настройка сторожевого таймера (Watchdog Timer)
1 — WDTE включен
0 — WDTE выключен

Сторожевой таймер предохраняет микроконтроллер от зависания – перезапускает программу через определенный интервал времени если таймер не был сброшен. Период таймера устанавливается в регистре OPTION_REG. Обнуление сторожевого таймера вызывается командой CLRWDT.

Бит 4 — PWRTE: Разрешение работы таймера включения питания:
1 — PWRT выключен
0 — PWRT включен

Таймер задерживает микроконтроллер в состоянии сброса при подаче питания VDD.

Бит 5 — MCLR: Выбор режима работы вывода GP3/-MCLR
1 — работает как -MCLR
0 — работает как порт ввода-вывода GP3

Бит 6 — BODEN: Разрешение сброса по снижению напряжения питания (как правило < 2.0В)
1 — разрешен сброс BOR
0 — запрещен сброс BOR автоматически включается таймер

При разрешении сброса BOR автоматически включается таймер PWRT

Бит 7 — .CP: Бит защиты памяти программ от чтения программатором
1 Защита выключена
0 Защита включена

При выключения защиты вся память программ стирается

Бит 8 — .CPD: Бит защиты EPROM памяти данных
1 Защита выключена
0 Защита включена

После выключения защиты вся информация будет стерта

Бит 11-9 — Не используются: Читается как ‘1’.

Бит 13-12 — BG1:BG0. Биты калибровки сброса по снижению питания
00 — нижний предел калибровки
11 — верхний предел калибровки


Добавление программы к проекту

Пример добавления программы к проекту показан на (Рис. 3).


Рис. 3. Добавление программы FirstPrMPLAB.asm к проекту FirstPrMPLAB.mcp

Сохранить материалы проекта можно командой: меню → File → Save Workspace.

Компиляция

Чтобы создать бинарный файл с расширением hex для прошивки микроконтроллера необходимо откомпилировать проект. Запуск компиляции выполняется командой меню → Project → Build All. Результаты компиляции можно увидеть в окне Output (Рис. 1). Если в программе нет ошибок, то компилятор выдаёт сообщение об успешной компиляции: BUILD SUCCEEDED, загрузочный HEX файл можно найти в рабочем каталоге:


Отладка программы

Отладку программы в среде MPLAB IDE можно выполнить при помощи аппаратного эмулятора MPLAB REAL ICE или программного симулятора MPLAB SIM. Запуск последнего выполняется как показано на Рис. 4.


Рис. 4. Подключение к симулятору MPLAB SIM для отладки программы.

После запуска отладчика в окне Output (Рис. 1) появляется закладка MPLAB SIM, куда MPLAB выводит текущую информацию отладчика. Команды отладчика (Рис. 5) после запуска становятся активными.


Рис. 5. Команды отладчика.

Команды отладчика:

• Run — Непрерывное выполнение программы до точки останова (Breakpoint) если таковая установлена.
• Halt — Остановка программы на текущем шаге выполнения.
• Animate — Анимация непрерывного выполнения программы.
• Step Into — Выполнение по шагам (вызовы Call выполняются за один шаг).
• Step Over — Выполнение по шагам включая команды вызовов Call.
• Reset — Начальная установка программы. Переход указателя на первую команду.
• Breakpoints — Отображение списка точек останова. Обработка списка.

При выполнении программы по шагам текущий шаг выделяется стрелкой (Рис. 6). Непрерывное выполнение программы останавливается командой Halt или достижением программой точки останова. Точка останова устанавливается/снимается в строке программы двойным щелчком.
Пример программы на ассемблере, которая с максимальной скоростью меняет состояние портов контроллера показан на Рис. 6 (справа). Программа передаёт в регистр портов GPIO данные b’10101010’ и b’01010101’. Поскольку в регистре GPIO передачу данных в порты контроллера выполняют не все разряды, а только 0,1,2,4 и 5, то состояние регистра GPIO (Рис. 6, слева) отличается значениями: b’00100010’ и b’00010101’.


Рис. 6. Состояние регистров специального назначения контроллера на момент выполнения программы (слева) и выполняемая по шагам программа (справа).

В процессе отладки можно наблюдать за состоянием регистров, переменных, памяти в соответствующих окнах, открываемых в разделе View основного меню. В процессе отладки можно вносить изменения в код программы, содержимое регистров, памяти, изменять значения переменных. После изменения кода необходимо перекомпилировать программу. Изменение содержимого регистров, памяти и значения переменных (окна раздела View: Special Function Register, File Register, EEPROM, Watch) не требует перекомпиляции.

Входные сигналы портов модели микроконтоллера можно задать в разделе Debugger → Stimulus. Устанавливаемые состояния сигналов портов привязываются к времени (тактам) отладки.

Иногда результаты выполнения программы в режиме отладки не соответствуют выполнению этой же программы в реальном контроллере, так, например, отладчик программы (Рис. 6) без инструкций movlw 0x07 и movwf cmcon показывает, что выходы GP0 и GP1 регистра GPIO не изменяются — находятся в нулевом состоянии, содержимое регистра GPIO попеременно равно 0x14 и 0х20. Однако, контроллер, выполняющий программу без указанных инструкций, показывает на осциллографе циклическую работу всех пяти выходов: 0x15 и 0х22, включая GP0 и GP1 (см. Рис. 7).

Осциллограммы контроллера, выполняющего циклы программы Рис. 6 (Metka… goto Metka) показаны на Рис. 7.


Рис. 7. Осциллограммы выхода GP0 (слева) и GP1 (справа) микроконтроллера PIC12F629, работающего от внутреннего 4МГц RC генератора. Программа (Рис. 6) формирует сигналы максимальной частоты на всех выходах контроллера. За период сигналов 5.3 мкс выполняется 5 команд (6 машинных циклов), амплитуда GP0 сигнала на осциллограмме равна 4.6В, измеренное программатором питание контроллера 4.75В.

Прошивка микроконтроллера

Для записи программы в микроконтроллер (прошивки контроллера) необходимо микроконтроллер подключить к интегрированной среде MPLAB IDE через программатор. Организация подключения показана ниже в разделе «Подключение программатора PIC-KIT3».

Примечание. В контроллер PIC12F629 записана заводская калибровочная константа настройки частоты внутреннего тактового генератора. При необходимости её можно прочитать и восстановить средствами MPLAB с использованием программатора.

Команды для работы с программатором и изменения его настроек находятся в меню MPLAB Programmer. Тип программатора в MPLAB выбирается в разделе: меню → Programmer → Select Programmer.


Рис. 8. Выбор программатора для подключения к среде MPLAB.

Прошивка микроконтроллера через программатор запускается командой: меню → Programmer → Program. Сообщение об успешной прошивке показано на Рис. 9.


Рис. 9. Запуск прошивки микроконтроллера и вид сообщения об успешной прошивке.

Примечание: Во время прошивки микроконтроллера у программатора PIC-KIT3 мигает желтый светодиод.

Подключение MATLAB/SIMULINK к MPLAB

В системе моделирования динамических систем Simulink (приложение к Matlab) на языке графического программирования [7] можно разрабатывать программы для семейства PIC контроллеров имеющих АЦП/ЦАП, счетчики, таймеры, ШИМ, DMA, интерфейсы UART, SPI, CAN, I2C и др.

Пример Simulink программы PIC контроллера показан на Рис. 10.


Рис. 10. Пример программы на языке графического программирования для PIC контроллера выполненной в среде моделирования динамических систем Simulink.

Взаимодействие средств разработки и компиляции программ для PIC контроллеров в Simulink показано на Рис. 11 [6].


Рис. 11. Структура средств построения адекватной модели PIC контроллера на языке графического программирования.

Для построения среды разработки необходимы следующие компоненты Matlab:

• Simulink
• Real-Time Workshop Embedded Coder
• Real-Time Workshop

И Cи компилятор компании Microchip:

• C30 для контроллеров PIC24, dsPIC30 и PIC33
• или C32 для контроллеров серии PIC32

Установка компонентов Matlab

На

сайте

имеются Simulink библиотеки (dsPIC Toolbox) для PIC контроллеров и версий Matlab c R2006a по R2012a:

Для скачивания библиотеки необходимо зарегистрироваться. Программы поддерживают работу 100 микроконтроллеров из серий PIC 16MC, 24F, 30F, 32MC, 33F, 56GP, 64MC, 128MC, 128GP.
Бесплатные версии работают с Simulink моделями PIC контроллеров имеющих до 7 портов ввода-вывода.

Для установки dsPIC Toolbox — библиотеки блоков PIC контроллеров для Matlab/Simulink необходимо [4]:

• Скачать dsPIC Toolbox для требуемой версии Matlab.
• Распаковать zip файл в папке, в которой будут установлены Simulink блоки.
• Запустить Matlab.
• Настроить текущий каталог Matlab на папку с распакованным файлом.
• Открыть и запустить файл install_dsPIC_R2012a.m, например, кнопкой меню или клавишей клавиатуры.

Библиотеки dsPIC и примеры Simulink моделей устанавливаются в текущую папку Matlab (Рис. 12). Установленные блоки для моделирования PIC контроллеров доступны в разделе Embedded Target for Microchip dsPIC библиотеки Simulink (Рис. 13).


Рис. 12. Содержимое текущего каталога после выполнения install_dsPIC_R2012a.m.
Рис. 13. Блоки, установленной библиотеки «Embedded Target for Microchip dsPIC».

Для совместной компиляции Simulink модели средствами Matlab и MPLAB необходимо прописать в переменной окружения path Matlab с высшим приоритетом путь к каталогу MPLAB с файлами MplabOpenModel.m, MplabGetBuildinfo.m и getHardwareConfigs.m:

>> path('c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\',path) 

Установка Си компилятора MPLAB

Компиляторы MPLAB находятся

на сайте Microchip

(Download Archive → MPLAB C Compiler for PIC24 and dsPIC DSCs). Для установки демонстрационной версии компилятора С30 необходимо его скачать по ссылке PIC24/dsPIC v3.25 (Рис. 14) и запустить принятый файл mplabc30-v3.25-comboUpgrade.exe.


Рис. 14. Версии Си компилятора (слева) и режимы его установки (справа).

Примечание. Работа выполнена с версией v3.25 компилятора С30 для PIC24/dsPIC. Проверка показала, что следующая версия v3.30 не поддерживает совместную компиляцию моделей Matlab R2012a (dsPIC Toolbox) без ошибок.

Установочный exe файл создаёт в разделе c:\Program Files (x86)\Microchip\ новый каталог mplabc30 с файлами:


Рис. 15. Каталоги компилятора C30 MPLAB.

Последовательность Simulink программирования для PIC контроллеров

1. Создайте рабочий каталог и скопируйте в него *.mdl примеры из раздела example (см. Рис. 12).
2. Загрузите Matlab. Настройте его на рабочий каталог.
3. Включите в переменную окружения path Matlab с высшим приоритетом путь к MPLAB — каталогу c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\:

>> path('c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\',path) 

Примечание: Использование команды >>path без аргументов приводит к отображению списка путей переменной path в окне команд (Command Window). Удалить путь из переменной path можно командой rmpath, например:

>>rmpath(' c:\Program Files\Microchip\MPLAB IDE\Tools\MATLAB\')

4.

Создайте Simulink модель для PIC контроллера, используя блоки библиотеки «Embedded Target for Microchip dsPIC» (Рис. 13), или загрузите готовую модель, например, Servo_ADC.mdl.

Тип контроллера, для которого разрабатывается Simulink модель, выбирается из списка в блоке Master > PIC (Рис. 16, Рис. 10), который должен быть включен в состав модели.


Рис. 16. Выбор типа контроллера в блоке Master модели.

5. Проверьте настройки конфигурации модели: Меню → Simulation → Configuration Parameters <Ctrl+E>. В строке ввода System target file раздела Code Generation должен быть указан компилятор S-функций dspic.tlc (Рис. 17). Выбор dspic.tlc настраивает все остальные параметры конфигурации модели, включая шаг и метод интегрирования.


Рис. 17. Выбор компилятора S-функций dspic.tlc для моделей PIC-контроллеров в разделе «основное меню → Simulation → Configuration Parameters → Code Generation».

6. Откомпилируйте модель tmp_Servo_ADC.mdl. Запуск компилятора показан на Рис. 18.


Рис. 18. Запуск компилятора Simulink модели.

В результате успешной компиляции (сообщение: ### Successful completion of build procedure for model: Servo_ADC) в текущем каталоге создаются HEX файл для прошивки PIC контроллера и MCP проект среды MPLAB (Рис. 19).


Рис. 19. Результаты компиляции модели.

Запуск модели в Matlab/Simulink выполняется в окне модели кнопкой, условное время моделирования устанавливается в строке:


Управление компиляцией Simulink моделей из среды MPLAB

Управление компиляцией Simulink модели можно выполнять командами раздела Matlab/Simulink среды MPLAB, например, в следующем порядке.

1. Разработайте модель PIC контроллера в Matlab/Simulink. Сохраните модель.
2. Запустите MPLAB.
3. Выберите MPLAB меню → Tools → Matlab/Simulink и новый раздел появится в составе меню.

4. В разделе Matlab/Simulink откройте Simulink модель, например, Servo_ADC, командой «Matlab/Simulink → Specify Simulink Model Name → Open → File name → Servo_ADC.mdl → Open». Команда Open запускает Matlab и открывает модель.

5. Откомпилируйте модель и создайте MCP проект командами Generate Codes или Generate Codes and Import Files. Перевод MDL модели в MCP проект выполняется TLC компилятором Matlab.
В результате создаётся проект MPLAB:

со скриптами модели на языке Си.

6. Откройте проект: меню → Project → Open → Servo_ADC.mcp (Рис. 20).


Рис. 20. Структура MCP проекта Simulink модели Servo_ADC.mdl в среде MPLAB.
Проект Simulink модели готов для редактирования, отладки и компиляции в машинные коды контроллера средствами MPLAB.

Подключение программатора PIC-KIT3

Узнать какие программаторы записывают бинарный код в конкретный микроконтроллер можно в разделе меню → Configure → Select Device среды MPLAB 8.92. Например, программатор PIC-KIT3 не поддерживает контроллер PIC12C508A (Рис. 21, левый рисунок), но работает с контроллером PIC12F629 (Рис. 21, правый рисунок).


Рис. 21. Перечень программаторов для прошивки микроконтроллера.

Информацию об установленном драйвере программатора PIC-KIT3 можно запросить у менеджера устройств ОС Windows (Рис. 22).


Рис. 22. Информация об установленном драйвере программатора PIC-KIT3.

Схема подключения микроконтроллера PIC12F629 к программатору PIC-KIT3 показана на Рис. 23.


Рис. 23. Схема подключения микроконтроллера PIC12F629 к программатору PIC-KIT3.

Вывод PGM программатора для прошивки контроллеров PIC12F629 не используется. Наличие вывода PGM для разных типов PIC контроллеров показано на Рис. 24. Вывод PGM рекомендуется «притягивать» к общему проводу (GND), через резистор, номиналом 1К [3].


Рис. 24. Выводы PGM PIC контроллеров.

Индикация светодиодов программатора Olimex PIC-KIT3 показана в ниже:

Желтый — Красный — Состояние программатора
Вкл — Выкл — Подключен к USB линии
Вкл — Вкл — Взаимодействие с MPLAB
Мигает — Включен постоянно — Прошивка микроконтроллера

Не следует подключать питание микроконтроллера VDD (Рис. 23) к программатору, если контроллер запитывается от своего источника питания.

При питании микроконтроллера от программатора на линии VDD необходимо установить рабочее напряжение, например, 5В программой MPLAB (Menu → Programmer → Settings → Power), как показано на Рис. 25.

Примечание. При отсутствии напряжения на линии VDD MPLAB IDE выдает сообщение об ошибке: PK3Err0045: You must connect to a target device to use


Рис. 25. Установка напряжения VDD на программаторе PIC-KIT3 программой MPLAB IDE v8.92.

Если программатор не может установить требуемое напряжение, например, 5В при его питании от USB, в которой напряжение меньше 5В, MPLAB IDE выдает сообщение об ошибке: PK3Err0035: Failed to get Device ID. В этом случае, сначала необходимо измерить напряжение программатора — считать его в закладке меню → Programmer → Settings → Status, а затем установить напряжение (не больше измеренного) в закладке меню → Programmer → Settings → Power.


Рис. 26. Измерение (слева) и установка (справа) VDD напряжения программатора PIC-KIT3 программой MPLAB IDE v8.92.

Пример MPLAB сообщения успешного подключения микроконтроллера к программатору по команде меню → Programmer → Reconnect показан на Рис. 27.


Рис. 27. Сообщение MPLAB об успешном подключении микроконтроллера к программатору.

Можно программировать не только отдельный PIC контроллер, но и контроллер, находящийся в составе рабочего устройства. Для программирования PIC контроллера в составе устройства необходимо предусмотреть установку перемычек и токоограничивающих резисторов как показано на Рис. 28 [3].


Рис. 28. Подключение микроконтроллера в составе электронного устройства к программатору.

Заключение

Малоразрядные PIC-контроллеры имеют широкий диапазон питания, низкое потребление и малые габариты. Они программируются на языках низкого уровня. Разработка программ на языке графического программирования Simulink с использованием многочисленных библиотек значительно сокращает время разработки и отладки в сравнении с программированием на уровне ассемблера. Разработанные для PIC-контроллеров Simulink структуры можно использовать и для компьютерного моделирования динамических систем с участием контроллеров. Однако, из-за избыточности кода такой подход применим только для семейств PIC контроллеров с достаточными ресурсами.

RCD-программатор микроконтроллеров PIC — radiohlam.ru

Когда я начал заниматься PIC-контроллерами, то, естественно, первым делом встал вопрос о выборе программатора. Поскольку фирменные программаторы дело не дешевое, да и вообще покупать программатор мне показалось не спортивным, было принято решение собрать его самостоятельно. Облазив просторы Интернета я скачал схему и собрал JDM-программатор. Он работал очень плохо: то заливал какую-то фигню, то не заливал первые несколько байт, то вообще ничего не заливал.

Существенным недостатком JDM-программатора является то, что он не может контролировать линию Vdd и, как следствие, — не может реализовать правильный алгоритм подачи напряжений при программировании. Если контроллер сконфигурирован таким образом: «Internal Oscillator», «MCLR Off», то при неправильной последовательности подачи напряжений он сначала запускается и начинает выполнять ранее зашитую в нем программу, а потом переходит в режим программирования (при этом указатель может указывать куда угодно, а не на начало памяти программ). В связи с этим: то, куда будет залита ваша программа, да и будет ли залита вообще — большой вопрос!

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

На диодах D1…D4 и стабилитроне D6 выполнен простейший преобразователь уровней RS232->TTL. Когда на линиях DATA, CLOCK напряжение меньше 0В, то они через диоды D1, D2 подтягиваются к земле, а когда напряжение на этих линиях больше 5В, то они через диоды D3, D4 подтягиваются к питанию +5В, которое задается стабилитроном D6.

Питается этот девайс прямо от COM-порта. Стабилитроны и диоды в этой схеме вполне можно заменить отечественными: Д814Д, КС147А и т.д.

Каким образом реализуется правильный алгоритм подачи напряжений и откуда вообще берутся 13 Вольт напряжения программирования? Всё как всегда очень просто.

При инициализации порта на выходе TxD висит -10В. При этом конденсатор С1 заряжается через стабилитрон D7 (который в данном случае оказывается включён в прямом
направлении и работает в качестве диода). Т.е. напряжение на плюсовой ноге С1 относительно GND равно нулю, но относительно TxD=+10В (или сколько там у вас напряжение на выходе COM-порта).

Теперь представим, что происходит при изменении напряжения на выходе TxD с -10В до +10В. Одновременно с ростом напряжения на выводе TxD, начнёт расти и напряжение на плюсовой ноге конденсатора С1. Заряд не может слиться на землю через D7, т.к. теперь D7 включен обратно, единственный путь — утечка через PIC, но ток там мизерный. Итак, напряжение на плюсовой ноге С1 (а, следовательно и на выводе MCLR) начинает расти. В момент, когда на TxD ноль относительно земли, на конденсаторе С1 (на его плюсовой ноге, а следовательно и на MCLR) относительно земли как раз +10В. Когда на TxD +3В, — на С1 уже 3+10=13В. Вот и всё, напряжение Vpp уже подано, а на линии VDD ещё только +3В.

При дальнейшем росте напряжения на TxD, — напряжение на С1 не растёт, так как начинает работать стабилитрон D7. При росте напряжения на TxD выше +5В начинает работать стабилитрон D6.

Чтобы ограничить ток разряда конденсатора C1 через стабилитрон D7, в схему включен резистор R6, соответственно, напряжение на C1 не точно равно напряжению стабилизации, а несколько выше: UC1=Uст+IРАЗР*R6. Для подстройки напряжения программирования служит сопротивление R3. Можно поставить переменное 10КОм или подобрать постоянное, так, чтобы напряжение программирования было примерно 13 В (в устройстве, представленном на рисунке ниже, R3=1,2 кОм).

Я успешно программирую этим программатором контроллеры PIC12F629 и PIC16F628A, однако автор утверждал, что этим программатором (в представленном мной варианте) можно программировать PIC12F508 , PIC12F509 , PIC12F629 , PIC12F635, PIC12F675, PIC12F683 , PIC16F627A , PIC16F628A , PIC16F648A. Кроме этих, на сайте автора feng3.cool.ne.jp есть модификации программатора для других PIC-контроллеров.

Готовые девайсы:

Вариант программатора от Mixer:

Программу IC-prog 1.05D, для прошивки контроллеров, можно скачать в разделе софт. При прошивке выбрать тип программатора JDM. Включить контроль Vcc для JDM. При использовании совместно с операционными системами Windows 2000/NT/XP — выбрать интерфейс Windows API и включить галочку «Enable NT/2000/XP driver», в остальных случаях используйте интерфейс Direct I/O.

Еще одно. Господа, сохраняйте пожалуйста при прошивке калибровочные биты или потом не жалуйтесь, что на внутреннем генераторе нестабильно работает/не работает!!!

Скачать печатную плату (AutoCAD2000i)

Скачать печатную плату от Mixer (DipTrace 2.0)

Как сделать свой вариант JDM-программатора для PIC-контроллеров

Если лень или некогда собирать — Вы можете заказать недорогой универсальный программатор прямо у нас на сайте

Модуль RC036. PICKIT 2 W. USB Программатор PIC контроллеров, микросхем памяти EEPROM и ключей KeeLOQ

Полный схемотехнический аналог фирменного программатора PICKIT 2 компании Microchip. Назначение:

Простой USB программатор PICKIT 2 W для микроконтроллеров PIC, микросхем памяти и ключей KeeLOQ производства компании Microchip Technology Inc.
Программатор поддерживается Интегрированной средой разработки MPLAB-IDE, и собственной программой PICkit 2 Programmer.
При использовании с MPLAB-IDE, программатор PICKIT 2 может выполнять функцию Внутрисхемного Отладчика (ICD).

Исполнение:

Малогабаритный модуль в пластиковом корпусе с интерфейсом USB и 6-ти контактным разъёмом ICSP.
Программатор PICKIT 2 питается от USB порта компьютера.
Подключение микроконтроллеров к программатору PICKIT 2 осуществляется через 6-контактный разъём ICSP. Шаг выводов разъёма 2,54 мм. Ответные разъёмы и кабель для подключения в комплекте

Список поддерживаемых микросхем: (Версия программы PICkit 2 v2.61)

Baseline PIC:
PIC10F200, PIC10F202, PIC10F204, PIC10F206, PIC10F220, PIC10F222
PIC12F508, PIC12F509, PIC12F510, PIC12F519
PIC16F505, PIC16F506, PIC16F526
PIC16F54, PIC16F57, PIC16F59

Midrange PIC:
PIC12F609, PIC12HV609
PIC12F615, PIC12HV615
PIC12F617
PIC12F629, PIC12F635, PIC12F675, PIC12F683
PIC12F752
PIC16F610, PIC16HV610
PIC16F616, PIC16HV616
PIC16F627, PIC16F628
PIC16F627A, PIC16F628A, PIC16F648A
PIC16F630, PIC16F631, PIC16F636, PIC16F639, PIC16F676
PIC16F677, PIC16F684, PIC16F685, PIC16F687
PIC16F688, PIC16F689, PIC16F690
PIC16F707
PIC16F72
PIC16F73, PIC16F74, PIC16F76, PIC16F77
PIC16F720, PIC16F721
PIC16F722
PIC16F723, PIC16F724, PIC16F726, PIC16F727
PIC16F722A, PIC16F723A
PIC16F716
PIC16F737, PIC16F747, PIC16F767, PIC16F777
PIC16F785, PIC16HV785
PIC16F84A, PIC16F87, PIC16F88
PIC16F818, PIC16F819
PIC16F870, PIC16F871, PIC16F872
PIC16F873, PIC16F874, PIC16F876, PIC16F877
PIC16F873A, PIC16F874A, PIC16F876A, PIC16F877A
PIC16F882, PIC16F883, PIC16F884, PIC16F886, PIC16F887
PIC16F913, PIC16F914, PIC16F916, PIC16F917
PIC16F946
PIC16F1516, PIC16F1517, PIC16F1518, PIC16F1519
PIC16F1526, PIC16F1527
PIC16F1782, PIC16F1783
PIC12F1822
PIC16F1823, PIC16F1824
PIC16F1826, PIC16F1827, PIC16F1828
PIC16F1825, PIC16F1829
PIC12F1840
PIC16F1847
PIC16LF1902, PIC16F1903, PIC16F1904, PIC16F1906, PIC16F1907
PIC16F1933, PIC16F1934, PIC16F1936, PIC16F1937
PIC16F1938, PIC16F1939
PIC16F1946, PIC16F1947

PIC18F:
PIC18F242, PIC18F252, PIC18F442, PIC18F452
PIC18F248, PIC18F258, PIC18F448, PIC18F458
PIC18F1220, PIC18F1320, PIC18F2220, PIC18F2320
PIC18F1230, PIC18F1330
PIC18F2221, PIC18F2321
PIC18F2331, PIC18F2410, PIC18F2420, PIC18F2431
PIC18F2423
PIC18F2450, PIC18F2455, PIC18F2458, PIC18F2480
PIC18F2510, PIC18F2515, PIC18F2520, PIC18F2523
PIC18F2525
PIC18F2550, PIC18F2553, PIC18F2580, PIC18F2585
PIC18F2610, PIC18F2620, PIC18F2680
PIC18F2682, PIC18F2685
PIC18F4220, PIC18F4221
PIC18F4320, PIC18F4321, PIC18F4331
PIC18F4410, PIC18F4420, PIC18F4423
PIC18F4431, PIC18F4450, PIC18F4455
PIC18F4458, PIC18F4480
PIC18F4510, PIC18F4515, PIC18F4520, PIC18F4523
PIC18F4525, PIC18F4550, PIC18F4553, PIC18F4580
PIC18F4585
PIC18F4610, PIC18F4620, PIC18F4680
PIC18F4682, PIC18F4685
PIC18F6310, PIC18F6390, PIC18F6393
PIC18F6410, PIC18F6490, PIC18F6493
PIC18F6520, PIC18F6525, PIC18F6527, PIC18F6585
PIC18F6620, PIC18F6621, PIC18F6622, PIC18F6627
PIC18F6628, PIC18F6680
PIC18F6720, PIC18F6722, PIC18F6723
PIC18F8310, PIC18F8390, PIC18F8393
PIC18F8410, PIC18F8490, PIC18F8493
PIC18F8520, PIC18F8525, PIC18F8527, PIC18F8585
PIC18F8621, PIC18F8620, PIC18F8622, PIC18F8627
PIC18F8628, PIC18F8680
PIC18F8720, PIC18F8722, PIC18F8723
PIC18F24J10, PIC18F25J10, PIC18F44J10, PIC18F45J10
PIC18LF24J10, PIC18LF25J10, PIC18LF44J10, PIC18LF45J10
PIC18F24J11, PIC18F25J11, PIC18F44J11, PIC18F45J11
PIC18LF24J11, PIC18LF25J11, PIC18LF44J11, PIC18LF45J11
PIC18F26J11, PIC18F46J11
PIC18LF26J11, PIC18LF46J11
PIC18F24J50, PIC18F25J50, PIC18F44J50, PIC18F45J50
PIC18LF24J50, PIC18LF25J50, PIC18LF44J50, PIC18LF45J50
PIC18F26J50, PIC18F46J50
PIC18LF26J50, PIC18LF46J50
PIC18F63J11, PIC18F63J90, PIC18F64J11, PIC18F64J90
PIC18F65J10, PIC18F65J11, PIC18F65J15
PIC18F65J50, PIC18F65J90
PIC18F66J10, PIC18F66J11, PIC18F66J15, PIC18F66J16
PIC18F66J50, PIC18F66J55, PIC18F66J60, PIC18F66J65
PIC18F66J90
PIC18F67J10, PIC18F67J11, PIC18F67J50, PIC18F67J60
PIC18F67J90
PIC18F83J11, PIC18F83J90, PIC18F84J11, PIC18F84J90
PIC18F85J10, PIC18F85J11, PIC18F85J15, PIC18F85J50
PIC18F85J90
PIC18F86J10, PIC18F86J11, PIC18F86J15, PIC18F86J16
PIC18F86J50, PIC18F86J55, PIC18F86J60, PIC18F86J65
PIC18F86J90
PIC18F87J10, PIC18F87J11, PIC18F87J50, PIC18F87J60
PIC18F86J90
PIC18F96J60, PIC18F96J65
PIC18F97J60
PIC18F13K22, PIC18F14K22
PIC18F13K50, PIC18F14K50
PIC18F23K20, PIC18F24K20, PIC18F25K20, PIC18F26K20
PIC18F43K20, PIC18F44K20, PIC18F45K20, PIC18F46K20
PIC18F23K22, PIC18F24K22, PIC18F25K22, PIC18F26K22
PIC18F43K22, PIC18F44K22, PIC18F45K22, PIC18F46K22

PIC24:
PIC24F04KA200, PIC24F04KA201
PIC24F08KA101, PIC24F08KA102
PIC24F16KA101, PIC24F16KA102
PIC24FJ16GA002, PIC24FJ16GA004
PIC24FJ32GA002, PIC24FJ32GA004
PIC24FJ32GA102, PIC24FJ32GA104
PIC24FJ32GB002, PIC24FJ32GB004
PIC24FJ48GA002, PIC24FJ48GA004
PIC24FJ64GA002, PIC24FJ64GA004
PIC24FJ64GA102, PIC24FJ64GA104
PIC24FJ64GB002, PIC24FJ64GB004
PIC24FJ64GA006, PIC24FJ64GA008, PIC24FJ64GA010
PIC24FJ64GB106, PIC24FJ64GB108, PIC24FJ64GB110
PIC24FJ96GA006, PIC24FJ96GA008, PIC24FJ96GA010
PIC24FJ128GA006, PIC24FJ128GA008, PIC24FJ128GA010
PIC24FJ128GA106, PIC24FJ128GA108, PIC24FJ128GA110
PIC24FJ128GB106, PIC24FJ128GB108, PIC24FJ128GB110
PIC24FJ192GA106, PIC24FJ192GA108, PIC24FJ192GA110
PIC24FJ192GB106, PIC24FJ192GB108, PIC24FJ192GB110
PIC24FJ256GA106, PIC24FJ256GA108, PIC24FJ256GA110
PIC24FJ256GB106, PIC24FJ256GB108, PIC24FJ256GB110
PIC24HJ12GP201, PIC24HJ12GP202
PIC24HJ16GP304
PIC24HJ32GP202, PIC24HJ32GP204
PIC24HJ32GP302, PIC24HJ32GP304
PIC24HJ64GP202, PIC24HJ64GP204
PIC24HJ64GP206, PIC24HJ64GP210, PIC24HJ64GP506
PIC24HJ64GP502, PIC24HJ64GP504, PIC24HJ64GP510
PIC24HJ128GP202, PIC24HJ128GP204
PIC24HJ128GP206, PIC24HJ128GP210, PIC24HJ128GP306
PIC24HJ128GP310
PIC24HJ128GP502, PIC24HJ128GP504
PIC24HJ128GP506, PIC24HJ128GP510
PIC24HJ256GP206, PIC24HJ256GP210, PIC24HJ256GP610

dsPIC30:
dsPIC30F1010
dsPIC30F2010, dsPIC30F2011, dsPIC30F2012
dsPIC30F2020, dsPIC30F2023
dsPIC30F3010, dsPIC30F3011, dsPIC30F3012
dsPIC30F3013, dsPIC30F3014
dsPIC30F4011, dsPIC30F4012, dsPIC30F4013
dsPIC30F5011, dsPIC30F5013, dsPIC30F5015, dsPIC30F5016
dsPIC30F6010A, dsPIC30F6011A, dsPIC30F6012A
dsPIC30F6013A, dsPIC30F6014A, dsPIC30F6015

dsPIC33:
dsPIC33FJ12GP201, dsPIC33FJ12GP202
dsPIC33FJ16GP304
dsPIC33FJ32GP202, dsPIC33FJ32GP204
dsPIC33FJ32GP302, dsPIC33FJ32GP304
dsPIC33FJ64GP202, dsPIC33FJ64GP204
dsPIC33FJ64GP206, dsPIC33FJ64GP306, dsPIC33FJ64GP310
dsPIC33FJ64GP206A, dsPIC33FJ64GP306A, dsPIC33FJ64GP310A
dsPIC33FJ64GP706, dsPIC33FJ64GP708, dsPIC33FJ64GP710
dsPIC33FJ64GP706A, dsPIC33FJ64GP710A
dsPIC33FJ64GP802, dsPIC33FJ64GP804
dsPIC33FJ128GP202, dsPIC33FJ128GP204
dsPIC33FJ128GP206, dsPIC33FJ128GP306, dsPIC33FJ128GP310
dsPIC33FJ128GP206A, dsPIC33FJ128GP306A, dsPIC33FJ128GP310A
dsPIC33FJ128GP706, dsPIC33FJ128GP708, dsPIC33FJ128GP710
dsPIC33FJ128GP706A, dsPIC33FJ128GP710A
dsPIC33FJ128GP802, dsPIC33FJ128GP804
dsPIC33FJ256GP506, dsPIC33FJ256GP510, dsPIC33FJ256GP710
dsPIC33FJ256GP506A, dsPIC33FJ256GP510A, dsPIC33FJ256GP710A
dsPIC33FJ06GS101, dsPIC33FJ06GS102, dsPIC33FJ06GS202
dsPIC33FJ16GS402, dsPIC33FJ16GS404
dsPIC33FJ16GS502, dsPIC33FJ16GS504
dsPIC33FJ12MC201, dsPIC33FJ12MC202
dsPIC33FJ16MC304
dsPIC33FJ32MC202, dsPIC33FJ32MC204
dsPIC33FJ32MC302, dsPIC33FJ32MC304
dsPIC33FJ64MC202, dsPIC33FJ64MC204
dsPIC33FJ64MC506, dsPIC33FJ64MC508, dsPIC33FJ64MC510
dsPIC33FJ64MC706, dsPIC33FJ64MC710
dsPIC33FJ64MC802, dsPIC33FJ64MC804
dsPIC33FJ128MC202, dsPIC33FJ128MC204
dsPIC33FJ128MC506, dsPIC33FJ128MC510
dsPIC33FJ128MC706, dsPIC33FJ128MC708, dsPIC33FJ128MC710
dsPIC33FJ128MC802, dsPIC33FJ128MC804
dsPIC33FJ256MC510, dsPIC33FJ256MC710

PIC32:
PIC32MX320F032H, PIC32MX320F064H
PIC32MX320F128H, PIC32MX320F128L
PIC32MX340F128H, PIC32MX340F128L
PIC32MX340F256H
PIC32MX340F512H
PIC32MX360F256L, PIC32MX360F512L
PIC32MX420F032H
PIC32MX440F128L, PIC32MX440F128H
PIC32MX440F256H
PIC32MX440F512H
PIC32MX460F256L, PIC32MX460F512L

KEELOQ® HCS:
HCS200, HCS201
HCS300, HCS301, HCS320
HCS360, HCS361, HCS362

11 Series Serial EEPROM:
11LC010, 11AA010
11LC020, 11AA020
11LC040, 11AA040
11LC080, 11AA080
11LC160, 11AA160

24 Series Serial EEPROM:
24C00, 24LC00, 24AA00
24C01B, 24LC01B, 24AA01B
24C02B, 24LC02B, 25AA02B
24C04B, 24LC04B, 24AA04B
24C08B, 24LC08B, 24AA08B
24LC16B, 24AA16B
24LC32A, 24AA32A
24LC64, 24FC64, 24AA64
24LC128, 24FC128, 24AA128
24LC256, 24FC256, 24AA256
24LC512, 24FC512, 24AA512
24LC1025, 24FC1025, 24AA1025

25 Series Serial EEPROM:
25LC010A, 25AA010A, 25LC020A, 25AA020A, 25LC040A, 25AA040A
25LC080A, 25AA080A, 25LC080B, 25AA080B, 25LC160A, 25AA160A, 25LC160B, 25AA160B
25LC320A, 25AA320A, 25LC640A, 25AA640A
25LC128, 25AA128, 25LC256, 25AA256, 25LC512, 25AA512, 25LC1024, 25AA1024

93 Series Serial EEPROM:
93LC46A, 93AA46A, 93C46A, 93LC46B, 93AA46B, 93C46B, 93LC46C, 93AA46C, 93C46C
93LC56A, 93AA56A, 93C56A, 93LC56B, 93AA56B, 93C56B, 93LC56C, 93AA56C, 93C56C
93LC66A, 93AA66A, 93C66A, 93LC66B, 93AA66B, 93C66B, 93LC66C, 93AA66C, 93C66C
93LC76A, 93AA76A, 93C76A, 93LC76B, 93AA76B, 93C76B, 93LC76C, 93AA76C, 93C76C
93LC86A, 93AA86A, 93C86A, 93LC86B, 93AA86B, 93C86B, 93LC86C, 93AA86C, 93C86C

MCP250xx CAN:
MCP25020, MCP25025
MCP25050, MCP25055

Документация и программное обеспечение для программатора PICKIT 2.
Ссылка на сайт компании Microchip

Программирование микросхем EEPROM серии 24x:
Вывод разъёма программатораВывод микросхемы серии 24x (корпус DIP)
(2) VDD(8) VCC
(3) GND(4) VSS
(5) PGC(6) SCL
(6) AUX(5) SDA (подключить подтягивающий резистор 1 кОм на VCC)
 (7) WP (можно не подключать, в микросхеме этот вывод подтянут резистором к GND, то есть Write Protect отключен.)
 (1), (2), (3) Адресные входы, подключать к VDD или GND в соответствии с Data Sheet. (Обычно, все на GND).
Комплектность:
PICKIT2 W — Программатор PIC-контроллеров, микросхем памяти EEPROM и ключей KeeLOQ.
Кабель удлинитель (USB-A Mini-USB-B 5 pin.) *1шт.
Кабель ICSP (BLS-1×6 BLS-1×6) *1шт.
Объяснение программирования микроконтроллера PIC

| Arrow.com

Линия микроконтроллеров PIC® компании

Microchip Technology популярна среди инженеров-проектировщиков по нескольким причинам, включая цену, производительность и обширную поддержку проектирования. Существует также широкий выбор микроконтроллеров PIC (MCU), которые были тщательно спроектированы для соответствия требованиям различных приложений.

Начало работы с PIC аналогично началу работы практически с любым MCU: на самом базовом уровне разработчик должен знать — в деталях — логику, которая будет реализована на аппаратном уровне в MCU.Многие проекты сталкиваются с проблемами, потому что дизайнер не продумал логику полностью.

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

Есть также важные вопросы, выходящие за рамки простого электронного проектирования, которые должны решаться MCU: Где будет использоваться устройство системного уровня (условия окружающей среды и географическое положение)? Каким отраслевым стандартам он должен соответствовать и другим продуктам, с которыми он должен взаимодействовать? Какие отраслевые и правительственные постановления в отношении требований по охране труда, здоровья и окружающей среды должны соблюдаться?

На рисунке 1 показана блок-схема PIC16F84 Microchip Technology с вводом / выводом и некоторыми периферийными устройствами.Представленный в начале 1990-х, он выполняет основные функции. Современные 8-битные микроконтроллеры обычно объединяют несколько периферийных устройств, что усложняет программное обеспечение для разработчика приложений.

Рис. 1. PIC16F84 — один из первых микроконтроллеров с серийным номером , имеющий алгоритм последовательного программирования и память EEPROM. Источник: Microchip Technology Inc.

Основы оборудования PIC

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

Базовая архитектура памяти многих PIC — это гарвардская архитектура, которая впервые была широко развернута в микроконтроллере Intel 8051. Эта архитектура имеет одно пространство памяти для хранения программных команд и выделяет другое пространство для данных. Наличие отдельных пространств памяти, которыми может быть встроенная флэш-память, ПЗУ, ОЗУ или внешний чип, обычно приводит к более быстрому выполнению программы.(Термин «Гарвардская архитектура» часто используется в широком смысле. Многие микроконтроллеры, называемые «Гарвардскими», были модифицированы путем смешения архитектур памяти Гарварда и фон Неймана.)

Прежде чем мы сможем пойти намного дальше, мы должны быть достаточно конкретными в отношении микроконтроллера PIC, который будет выбран для дизайна. 8-битные PIC — хороший выбор, потому что они, как правило, дешевле, чем 16- и 32-битные микроконтроллеры, имеют соответствующий набор периферийных устройств (например, аналого-цифровые преобразователи) и обеспечивают хорошую производительность.

Microchip предлагает несколько 8-битных семейств PIC.PIC10F и PIC12F являются наименее дорогими, но имеют меньший объем памяти, меньшее количество выводов и меньшее количество периферийных устройств. Выбор самого дешевого чипа рискует обнаружить на полпути проектирования, что MCU не полностью удовлетворяет потребности приложения. Серия PIC18F находится на другом конце спектра производительности 8-битных продуктов Microchip. Это более сложное семейство, предлагающее узкоспециализированные периферийные устройства на кристалле, а также самое дорогое семейство. Для первого дизайна серия PIC18F, вероятно, была бы излишней.

Дизайн с микроконтроллерами PIC

Разработчику, только начинающему работать с архитектурой PIC, вероятно, лучше всего подойдет микросхема серии PIC16F, которая существует уже более десяти лет и до сих пор популярна. Следовательно, это семейство имеет самую большую библиотеку кода, доступную в Интернете, что означает, что большая часть базового кода была написана и может быть легко загружена.

Этот кладезь ресурсов бесценен. В частности, существует огромное количество кода и схем для PIC16F877, которые использовались во многих «начальных» проектах онлайн-учителями и учителями, а также множеством профессиональных дизайнеров.Однако это старый микроконтроллер, и Microchip не рекомендует его для новых проектов. К счастью, почти вся поддержка дизайна PIC16F877 по-прежнему может использоваться с PIC16F887, который имеет практически те же варианты расположения выводов и периферийных устройств.

PIC16F887 запускает тот же код с, самое большее, незначительными изменениями. Он также использует менее дорогие инструменты разработки программного обеспечения.

PIC16F887 имеет 256 байт памяти данных EEPROM и набор периферийных устройств, которые делают его пригодным для аналогово-цифровых приложений в автомобильной, промышленной, бытовой и бытовой технике.Его техническое описание можно найти по адресу http://ww1.microchip.com/downloads/en/DeviceDoc/41291D.pdf

Как программировать микроконтроллер

Для программирования PIC (или любого MCU) обычно требуются следующие программные инструменты:

— IDE (интегрированная среда разработки), которая преобразует символическую логику, написанную для приложения, в программные команды

— Компилятор, преобразующий программу в язык ассемблера MCU, широко известный инженерам-проектировщикам как файлы HEX.

— IPE (интегрированная среда программирования), которая в конечном итоге использовалась для передачи шестнадцатеричного файла в PIC после некоторой настройки программы

— Внутрисхемный отладчик / программатор

Инструменты разработки программного обеспечения

Microchip высоко ценятся за их производительность и простоту использования.MPLAB®X IDE, компиляторы MPLAB®XC и MPLAB® IPE компании избавляют разработчиков от необходимости сравнивать и покупать сторонние инструменты. Основные инструменты Microchip предоставляются бесплатно. Обзор всех инструментов разработки Microchip можно найти по адресу http://www.microchip.com/development-tools

На рисунке 2 показаны продукты Microchip, доступные в пяти категориях компании MPLABX Integrated Development Environment (IDE).

Рисунок 2.MPLAB X IDE охватывает широкий спектр вспомогательных функций программирования MCU. Источник: Microchip Technology Inc,

.

Для тех, кто впервые использует 8-битные PIC, Microchip упростила начало работы, запустив MPLAB® Xpress, облачную среду IDE, которая избавляет от утомительной загрузки, установки, настройки и периодического обновления инструментов. MPLAB Xpress включает конфигуратор кода MPLAB, который позволяет пользователям автоматически генерировать инициализацию и код приложения C для 8-битных (и 16-битных) микроконтроллеров PIC, используя графический интерфейс и схему контактов.

Как и в случае с любым другим MCU, первым шагом является настройка регистров конфигурации. Биты, запрограммированные в этих регистрах, определяют основные операции устройства, такие как режим генератора, сторожевой таймер, режим программирования и кодовую защиту. Эти биты должны быть установлены правильно для успешного выполнения кода.

После установки битов конфигурации оставшаяся часть процесса создания программы зависит от приложения. После завершения кода следующие шаги включают перемещение логической сущности в реальный мир битов.

Интегрированная среда программирования (IPE) используется для множества функций, включая перенос программы, созданной на вашем ПК или рабочей станции, в MCU. Как упоминалось ранее, среды Microchip объединяют эти функции, но тремя важными концепциями являются моделирование, отладка и программирование PIC. Полное описание программных инструментов и способов их использования выходит за рамки данной статьи.

Внутрисхемный отладчик / программатор PICkit ™ 3 заслуживает упоминания, однако, потому что это дополнительное оборудование и, следовательно, концептуально выходит за рамки программной конфигурации других инструментов.Он используется после передачи прикладной программы в MCU. PICkit 3 управляется ПК, на котором запущено программное обеспечение MPLABX IDE, и является неотъемлемой частью набора инструментов.

Легенда на Рисунке 3 показывает основные соединения между программируемым или отлаживаемым MCU и ПК, на котором работает MPLABX IDE от Microchip Technology.

Рис. 3. PICkit 3 от Microchip предоставляет оборудование для отладки и / или программирования широкого диапазона микроконтроллеров. Источник: Microchip Technology

Преимущества микроконтроллера PIC

Начало работы с PIC MCU требует глубокого понимания приложения, базовой аппаратной архитектуры PIC, которая будет использоваться, и цепочки программных инструментов.Microchip сделал сам процесс проектирования очень доступным для инженеров, знакомых с другими микроконтроллерами, а также для настоящих начинающих дизайнеров. Бесплатные программные инструменты делают стоимость установки разумной, и в сети есть множество кода и советов, как внутри экосистемы проектирования Microchip, так и в Интернете в целом. Все, что требуется от потенциального разработчика ПОС, — это желание приступить к работе и настойчивость, чтобы довести проект до конца.

Проекты Джеффа — Программирование микроконтроллеров PIC

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

Как это часто бывает, Microchip пытается облегчить вам задачу, предоставляя дешевых программаторов и бесплатное программное обеспечение. Они надеются, что это побудит вас покупать больше их фишек. Результат — беспроигрышная ситуация.

Итак, в этой статье я намерен показать, насколько легко запрограммировать микроконтроллер PIC с вложениями менее 20 долларов.

Обратите внимание, что на этой странице описано только программирование процессоров Microchip серии PIC.Есть много других микроконтроллеров (Atmel, TI и т. Д.), И для них потребуются другие программисты и программное обеспечение.

Почти все современные микроконтроллеры используют флэш-память для хранения программы. Вот почему программирование микроконтроллера часто называют «прошивкой» микросхемы.

Флэш-память можно стирать и перепрограммировать много раз, а сохраненные данные сохраняются даже при отключении питания. В дополнение к программе в микросхеме есть другие запоминающие устройства, которые также запрограммированы в одной операции; к ним относятся параметры конфигурации (иногда называемые «предохранителями»), EEPROM (другой тип стираемой памяти) и области загрузки.Информация для программирования всего этого содержится в одном файле, который обычно имеет расширение .hex (например, «FirmwareV1.hex»). Часто файл называют «шестнадцатеричным файлом».

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

ICD3 и ICD4. Это высококлассные (и дорогие) программаторы / отладчики от Microchip.Они предназначены для использования разработчиками и являются излишними для среднего любителя.

PICkit3 и PICkit4. Это лучший выбор для любителей, так как они невысоки и поддерживают все чипы производства Microchip. PICkit4 — новейший и самый быстрый, но PICkit3 по-прежнему хорошо справляется со своей задачей. Преимущество PICkit3 в том, что многие китайские производители делают дешевые клоны, которые можно найти на eBay.

PICkit2. Это старый дизайн, который не поддерживает новейшие микросхемы, такие как серия PIC32.На eBay есть много PICkit2 по очень низким ценам, но вам следует избегать их, поскольку они почти бесполезны.

Внутрисхемный отладчик / программатор MPLAB® Snap является новейшей разработкой Microchip и довольно дешев (15 долларов США + фрахт). Он отлично справляется со своей задачей и может быть приобретен у самих Microchip, таких дистрибьюторов, как Mouser, и на eBay. Это хороший выбор, если вы хотите держаться подальше от китайских клонов PICkit3

.

Если вы просто хотите запрограммировать микросхемы PIC32, используемые для Maximite и Micromite, еще более дешевой альтернативой является Microbridge.Это основано на одном чипе стоимостью менее 2 долларов США, и здесь у него есть собственная веб-страница. Основная проблема с Microbridge заключается в том, что вам нужно в первую очередь установить микропрограмму для программирования в чип, чтобы вы в конечном итоге столкнулись с ситуацией с курицей и яйцом, требующей в любом случае покупки программатора, такого как PICkit3.

Поскольку клоны PICkit 3 настолько дешевы, поддерживаются программным обеспечением Microchip и могут программировать практически любой микроконтроллер Microchip, ниже мы сконцентрируемся на PICkit 3 в качестве предпочтительного программиста.

Вы можете купить подлинный PICkit 3 у Microchip за 48 долларов США + фрахт (ссылка) или у их дистрибьюторов. Номер детали — PG164130, и если вы выполните поиск в Google по этому номеру детали, вы найдете множество поставщиков.

Однако я рекомендую клоны PICkit 3, которые, кажется, работают так же хорошо, но намного дешевле. В качестве теста я купил один за 18,80 долларов США с бесплатной доставкой, и я не могу винить его. Программное обеспечение Microchip распознало его как подлинный PICkit 3, и он работал так же хорошо, как и подлинный продукт.

Хорошее место для поиска дешевых клонов — eBay. Просто найдите PICkit3.

Итак, если вам просто нужен дешевый метод программирования микроконтроллеров Microchip, покупка клона Pickit 3 будет лучшим вариантом. По их смехотворно низким ценам вы можете позволить себе купить один, чтобы запрограммировать один чип, а затем добавить его в свой ящик для инструментов для возможного будущего проекта.

Большинство микроконтроллеров Microchip используют соединение для последовательного программирования в цепи (сокращенно «ICSP») для передачи программы на микросхему.Обычно на печатной плате есть разъем для этого, и он будет выглядеть примерно так, как разъем, выделенный на фотографии справа.

Если у вас нет такого разъема (возможно, вы программируете голый чип), вам придется самостоятельно выяснять соединения. Следующая таблица, в которой перечислены выводы разъема ICSP, должна помочь:

ПИН НАЗВАНИЕ ИСПОЛЬЗОВАНИЕ
1 MCLR Вывод главного сброса на микроконтроллере
2 Vdd Напряжение питания микроконтроллера
3 ВСС Заземление или вывод нулевого напряжения
4 PGD Сигнал данных программирования
5 PGC Программирование тактового сигнала
6 — Не используется —


Программист контролирует напряжение на выводе 2 (Vdd) и использует его, чтобы определить, действительно ли запитан чип, который будет запрограммирован.Чтобы начать операцию программирования, программатор подает на вывод 1 (MCLR) напряжение выше Vdd (обычно от 12 до 15 вольт). Затем он передает данные с помощью контакта 4 (PGD) и контакта 5 (PGC). Внутренняя логика микросхемы принимает эти данные и записывает их во флэш-память микросхемы.

На приведенном выше рисунке печатной платы вы можете подключить PICkit 3 непосредственно к шестиконтактному разъему заголовка ISCP. Контакт 1 разъема PICKit 3 отмечен белым треугольником, и обычно контакт 1 разъема на печатной плате отмечен цифрой 1 или другим символом.

Если вы не можете разместить программатор в пространстве, вам понадобится шестипроводной кабель с вилкой и розеткой на другом конце, как показано справа (мой клон пришел с этим, что было удобно).

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

Для управления PICkit 3 вам необходимо установить систему разработки программного обеспечения MPLAB X компании Microchip на свой персональный компьютер. Это доступно в различных версиях для Windows, Mac OS и Linux. К сожалению, полная установка включает в себя множество вещей, которые вам не нужны (например, полностью интегрированная среда разработки), но важной частью является MPLAB IPE, который является компонентом программиста (IPE означает интегрированная среда программирования). Обычно он устанавливается в виде значка на рабочем столе.

Когда вы запускаете MPLAB IPE, у вас есть довольно простой экран, который позволяет вам указать номер детали чипа и шестнадцатеричный файл для программирования в нем. Просто выполните пронумерованные шаги, показанные ниже, чтобы запрограммировать свой чип.

Когда вы нажмете кнопку «Program», программное обеспечение даст команду PICkit 3 стереть чип, запрограммировать его с новой прошивкой, а затем прочитать эту программу, чтобы убедиться, что она была правильно записана. В конце должно появиться сообщение «Программирование завершено».

Конечно, это может быть не так просто. Вы можете столкнуться с тремя наиболее распространенными ошибками:

« Целевой Vdd не обнаружен ». Обычно это означает, что вы неправильно подключились к разъему программирования ISCP или что устройство, которое вы пытаетесь запрограммировать, не запитано.

« Не удалось запрограммировать устройство » или « Не удалось прочитать идентификатор устройства ». Программист мог сказать, что вы к чему-то подключились (потому что Vdd присутствовал), но он не мог связаться с чипом.Обычно это означает, что что-то мешает линиям MCLR, PGD и / или PGC (т. Е. Они не были подключены или другие компоненты загружали сигналы).

« ИД целевого устройства не соответствует ожидаемому ИД устройства ». Это означает, что программист обнаружил устройство, отличное от устройства, указанного на шаге 1 выше.

Обычно микросхема, которую вы программируете, будет получать питание от цепи, которая ее окружает, но у вас также есть возможность запитать микросхему от самого PICKit 3.Это может пригодиться, когда вы программируете чип, который позже будет подключен к его возможному дому, но на данный момент это просто бесплатный чип. Обратите внимание, что PICkit 3 может обеспечить максимум 30 мА, поэтому он годен только для питания голого чипа и ничего больше.

Чтобы PICkit 3 предоставил питание, вам необходимо выбрать «Настройки» -> «Расширенный режим». Затем вам необходимо ввести пароль («Microchip») для входа в расширенный режим. Наконец, выберите вкладку Power и отметьте «Power Target Circuit from Tool». Затем PICkit 3 будет подавать питание на вывод 2 (Vdd), а не просто измерять напряжение на этом выводе (что он обычно и делает).

Какой программист Pic вам нужен?

Микроконтроллеры

Microchip PIC бывают самых разных типов — от очень старого семейства PIC16C до новейших устройств PIC16F и PIC18F, а также нескольких других менее распространенных типов. За исключением некоторых очень старых микросхем, все они программируются по последовательному каналу, что означает, что они могут быть запрограммированы в схеме с помощью программатора PIC ICSP.

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

Хорошо, вам нужен программатор PIC ICSP, а не программатор сокетов, какой из них выбрать? Очевидным первым выбором является программатор Microchip PICKit3.

PICKit3 Информация

У этого есть эти преимущества

  • Эмулятор а так же программатор
  • Работает из программного обеспечения MPLAB
  • Также есть собственное программное обеспечение для программирования
  • Низкая стоимость
  • Цепь питания CAN (до 30 мА)
  • Интерфейс USB
  • Бесплатные обновления прошивки от MPLAB
  • 6-контактный разъем DIL ISP

Для разработки сложно превзойти PICKit3, поскольку он действует как ICE для отладки кода, а также как программист.Другие инструменты разработки Microchip, такие как ICE2, имеют разъем RJ11 (телефонный разъем), а не простой 6-контактный разъем ICSP. Это создает проблемы с подключением, когда вы запускаете продукт в производство, поскольку RJ11 — это большой и относительно дорогой разъем. У них больше функций отладки, но они не подходят для мелкомасштабного программирования, в отличие от PICKit3. Kanda поставляет PICKit3 со всеми нашими продуктами для обучения микроконтроллерам PIC.

Когда вы перейдете к производству, вам, вероятно, понадобится что-то более надежное. Дополнительные преимущества будут иметь более простой пользовательский интерфейс и возможность подавать больше энергии на цель.Мы поставляем программаторы Asix PIC обычно для производства, поскольку они имеют множество удобных для производства функций, таких как кнопка Go, серийная нумерация и интерфейс DLL.

Недорогой программатор PRESTO PIC Programmer работает медленнее, чем более дорогая версия FORTE, и может подавать только напряжение программирования 12 В. Более новым PIC16F1xxx и некоторым PIC18Fxxx требуется только 9 В VPP, поэтому потребуется схема для ограничения напряжения VPP, если она запрограммирована с помощью PRESTO.

Оба поддерживают все микроконтроллеры PIC, включая PIC24, PIC32 и dsPIC.Они также поддерживают микроконтроллеры AVR, флэш-память Atmel, последовательные EEPROM, микроконтроллеры TI MSP430 и CCxxxx, CPLD и многое другое. Как единый программист для всех ваших производственных нужд, они терпят поражение. Программатор FORTE обычно в два раза быстрее, чем PRESTO .

А как насчет обновлений на местах? Что бы вы ни делали, имеет смысл добавить в вашу схему интерфейс ICSP. Это только 6 x 1 контактный разъем с несколькими резисторами — см. Схему PIC ICSP. Это дает вам гибкость при изменении прошивки в существующих продуктах после их отгрузки, и вы никогда не знаете, когда это может быть необходимо.

Конечно, вы можете использовать программатор PICKit3 или PRESTO, но для этого требуются ноутбуки и определенные навыки для использования программного обеспечения. Лучшее решение — программатор PIC, разработанный специально для обновлений в полевых условиях, и портативные программаторы Kanda PIC отвечают всем требованиям.

Они загружаются с ПК, но затем становятся полностью автономными. Одно нажатие кнопки обновит цель, а это значит, что любой может их использовать. Что может быть проще?

Ссылки программиста PIC

Руководство программиста PIC

Портативные программаторы PIC

Какой микроконтроллер PIC выбрать?

PIC против AVR

Формат файла PIC Hex

Что такое микроконтроллер PIC? Что это может делать?

ФАЙЛ PDF — НАЖМИТЕ ЗДЕСЬ ДЛЯ ПЕЧАТИ РАБОЧЕГО ЛИСТА
Видео на YouTube — Введение в микроконтроллеры PIC
ПОС микроконтроллеры (программируемые контроллеры интерфейса), электронные схемы, которые можно запрограммировать для выполнения широкого круга задач.Они можно запрограммировать на таймеры или на управление производственной линией и многое другое. более. Они присутствуют в большинстве электронных устройств, таких как системы сигнализации, компьютерные системы управления, телефоны, практически любое электронное устройство. Существует много типов микроконтроллеров PIC, хотя, вероятно, лучшие из них входит в линейку программируемых микроконтроллеров GENIE. Эти запрограммирован и смоделирован программным обеспечением Circuit Wizard.
ПОС Микроконтроллеры относительно дешевы и могут быть куплены в готовом виде. схем или в виде комплектов, которые могут быть собраны пользователем.
Вам понадобится компьютер для запуска программного обеспечения, такого как Circuit Wizard, позволяющего программировать PIC схема микроконтроллера. Достаточно дешевый компьютер с низкими характеристиками должен легко запускать программное обеспечение. Компьютеру потребуется последовательный порт или USB. порт. Он используется для подключения компьютера к схеме микроконтроллера.
Программное обеспечение, такое как Genie Студию дизайна можно скачать бесплатно.Его можно использовать для программирования схемы микроконтроллера. Это позволяет программисту моделировать перед загрузкой в ​​ИС микроконтроллера PIC (интегрированный Схема).
Моделирование программы на экране позволяет программисту исправлять неисправности и изменять программу.
Программное обеспечение довольно легко узнать, как это основано на блок-схеме. У каждого «квадрата» блок-схемы есть цель. и заменяет многочисленные строки текстового программного кода.Это означает, что программа может быть написана довольно быстро, с меньшим количеством ошибок.
USB-кабель для подключения компьютер в программируемую схему, позволяющую передавать программу к микросхеме микроконтроллера PIC.
Когда программа была смоделирована и работает, загружается в схему микроконтроллера ПОС.USB-кабель может быть отключен, и можно использовать схему микроконтроллера независимо. На диаграмме ниже показано, что Совет проекта GENIE программируется программным обеспечением Circuit Wizard (рекомендуемое программное обеспечение для программирование схем микроконтроллера).
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ CIRCUIT WIZARD
Программа Circuit Wizard имеет основные преимущества перед бесплатными загрузками.Это «простая в использовании» электроника. пакет программного обеспечения. Схемы от простых до сложных, могут быть построены на экране и смоделировано. Это означает, что цепи можно тестировать до того, как они будут изготовлено.

Circuit Wizard также позволяет использовать ряд GENIE Схемы микроконтроллеров / проектные платы, которые нужно «перетащить» на экран, из меню. Входы и выходы могут быть добавлены с помощью дополнительных меню. Потом, схему микроконтроллера GENIE / плату проекта можно запрограммировать, используя Меню блок-схемы Circuit Wizard.Его можно полностью протестировать / смоделировать на экран и неисправности устранены или внесены изменения. Это программное обеспечение сильно рекомендуется при разработке и производстве программируемых микроконтроллеров. схемы.

ЦЕПЬ МИКРОКОНТРОЛЛЕРА GENIE
(ВВЕРХУ) ПРОГРАММИРУЕТСЯ С ПОМОЩЬЮ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
CIRCUIT WIZARD
ПРОСТОЙ ДЖЕНЬ ЦЕПЬ МИКРОКОНТРОЛЛЕРА
СОЗДАЕТСЯ НА ЭКРАНЕ С ИСПОЛЬЗОВАНИЕМ МАСТЕРА ЦЕПИ
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
НАЖМИТЕ ЗДЕСЬ, ЧТОБЫ ВЫБРАТЬ УКАЗАТЕЛЬ PIC-MICROCONTROLLER, СТРАНИЦА

КАК ПРОГРАММИРОВАТЬ МИКРОКОНТРОЛЛЕР PIC

КАК ПРОГРАММИРОВАТЬ МИКРОКОНТРОЛЛЕР PIC, В этом руководстве вы узнаете, как запрограммировать микроконтроллер PIC с помощью программного компилятора под названием MikroC .Это простое и удобное программное обеспечение, предназначенное для преобразования кода на языке C в шестнадцатеричный файл, который затем может быть передан в микроконтроллер для выполнения определенных задач. После завершения этого руководства вы сможете сгенерировать шестнадцатеричный код. код программы на языке C с использованием любого микроконтроллера PIC, а затем смоделировать его.

Шестнадцатеричный код загружается во флэш-память микроконтроллера в виде нулей и единиц, интерпретируемых ЦП как выполненные команды. Чтобы понять, как создается шестнадцатеричный файл, давайте рассмотрим пример простой программы, которая устанавливает все восемь контактов порта PORTC на логическую 1.

ШАГИ ПО СОЗДАНИЮ ШЕСТИГРАННОГО КОДА

  • Откройте программу mikroC PRO, дважды щелкнув значок на рабочем столе.
  • В меню вверху выберите Project à New Project .

Mikro c tutorial

  • Появится окно мастера создания нового проекта. Нажмите «Далее», чтобы перейти к окну «Настройки проекта». Укажите уникальное имя для проекта, выберите имя устройства как PIC16F877A и просмотрите папку проекта; здесь будет сохранен шестнадцатеричный файл.Выберите часы устройства в соответствии с используемыми в дизайне и нажмите «Далее».
Mikro c tutorial
  • Step2 позволяет вам добавить файл в проект, а step3 позволяет вам включать все или отдельные библиотеки. Нажмите «Далее», не внося никаких изменений, в обоих окнах, а затем нажмите «Готово», чтобы завершить работу мастера. Окно редактора кода будет отображаться с надписью «void main ()» в первой строке. Здесь вы должны написать свою программу. Напишите код и нажмите СТРОИТЬ на горизонтальной панели инструментов вверху.
Mikro c tutorial

Здесь у нас есть двухстрочный код, в котором все контакты порта C установлены на высокий уровень.

  • При успешном завершении процесса сборки в окне «Сообщение» в нижней части экрана появится сообщение, указывающее, что код был скомпилирован без каких-либо ошибок и шестнадцатеричный файл готов.
Mikro c для pic tutorial

Шаги для моделирования

Вышеупомянутая программа затем моделируется для обеспечения ее правильной работы.Ниже приведены необходимые шаги для проведения симуляции:

  • Выберите Run à Start Debugger в строке меню.
Mikro c для pic tutorial

Функция отладчика выполняет все инструкции с одной инструкцией за раз и отражает пошаговые изменения, вызванные контактами порта, регистрами и т. Д. Переменные, которые вы хотите отобразить, можно выбрать в ‘Watch Значение »в правой части экрана.

  • Выберите переменную PORTC , нажав «Выбрать переменную из списка», а затем нажмите кнопку Добавить , чтобы добавить ее в список наблюдения.
Mikro c для рис.
  • Нажмите F8, чтобы переместить синюю линию на следующую инструкцию, синяя линия подсвечивает инструкцию, которая будет выполнена следующей. Следует отметить, что в окне «Watch Value» значение PORTC все еще равно нулю, поскольку третья инструкция еще не была выполнена.

  • Нажмите F8 еще раз, и теперь значение PORTC было изменено на 255, т.е. все максимумы
Mikro c для pic tutorial

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

Основы программирования микроконтроллера PIC | Блог о проектировании печатных плат

Altium Designer

| & nbsp Создано: 20 мая 2018 г. & nbsp | & nbsp Обновлено: 25 января 2021 г.

Одна вещь, которую я усвоила в процессе воспитания, — научить ребенка чему-то может быть невероятно сложно.Хотя им может быть очень интересно, и у них может быть все время и ресурсы в мире, если ребенок не готов учиться или упускает какой-то важный строительный блок, он может просто не получить навык или урок.

К счастью, программирование микроконтроллера PIC (MCU) значительно проще. С правильными инструментами программирования, схемой и функциональной прошивкой программист может заставить микроконтроллер PIC вести себя именно так, как нужно. Конечно, чтобы избежать ненужных хлопот и разочарований в будущем, по-прежнему важно придерживаться нескольких важных шагов.

Микроконтроллер PIC

Несмотря на появление одноплатных встроенных контроллеров, таких как Arduino, Raspberry Pi или BeagleBone, микроконтроллер PIC по-прежнему остается актуальным среди инженеров-электронщиков. Микроконтроллеры PIC, производимые Microchip, отличаются простотой использования, универсальными функциями и экономичностью. Программирование микроконтроллеров PIC варьируется от простых 8-битных MUC до мощных 32-битных моделей.

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

Инструменты, необходимые программисту для программирования микроконтроллера

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

Это инструменты, которые могут понадобиться программисту для программирования PIC-микроконтроллера сегодня:

1. MPLAB X IDE

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

Первый шаг — правильная прошивка.

2. PICKIT 4

PICKIT 4 — это новейший внутрисхемный отладчик от Microchip PIC, который позволяет программисту эффективно загружать программу в микроконтроллер. Это улучшенная версия своего предшественника PICKIT 3 с добавленной функцией слота для SD-карты, которая упрощает программирование различных прошивок на ходу. При программировании микроконтроллера PIC в лаборатории вам необходимо подключить PICKIT 4 между USB-портом вашего компьютера и выводом программирования микроконтроллера.

3. Схема программирования

Контакты программирования для микроконтроллеров PIC указаны в таблице данных. Микроконтроллеры PIC поддерживают внутрисхемное последовательное программирование (ICSP) или внутрисхемную отладку (ICD), причем последнее позволяет инженерам отлаживать микропрограммное обеспечение в режиме реального времени. Важно включить схему интерфейса программирования (ICSP или ICD) в конструкцию для подключения PICKIT 4 или PICKIT 3.

Программирование микроконтроллера

Когда все инструменты программирования готовы (независимо от ICSP или ICD) и собран прототип, программирование микроконтроллера становится почти интуитивным.Традиционные инструменты программирования требуют, чтобы программист включил оборудование перед загрузкой прошивки. Но программаторы PICKIT могут быть настроены для включения микроконтроллера, если он не превышает его максимальный предел тока.

Есть два способа загрузить прошивку в микроконтроллер PIC. В MPLAB X IDE программист найдет варианты «Запустить проект» или «Отладить проект» и, нажав «Запустить проект», скомпилирует и соберет вашу микропрограмму в производственном режиме, в то время как последний создаст отладочную версию следа микропрограммы.Вам потребуется время, чтобы убедиться, что конечный продукт запрограммирован с использованием производственной версии микропрограммы.

Если все сделано правильно, ваш микроконтроллер начнет работать после загрузки программы.

Советы по разработке схемы программирования на печатной плате

Расположение выводов программирования на PICKIT 3 и PICKIT 4 аналогично, хотя PICKIT 4 имеет два дополнительных зарезервированных соединения выводов. Прошивка передается через сигналы PGD и PGC с выводом / MCLR для перевода микроконтроллера в режим программирования.

Программист захочет направить PGD и PGC параллельно и сохранить одинаковую длину, чтобы гарантировать минимальное повреждение сигнала. Кроме того, необходима правильная маркировка ориентации выводов программирования на печатной плате, поскольку легко ошибочно подключить PICKIT в обратном направлении, что может привести к повреждению как печатной платы, так и PICKIT.

Использование отличного программного обеспечения для проектирования печатных плат, такого как Altium Designer ® , значительно поможет вам в разработке схем программирования без помех для микроконтроллеров PIC.

Нужен совет по программированию микроконтроллера PIC? Поговорите со специалистом Altium Designer.

Программатор

USB PIC — Electronics-Lab.com

Эта страница предназначена для всех, кто хочет запрограммировать устройство PIC (Microchip) через порт USB. В поисках готовых проектов в Интернете я нашел хороший проект под названием Open Programmer, поставляемый с несколькими схемами, печатными платами и открытым исходным кодом. Исходная ссылка — http: // openprog.altervista.org/OP_ita.html

Меня беспокоила необходимость установить на материнскую плату определенную плату сокетов в зависимости от модели программируемого PIC. Более того, предложенный макет не соответствовал моим личным представлениям о «компактности». Итак, я предлагаю здесь небольшую версию этой схемы, использующую один интеллектуальный встроенный ZIF-разъем. Эта версия жертвует многими моделями микроконтроллеров без PIC. Я буду благодарен всем, кто предлагает реализацию более широкого диапазона, подходящую для программирования Atmel и других устройств.В любом случае, если ваша цель — программировать устройства PIC, вы попали на хороший сайт.

Коробочка, разъем USB, розетка ЗИФ, два светодиода. Это все в моем компактном предложении.

Описание

Подробности доступны по оригинальному проекту, упомянутому выше. Далее я показал свою компактную версию со схемой, компоновкой печатной платы и инструкциями по сборке и установке ее в очень обычную небольшую пластиковую коробку. Внизу страницы я предлагаю копию программы для загрузки на PIC18F2550, который используется для управления функциями программирования, а также копию программы на стороне ПК.Программу до Win-8 протестировал без проблем. Учтите, что на исходном сайте доступна более новая версия как прошивки, так и программного обеспечения.

Схема

Сборка

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

ZIF — довольно тонкий компонент перед окончательной пайкой. Обращайте внимание на то, чтобы не использовать силу, которая может привести к повреждению или деформации. Лучше сделать отверстия 1,2 мм для облегчения вставки гнезда ZIF в печатную плату. Во время пайки перескакивайте каждый раз на несколько выводов, следуя спиральной линии, принимая последовательность, которая позволяет нагреть вывод, пока вы паяете следующий.

Когда две схемы будут готовы, соедините их с помощью полосковых линий и блокируйте сборку с помощью столбцов.Используйте винты с потайной головкой в ​​отверстиях с потайной головкой, чтобы винты не выходили слишком высоко по отношению к верхней поверхности второй печатной платы. Должны появиться только розетка и два светодиода.

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

Коробка

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

Здесь и далее окончательный результат:

Программное обеспечение

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

Скачать программное обеспечение для ПК можно по ссылке ниже — OpenProg.rar

Скачать файл PIC .hex можно по ссылке ниже — OProg.hex

Использование

Подключите программатор к ПК с помощью кабеля USB типа «папа-папа». Устройство рассматривается как универсальное.Зеленый светодиод сначала быстро мигает, указывая на то, что соединение установлено. Затем медленно, показывая, что этап подключения завершен. Программное обеспечение для ПК позволяет боту записывать и читать EEPROM любой PIC, установленной на ZIF socked.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *