Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

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

   Недавно решил собрать устройство на микроконтроллере фирмы PIC, но по не известным причинам у меня отказал программатор Extra-PIC. Скорее всего, сгорела микросхема МАХ232, такое уже было один раз. Недолго думая, нашел в Интернете простенькую схему программатора, заточенного под IC-Prog и работающую через СОМ порт.


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


   Далее просверлил отверстия и начал паять детали. Самой большой проблемой были стабилитроны. Стабилитроны стал искать на плате от ЭЛТ-монитора. Подписаны на плате они как ZD (Zener Diode). Естественно маркировка у них непонятная и неизвестно где и как искать. Чтобы определить, на сколько вольт стабилитрон можно собрать простую схемку.


   Вольтметр достаточно точно покажет, на сколько вольт стабилитрон. Таким нехитрым способом нашел приблизительные по номиналу стабилитроны. Вместо 5,6В установил 6,2В, вместо 12,6В поставил 2 стабилитрона последовательно 6,2+6,2=12,4В


   Транзистор можно поставить КТ315. У себя поставил С945. Диоды тоже любые, я выпаял все 3 шт. из диодного моста той-же платы от монитора. Номинал конденсаторов также не критичен, но их поставил по номиналу. 

   Немного про красные пятачкИ у панелек. Эти ноги вообще не паяются у панелек. Полностью готовый девайс выглядит так: 


   Панельки решил не все паять, т.к. мне нужно было прошить только PIC16F628А. После того как спаял нужно настроить программу. Прошивать мы будем IC-Prog. Скачиваем программу, распаковываем из архива, все файлы должны быть обязательно в одной папке!

1) Если вы пользуетесь Windows NT, 2000 или XP, то правой кнопкой щёлкните на файле icprog.exe. “Свойства” >> вкладка “Совместимость” >> Установите “галочку” на “Запустить программу в режиме совместимости с:” >>
выберите “Windows 2000”.

2) Запускаем программу. Если она уже на русском – ничего не нужно, переходите к шагу 3.

   Если программа на английском, то жмите “Settings” >> “Options” >> вкладку “Language” >> установите язык “Russian” и нажмите “Ok”.
Согласитесь с утверждением “You need to restart IC-Prog now” (нажмите “Ok“). Оболочка программатора перезапустится.

3) Теперь нужно настроить программатор. Кликайте “Настройки” >> “Программатор“. Проверьте установки, выберите используемый вами COM-порт, нажмите “Ok“.


   Для очень “быстрых” компьютеров возможно потребуется увеличить параметр “Задержка Ввода/Вывода”. Увеличение этого параметра увеличивает надёжность программирования, однако, увеличивается и время, затрачиваемое на программирование микросхемы.

4) Только для пользователей Windows NT, 2000 или XP. Нажмите “Настройки” >> “Опции” >> выберите вкладку “Общие” >> установите “галочку” на пункте “Вкл. NT/2000/XP драйвер” >> Нажмите “Ok” >> если драйвер до этого не был устновлен на вашей системе, в появившемся окне “Confirm” нажмите “Ok” . Драйвер установится, и оболочка программатора перезапустится.

5) Нажмите снова “Настройки” >> “Опции” >> выберите вкладку “I2C” >> установите “галочки” на пунктах: “Включить MCLR как VCC” и “Включить запись блоками“. Нажмите “Ok“.

6)Настройки” >> “Опции” >> выберите вкладку “Программирование” >> снимите “галочку” с пункта: “Проверка после программирования” и установите “галочку” на пункте “Проверка при программировании“. Нажмите “Ok“.


   Готово, теперь программа полностью готова к работе с программатором. Подключаем наш программатор к СОМ порту, выбираем наш микроконтроллер в программе, открываем прошивку и программируем любые МК серии PIC. Удачи всем в работе с программатором и контроллерами! Автор: [)еНиС

   Форум по МК

   Форум по обсуждению материала ПРОГРАММИРОВАНИЕ PIC КОНТРОЛЛЕРОВ

Программирование микроконтроллеров PIC. Часть 6. Как перевести контроллер в режим программирования и залить в него прошивку

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

Программатор состоит из аппаратной части (обычно в быту именно эту аппаратную часть и называют программатором, поэтому мы тоже в дальнейшем сузим термин «программатор» только до его аппаратной части) и программной части. Аппаратная часть предназначена для физической организации необходимых для программирования сигналов (с правильными уровнями и фронтами). Программная часть предназначена для управления аппаратной частью, она реализует правильные алгоритмы (последовательности и задержки включения и выключения различных сигналов аппаратной части), необходимые для записи программы в память контроллера. Чаще всего программная часть делается в виде компьютерной программы, а управление аппаратной частью она осуществляет через какой-либо компьютерный интерфейс, к которому подключается аппаратная часть (обычно RS-232, LPT или USB).

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

Как вообще происходит прошивка всяких разных контроллеров? Сначала контроллер специальным образом переводится в режим программирования (то есть контроллеру сообщают, что его собираются программировать). Способы перевода есть различные: специальная последовательность сигналов на определённых ногах, специальные уровни напряжения (например, подача напряжения 12В на определённую ногу, вместо обычных 5 вольт) или и то и другое вместе. Обычно после перехода в режим программирования все неиспользуемые в процессе программирования ноги автоматически переводятся контроллером в высокоомное состояние. Далее в контроллер по последовательному или параллельному интерфейсу передаются команды (запись/чтение/стирание…) и, при необходимости, данные (если мы записываем прошивку, то мы передаём данные, если считываем — контроллер передаёт нам данные…). Подробнее о процессе программирования можно почитать в спецификациях по программированию, выпускаемых производителями контроллеров. Например, спецификации по программированию PIC-контроллеров можно скачать с сайта microchip.com (в разделе design support -> programming specifications). Спецификаций там очень много, поэтому мы вкратце обобщим размещённые в них сведения.

Итак, в микроконтроллерах PIC, фирмы Microchip, обычно реализовано программирование по последовательному интерфейсу. При этом две ноги контроллера используются для организации самого интерфейса (сигналы clock — тактирование и data — данные) и ещё одна или несколько ног используются для перевода контроллера в режим программирования и удержания его в этом режиме (Vpp, PGM…).

Различают два основных метода программирования: высоковольтное (HVP — high voltage programming) и низковольтное (LVP — low voltage programming). В первом методе для перевода контроллера в режим программирования дополнительно используется более высокое напряжение (Vpp — напряжение программирования) по сравнению с рабочим (Vdd). Во втором методе никаких дополнительных напряжений использовать не нужно. В контроллерах, в зависимости от модели, могут быть реализованы оба метода сразу, а может быть реализован только какой-то один из методов.

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

Более того, в контроллере может быть заложено сразу несколько таких алгоритмов.

Далее я попробую описать наиболее распространённые алгоритмы перевода контроллеров PIC в режим программирования из обоих методов.

1. High Voltage Programming, «Vpp-first». Суть метода: сначала на специальную ногу подаётся напряжение программирования (Vpp), потом, не раньше, чем через определённый промежуток времени (T1), подаётся питание (Vdd). Через определённый промежуток после этого (T2) контроллер перейдёт в режим программирования и можно будет начинать обмен данными (используя линии clock и data). На начальном этапе, всё то время, пока контроллер переводится в режим программирования, на интерфейсных ногах должен быть нулевой уровень. Ниже представлена диаграмма сигналов, соответствующая этому алгоритму:

2. High Voltage Programming, «Vdd-first». Суть метода: сначала подаётся рабочее напряжение (Vdd), потом, не раньше, чем через определённый промежуток времени (T1), на специальную ногу подаётся напряжение программирования (Vpp). Через определённый промежуток после этого (T2) контроллер перейдёт в режим программирования и можно будет начинать обмен данными (используя линии clock и data). Так же, как и в предыдущем алгоритме, на начальном этапе (всё то время, пока контроллер переводится в режим программирования) на интерфейсных ногах должен быть нулевой уровень. Ниже представлена соответствующая диаграмма сигналов:

3. Low Voltage Programming, «Special Sequence». Суть метода: через определённый промежуток времени (T1) после подачи рабочего напряжения (Vdd), контроллеру посылается специальный 32-х битный ключ, после чего контроллер переходит в режим программирования. При этом нога MCLR/Vpp должна быть притянута к общему проводу. Второй вариант этого же алгоритма (если рабочее напряжение уже приложено к контроллеру) заключается в следующем: нога MCLR/Vpp притягивается к общему проводу, через определённое время (T

2) после этого контроллеру посылается специальный 32-х битный ключ, после чего контроллер переходит в режим программирования. Ниже представлены соответствующие диаграммы сигналов:

