Программатор pic контроллеров своими руками. Программатор PIC контроллеров: обзор, схемы и инструкция по изготовлению

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

Содержание

Что такое программатор PIC микроконтроллеров

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

Основные функции программатора PIC:

  • Подача питания на микроконтроллер во время программирования
  • Формирование необходимых управляющих сигналов
  • Преобразование уровней сигналов между ПК и микросхемой
  • Обеспечение временных задержек при программировании
  • Защита микроконтроллера от перенапряжения

Типы программаторов PIC

Существует несколько основных типов программаторов для микроконтроллеров PIC:

1. Программаторы JDM

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


2. USB-программаторы

Более современные устройства, работающие через USB-порт. Обеспечивают высокую скорость программирования. Пример — программатор PICkit.

3. Универсальные программаторы

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

4. Внутрисхемные программаторы

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

Схемы программаторов PIC

Рассмотрим несколько популярных схем простых программаторов PIC, которые можно изготовить самостоятельно:

Простой JDM-программатор для PIC16F84A

Классическая схема на основе COM-порта:

  • Использует сигналы DTR, TxD и RTS COM-порта
  • Формирует напряжение программирования 13 В с помощью умножителя
  • Подходит для программирования PIC16F84A и совместимых микроконтроллеров

USB-программатор на FT232RL

Более современная схема на USB-UART преобразователе:

  • Работает через USB-порт компьютера
  • Использует микросхему FT232RL для преобразования USB в UART
  • Формирует напряжение программирования с помощью DC-DC преобразователя
  • Поддерживает широкий диапазон PIC микроконтроллеров

Как сделать программатор PIC своими руками

Пошаговая инструкция по изготовлению простого JDM-программатора:


  1. Подготовьте необходимые компоненты согласно выбранной схеме
  2. Соберите схему на макетной плате для проверки работоспособности
  3. Разработайте печатную плату в программе для трассировки
  4. Изготовьте печатную плату методом ЛУТ или закажите изготовление
  5. Припаяйте компоненты на плату согласно схеме
  6. Установите разъемы для подключения к компьютеру и микроконтроллеру
  7. Проверьте правильность монтажа и отсутствие замыканий
  8. Подключите программатор к компьютеру и установите драйверы
  9. Протестируйте работу программатора с помощью программы ic-prog

Какие компоненты нужны для сборки программатора PIC

Для изготовления простого JDM-программатора потребуются следующие компоненты:

  • Разъем DB9 для подключения к COM-порту
  • Транзисторы КТ3102, КТ315 или аналоги
  • Диоды 1N4148
  • Стабилитрон на 13В
  • Конденсаторы 100 нФ
  • Резисторы номиналом 1-10 кОм
  • Колодка для установки программируемой микросхемы
  • Печатная плата

Как подключить и настроить программатор PIC

Порядок подключения и настройки самодельного программатора:

  1. Подключите программатор к COM-порту компьютера
  2. Установите драйвер виртуального COM-порта, если используется USB-программатор
  3. Запустите программу ic-prog или аналогичную
  4. Выберите тип программатора в настройках программы
  5. Укажите номер COM-порта, к которому подключен программатор
  6. Выберите тип программируемого микроконтроллера
  7. Загрузите HEX-файл с прошивкой
  8. Установите микроконтроллер в колодку программатора
  9. Запустите процесс программирования

Советы по использованию программатора PIC

Несколько рекомендаций для успешного программирования PIC микроконтроллеров:


  • Всегда проверяйте правильность подключения микроконтроллера
  • Используйте стабилизированный источник питания
  • Не отключайте микроконтроллер во время программирования
  • Периодически проверяйте качество контактов в панельке
  • Обновляйте прошивку программатора и программное обеспечение
  • При неудачах попробуйте снизить скорость программирования

Часто задаваемые вопросы о программаторах PIC

Какой программатор лучше выбрать начинающему?

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

Можно ли использовать программатор PIC для других микроконтроллеров?

Большинство программаторов PIC предназначены только для микроконтроллеров Microchip. Для других микроконтроллеров нужны свои программаторы.

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