4. Low Voltage Programming, «Special Pin». Суть метода: при установке в слове конфигурации специального бита (LVP) один из выводов (PGM) контроллера начинает использоваться для перевода контроллера в режим программирования (соответственно, использовать этот пин в качестве цифрового входа/выхода уже нельзя). Так вот, в этом случае перевод контроллера в режим программирования осуществляется подачей высокого уровня (Vdd) на ногу PGM и через некоторое время после (T

1) этого подачей высокого уровня (Vdd) на ногу (MCLR/Vpp). Ниже представлены соответствующие диаграммы сигналов:

При внимательном рассмотрении видно, что некоторые алгоритмы (2,3,4) позволяют перейти в режим программирования не снимая с контроллера рабочее напряжение питания. При специальной разводке платы эти алгоритмы позволяют программировать контроллер, что называется, «на лету». Способ, при котором контроллер программируется прямо в готовом изделии называется ICSP — in circuit serial programming (по-русски обычно говорят просто — внутрисхемное программирование).

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

  1. Часть 1. Необходимые инструменты и программы. Основы MPLAB
  2. Часть 2. Что такое микроконтроллер и как с ним работать
  3. Часть 3. Структура программы на ассемблере
  4. Часть 4. Разработка рабочей части программы. Алгоритмы
  5. Часть 5. Ассемблер. Организация циклов и ветвлений
  6. Часть 6. Как перевести контроллер в режим программирования и залить в него прошивку

Внутрисхемное программирование микроконтроллеров PIC

Внутрисхемное программирование микроконтроллеров PIC

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

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

Внутрисхемное программирование микроконтроллеров – это программирование микроконтроллеров, не извлекая их с рабочей платы устройства.

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

Для программирования PIC контроллеров используются следующие выводы: MCLR, VDD,GND/PGM, PGD, PGC. Расположение этих выводов в конкретном микроконтроллере можно просмотреть в соответствующем датасшите(описание от производителя).

Рассмотрим пример внутрисхемного программирования PIC16F876A. Из датасшита на данный микроконтроллер определяем нужные нам выводы.

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

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


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

Пример внутрисхемного программирования генератора псевдослучайных чисел на основе PIC16F876A с помощью PIC и EEPROM программатор:

Так же любые вопросы можно обсудить на форуме.

Микроконтроллеры Microchip, PIC – Радиотехника и электроника для разработчиков

Информация\Микроконтроллеры\Микроконтроллеры фирмы Microchip

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

  1. Разработка встроенных систем с помощью микроконтроллеров PIC – Тим Уилмсхерст. 2008г. (Подробнее…)
    Благодаря полезным примерам и иллюстрациям, эта книга дает глубокие познания в сфере проектирования систем с помощью микроконтроллеров PIC, а также – программирования этих устройств на ассемблере и С. Подробно рассмотрены микроконтроллеры 16F84A, 16F873A и 18F242. Даны примеры реальных проектов, включая модель робота, выполненного в виде транспортного средства с автономным управлением. Дополнительно рассматриваются такие вопросы повышенной сложности, как применение устройств в сетевой среде и построение операционных систем реального времени.
  2. Микроконтроллеры PIC16X7XX – В.Ульрих. 2002г. 320с. (6132Кб) – скачать.
  3. Микроконтроллеры Microchip. Практическое руководство. Схемы. Примеры программ. Описания. Ресурсы Internet. – Яценков В. С. 2002г. 296с. (4364Кб) – скачать.
    Эта книга не является классическим справочником, содержащим только техническое описание некоторых микросхем Автор предлагает вашему вниманию настольную книгу, имея которую можно, что называется, “с нуля” начать работу с микроконтроллерами серии PIC и научиться их программировать. В этом поможет подборка примеров схем и программ с подробными комментариями. Разумеется в ней присутствует и необходимая справочная информация. Содержание разделено на три основные части. В первой части приведена справочная информация по наиболее популярным микроконтроллерам Microchip®. За основу взято описание микроконтроллеров PIC16F84/CR84 и PIC12C5XX. Знание устройства и особенностей применения контроллеров семейств PIC12ххх и РIC16ххх позволит без затруднений перейти к применению более сложных и мощных микроконтроллеров фирм Microchip® и Scenix®.
  4. Радиолюбительские конструкции на PIC-микроконтроллерах – Заец Н.И. 2006г. 240с. – скачать.
    В книге представлено 20 описаний радиолюбительских устройств различного назначения: часы, таймер, автоматы, программатор и многие другие, выполненные на микроконтроллере PIC16F84A. Автор делится опытом программирования и работы с ассемблером MPLAB и программатором PonyProg2000.
  5. Электронные самоделки. Для быта отдыха и здоровья. Электростимуляторы, термостабилизаторы, устройства на PIC, дистанционное управление – Заец Н.И. 2004г. 304с. (3774 Кб) – скачать.
    Представлен широкий спектр электронных устройств для быта, отдыха и здоровья. Вы узнаете, как можно изготовить инкубатор из холодильника, радиоуправляемый катер для рыболова, частотомер и много других необходимых устройств.
  6. PIC – микроконтроллеры. Все, что вам необходимо знать – Катцен С. 2008г. 656с. (9798 Кб) – скачать.
    В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей. В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем.
  7. Полное руководство по PIC-микроконтроллерам PIC18, PIC10F, rfPIC – Кенинг М. 2007г. 256с. (47292 Кб) – скачать.
    Эта книга рассчитана на тех, кто уже имеет опыт работы с микроконтроллерами PIC и делает основное ударение на новых разработках последних лет. К ним, в первую очередь, относится серия микроконтроллеров PIC18, которая, благодаря своему 16-разрядному ядру, не топью расширяет возможности программирования, но и открывает множество новых технических возможностей. Кроме того, в книге рассказано о многих нововведениях в микроконтроллерах PIC с 14- и 12-разрядным ядром.
  8. Справочник по PIC микроконтроллерам – Предко М. 2002г. 512с. (3952 Кб) – скачать.
    Книга посвящена PIC-микроконтроллерам – одному из самых популярных семейств современных микроконтроллеров. В справочнике имеются все необходимые сведения, аппаратные и программные решения. По широте охвата и объему рассматриваемого материала книга претендует на статус малой энциклопедии. Здесь представлены классификация и архитектора различных подсемейств PIC-контроллеров, сравнительные характеристики типов, разводка выводов, системы команд, подробная спецификация управляющих регистров. Рассказывается о принципах работы основных узлов, приведены таблицы временных и электрических характеристик, алгоритмы программирования Дано описание языков программирования и средств разработки приложений. Издание предназначено для широкого круга читателей – от начинающих радиолюбителей до специалистов, работа которых связана с использованием PIC-микроконтроллеров.
  9. PIC-микроконтроллеры – Таверье К. 2004г. 272с. (2311 Кб) – скачать.
    Книга посвящена PIC-микроконтроллерам – одному из самых популярных семейств современных микроконтроллеров. В справочнике имеются все необходимые сведения, аппаратные и программные решения. По широте охвата и объему рассматриваемого материала книга претендует на статус малой энциклопедии. Здесь представлены классификация и архитектора различных подсемейств PIC-контроллеров, сравнительные характеристики типов, разводка выводов, системы команд, подробная спецификация управляющих регистров. Рассказывается о принципах работы основных узлов, приведены таблицы временных и электрических характеристик, алгоритмы программирования Дано описание языков программирования и средств разработки приложений. Издание предназначено для широкого круга читателей – от начинающих радиолюбителей до специалистов, работа которых связана с использованием PIC-микроконтроллеров.
  10. Микроконтроллеры Microchip со встроенным маломощным радиопередатчиком – Яценков В.С. 2006г. 344с. (3972 Кб) – скачать.
    Рассмотрены микроконтроллеры rfPIC со встроенным миниатюрным радиопередатчиком и миниатюрные радиоприемные модули rfRXD, которые при совместном использовании позволяют создавать простые и недорогие устройства для беспроводного сбора и передачи данных и дистанционного управления по радиоканалу. Приведены подробные описания микроконтроллеров rfPIC12C509, rfPIC12F675 и приемников rfRXD0420(0920), примеры схем и программ, а также описание отладочного комплекта разработчика, включая чертежи печатных плат для самостоятельного изготовления.
  11. Микроконтроллеры PIC 24. Архитектура и программирование – Ю. С. Магда 240с. 2009г. – (2509 Кб) – скачать.
    В книге рассматривается широкий круг вопросов, связанных с практическим применением популярных 16-битных микроконтроллеров PIC24 в системах обработки данных и управления оборудованием. Приводятся многочисленные примеры программирования несложных аппаратно-программных систем обработки аналоговой и цифровой информации с применением периферийных модулей микроконтроллеров PIC24F. В контексте разработанных примеров приводятся необходимые сведения из теории, что способствует лучшему пониманию материала книги. Все приведенные в книге аппаратно-программные проекты разработаны и проверены на отладочном модуле Explorer 16 Development Board фирмы Microchip и могут служить основой для создания собственных проектов.
  12. Применение микроконтроллеров PIC18. Архитектура, программирование и построение интерфейсов с применением С и ассемблера (+ CD-ROM) – Барри Брэй 576 с. 2008г. (10849 Кб) – скачать.
    Сегодня микроконтроллеры используются повсеместно в автомобилях, бытовой технике, промышленном и медицинском оборудовании и т.п. Этот учебник дает всестороннее представление об архитектуре, программировании и построении интерфейсов этого современного чуда. На примере семейства микроконтроллеров PIC18 производства Microchip в книге объясняется архитектура, программирование и построение интерфейсов. Семейство PIC 18 выбрано не случайно, поскольку оно относится к самым современным восьмиразрядным микроконтроллерам. Изложенный в книге материал также применим как к более ранним версиям микроконтроллеров Microchip, так и к аналогичным устройствам других производителей. Он рассчитан на опытных практиков и радиолюбителей, интересующихся микроконтроллерами.
  13. Продолжение следует…

PIC-контроллер. Программирование PIC-контроллеров. Схемы PIC-контроллеров

Когда делаются схемы, необходимо, чтобы кто-то или что-то контролировало выполнение необходимых действий. Для человека это довольно проблематично, так как приходится использовать значительное количество различных элементов, позволяющих контролировать их работу (транзисторы, резисторы, тиристоры, диоды, конденсаторы и прочие). Но все сложные и большие схемы можно контролировать с помощью контроллеров (микроконтроллеров). Что они собой представляют, будет рассказано на примере семейств РІС. Итак, что такое PIC-контроллеры для чайников? Какая их схема и где они используются.

Что собой представляет PIC-микроконтроллер

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

Для работы подавляющего большинства РІС-контроллеров необходимо стабильное напряжение – 5В. Этого хватает, чтобы он мог работать в своём обычном режиме и выполнять поставленную перед ним программу. Программирование PIC-контроллеров напрямую от компьютера невозможно. Для этой цели используется программатор.

Семейства контроллеров

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

Где применяется

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

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

Программное обеспечение для работы с PIC-контроллером

Минимальное необходимое программное обеспечение – это блокнот. Но всё же в силу свободного распространения можно воспользоваться и предлагаемым от компании-производителя программным средством MPLAB. Точнее, линейкой программных средств (среды разработки, компиляторы) MPLAB. Благодаря политике компании он распространяется бесплатно, но имеет определённые ограничения. Так, при краткосрочной демонстрационной версии можно попробовать со всеми возможностями, но после её окончания функционал программы будет урезан. В полноценной программе присутствует значительный инструментарий, который позволяет легко создавать программы, удобно искать различные проблемные участки и проводить оптимизацию кода. В зависимости от версии может быть прекращена функция оптимизации кода или уменьшено количество контроллеров, поддерживаемых программой. Ради правды стоит сказать, что компания оставляет поддержку исключительно самым популярным представителям.

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

Создание программы для PIC-контроллера

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

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

Программирование с помощью программатора

Но как перенести разработанную программу в сам микроконтроллер? Как происходит программирование микроконтроллеров? Специально для этой цели существуют специальные устройства – программаторы. Они посылают микроконтроллеру сигналы, которые изменяют ячейки в памяти в соответствии с программой. Для начала процесса перенесения данных необходимо вставить микроконтроллер в программатор, а его, в свою очередь, подключить к компьютеру. Затем с помощью программного обеспечения следует запустить прошивку. Обычно программирование PIC-контроллеров продолжается от тридцати секунд до двух минут.

Виды программаторов

Какой программатор выбрать для записи программы на микроконтроллер? Условно можно выделить три вида: самодельные, от компании-производителя и заводские от других компаний. Использование каждого из них имеет свои особенности.

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

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

Но останавливает от его приобретения довольно высокая цена.

Программаторы, выпущенные другими компаниями, имеют довольно широкий диапазон объектов, с которыми работают. Их особенностью является низкая цена и/или возможность работать с другими микроконтроллерами кроме PIC. Есть и поистине универсальные «монстры», которые могут обеспечивать работу различных типов, но из-за необходимости создания большого количества соединений их цена низкой не бывает.

Схематические особенности

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

РадиоКот :: Начинающим программистам микроконтроллеров PIC

РадиоКот >Обучалка >Микроконтроллеры и ПЛИС >Несколько слов о PIC-контроллерах >

Начинающим программистам микроконтроллеров PIC

Автор: Владимир Д.
[email protected]

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

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

Примем тактовую частоту – Fтакт. = 4,096 МГц (стандартный кварц). Тогда время цикла составит t c = 1 / Fтакт. * 4 = 0,97656 мкс



INI_TMR				; инициализация  режима прерываний от  RTCC
		bsf STATUS,RP0	; выбираем  банк 1
		movlw b"00000100"
		movwf OPTION		; предделитель  для  RTCC   1 :  32
		bcf STATUS,RP0	;  банк 0
		movlw b"10100000"
		movwf INTCON		;  разрешено прерывание от RTCC
		movlw .96		;  загружаем  в  RTCC  предварительное число 96
		movwf TMR0

Получим время прерываний:
t i = t c * 32 * (256 – 96 = 160)
t i = 0,97656 * 32 * 160 = 5 000 мкс = 5 мс

Теперь, если в Вашу любую программу ввести бесконечный цикл (так называемый цикл ожи- дания прерывания), и окончание программы переводить на этот цикл, получим временную привязку к 5 мс.И после прерывания программа вернётся по адресу, указанном вектором прерываний (чаще это 04h).Для чего это можно использовать – смотри дальше.

Итак:



;
		org   0
		START		; начало выполнения программы после
;					включения питания
		org   04h		; а это адрес вектора прерывания, по которому
		main		; будет выполняться  основная  программа
;
START				; здесь обычно происходит обязательная  ини-
		INI_TMR		; циализация  портов, режимов, регистров и т.п.
		INI_PORTS
loop
		goto loop		; а это и есть  бесконечный цикл
;--------------------------------------------------

main
;               далее  идёт  тело  основной программы,
;		в которой обязательно надо создать программу обслуживания  прерываний от RTCC,
;            вызываемой   командой  CALL:

ServTMR
		btfsc INTCON,RTIF	;  проверяем  флаг срабатывания прерываний от RTCC  и
		call SET_TMR		;  если "да",то снова инициализируем  TMR0
		return		;  если "нет" -  возврат  в  место вызова  ServTMR в
					;  основной  программе main
;
SET_TMR		movlw .96
		movwf TMR0		; снова загружаем число 96
		bcf INTCON,RTIF		; сбрасываем флаг срабатывания
		retfie		; возврат  с разрешением прерываний  в ServTMR, а
					; затем в основную программу  main

Пример использования прерывания от RTCC для получения секундного импульса на одном из выходов , скажем, порта В – RB0 : Используем регистр Rsec, который должен быть ранее объявлен в в адресном поле рабочих регистров.



FORM_1S				; в каждом цикле,   а он  по прерыванию RTCC  длится
		incf Rsec,w		; 5 Мс,  увеличиваем регистр Rsec на 1 до  числа 200
		xorlw .200		; (5 мс * 200 = 1 сек)
		btfsc STATUS,z
		goto OUT_PORT		; при Rsec = 200  флаг  z = "1" и  переход на управление
					; выводом RB0 порта В
		return		; возврат в основную программу  main
;
OUT_PORT		btfss PORTB,0			; проверяем состояние вывода RB0
		goto OUT_ON		; если RB0 ="0", то  устанавливаем  в "1"
		bcf PORTB,0		; в противном случае - устанавливаем в "0"
		goto main		; возврат в основную программу
;
OUT_ON		bsf PORTB,0		; устанавливаем RB0 = "1"
		goto main

Таким образом на выходе RB0 порта В каждую секунду уровень сигнала будет изменяться то “0” то “1”.

В регистрах контроллера информация находится обычно в двоичном виде, ( в бинарном коде). Но часто необходимо получить информацию в двоично – десятичном виде (BCD – код), скажем, для управления поразрядно семисегментным индикатором.

Рассмотрим примеры преобразований двоичного кода b2 в двоично – десятичный BCD и наоборот.