Для программирования PIC можно использовать бесплатные программы MPLAB IPE, PICkit, Win PIC Programmer. Также подойдут платные MPLAB X IDE, PIC Programmer.


Как защитить микроконтроллер от случайного стирания?

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

Заключение

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


Простой USB программатор PIC

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

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

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

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

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

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

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

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

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

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

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

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

LM7812

1Поиск в магазине ОтронВ блокнот
VR2Линейный регулятор

LM7805

1Поиск в магазине ОтронВ блокнот
VT1Биполярный транзистор

КТ502Е

1Поиск в магазине Отрон
В блокнот
VT2Биполярный транзистор

КТ3102Е

1Поиск в магазине ОтронВ блокнот
VD1-VD3Выпрямительный диод

1N4148

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

1 кОм

3Поиск в магазине ОтронВ блокнот
R2, R5, R6Резистор

4. 7 кОм

3Поиск в магазине ОтронВ блокнот
R7, R8Резистор

300 Ом

2Поиск в магазине ОтронВ блокнот
ZQ1Кварц12 МГц1Поиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

Теги:
  • PIC
  • Программатор
  • USB
  • Sprint-Layout

Программатор pic-контроллеров Extra-pic — Новости на сегодня

Полезные советы

На чтение 4 мин Опубликовано Обновлено

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

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

К достоинствам именно этого программатора можно отнести простоту его схемы, надёжность работы, универсальность, ведь поддерживает он все распространённые микроконтроллеры. На компьютере поддерживается также самыми распространёнными программами для прошивки, такими как Ic-prog, WinPic800, PonyProg, PICPgm.

Содержание

  1. Схема программатора
  2. Материалы
  3. Изготовление печатной платы
  4. Сборка программатора

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

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

Материалы

Список необходимых для сборки программатора деталей:

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

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

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

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

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

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

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

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

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

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

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

Оцените автора

Введение в микроконтроллеры

Автор: Dinesh Kumar Wickramasinghe

Введение

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

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

Типичный компьютер имеет процессор, память и порты ввода/вывода для подключения внешних устройств. Микроконтроллер имеет то же самое. Мы также называем микроконтроллер блоком микроконтроллера (MCU)

9.0002 Зачем использовать микроконтроллеры?

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

Разница между микроконтроллером и микропроцессором

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

По сравнению с мощностью ПК микроконтроллер имеет ограниченную вычислительную мощность и ограниченный объем памяти. Да, вы не можете играть в Crysis на микроконтроллере: P

Известные производители микроконтроллеров

Хорошо известными производителями микроконтроллеров являются Microchip, Atmel, ARM, Texas Instruments, Intel и т. д.

Вы знаете, что известная платформа Arduino UNO основана на микроконтроллере ATmega328, который производится ATmel.

В этой серии руководств я буду использовать микроконтроллеры семейства PIC производства Microchip.

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

Это полностью зависит от требований вашего проекта. Мы поговорим об этом позже.

Об этой серии руководств

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

В качестве языка программирования я в основном буду использовать язык MikroC от Microelectronica.

Какое аппаратное и программное обеспечение мне нужно?

При использовании платформы Arduino вам потребуется только плата Arduino и кабель USB (кроме датчиков, двигателей и т. д.)

Но при работе с микроконтроллерами PIC вам понадобится несколько вещей. Но не волнуйтесь, вы можете построить их самостоятельно. При желании их тоже можно купить.

Вот оборудование, которое вам нужно (я дам вам более подробную информацию позже в этом посте)

  • Микроконтроллеры PIC16F84A / PIC16F877A (Первые несколько уроков основаны только на PIC16F84A)
  • Программатор микроконтроллеров (можно купить или собрать самому, я покажу как)
  • Простая проектная плата микроконтроллера (ее также можно купить или собрать самостоятельно)
  • Светодиоды, датчики, двигатели и т. д. (не волнуйтесь, мы будем двигаться шаг за шагом)

Вот необходимое вам программное обеспечение (более подробно я дам вам позже в этом посте)

  • Компилятор MikroElektronika MikroC
  • Программатор (MicroBurn или ICProg)