В 8 – bit регистре можно записать в двоичном коде число от 0 до 255 ( от b”00000000″ до b”11111111″ ). Преобразуем двоичное число в три разряда двоично – десятичного кода - “сотни”, “десятки” и “единицы”. Для этого будем использовать следующие регистры, которые должны быть заранее объявлены в адресном поле рабочих регистров :

Rbin – регистр хранения числа в двоичном коде b2
Rhan – регистр “сотни” кода BCD
Rdec – регистр “десятки” кода BCD
Rsim – регистр “единицы” кода BCD

Преобразования проводим используя операции вычитания чисел 100, а затем 10 с подсчётом количества положительных вычитаний.



CON_100		movlw .100		; вычитаем  100  из  Rbin  c  проверкой, что
		subwf Rbin,w		; результат  не  отрицательный. Флаг  "c" = 1 при
		btfss STATUS,c		; результате > или =  0, и  "c" = 0  при   


Обратное преобразование BCD - кода в b2. Используем те же регистры Rhan, Rdec, Rsim где находится число в BCD - коде, регистры RbinH - старший разряд и RbinL - младший разряд для чисел ( > 255) в коде b2 и вспомогательные регистры RM1 - "множимое" , RM2- "множитель".Для преобразования BCD в b2 нужно умножить "сотни" на 100, "десятки" на 10 и сложить всё вместе с "единицами" и с учётом переноса в старший разряд при необ- ходимости.Для умножения используем операцию сложения.



B2X_100		movlw .99		; преобразование  "сотен"
		movwf RM2		; множитель  =  кол - во сложений (100) минус  один
		movf Rhan,w
		movwf RM1		; множимое  =  "сотни"
loopX100	addwf RM1,w
 		btfsc STASTUS,c		; проверяем  перенос в  старший  разряд
		incf RbinH,f		; если есть перенос
		decfsz RM2,f		; контролируем  количество  сложений
		goto loopX100
		movwf RbinL		; результат  сложения  заносим  в  регистр  мл. разряда
;
B2X_10		movlw .9		; преобразование  "десятков"
		movwf RM2		; множитель  =  кол - во  сложений (10) минус один
		movf Rdec,w
		movwf RM1		; множимое = "десятки"
loopX10		addwf RM1,w		; здесь перенос можно не проверять, т.к. результат
		decfsz RM2,f		; всегда  


Конец преобразованиям и дальнейшее выполнение программы. В регистрах RbinL и RbinH получили 16 - bit число в коде b2.

Для выполнения арифметической операции деления по аналогии с умножением, рассмот- ренном выше, применяется операция вычитания. Допустим нам нужно произвести деление числа, находящегося в регистрах RHsum (старшие разряды) и RLsum (младшие разряды) - на делитель ( примем делитель не > 255) находящийся в регистре Rdel.

Результат будем заносить в регистры RHrez и RLrez (старшие и младшие разряды соот- ветственно) :


OP_DEL
		movf Rdel,w
		subwf Rlsum,w
		btfss STATUS,c		; проверяем  не отрицательный  ли  результат?
		goto DEF_carry		; если  "да", то  проводим  заём  из  ст. разряда
		incf RLrez,f		; подсчитываем  кол-во  вычитаний  с  учётом
		btfsc STATUS,c		; возможного  переноса  в  старший  разряд
		incf RHrez,f
		movwf RLsum		; восстанавливаем  остаток, что бы  не  потерять
		goto OP_DEL		; при  отрицательном  результате вычитания
;
DEF_carry
		movlw 0h
		xorwf RHsum,w		; всё  ли  заняли из старшего разряда  в младший?
		btfsc STATUS,z		; если  "да", т.е.  RHdel  =  0  и  в  OP_DEL  отри-
		goto OUT_ DEL		; цат. результат - конец  делению  и  выход
		decf RHsum,f		; если  "нет" - заём  из  старшего  разряда  и  про-
		incf RLrez,f		; должаем  дальше
		btfsc STATUS,c		; проверка  необходимости  переноса  в  ст.разряд
		incf RHrez,f
		goto OP_DEL

Как вам эта статья?

Заработало ли это устройство у вас?

Просмотр литературы по программированию МК систем

Название книги: Программирование на языке C для AVR и PIC микроконтроллеров

Книга Ю. А. Шпака “Программирование на языке C для AVR и PIC микроконтроллеров” содержит в себе рассмотрение программирования на языке С микроконтроллеров AVR с применением компилятора WinAVR и микроконтроллеров PIC, созданных с помощью компилятора CCS-PICC. Подробнее >>>

Автор: Ю. А. Шпак

Просмотров: 2910

Дата добавления: 01.07.2013

Название книги: Самоучитель разработчика устройств на микроконтроллерах AVR

Из книги А. В. Белова “Самоучитель разработчика устройств на микроконтроллёрах AVR” читатель узнает тайны микропроцессорной техники, об основах цифровой логики и принципах программирования. Подробнее >>>

Автор: А. В. Белов

Просмотров: 2049

Дата добавления: 01.07.2013

Название книги: Программирование на языке Ассемблера для микроконтроллеров семейства i8051

Для известного семейства микроконтроллеров i8051 в этой книге описаны основы программирования на языке Ассемблера, а также сами особенности их архитектуры. Изложены данные о схеме разработки программ, системе и форматах команд. Подробнее >>>

Автор: Каспер Эрни

Просмотров: 1490

Дата добавления: 01.07.2013

Название книги: Микроконтроллеры ARM7. Семейство LPC2000 компании Philips. Вводный курс

Данное научное пособие содержит в себе введение в архитектуру процессора ARM7 TDMI и микроконтроллеров семейства LPC2000, которые в свою очередь являются пионерами нового поколения микроконтроллеров, построенных на базе 16/32-битного RISC-процессора ARM7 TDMI. Подробнее >>>

Автор: Мартин Тревор

Просмотров: 1181

Дата добавления: 01.07.2013

Название книги: 10 практических устройств на AVR-микроконтроллерах. Книга 1

Издание “10 практических устройств на AVR-микроконтроллерах. Книга 1” автора А. В. Кравченко является началом серии сборников, описывающих применение контроллеров на практике. В ней представлено 10 завершенных устройств, разработанных на базе AVR. Подробнее >>>

Автор: А. В. Кравченко

Просмотров: 2755

Дата добавления: 01.07.2013

Название книги: CodeVisionAVR. Пособие для начинающих

Книга “CodeVisionAVR. Пособие для начинающих”, написанная М. Б. Лебедевым, содержит главные способы работы в интегрированной среде разработки CodeVisionAVR, в которой разрабатывается ПО, а также программируются микроконтроллеры AVR на языке Си. Подробнее >>>

Автор: М. Б. Лебедев

Просмотров: 2167

Дата добавления: 01.07.2013

Название книги: Микроконтроллеры ARM7. Семейство LPC2000. Руководство пользователя

Книга П. П. Редькина “Микроконтроллеры ARM7. Семейство LPC2000. Руководство пользователя” содержит в себе не только подробные справочные материалы по микроконтроллерам семейства LPC2000, но и практические инструкции по их программированию и применению для решения широкого спектра задач в области проектирования электронной аппаратуры. Подробнее >>>

Автор: Редькин П. П.

Просмотров: 1136

Дата добавления: 01.07.2013

Название книги: PIC-микроконтроллеры. Все, что вам необходимо знать

Книга Сида Катцена “PIC-микроконтроллеры. Все, что вам необходимо знать” – полное руководство по микроконтроллерам семейства PIC компании Microchip, которое является стандартом для встраиваемых цифровых устройств. Подробнее >>>

Автор: Сид Катцен

Просмотров: 1796

Дата добавления: 01.07.2013

Название книги: Аналоговые интерфейсы микроконтроллеров

Книга “Аналоговые интерфейсы микроконтроллеров” (автор Стюарт Болл Р.) – пособие по использованию разных интерфейсов для подключения устройств периферии к компьютерам, микроконтроллерам и микропроцессорам, имеющее практическую направленность. Подробнее >>>

Автор: Стюарт Болл Р.

Просмотров: 1286

Дата добавления: 01.07.2013

Название книги: Микроконтроллеры AVR. Практикум для начинающих

В книге “Микроконтроллеры AVR. Практикум для начинающих” В. Я. Хартова собраны материалы по микроконтроллерам с архитектурой RISC. Описан также необходимый разработчику инструментарий – интегрированный пакет, предназначенный для разработки и отладки программ, AVR Studio 4 и стартовый набор STK500. Подробнее >>>

Автор: В. Я. Хартов

Просмотров: 1336