Давайте создадим свой собственный Программатор микроконтроллера

Вам нужно что-то под названием Программатор, чтобы загрузить вашу прошивку (вашу скомпилированную версию исходного кода) на ваш микроконтроллер. Таким образом, программатор — это интерфейс для подключения микроконтроллера к вашему ПК или ноутбуку. Ниже версия программатора называется программатором JDM. Его очень просто и легко построить. Единственным недостатком здесь является то, что программатор JDM подключается к ПК через последовательный порт. Большинство современных ПК и ноутбуков не имеют последовательных портов. Но есть решение. Подождите секунду, я объясню вам позже.

Вот схема JDM-программатора для PIC16F84A.

Вот схема JDM-программатора для PIC16F877A.

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

Вот мой программатор JDM. Он имеет два интерфейса для подключения как PIC16F84A, так и PIC16F877A. Я построил это год назад и до сих пор работает нормально.

А вот еще одна версия программатора JDM, которую я собрал (Mini JDM). Он может программировать только микроконтроллер PIC16F84A.

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

Я знаю, что у большинства из вас нет последовательного порта на вашем ПК или ноутбуке, поэтому вам нужно использовать USB-программатор. Немного сложно создать собственную версию USB-программатора. Так что лучший способ — купить. Вы можете купить Программатор К150. K150 дешев и поддерживает многие типы микроконтроллеров PIC.

Вы также найдете программаторы семейства PICKit с более продвинутыми функциями отладки.

Давайте создадим простую отладочную плату для микроконтроллера

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

Схема для PIC16F84A

Вот изображение моей макетной платы для PIC16F84A

Схема для PIC16F877A

Вот изображение моей отладочной платы для PIC16F877A

На обеих отладочных платах я использовал кварц 4 МГц. Также стабилизатор напряжения 7805 для подачи стабильных 5В на микроконтроллер.

Я также использовал женские разъемы для всех портов микроконтроллера. Так что я могу легко подключить датчики, светодиоды к микроконтроллеру для своих экспериментов. Вы также можете добавить несколько разъемов «мама» к контактам +5 В и заземления.

Вы также можете купить макетную плату, как на картинке ниже. Это для микроконтроллера PIC16F877A. Я не смог найти ни одной коммерческой версии отладочных плат для микроконтроллера PIC16F84A.

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

В этой серии руководств мы будем использовать язык MikroElektronika MikroC. Вы можете скачать MikroElektronika MikroC IDE по ссылке ниже.

Скачать MikroElektronika MikroC IDE

Вы также можете загрузить последнюю версию с официальной страницы MikroElektronika.

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

Скачать IC Prog

Если вы используете программатор К150, то вы должны использовать MicroBurn. Это тоже похожее ПО. Вы можете скачать MicroBurn здесь.

Скачать MicroBurn

Заключение.

Вот и конец этой записи в блоге. В следующем посте я объясню вам, как написать свой первый код микроконтроллера PIC, загрузить его в микроконтроллер PIC16F84A и протестировать его. Так что готовь вещи.

Если вы видите в этой статье что-то непонятное или какие-то ошибки, вопросы, пишите в комментарии. Я постараюсь объяснить их максимально просто.

Хорошего дня.

Введение в архитектуру PIC и MPLABX

В 1980 году Intel разработала первый микроконтроллер (8051) с Гарвардской архитектурой 8051, и с тех пор микроконтроллеры произвели революцию в электронике и промышленности встраиваемых систем. А благодаря технологическому прогрессу с течением времени у нас появилось много более эффективных микроконтроллеров с низким энергопотреблением, таких как AVR, PIC , ARM. Эти микроконтроллеры более функциональны и просты в использовании, имеют новейшие протоколы связи, такие как USB, I2C, SPI, CAN и т. д. Даже Arduino и Raspberry Pi полностью изменили взгляд на микроконтроллеры, а Raspberry Pi — это не просто микроконтроллер, а целый компьютер внутри.

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

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

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

Теперь давайте начнем с Простого введения в микроконтроллеры PIC и некоторых настроек программного обеспечения, которые помогут нам приступить к следующему руководству. Посмотрите видео в конце для установки и настройки MPLABX, XC8, Proteus и быстрой распаковки программатора PICkit 3.

 

Архитектура микроконтроллера PIC и приложения:

Микроконтроллер PIC был представлен компанией Microchip Technologies в 1993 году. Первоначально эти PIC были разработаны как часть PDP 9.0133 (программируемый процессор данных) Компьютеры и каждое периферийное устройство компьютера были сопряжены с помощью этого микроконтроллера PIC. Следовательно, PIC получил свое название от контроллера периферийного интерфейса . Позднее компания Microchip разработала множество интегральных схем серии PIC, которые можно использовать для любых небольших приложений, от осветительных до более сложных.

Каждый микроконтроллер должен быть построен на основе какой-либо архитектуры, наиболее известным типом архитектуры является Гарвардская архитектура, наша PIC основана на этой архитектуре, поскольку она принадлежит к классическому семейству 8051. Давайте перейдем к небольшому вступлению о Гарвардская архитектура PIC .

Микроконтроллер PIC16F877A состоит из встроенного ЦП, портов ввода-вывода, организации памяти, аналого-цифрового преобразователя, таймеров/счетчиков, прерываний, последовательной связи, генератора и модуля CCP, сбор которых делает IC мощным микроконтроллером для начинающих. начать с. Общая блок-схема архитектуры PIC показана ниже.

 

ЦП (центральный процессор):

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

 Он состоит из ALU (Арифметико-логическое устройство), с помощью которого он выполняет арифметические операции и логические решения. Также присутствует MU (блок памяти) для хранения инструкций после их выполнения. Этот MU определяет размер программы нашего MC. Он также состоит из CU (блок управления), который действует как коммуникационная шина между ЦП и другими периферийными устройствами микроконтроллера. Это помогает в извлечении данных после их обработки в указанных регистрах.

 

Оперативная память (ОЗУ):

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

  • Регистр общего назначения (GPR)
  • Регистр специальных функций (SFR)

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

В то время как SFR используется для выполнения сложных специальных функций , которые также включают некоторую 16-битную обработку, их регистры можно только читать (R), и мы не можем ничего записывать в них (W). Таким образом, эти регистры имеют предопределенные функции для выполнения, которые устанавливаются во время изготовления, и они просто отображают нам результат, с помощью которого мы можем выполнять некоторые связанные операции.

 

Постоянная память (ПЗУ):

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

 

Электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ):

ЭСППЗУ — это еще один тип модуля памяти. В этом блоке памяти могут храниться значения во время выполнения программы. Здесь хранятся только значения Электрически стираемые , то есть эти значения будут сохраняться в PIC даже при выключении IC. Их можно использовать как небольшое пространство памяти для хранения выполненных значений; однако объем памяти будет очень меньше в оборотах КБ.

 

Флэш-память :

Флэш-память также является программируемой постоянной памятью (PROM), в которой мы можем читать, записывать и стирать программу тысячи раз. Как правило, микроконтроллер PIC использует этот тип ПЗУ.

Порты ввода/вывода

  • Наш PIC16F877A состоит из пяти портов, а именно: порт A, порт B, порт C, порт D и порт E.
  • Из всех пяти ПОРТОВ только порт A является 16-битным, а ПОРТ E — 3-битным. Остальные ПОРТЫ 8-битные.
  • Выводы на этих ПОРТАХ могут использоваться либо как входные, либо как выходные, в зависимости от конфигурации регистра TRIS.
  • Помимо выполнения операций ввода-вывода, контакты также могут использоваться для специальных функций, таких как SPI, Interrupt, PWM и т. д.

 

Шина:

Термин «шина» — это просто набор проводов, соединяющих устройство ввода или вывода с процессором и оперативной памятью.

Шина данных используется для передачи или приема данных.

Адресная шина используется для передачи адреса памяти от периферийных устройств к ЦП. Выводы ввода-вывода используются для взаимодействия с внешними периферийными устройствами; UART и USART оба протокола последовательной связи используются для взаимодействия с последовательными устройствами, такими как GSM, GPS, Bluetooth, IR и т. д.

 