Дата добавления: 01.07.2013

Название книги: Программирование PIC-микроконтроллеров на PicBasic

Издание “Программирование PIC-микроконтроллеров на PicBasic” (автор Чак Хелибайк) является практическим руководством по программированию микроконтроллеров семейства PIC на языке PicBasic. Подробнее >>>

Автор: Чак Хелибайк

Просмотров: 1702

Дата добавления: 01.07.2013

Название книги: Системы на микроконтроллерах и БИС программируемой логики

Книгу можно рассматривать как учебник по проектированию микроэлектронных систем на основе микроконтроллеров и программируемых логических интегральных схем (ПЛИС). Подробнее >>>

Автор: Бродин В. Б., Калинин А. В.

Просмотров: 1207

Дата добавления: 01.07.2013

Название книги: Микроконтроллеры AVR. Вводный курс

Практическое руководство для изучения и использования микроконтроллеры AVR компании Atmel. Подробнее >>>

Автор: Джон Мортон

Просмотров: 1295

Дата добавления: 01.07.2013

Название книги: Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12 / HCS12 с применением языка С

Книга “Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12 / HCS12 с применением языка С” последовательно рассматривает каждый этап разработки встраиваемых систем на микроконтроллерах при использовании новейших технологий проектирования. Подробнее >>>

Автор: С. Ф. Баррет, Д. Дж. Пак

Просмотров: 1100

Дата добавления: 01.07.2013

Название книги: Разработка встроенных систем с помощью микроконтроллеров PIC. Принципы и практические примеры

Обладая полезными примерами и иллюстрациями, книга “Разработка встроенных систем с помощью микроконтроллеров PIC. Принципы и практические примеры” будет вашим помощником в освоении проектирования систем при использовании микроконтроллеров PIC и программирование этих устройств на ассемблере и С Подробнее >>>

Автор: Тим Уилмсхерст

Просмотров: 1322

Дата добавления: 01.07.2013

Название книги: Применение микроконтроллеров PIC18. Архитектура, программирование и построение интерфейсов с применением С и ассемблера

На данный момент микроконтроллеры применяются повсеместно в машинах, бытовой технике, промышленном оборудовании и т.п. Подробнее >>>

Автор: Барри Брей

Просмотров: 1222

Дата добавления: 01.07.2013

Название книги: “Умный дом” своими руками

Книга “”Умный дом” своими руками” предназначена для радиолюбителей, однако она может быть полезна всем тем, кто интересуется электроникой. Подробнее >>>

Автор: В. Н. Гололобов

Просмотров: 1458

Дата добавления: 01.07.2013

Название книги: Сборка и программирование мобильных роботов в домашних условиях

Книга “Сборка и программирование мобильных роботов в домашних условиях” – это настоящая энциклопедия мобильных роботов. Здесь детально описывается элементная база роботов: их архитектура и система команд, микроконтроллеры, типы используемых датчиков и двигателей. Подробнее >>>

Автор: Фредерик Жимарши

Просмотров: 1046

Дата добавления: 01.07.2013

Название книги: Микроконтроллеры AVR семейства Mega. Руководство пользователя

Издание основано на известном справочнике “Микроконтроллеры AVR семейств Tiny и Mega” и посвящено однокристальным микроконтроллерам AVR, относящимся к семейству Mega производства фирмы ATMEL. Подробнее >>>

Автор: А. В. Евстифеев

Просмотров: 1182

Дата добавления: 01.07.2013

Название книги: Микроконтроллеры серии 8051. Практический подход

В книге “Микроконтроллеры серии 8051. Практический подход” основательно рассмотрены вопросы применения известных микроконтроллеров 8051, а также их расширений в различных системах управления и контроля. Подробнее >>>

Автор: Ю. С. Магда

Просмотров: 1113

Дата добавления: 01.07.2013

Название книги: Микроконтроллеры? Это же просто! Том 1

Первый том книги А. Фрунзе “Микроконтроллеры? Это же просто!” – первой книги в отечественной литературе о микроконтроллерах и их использовании, написанной на легком и доступном для начинающих языке и максимально полно охватывающей абсолютно все аспекты, связанные с их использованием. Подробнее >>>

Автор: А. В. Фрунзе

Просмотров: 1238

Дата добавления: 01.07.2013

Название книги: Микроконтроллеры? Это же просто! Том 2

Второй том известной книги о микроконтроллерах, написанной А.В.Фрунзе. “Микроконтроллеры? Это же просто!” – уникальная в отечественной литературе книга, посвященная использованию микроконтроллеров. Подробнее >>>

Автор: А. В. Фрунзе

Просмотров: 1047

Дата добавления: 01.07.2013

Название книги: Микроконтроллеры? Это же просто! Том 3

Третья часть популярной книги “Микроконтроллеры? Это же просто!”, всеобъемлюще охватывающей сферу микроконтроллерной техники. Подробнее >>>

Автор: А. В. Фрунзе

Просмотров: 1026

Дата добавления: 01.07.2013

Название книги: Микроконтроллеры смешанного сигнала C8051Fxxx фирмы Silicon Laboratories и их применение. Руководство пользователя

“Микроконтроллеры смешанного сигнала C8051Fxxx фирмы Silicon Laboratories и их применение” представляет собой руководство для студентов технических вузов и инженеров-разработчиков электронной аппаратуры. Подробнее >>>

Автор: М. А. Гладштейн

Просмотров: 1175

Дата добавления: 01.07.2013

Название книги: Цифровые устройства и микропроцессоры

Книга “Цифровые устройства и микропроцессоры” – это учебник по одноименному курсу, который преподается авторами книги в Сибирском государственном университете телекоммуникаций и информатики, а также Новосибирском государственном техническом университете для студентов радиотехнических специальностей. Подробнее >>>

Автор: А. В. Микушин, А. М. Сажнев, В. И. Сединин

Просмотров: 1044

Дата добавления: 01.07.2013

Название книги: Программирование на языке С для AVR и PIC микроконтроллеров, 2-е издание

Для конструкторов предназначается пособие “Программирование на языке С для AVR и PIC микроконтроллеров”. Материал книги касается компиляторов WinAVR и CodeVisionAVR для первых и CCS-PICC, mikroC и СЗО/32 – для вторых. Подробнее >>>

Автор: Юрий Шпак

Просмотров: 1225

Дата добавления: 01.07.2013

Название книги: PIC-микроконтроллеры. Архитектура и программирование

Книга “PIC-микроконтроллеры. Архитектура и программирование” рассматривает PIC-микроконтроллеры, которые считаются наиболее популярным семейством современных микроконтроллеров. Подробнее >>>

Автор: Майкл Предко

Просмотров: 2579

Дата добавления: 01.07.2013

Название книги: Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера

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

Автор: Юрий Ревич

Просмотров: 1340

Дата добавления: 01.07.2013

Название книги: Микроконтроллеры. Разработка встраиваемых приложений

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

Автор: А. Е. Васильев

Просмотров: 4956

Дата добавления: 01.07.2013

Название книги: Микроконтроллеры AVR семейства Tiny

Эта книга помогает каждому разобраться с системой микроконтроллеров AVR и узнать про все их функции и строения. Здесь большинство глав посвящено работе с ними и их возможностям для ваших проектов. Подробнее >>>

Автор: А. В. Евстифеев

Просмотров: 1087

Дата добавления: 01.07.2013

Название книги: Программирование микроконтроллерных плат Arduino/Freeduino

Данная книга подробно разбирает программирование микроконтроллерных плат Arduino и Freduino, а также все их функции и структуру. Подробнее >>>

Автор: У. Соммер

Просмотров: 1089

Дата добавления: 01.07.2013

Название книги: Микроконтроллеры семейства AVR фирмы Atmel

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

Автор: В. В. Гребнев

Просмотров: 1131

Дата добавления: 01.07.2013

Название книги: Сопряжение ПК с внешними устройствами

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

Автор: Пей Ан

Просмотров: 1036

Дата добавления: 01.07.2013

Название книги: Справочник по PIC-микроконтроллерам

В справочнике приведена вся необходимая информация для применения PIC-микроконтроллеров. Подробнее >>>

Автор: Дж. Смит

Просмотров: 1149

Дата добавления: 01.07.2013

Название книги: Сопряжение компьютеров с внешними устройствами. Уроки реализации

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

Автор: Майкл Предко

Просмотров: 1097

Дата добавления: 01.07.2013

Название книги: 10 практических устройств на AVR-микроконтроллерах. Книга 2

В книге описан ряд технических нюансов создания устройств на AVR-микроконтроллерах: способы травления печатных плат, особенности пайки электронных компонентов, механизм намотки проволоки на катушки индуктивности для преобразователей напряжения. Подробнее >>>