Выбор микроконтроллеров PIC для наших руководств:

Микроконтроллеры PIC компании Microchip делятся на 4 больших семейства. Каждое семейство включает ряд компонентов со встроенными специальными функциями:

  1. Первое семейство, PIC10 (10FXXX), называется Low End.
  2. Второе семейство PIC12 (PIC12FXXX) называется Mid-Range.
  3. Третье семейство — PIC16 (16FXXX).
  4. Четвертое семейство PIC 17/18(18FXXX)

Поскольку мы начинаем изучать PIC, давайте выберем IC, который используется и доступен повсеместно. Эта ИС принадлежит к семейству 16F, номер детали ИС PIC16F877A. С первого урока и до конца мы будем использовать ту же микросхему, что и . Эта микросхема оснащена всеми расширенными функциями, такими как SPI, I2C, UART и т. д. Но если вы не получите ничего из этого сейчас, все в порядке. , мы будем продвигаться по каждому учебнику и, наконец, будем использовать все вышеупомянутые функции.

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

 

Периферийная функция упоминает, что она имеет 3 таймера , два из которых 8-битные, а один 16-битный предварительный делитель. Эти таймеры используются для создания функций синхронизации в нашей программе. Их также можно использовать в качестве счетчиков. Это также показывает, что у него есть CCP (Capture Compare and PWM) опции, которые помогают нам генерировать сигналы PWM и считывать входящие сигналы частоты. Для связи с внешним устройством он имеет SPI, I2C, PSP и USART . В целях безопасности он оснащен сбросом при отключении питания (BOR), , который помогает сбросить программу while.

Аналоговые функции, Указывает, что микросхема имеет 10-битный 8-канальный АЦП . Это означает, что наша микросхема может преобразовывать аналоговые значения в цифровые с разрешением 10 бит и имеет 8 аналоговых контактов для их чтения. У нас также есть два внутренних компаратора, которые можно использовать для непосредственного сравнения входящего напряжения без фактического считывания их через программное обеспечение.

Специальные функции микроконтроллера, означает, что он имеет 100 000 циклов стирания/записи, означает, что вы можете запрограммировать его примерно 100 000 раз. In-Circuit Serial Programming™ (ICSP™), помогает нам программировать микросхему напрямую с помощью PICKIT3. Отладку можно выполнить с помощью внутрисхемной отладки (ICD ). Еще одной функцией безопасности является сторожевой таймер (WDT), , который является самонадежным таймером, который при необходимости сбрасывает всю программу.

На изображении ниже представлены выводы нашей микросхемы PIC16F877A . Это изображение представляет каждый контакт с его именем и другими его функциями. Это также можно найти в даташите. Держите этот образ под рукой, он поможет нам в работе с оборудованием.

 

Выбор программного обеспечения для наших руководств:

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

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

IDE: MPLABX v3.35

IPE: MPLAB IPE v3.35

Компилятор: XC8

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

Для моделирования мы использовали программное обеспечение PROTEUS 8 , предоставленное Labcenter. Это программное обеспечение можно использовать для моделирования нашего кода, сгенерированного с помощью MPLABX. Существует бесплатное демонстрационное ПО, которое можно скачать с их официальной страницы по ссылке.

 

Подготовка к работе с аппаратным обеспечением:

Все наши руководства заканчиваются аппаратным обеспечением. Чтобы наилучшим образом изучить PIC, всегда рекомендуется тестировать наши коды и схемы на аппаратном обеспечении, потому что надежность симуляции очень низкая. Коды, которые работают в программном обеспечении для моделирования, могут работать не так, как вы ожидаете, на вашем оборудовании. Следовательно, мы будем создавать наши собственные схемы на платах Perf, чтобы сбрасывать наши коды.

Чтобы сбросить или загрузить наш код в PIC, нам понадобится PICkit 3. Программатор/отладчик PICkit 3  – это простой и недорогой внутрисхемный отладчик, которым управляет ПК с программным обеспечением MPLAB IDE (версия 8.

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

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