Автор: А. В. Кравченко

Просмотров: 988

Дата добавления: 01.07.2013

Название книги: 10 практических устройств на AVR-микроконтроллерах. Книга 3

В книге описывается создание 10 роботов: четырёх солнечных, три робота-«ползуна», два радиоуправляемых и робот-катер. Подробнее >>>

Автор: А. В. Кравченко

Просмотров: 4701

Дата добавления: 01.07.2013

Название книги: Применение микроконтролеров AVR: схемы, алгоритмы, программы, 2-е издание

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

Автор: В. Н. Баранов

Просмотров: 998

Дата добавления: 01.07.2013

Название книги: Аппаратные интерфейсы ПК. Энциклопедия

Книга является справочным пособием для специалистов по аппаратному обеспечению – мастеров, разработчиков, программистов драйверов. Подробнее >>>

Автор: Михаил Гук

Просмотров: 906

Дата добавления: 01.07.2013

Название книги: Google Android. Программирование для мобильных устройств

В книге “Google Android. Программирование для мобильных устройств” освещаются вопросы относительно разработки программ для мобильных устройств, которые управляются операционной системой Google Android. Подробнее >>>

Автор: Алексей Голощапов

Просмотров: 1027

Дата добавления: 31.07.2013

Название книги: Android за 24 часа. Программирование приложений под операционную систему Google

Книга “Android за 24 часа. Программирование приложений под операционную систему Google” отлично подойдет для тех, кто пользуется мобильным телефоном, созданным на платформе Android, и обладает несколькими идеями по разработке мобильного приложения. Издание будет полезно и программистам, которые заинтересованы в освоении мобильных технологий. Подробнее >>>

Автор: Лорен Дэрси, Шейн Кондер

Просмотров: 996

Дата добавления: 31.07.2013

Название книги: Android 2. Программирование приложений для планшетных компьютеров и смартфонов

Эта книга – “Android 2. Программирование приложений для планшетных компьютеров и смартфонов” – лучшее пособие для тех, кто желает самостоятельно создавать программные приложения для широко распространенной ОС мобильных устройств. Содержание основано на базе наиболее популярной и стабильной версии платформы – Android 2.х. Характер построения материала – практический курс. Обилие примеров из реальной практики дает возможность легко освоить даваемые теоретические сведения. Подробнее >>>

Автор: Рето Майер

Просмотров: 1028

Дата добавления: 31.07.2013

Название книги: Разработка приложений для Android

Книга “Разработка приложений для Android” – для тех, кто намерен научиться самостоятельно писать программы для мобильных устройств на базе названной ОС . В ней изложены основные приемы и методики создания программных приложений. В пособии рассматриваются не только простые операции, но и очень сложные процедуры, такие, как разработка трехмерных компонент, работа с тач-скринами (включая обработку жестовых операций) и OpenGL. Дается описание поисковых функций, которые интегрированы в Android. Вы получите понятие о функциях дружественного интерфейса: синтеза речи, переводчика Google. Подробнее >>>

Автор: С. Хашими, С. Коматинени, Д. Маклин

Просмотров: 948

Дата добавления: 31.07.2013

Название книги: Микроконтроллеры AVR. Практикум для начинающих, 2-е издание

Микроконтроллеры, построенные по RISC-архитектуре, имеют мало общего с x86-процессорами, на которых построены современные ПК. Их устройсту, особенностям программирования, и основному инструментарию разработчика и посвящено учебное пособие “Микроконтроллеры AVR. Практикум для начинающих”, предназначенное для студентов старших курсов технических специальностей. Подробнее >>>

Автор: В. Я. Хартов

Просмотров: 1003

Дата добавления: 26.01.2014

Название книги: Микроконтроллеры. Архитектура, программирование, интерфейс

Исследуется архитектура микроконтроллеров MCS-96, MCS-51/151, MCS-251, проводится анализ системы команд этих микроконтроллеров, а также микроконтроллеров 8XC251SB. Разбираются проектирование, программирование и отладка реализующихся на их базе цифровых систем. Подробнее >>>

Автор: Бродин В. Б., Шагурин И. И.

Просмотров: 996

Дата добавления: 26.01.2014

Что такое микроконтроллер 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

Большинство моих проектов основаны на микроконтроллере 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, должна помочь:

PIN НАИМЕНОВАНИЕ ИСПОЛЬЗОВАНИЕ
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

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

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

ШАГИ ДЛЯ ПОЛУЧЕНИЯ ШЕСТИГРАННОГО КОДА

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

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

Здесь у нас есть код с двумя лайнерами, где все контакты portC установлены на высокий уровень.

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

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

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

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

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

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

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

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

Как использовать PICKit3 для загрузки программы в микроконтроллер pic

Как использовать PICKit3: Это руководство посвящено тому, как использовать записывающее устройство для программирования микроконтроллеров pic.Я уже публиковал статью о том, как использовать MikroC for pic для программирования микроконтроллеров pic на c. Программатор – это система отладчика, используемая для разработки программного и аппаратного обеспечения микроконтроллеров Microchip PIC. Система отладчика выполняет код как реальное устройство, потому что вместо использования специального чипа отладчика для эмуляции она использует устройство со встроенной схемой эмуляции. Все доступные функции данного устройства доступны в интерактивном режиме и могут быть установлены и изменены с помощью интерфейса MPLAB IDE.Я рекомендую вам проверить этот список руководств по микроконтроллеру pic . Вы также можете проверить полный список проектов микроконтроллеров pic.

Видео-лекция о том, как загрузить код в микроконтроллер pic

Pickit3 поставляется со следующими компонентами.

  1. Соединительный шнур
  2. Подключение USB-порта
  3. Маркер контакта 1
  4. Разъем для программирования
  5. Светодиоды состояния
  6. Кнопка

Соединительный шнур:

На программаторе предусмотрено удобное крепление шнурка.

Подключение к USB-порту:

Порт подключения представляет собой разъем USB mini-B. Он используется для подключения PICKit3 к ПК через USB-кабель.

Маркер контакта 1:

Он указывает расположение контакта 1 для правильного соединения с минимальной платой разработчика, на которой размещен микроконтроллер PIC.

Разъем для программирования:

Это шестиконтактный разъем, который используется для подключения целевого устройства к PICKit3. Он состоит из следующих штифтов с штифтом 1, начиная с маркера.

  1. Vpp / MCLR (питание)
  2. В DD Target (Power on Target)
  3. V SS (земля)
  4. ICSPDAT / PGD (стандартные данные COM)
  5. ICSPCLK / PGC (стандартные часы COM)
  6. LVP (Программирование низкого напряжения)

Светодиод состояния:

На PICKit3 предусмотрено три светодиода. Разные цвета указывают на разный статус PICKit3, а именно:

  1. Power (зеленый)

Питание на PICKit3 подается через порт USB.

  1. Активный (синий)

Канал связи активен, и PICKit3 подключен к ПК через USB-кабель.

  1. Статус

Занят (желтый)

Выполняется какая-то функция, и PICKit3 занят ею, как программирование

Ошибка (красный)

PICKit3 обнаружил некоторую ошибку.

Соединение с микроконтроллером PIC:

Для соединения PICKit3 с микроконтроллерами PIC используются следующие соединения

  1. Контакт 1 горелки с контактом 4 микроконтроллера PIC
  2. Контакт 2 горелки с контактом 14 микроконтроллера PIC
  3. Контакт 3 горелки с контактом 5 микроконтроллера PIC
  4. Контакт 4 горелки с контактом 13 микроконтроллера PIC
  5. Контакт 5 горелки с контактом 12 микроконтроллера PIC
  6. Контакт 6 не подключен для нормального использования.

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

Полезность PICKit 3 Программист:

  • Отладка приложения на собственном оборудовании в реальном времени
  • Отладка с аппаратными точками останова
  • Установить точки останова на основе внутренних событий
  • Контроль внутренних файловых регистров
  • Эмуляция на полной скорости
  • Запрограммируйте свое устройство

Вывод платы программатора ВЫХОД:

Плата программатора имеет 6 выходных контактов на одной стороне для подключения к PICKit3.Ниже приведены булавки.

  1. Vpp / MCLR (питание)
  2. В DD Target (Power on Target)
  3. V SS (земля)
  4. ICSPDAT / PGD (стандартные данные COM)
  5. ICSPCLK / PGC (стандартные часы COM)
  6. LVP (Программирование низкого напряжения)

Подключение платы программатора с PICKit3:

Поместите контроллер на плату программатора и затем подключите его к PICKit3 следующим образом. Подсчет кеглей Pickit3 начинается с маркера стрелки.

  1. Контакт 1 PICKit3 с MCLR платы программатора
  2. Контакт 2 PICKit3 с VCC платы программатора
  3. Контакт 3 PICKit3 с GND платы программатора
  4. Контакт 4 PICKit3 с PGD платы программатора
  5. Контакт 5 PICKit3 с PGC платы программатора

Контакт 6 не подключен для нормального использования.

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

Следующие соединения используются на плате программатора и PIC18F46K22

  1. MCLR платы программатора с контактом 1 PIC18F46K22
  2. VCC платы программатора с выводом 11 PIC18F46K22
  3. GND платы программатора с контактом 12 PIC18F46K22
  4. PGD платы программатора с контактом 40 PIC18F46K22
  5. PGC платы программатора с выводом 39 PIC18F46K22

Контакт 6 не подключен для нормального использования

Эти соединения предназначены только для PIC18F46K22.Для других микроконтроллеров обратитесь к паспорту соответствующего микроконтроллера.

Схема для проекта:

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

Программная часть:

Откройте для себя радость понимания электроники

12 апреля 2019 г. • Учебник

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

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

Можно ли создать проект с микроконтроллером, даже если вы ничего о нем не знаете? Ответ положительный! Да, можно! В этой статье я остановлюсь на микроконтроллерах PIC компании MicroChip, но общая идея работает и для всех остальных. Дайте мне знать в комментариях, если у вас есть вопросы или что-то непонятно 🙂

Шаг 1. Получите.шестнадцатеричный файл!

Микроконтроллеры – это маленькие компьютеры, и им нужна программа, которая укажет им, что делать. Это набор инструкций, и этот набор инструкций необходимо передать на контроллер, чтобы он заработал. Обычно этот набор инструкций написан на таких языках программирования, как C, Basic, Assembler или что-то еще. Хорошая новость: вам не нужно ничего знать об этом, если все, что вам нужно, – это перенести эту программу на контроллер!

Все, что вам нужно, это т.н.шестнадцатеричный файл. Это файл размером всего в несколько килобайт, который не читается человеческим глазом. Он содержит машинный код, записанный в шестнадцатеричном формате, откуда и происходит название. Этот файл – все, что вам нужно, и если вы внимательно посмотрите на блог по электронике, где кто-то представляет свой проект, включающий микроконтроллер, где-то будет файл .hex для загрузки. Если это не так, просто спросите! ??

Шаг 2. Получите устройство программирования

Итак, теперь у вас есть.шестнадцатеричный файл. Далее вам понадобится программист. Что это такое? Это устройство, обычно отключенное от USB, которое подключает ваш компьютер к микроконтроллеру. Используя специальное программное обеспечение (см. Шаг 4 ниже), вы сможете перенести файл .hex в память микроконтроллера. Затем, когда контроллер включится, он будет делать то, что ему велит файл .hex!

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

Это мой PICkit3, который я купил много лет назад, и он до сих пор работает. Стоит денег!

О, я чуть не забыл упомянуть: передача файла .hex на контроллер в большинстве случаев называется «программированием» PIC или «прошивкой» PIC. Просто чтобы вы знали 🙂

Шаг 3: Подключите PIC-контроллер к программатору

Хорошо, теперь у вас есть PIC-контроллер, у вас есть PICkit3, и что теперь? Теперь, конечно, вам нужно подключить PIC к PICkit3! 😉 Но как?

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

.

Шесть соединений в PICkit3.

В разъеме PICkit3 имеется шесть соединений, называемых LVP, PGC, PGD, VSS, VDD и MCLR. Мы не будем использовать LVP, поэтому давайте проигнорируем его в этой статье. Так что же означают пять других? Начнем с двух простых:

  • VDD – положительное рабочее напряжение.
  • VSS – потенциал земли.

А остальные?

  • MCLR обозначает Master Clear , и заземление этого контакта переводит контроллер PIC в режим программирования. Во время нормальной работы он должен быть подключен к VDD, чтобы контроллер PIC не сбрасывался.
  • PGD означает Programming Data , и именно сюда передаются биты, которые записываются в контроллер во время программирования, как в регистре сдвига.Это линия данных, и она может быть высокой или низкой, в зависимости от того, передает ли PICkit3 старший или младший бит в это время.
  • PGC , наконец, Programming Clock . Всякий раз, когда в этой строке присутствует импульс, текущий бит в PGD записывается в PIC, и внутренне PIC перемещается в следующий слот для записи следующего бита. Это сердцебиение цикла программирования.

И самое лучшее: это хорошая информация, но нам не нужно этого знать! Все, что нам нужно сделать, это приклеить PIC к макетной плате, добавить контактный заголовок и соответствующим образом соединить контакты.Посмотрите техническое описание вашего контроллера PIC, где эти имена контактов (MCLR, VDD, VSS, PGD, PGC) четко обозначены. Затем с помощью перемычек подключите контакты PIC к соответствующему коннектору, как вы можете видеть здесь:

Затем вы можете вставить PICkit3 в схему и подключить его к компьютеру. В моем случае у меня на самом деле не было штыря под 45 градусов, поэтому я перевернул макетную плату набок, но угадайте что, она работает отлично 🙂

А как его к PIC контроллеру подключить? Это во многом зависит от конкретного контроллера, который вы хотите использовать.Каждый контроллер имеет назначенные программные контакты (MCLR, PGD и PGC), которые необходимо подключить к PICkit3. В качестве примера возьмем PIC16F627A . На этом рисунке ниже вы можете увидеть соответствующие контакты:

Цвета соответствуют проводам, которые я использовал на рисунках выше для подключения PIC к PICkit3 на макетной плате. Попробуйте 🙂

Шаг 4: Программное обеспечение!

Теперь, наконец, нам нужно скачать бесплатное программное обеспечение от компании MicroChip.Он называется MPLAB X IPE, что означает интегрированная среда программирования 10. Вы можете бесплатно скачать его здесь. Да, я знаю, там написано MPLAB IDE вместо MPLAB IPE, но IPE включен в эту загрузку.

Установите программное обеспечение, а затем запустите MPLAB X IDE. это выглядит примерно так:

Убедитесь, что в разделе Device вы выбрали свой контроллер. Под Tool вы уже должны увидеть PICkit3, если он подключен. Если вы еще этого не сделали, подключите его сейчас 🙂 Затем нажмите Connect .Нажмите ОК в появившемся сообщении:

Возможно, вы получите такое сообщение об ошибке:

«Целевое устройство не найдено (не удалось обнаружить целевое напряжение VDD). Вы должны подключиться к целевому устройству, чтобы использовать PICkit 3 ».

Если да, то нажмите Power слева и проверьте цепь цели с помощью инструмента . Убедитесь, что установлено правильное напряжение (5 В для контроллера 5 В, 3,3 В для контроллера 3,3 В):

Затем снова нажмите Operate и нажмите Connect во второй раз.Может, уже показывает, что подключен, если нет, просто снова нажмите Подключиться. Теперь это должно выглядеть так:

Нажмите Проверить и нажмите ОК в этом запросе:

Теперь все должно работать, но вы можете получить это сообщение об ошибке:

«Идентификатор целевого устройства (0x0) является недопустимым идентификатором устройства. Пожалуйста, проверьте ваши подключения к целевому устройству. Желаете ли вы продолжить?”

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

Хорошо! Теперь мы в деле! Пришло время загрузить файл.шестнадцатеричный файл! Щелкните File , затем Import , а затем щелкните Hex , чтобы выбрать файл, после чего он должен выглядеть так:

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

Программирование завершено! Вы сделали это! Шестнадцатеричный файл теперь надежно хранится на вашем контроллере!

Финишная черта! Ты сделал это!

Теперь просто отключите PICkit3, выключите программное обеспечение и отключите контроллер от сети.Он готов к подключению к месту назначения!

Я надеюсь, что это руководство было полезным. Если вы чувствуете, что я пропустил несколько частей здесь и там, или что-то не так или неправильно, сообщите мне об этом в комментариях ниже, и я постараюсь добавить недостающую информацию!

От себя лично: я знаю, что рисковать в неизвестность может быть неприятно. Но это также может быть очень полезным. Изучение прошивки микроконтроллеров – это первый шаг в совершенно новый мир! То, что раньше было недостижимо, теперь доступно 🙂

Объяснение извлечения микропрограмм из микроконтроллеров Microchip PIC

Этот блог является третьей частью из четырех статей о взломе оборудования для специалистов по безопасности и исследователей.Обязательно ознакомьтесь с первой частью, посвященной микроконтроллерам Atmel, и второй частью, посвященной микроконтроллерам Nordic RF.

В этом блоге мы проведем дальнейшие упражнения по извлечению микропрограмм и рассмотрим микроконтроллер Microchip PIC (PIC32MX695F512H). Чтобы получить доступ к микропрограммному обеспечению микроконтроллеров PIC, нам потребуется считывать данные непосредственно с контроллера через встроенный в схему программатор последовательного интерфейса (ICSP).

ICSP – это еще один метод, позволяющий программировать или перепрограммировать микроконтроллер (MCU) во время работы в схеме.Для этого мы будем использовать следующие инструменты и программное обеспечение:

PICkit 3 – недорогой внутрисхемный отладчик. Доступны и более дешевые универсальные версии устройства. По нашему опыту, как фирменные, так и универсальные версии хорошо себя зарекомендовали.

PICkit 3 Функция
VPP (или MCLR) Программируемое напряжение (обычно 13 В)
VCC или VDD Питание (обычно 5В)
VSS или GND Земля (0 вольт)
ICSPDAT \ PGD Data – обычный порт и подключение RB7 (PGED)
ICSPCLK \ PGC Clock – обычный порт и подключение RB6 (PGEC)
PGM – LVP Программирование низкого напряжения – обычный порт и соединение RB3 / RB4

При подключении PICkit 3 к печатной плате для отладки нередко можно найти связанный заголовок на печатной плате для PIC ICSP.Пример этого показан ниже:

Также важно предположить, что заголовок ICSP не может быть закреплен должным образом, а это означает, что простое подключение PICkit 3 может не дать ожидаемых результатов. Мы рекомендуем сначала проверить распиновку. Лучше всего это сделать с помощью таблицы данных для MCU и мультиметра, установленного на непрерывность, чтобы прозвонить заголовок ICSP на фактические контакты на микросхеме.

В этом примере, используя таблицу данных для микроконтроллера PIC32MX695F512H и мультиметра, мы обнаружили, что распиновка заголовка предназначена для ICSP микроконтроллера, но расположение выводов не соответствует правильному порядку расположения выводов для прямого подключения, как показано ниже:

Как видите, полезно всегда перепроверять распиновку перед подключением отладчика или анализатора к печатной плате.Это избавит вас от многих головных болей в дороге и поможет предотвратить повреждение поврежденных компонентов. Также обратите внимание, что контакт 6 PGM – LVP на PICkit 3 не используется. Этот вывод нужен только при программировании определенных устройств MCU и, насколько я понимаю, никогда не нужен при чтении флеш-памяти.

После успешного подключения PICkit 3 к целевому устройству вам необходимо загрузить и установить программное обеспечение MPLab X IDE, доступное от Microchip. После установки пора извлечь прошивку из MCU.

Откройте программу MPLAB X IDE и создайте новый проект. Вы можете использовать значения по умолчанию для Категории и Типа проекта. Когда будет предложено выбрать устройство, выберите Семейство и тип тестируемого устройства. В нашем примере мы использовали следующее:

    Семейство
  • : 32-разрядные микроконтроллеры (PIC32)
  • Устройство: PIC32MX695F512H

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

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

Затем выберите «Чтение памяти устройства».

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

При сохранении файла он будет сохранен как файл типа Intel Hex.Чтобы иметь возможность изучить и протестировать микропрограммное обеспечение в дальнейшем, вам необходимо преобразовать его в двоичный тип файла. Это легко сделать с помощью приложения Linux hex2bin, как показано ниже:

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

Мы также рекомендуем изучить возможности MBLab X IDE. Например, после извлечения прошивки загляните в меню битов конфигурации.Это покажет вам конфигурацию чипа и настройки безопасности.

Вернитесь на следующей неделе, чтобы увидеть четвертую и последнюю часть этой серии статей, в которой подробно рассматриваются радиочастотные микроконтроллеры Texas Instrument.

Нужна помощь в обеспечении безопасности вашего Интернета вещей? Узнайте больше о наших услугах по тестированию безопасности Интернета вещей.
Начать

Как запрограммировать флэш-память нескольких контроллеров PIC

Как запрограммировать флэш-память нескольких контроллеров PIC
Сеть обмена стеков

Сеть Stack Exchange состоит из 176 сообществ вопросов и ответов, включая Stack Overflow, крупнейшее и пользующееся наибольшим доверием онлайн-сообщество, где разработчики могут учиться, делиться своими знаниями и строить свою карьеру.

Посетить Stack Exchange
  1. 0
  2. +0
  3. Авторизоваться Зарегистрироваться

Electrical Engineering Stack Exchange – это сайт вопросов и ответов для профессионалов в области электроники и электротехники, студентов и энтузиастов.Регистрация займет всего минуту.

Зарегистрируйтесь, чтобы присоединиться к этому сообществу

Кто угодно может задать вопрос

Кто угодно может ответить

Лучшие ответы голосуются и поднимаются наверх

Спросил

Просмотрено 1к раз

\ $ \ begingroup \ $

У нас в системе 6 контроллеров dsPIC33F (16bit), и система довольно большая и сложная.Все контроллеры расположены на разных платах и ​​связаны между собой через шину RS485.

  1. Первый контроллер Pic (Master) подключен к ПК, а остальные контроллеры (5 подчиненных) подключены к Master с помощью шины RS485.
  2. Для программирования ведущего dsPIC использует программатор MPLAB-ICD, подключенный к ПК.
  3. Теперь, чтобы запрограммировать dsPIC Slave1, мы должны открыть машину, найти печатную плату и вручную подключить программатор, а затем запрограммировать его.
  4. Аналогичным образом мы следуем той же процедуре один за другим для всех контроллеров, удаляя программатор и подключаясь к соответствующей печатной плате для программирования dsPIC.

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

Какие аппаратные / программные изменения мне нужно внести, чтобы запрограммировать dsPIC, не открывая систему?

Рикардо

5,8411717 золотых знаков4747 серебряных знаков8282 бронзовых знака

Создан 24 июн.

\ $ \ endgroup \ $ 1 \ $ \ begingroup \ $

Я делаю примерно то же самое с устройствами PIC32, за исключением того, что это выполняется с помощью загрузчика, а не ICD.Мы программируем загрузчик в каждое устройство, когда оно производится и тестируется с использованием MPLAB-ICD3. Затем мы используем загрузчик для обновления прошивки.

Загрузчик – это модифицированная версия загрузчика, предоставленного Microchip. Модификации должны были обеспечить сквозную связь с ведомыми устройствами. Приложение загрузчика ПК также потребовало доработки. Вот как это работает:

  1. Каждое устройство имеет два порта связи. Один порт RS-232 и один порт RS-485.Порт RS-232 обычно используется только ведущим устройством, и все ведомые устройства могут быть запрограммированы и настроены через сквозное соединение с этого порта. Подчиненные устройства могут быть дополнительно сконфигурированы или запрограммированы через их собственный порт RS-232.

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

  3. В протоколах связи для всех портов есть команда «Сброс». Это используется для сброса процессора, переводящего его в режим загрузчика. Процессор находится в режиме загрузчика не менее 0,5 секунды. Это время увеличивается, если получены пакеты загрузчика (будь то устройство или другие устройства). Приложение загрузчика ПК начинает процесс загрузки, отправляя мастеру команду глобального сброса, которая передает ее подчиненным.

  4. Каждая команда и данные с ПК поступают в виде пакета.Байт адреса добавляется в начало каждого пакета для обозначения целевого устройства. Адрес задается элементом управления в окне программы загрузчика ПК.

  5. Все пакеты подтверждаются устройством, которому адресован пакет.

  6. Мастер будет использовать пакет, если он соответствует его собственному адресу, и подтвердит этот пакет. Мастер будет передавать пакет в порт RS-485, если адрес не совпадает с его собственным. Мастер будет передавать подтверждающие сообщения с порта RS-485 на ПК.

  7. Подчиненное устройство, получающее пакет от порта RS-485, будет использовать этот пакет и подтверждать его через порт RS-485. Если пакет получен из порта RS-232 (и адрес совпадает), он будет использовать и подтверждать пакет через этот порт.

  8. Из-за дополнительного времени, необходимого для сквозной связи, пришлось увеличить время ожидания в приложении загрузчика ПК. По другим причинам, связанным с нашим продуктом, мы не поддерживаем использование виртуальных COM-портов на базе Ethernet для обновления прошивки.Если это будет сделано, потребуется дополнительное время. Большинство адаптеров USB-последовательный порт (использующих драйверы виртуального COM-порта) нормально работают с этим методом.

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

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