Программирование микроконтроллеров PIC. Часть 1. Необходимые инструменты и программы. Основы MPLAB — radiohlam.ru
Итак, вы решили научиться программировать pic-контроллеры. Для начала поговорим о том, что вам для работы с этими контроллерами понадобится.
Контроллер работает по определённой программе, которая должна как-то в него попасть. Обычно программу в машинных кодах, готовую для записи в контроллер, называют прошивкой. Следовательно нужно какое-то устройство, которое будет записывать (на сленге обычно говорят заливать или прошивать) программу в контроллер. Такое устройство называется программатор. Подробнее о программаторах и заливке программы мы поговорим позднее, в последней части нашей эпопеи (когда уже будет что заливать), а пока давайте по-порядку — как нам эту программу написать.
Программа для контроллера — это, как я уже сказал, набор машинных кодов, записанный в файле с расширением «hex» (здесь можно почитать про формат *.hex), который и нужно заливать в контроллер с помощью программатора. Никакого другого языка контроллер не понимает. Следовательно, нужна специальная программа, которая будет переводить текст программы, написанный на каком-либо языке программирования, в машинные коды. Наиболее удобными в этом плане являются интегрированные среды разработки (IDE — integrated development environment), поскольку они могут не только осуществлять перевод текста программы в машинный код, но и производить симуляцию её работы. Причём симуляцию можно проводить пошагово, при этом можно наблюдать состояние регистров или даже менять их состояние по своему желанию. Короче, интегрированные среды помимо, собственно, компиляции (перевода в машинные коды) предоставляют отличные возможности для отладки программы.
IDE, как и программаторов, существует много. Лично я пользуюсь MPLAB и вам рекомендую, по той простой причине, что MPLAB — это IDE от самого производителя PIC-контроллеров — фирмы Microchip, поэтому имеет отличную поддержку (в том числе на русском языке, что особенно приятно).
В описании на русском языке про всё рассказано: от установки и настройки до удаления. В большинстве случаев вся установка заключается в том, чтобы запустить setup и ответить на пару вопросов, типа куда ставить драйверы и тому подобное, от себя лишь добавлю, что во избежание глюков ставить пакет надо в такую папку, чтобы в пути были только английские буквы (а не в какую-нибудь, типа C:\Программы\PIC\MPLAB). Вообще, кириллицу в путях к файлам или в названиях файлов лучше не использовать, иначе возможны глюки.
MPLAB позволяет писать программы на двух языках: СИ и Ассемблер. Интернет просто ломится от разборок СИ-шников и ассемблерщиков, которые с пеной у рта доказывают друг другу, какой язык лучше. Я отношу себя к ассемблерщикам, поэтому, естественно, расскажу почему лучше именно Ассемблер.
Ассемблер представляет собой набор элементарных команд, выполняемых контроллером. Каждая команда трактуется в машинный код совершенно однозначно, а результат её выполнения и время выполнения всегда одинаковы. То есть, если вы имеете листинг на ассемблере, то вы можете совершенно точно сказать, что делает контроллер в каждый момент времени и каким именно образом достигается нужный результат.
Программа на языке СИ (да и вообще на любом языке высокого уровня) — это уже набор команд не контроллера, а соответствующего языка. При компиляции каждая такая команда заменяется набором команд для контроллера, но каким именно набором команд она заменяется, — этого вы уже не знаете, это знает только разработчик языка программирования. Соответственно, невозможно понять, каким именно образом контроллер выполняет желаемое действие.
Короче говоря, в случае с языком высокого уровня вы изучаете как какой-то дядя обозвал свои способы реализации необходимых вам функций и по каким правилам их надо записывать. В данном случае можно провести следующую аналогию: вы хотите поговорить с китайцем, но вам говорят: «Китайский слишком сложный язык, но есть один дядя в Болгарии, который 20 лет жил в Китае и отлично его выучил. А болгарский язык с русским очень похожи и русскому человеку он интуитивно понятен, так что выучите болгарский, а уж дядя переведёт.»
В случае с ассемблером, вы изучаете сам контроллер и правила, по которым надо разговаривать с контроллером. При этом контроллер имеет всего-то несколько десятков команд, которые умещаются на одном листке и их легко можно окинуть одним взглядом.
Надеюсь, к этому моменту вы уже сделали выбор языка программирования, так что пойдём дальше.
Что нужно сделать в MPLAB, чтобы получить желанную прошивку? Как я уже сказал — подробности читайте в руководстве к IDE MPLAB, оно на русском и там всё понятно (если не понятно — идём на форум), я же только кратко перечислю самое основное и дам некоторые рекомендации.
Итак, мы установили MPLAB, хотим написать в нём программу для контроллера и получить готовую прошивку.
Сначала нужно создать проект. Для каждого проекта рекомендую заводить отдельную папку, потому что, во-первых, в проект может входить несколько файлов, а, во-вторых, сам MPLAB создаст ещё несколько вспомогательных файлов (*.lst, *.err, *.cod, *.bkx). Если несколько проектов будут в одной папке, то легко можно запутаться какие файлы к какому проекту относятся. Короче, создаём для проекта новую папку, потом запускаем MPLAB и выбираем меню Project -> New Project…
В появившемся окошке, в проводнике справа, выбираем нашу папку, в левой части (в поле под надписью
Появляется окно с названием Edit Project. Это менеджер проекта, в котором указываются параметры проекта (какие файлы и библиотеки нужно подключить к проекту, какой будет использоваться камень, будет ли использоваться симуляция и многое другое). Находим поле ввода с названием Development Mode. Справа от этого поля есть кнопочка Change… Нажимаем.
Открывается окошко с названием Development Mode, в котором мы видим кучу вкладок. На вкладке
В поле ввода Language Tool Suite выбираем Microchip.
Нажимаем кнопку с названием Add Node… В появившемся окне, в проводнике справа выбираем папку проекта, в поле ввода слева пишем как будет называться файл с текстом программы на ассемблере, например my1.asm (не забываем указывать расширение), и жмём ОК.
На этом с Edit project заканчиваем, — нажимаем ОК.
Теперь нужно, собственно, создать файл с текстом программы (в менеджере проекта мы просто указали, что текст будет в таком-то файле, но фактически этот файл ещё не создан). Для этого идём в меню File и выбираем пункт New. Откроется окошко редактора с названием Untitled1. Выбираем меню
Вот и всё! Теперь осталось только набрать в окошке редактора текст программы, скомпилировать проект (меню Project->Build All) и, если в программе нет ошибок (что с первого раза бывает очень редко), то в папке проекта появится готовая прошивка (файл с расширением hex), которую можно заливать в контроллер.
- Часть 1. Необходимые инструменты и программы. Основы MPLAB
- Часть 2. Что такое микроконтроллер и как с ним работать
- Часть 3. Структура программы на ассемблере
- Часть 4. Разработка рабочей части программы. Алгоритмы
- Часть 5. Ассемблер. Организация циклов и ветвлений
- Часть 6. Как перевести контроллер в режим программирования и залить в него прошивку
Программы для jdm программатора. Самодельный программатор для PIC-контроллеров
Какие первые шаги должен сделать радиолюбитель, решивший собрать схему на микроконтроллере? Естественно, необходима управляющая программа — «прошивка», а также программатор.
И если с первым пунктом нет проблем — готовую «прошивку» обычно выкладывают авторы схем, то вот с программатором дела обстоят сложнее.
Цена готовых USB-программаторов довольно высока и лучшим решением будет собрать его самостоятельно. Вот схема предлагаемого устройства (картинки кликабельны).
Основная часть.
Панель установки МК.
Исходная схема взята с сайта LabKit.ru с разрешения автора, за что ему большое спасибо. Это так называемый клон фирменного программатора PICkit2. Так как вариант устройства является «облегчённой» копией фирменного PICkit2, то автор назвал свою разработку PICkit-2 Lite , что подчёркивает простоту сборки такого устройства для начинающих радиолюбителей.
Что может программатор? С помощью программатора можно будет прошить большинство легкодоступных и популярных МК серии PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A и др.), а также микросхемы памяти EEPROM серии 24LC. Кроме этого программатор может работать в режиме USB-UART преобразователя, имеет часть функций логического анализатора. Особо важная функция, которой обладает программатор — это расчёт калибровочной константы встроенного RC-генератора некоторых МК (например, таких как PIC12F629 и PIC12F675).
Необходимые изменения.
В схеме есть некоторые изменения, которые необходимы для того, чтобы с помощью программатора PICkit-2 Lite была возможность записывать/стирать/считывать данные у микросхем памяти EEPROM серии 24Cxx.
Из изменений, которые были внесены в схему. Добавлено соединение от 6 вывода DD1 (RA4) до 21 вывода ZIF-панели. Вывод AUX используется исключительно для работы с микросхемами EEPROM-памяти 24LС (24C04, 24WC08 и аналоги). По нему передаются данные, поэтому на схеме панели программирования он помечен словом «Data». При программировании микроконтроллеров вывод AUX обычно не используется, хотя он и нужен при программировании МК в режиме LVP.
Также добавлен «подтягивающий» резистор на 2 кОм, который включается между выводом SDA и Vcc микросхем памяти.
Все эти доработки я уже делал на печатной плате, после сборки PICkit-2 Lite по исходной схеме автора.
Микросхемы памяти 24Cxx (24C08 и др.) широко используются в бытовой радиоаппаратуре, и их иногда приходится прошивать, например, при ремонте кинескопных телевизоров. В них память 24Cxx применяется для хранения настроек.
В ЖК-телевизорах применяется уже другой тип памяти (Flash-память). О том, как прошить память ЖК-телевизора я уже рассказывал . Кому интересно, загляните.
В связи с необходимостью работы с микросхемами серии 24Cxx мне и пришлось «допиливать» программатор. Травить новую печатную плату я не стал, просто добавил необходимые элементы на печатной плате. Вот что получилось.
Ядром устройства является микроконтроллер PIC18F2550-I/SP .
Это единственная микросхема в устройстве. МК PIC18F2550 необходимо «прошить». Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема «курицы и яйца». Как её решил я, расскажу чуть позднее.
Список деталей для сборки программатора. В мобильной версии потяните таблицу влево (свайп влево-вправо), чтобы увидеть все её столбцы.
Название | Обозначение | Номинал/Параметры | Марка или тип элемента |
Для основной части программатора | |||
Микроконтроллер | DD1 | 8-ми битный микроконтроллер | PIC18F2550-I/SP |
Биполярные транзисторы | VT1, VT2, VT3 | КТ3102 | |
VT4 | КТ361 | ||
Диод | VD1 | КД522, 1N4148 | |
Диод Шоттки | VD2 | 1N5817 | |
Светодиоды | HL1, HL2 | любой на 3 вольта, красного и зелёного цвета свечения | |
Резисторы | R1, R2 | 300 Ом | |
R3 | 22 кОм | ||
R4 | 1 кОм | ||
R5, R6, R12 | 10 кОм | ||
R7, R8, R14 | 100 Ом | ||
R9, R10, R15, R16 | 4,7 кОм | ||
R11 | 2,7 кОм | ||
R13 | 100 кОм | ||
Конденсаторы | C2 | 0,1 мк | К10-17 (керамические), импортные аналоги |
C3 | 0,47 мк | ||
Электролитические конденсаторы | C1 | 100 мкф * 6,3 в | К50-6, импортные аналоги |
C4 | 47 мкф * 16 в | ||
Катушка индуктивности (дроссель) | L1 | 680 мкГн | унифицированный типа EC24, CECL или самодельный |
Кварцевый резонатор | ZQ1 | 20 МГц | |
USB-розетка | XS1 | типа USB-BF | |
Перемычка | XT1 | любая типа «джампер» | |
Для панели установки микроконтроллеров (МК) | |||
ZIF-панель | XS1 | любая 40-ка контактная ZIF-панель | |
Резисторы | R1 | 2 кОм | МЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги |
R2, R3, R4, R5, R6 | 10 кОм |
Теперь немного о деталях и их назначении.
Зелёный светодиод HL1 светится, когда на программатор подано питание, а красный светодиод HL2 излучает в момент передачи данных между компьютером и программатором.
Для придания устройству универсальности и надёжности используется USB-розетка XS1 типа «B» (квадратная). В компьютере же используется USB-розетка типа «А». Поэтому перепутать гнёзда соединительного кабеля невозможно. Также такое решение способствует надёжности устройства. Если кабель придёт в негодность, то его легко заменить новым не прибегая к пайке и монтажным работам.
В качестве дросселя L1 на 680 мкГн лучше применить готовый (например, типов EC24 или CECL). Но если готовое изделие найти не удастся, то дроссель можно изготовить самостоятельно. Для этого нужно намотать 250 — 300 витков провода ПЭЛ-0,1 на сердечник из феррита от дросселя типа CW68. Стоит учесть, что благодаря наличию ШИМ с обратной связью, заботиться о точности номинала индуктивности не стоит.
Напряжение для высоковольтного программирования (Vpp) от +8,5 до 14 вольт создаётся ключевым стабилизатором. В него входят элементы VT1, VD1, L1, C4, R4, R10, R11. С 12 вывода PIC18F2550 на базу VT1 поступают импульсы ШИМ. Обратная связь осуществляется делителем R10, R11.
Чтобы защитить элементы схемы от обратного напряжения с линий программирования в случае использования USB-программатора в режиме внутрисхемного программирования ICSP (In-Circuit Serial Programming) применён диод VD2. VD2 — это диод Шоттки . Его стоит подобрать с падением напряжения на P-N переходе не более 0,45 вольт. Также диод VD2 защищает элементы от обратного напряжения, когда программатор применяется в режиме USB-UART преобразования и логического анализатора.
При использовании программатора исключительно для программирования микроконтроллеров в панели (без применения ICSP), то можно исключить диод VD2 полностью (так сделано у меня) и установить вместо него перемычку.
Компактность устройству придаёт универсальная ZIF-панель (Zero Insertion Force — с нулевым усилием установки).
Благодаря ей можно «зашить» МК практически в любом корпусе DIP.
На схеме «Панель установки микроконтроллера (МК)» указано, как необходимо устанавливать микроконтроллеры с разными корпусами в панель. При установке МК следует обращать внимание на то, чтобы микроконтроллер в панели позиционируется так, чтобы ключ на микросхеме был со стороны фиксирующего рычага ZIF-панели.
Вот так нужно устанавливать 18-ти выводные микроконтроллеры (PIC16F84A, PIC16F628A и др.).
А вот так 8-ми выводные микроконтроллеры (PIC12F675, PIC12F629 и др.).
Если есть нужда прошить микроконтроллер в корпусе для поверхностного монтажа (SOIC), то можно воспользоваться переходником или просто подпаять к микроконтроллеру 5 выводов, которые обычно требуются для программирования (Vpp, Clock, Data, Vcc, GND).
Готовый рисунок печатной платы со всеми изменениями вы найдёте по ссылке в конце статьи. Открыв файл в программе Sprint Layout 5.0 можно с помощью режима «Печать» не только распечатать слой с рисунком печатных проводников, но и просмотреть позиционирование элементов на печатной плате. Обратите внимание на изолированную перемычку, которая связывает 6 вывод DD1 и 21 вывод ZIF-панели. Печатать рисунок платы необходимо в зеркальном отображении .
Изготовить печатную плату можно методом ЛУТ, а также маркером для печатных плат , с помощью цапонлака (так делал я) или «карандашным» методом .
Вот рисунок позиционирования элементов на печатной плате (кликабельно).
При монтаже первым делом необходимо запаять перемычки из медного лужёного провода, затем установить низкопрофильные элементы (резисторы, конденсаторы, кварц, штыревой разъём ISCP), затем транзисторы и запрограммированный МК. Последним шагом будет установка ZIF-панели, USB-розетки и запайка провода в изоляции (перемычки).
«Прошивка» микроконтроллера PIC18F2550.
Файл «прошивки» — PK2V023200.hex необходимо записать в память МК PIC18F2550I-SP при помощи любого программатора, который поддерживает PIC микроконтроллеры (например, Extra-PIC). Я воспользовался JDM Programmator’ом JONIC PROG и программой WinPic800 .
Залить «прошивку» в МК PIC18F2550 можно и с помощью всё того же фирменного программатора PICkit2 или его новой версии PICkit3. Естественно, сделать это можно и самодельным PICkit-2 Lite, если кто-либо из друзей успел собрать его раньше вас:).
Также стоит знать, что «прошивка» микроконтроллера PIC18F2550-I/SP (файл PK2V023200.hex ) записывается при установке программы PICkit 2 Programmer в папку вместе с файлами самой программы. Примерный путь расположения файла PK2V023200.hex — «C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex» . У тех, у кого на ПК установлена 32-битная версия Windows, путь расположения будет другим: «C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex» .
Ну, а если разрешить проблему «курицы и яйца» не удалось предложенными способами, то можно купить уже готовый программатор PICkit3 на сайте AliExpress. Там он стоит гораздо дешевле. О том, как покупать детали и электронные наборы на AliExpress я писал .
Обновление «прошивки» программатора.
Прогресс не стоит на месте и время от времени компания Microchip выпускает обновления для своего ПО, в том числе и для программатора PICkit2, PICkit3. Естественно, и мы можем обновить управляющую программу своего самодельного PICkit-2 Lite. Для этого понадобится программа PICkit2 Programmer. Что это такое и как пользоваться — чуть позднее. А пока пару слов о том, что нужно сделать, чтобы обновить «прошивку».
Для обновления ПО программатора необходимо замкнуть перемычку XT1 на программаторе, когда он отключен от компьютера. Затем подключить программатор к ПК и запустить PICkit2 Programmer. При замкнутой XT1 активируется режим bootloader для загрузки новой версии прошивки. Затем в PICkit2 Programmer через меню «Tools» — «Download PICkit 2 Operation System» открываем заранее подготовленный hex-файл обновлённой прошивки. Далее произойдёт процесс обновления ПО программатора.
После обновления нужно отключить программатор от ПК и снять перемычку XT1. В обычном режиме перемычка разомкнута . Узнать версию ПО программатора можно через меню «Help» — «About» в программе PICkit2 Programmer.
Это всё по техническим моментам. А теперь о софте.
Работа с программатором. Программа PICkit2 Programmer.
Для работы с USB-программатором нам потребуется установить на компьютер программу PICkit2 Programmer. Это специальная программа обладает простым интерфейсом, легко устанавливается и не требует особой настройки. Стоит отметить, что работать с программатором можно и с помощью среды разработки MPLAB IDE, но для того, чтобы прошить/стереть/считать МК достаточно простой программы — PICkit2 Programmer. Рекомендую.
После установки программы PICkit2 Programmer подключаем к компьютеру собранный USB-программатор. При этом засветится зелёный светодиод («питание»), а операционная система опознает устройство как «PICkit2 Microcontroller Programmer» и установит драйвера.
Запускаем программу PICkit2 Programmer. В окне программы должна отобразиться надпись.
Если программатор не подключен, то в окне программы отобразится страшная надпись и краткие инструкции «Что делать?» на английском.
Если же программатор подключить к компьютеру с установленным МК, то программа при запуске определить его и сообщит нам об этом в окне PICkit2 Programmer.
Поздравляю! Первый шаг сделан. А о том, как пользоваться программой PICkit2 Programmer, я рассказал в отдельной статье. Следующий шаг .
Необходимые файлы:
В качестве элементарного программатора предлагаем вам собрать по авторской схеме JDM совместимый программатор, который мы назвали NTV программатор. Ниже схема NTV программатора (используется розетка DB9; не путать с вилкой).
Собранный по данный схеме программатор многократно и безошибочно прошивал контроллеры , (и ряд других) и может быть рекомендован для повторения начинающим радиолюбителям.
Данный программатор НЕ РАБОТАЕТ при подключении к ноутбукам, т. к. уровни сигналов интерфейса RS-232 (COM-порт) в мобильных системах занижены. Также он может не работать на современных ПК, где аппаратно экономится ток на порту. Так что не обессудьте, собирайте и проверяйте на всех попавшихся под руку компьютерах.
Конструктивно плата программатора вставляется между контактами разъема DB-9, которые подпаиваются к контактным площадкам печатной платы. Ниже рисунок платы и фотография собранного программатора.
Для полноты информации следует сказать, что есть еще один подобный программатор, который я собирал под микроконтроллеры в 8 выводном корпусе ( и ). Программатор также великолепно работает и с этими микроконроллерами. Ниже рисунок платы и фотографии.
Однажды я решил собрать несложный 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 | Микросхема | Ch440G | 1 | В блокнот | ||
IC2 | Микросхема | К1533ЛА3 | 1 | В блокнот | ||
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 |
Программатор JDM я использовал для контроллеров PIC16F676, PIC16F630 и PIC16F629 . От изначального, мой вариант отличается тем, что напряжение программирования Vpp можно подать раньше напряжения питания Vdd для перепрограммирования контроллеров. Для этой цели служит верхний по схеме транзистор. Он открывается когда напряжение на контакте 3 розетки DB9F достигнет примерно 8 В относительно контакта 5 розетки или 13 В относительно минуса контроллера Vss . Выключатель Vdd_Vpp в замкнутом состоянии позволяет напряжению питания Vdd появиться на выводах контроллера ранее напряжения программирования Vpp .
Для программирования будет использоваться COM-порт, у которого будут задействованы следующие выводы — 3, 4, 5, 7 и 8. В схеме заложена возможность программирования микросхем памяти серии 24сХХ . Для этого в колодке DIP16 используются нижние 8 контактов, первый контакт микросхемы вставляется в пятый конакт колодки. Джампер J1 позволяет отключить защиту от записи.
Нижний по схеме транзистор как и ранее используется для сдвига напряжений так как плюс питания контроллера Vdd соединяется с контактом 5 розетки — общим проводом порта, а минус питания Vss получается с помощью диодов, подключенных к контактам 3 и 7 розетки, и стабилитрона.
Транзисторы в JDM программаторе использовал 2SC945 и BC548 , диоды — 1N4148 . Конденсатор u1 надо расположить как можно ближе к выводам питания микроконтроллера. Резистор 1k необязателен, если установлены резистор 10k и джампер J1 на колодке DIP16.
Этот программатор успешно работает с программами и
Так уж сложилось, что знакомство с микроконтроллерами я начал с AVR. PIC микроконтроллеры до поры, до времени — обходил стороной. Но, все же на них тоже ведь есть уникальные, интересные для повторения, конструкции! А ведь эти микроконтроллеры тоже прошивать нужно . Эту статью пишу в основном для себя самого. Чтобы не забыть технологии, как без проблем и бессмысленных потерь времени прошить PIC микроконтроллер.
Для первой схемы — долго и упорно пытался сделать PIC программатор по найденным в интернете схемам — ничего не вышло . Стыдно, но пришлось обращаться к знакомому, чтобы прошил МК. Но ведь это не дело — постоянно бегать по знакомым! Этот же знакомый и посоветовал простенькую схему, работающую от СОМ порта. Но даже и тогда, когда я ее собрал — все равно ничего не получалось . Ведь мало собрать программатор — нужно еще под него настроить программу, которой будем прошивать. А вот как раз это у меня и не получалось. Целая туча инструкций в интернете, и мало какая мне помогла…
Тогда, мне удалось прошить один микроконтроллер. Но так как прошивал в условиях жесткого дефицита времени — не догадался сохранить хотя бы ссылку на инструкцию. И ведь не нашел ее вполедствии. Поэтому повторюсь — пишу статью, чтобы иметь свою собственную инструкцию.
Итак, программатор для PIC микроконтроллеров. Простой, хотя и не 5 проводков, как для AVR микроконтроллеров, который я использую до сих пор. Вот схема:
Вот печатная плата ().
СОМ разъем припаивается штырьками прямо на контактные площадки (главное — не запутаться с нумерацией). Второй ряд штырьков соединяется с платой маленькими перемычками (очень непонятно сказал, ага). Попробую дать фотографию… хоть она и страшная (нету у меня сейчас нормального фотоаппарата ).
Самое злобное в том — что для PIC микроконтроллеров для прошивки нужны 12 вольт. А лучше не 12, а чуточку побольше. Скажем, 13. Или 13.5 (кстати, специалисты — поправьте меня в комментариях, если ошибаюсь. Пожалуйста.). 12 вольт еще можно где-то добыть. А 13 где? Я то выходил из положения просто — брал свежезаряженный литий-полимерный аккумулятор, в котором было 12.6 вольт. Ну или вообще четырехбаночный аккумулятор, с его 16 вольтами (прошил так один PIC — без проблем).
Но я опять отвлекся. Итак — инструкция по прошивке PIC микроконтроллеров. Ищем программу WinPIC800 (к сожалению простая и популярная icprog у меня не заработала,) и настраиваем ее так, как показано на скриншоте.
После этого — открываем файл прошивки, подключаем микроконтроллер и прошиваем.
Категории
- Интернет
- Windows 10
- Мультимедиа
- Утилиты
- Сеть и интернет
- Системные программы
- Настройка программ
- Проблемы с ОС
20 самых популярных микроконтроллеров PIC на рынке
Периферийный интерфейсный микроконтроллер, микроконтроллеры PIC, появились в 1993 году. Первоначально они были спроектированы и разработаны для поддержки компьютеров PDP для управления периферийными устройствами. Микроконтроллеры PIC — это быстрые и простые микроконтроллеры для выполнения в них программ. Он основан на одной из известных архитектур Гарвардской архитектуры.
Кроме того, простота программирования, интерфейс, широкая доступность, более низкая стоимость, возможность последовательного программирования и более обширная пользовательская база являются причинами, которые делают эти микроконтроллеры PIC популярными.
В этой статье представлено краткое описание микроконтроллера PIC, которое необходимо рассмотреть перед выбором микроконтроллера PIC. Кроме того, в нем также перечислены 20 лучших микроконтроллеров PIC, которые можно найти на рынке.
Что такое микроконтроллеры PIC?Микроконтроллер представляет собой интегрированную микросхему, в основном состоящую из ЦП, ОЗУ, таймера, ПЗУ, счетчика и т. д. Точно так же микроконтроллеры PIC имеют аналогичную архитектуру, поддерживающую интерфейсы UART, SPI и CAN с другими периферийными устройствами.
8-разрядные PIC-микроконтроллеры подразделяются на четыре типа в зависимости от внутренней архитектуры: PIC среднего уровня, базовый PIC, PIC18 и усовершенствованный PIC среднего уровня. Он управляется программным обеспечением и запрограммирован таким образом, чтобы выполнять поставленную задачу.
В настоящее время микроконтроллеры PIC имеют широкое применение в промышленных целях из-за низкого энергопотребления, простоты поддержки программных и аппаратных средств, таких как отладчики, симуляторы и компиляторы, высокой производительности и т. д. Кроме того, они действительно дешевы и легко программируются или собранные пользователями.
Базовая архитектура микроконтроллеров PICАрхитектура микроконтроллера PIC состоит из порта ввода-вывода, ЦП, аналого-цифрового преобразователя, таймера, организации памяти, прерываний, генератора, модуля CCP и последовательной связи.
ЦП (центральный процессор)Как и другие микроконтроллеры, ЦП микроконтроллера PIC также состоит из АЛУ, БУ, аккумулятора и МУ. Сначала АЛУ в основном принимает логические решения и используется для арифметических операций. Точно так же инструкции сохраняются в памяти после обработки. Затем блок управления подключается к ЦП и, таким образом, управляет внутренними и внешними периферийными устройствами.
Аккумулятор также сохраняет результаты и обрабатывает их дальше.
Блок памятиПамять данных и Память программ — две памяти, используемые в архитектуре микроконтроллера PIC.
Память программ хранит 13 бит программного кода. Регистр счетчика программ обращается к данным памяти программ. Точно так же память данных состоит из RAM и EEPROM. Они состоят из нескольких банков с регистром определенной функции и регистром общего назначения.
Порты ввода-выводаОн состоит из пяти портов: порт A, порт B, порт C, D и E. Порт A — это 16-разрядный порт, который можно использовать в качестве порта ввода и вывода. Реестр TRISA определяет это решение. Аналогично, порт B — это 8-битный порт, который можно использовать в качестве порта ввода и вывода. Более того, Порт C подобен тому порту B, работа которого определяется регистром TRISC. В то время как порт D является 8-битным портом, который действует как подчиненный порт для подключения к шине микропроцессора. Наконец, порт E — это 3-битный порт, который управляет сигналом, поступающим на аналого-цифровой преобразователь.
ТаймерыМикроконтроллеры PIC состоят из 3-х таймеров, из которых таймеры 0 и 2 8-битные, а таймер 1 16-битный, который также работает как счетчик.
Аналого-цифровой преобразовательМикроконтроллеры PIC состоят из 10-разрядного АЦП. Кроме того, эта уникальная функция регистрируется для управления операцией. Младшие и старшие биты регистра делятся и сохраняются между этими двумя регистрами. Для этого преобразователя требуется аналоговое опорное напряжение 5 В.
ГенераторыУправляет синхронизацией микроконтроллера. Он состоит из внешнего кварцевого генератора, определяющего диапазон тактовой частоты микроконтроллера.
Последовательная связьПротокол последовательной связи — это метод передачи данных по каналу связи. USART, I2C и SPI — это три протокола, используемые в микроконтроллерах PIC. Протокол USART используется для приема соединения с тактовыми импульсами. Протокол SPI отправляет данные между микроконтроллерами PIC и другими периферийными или внешними устройствами. Точно так же протокол I2C используется для подключения низкоскоростных устройств.
Популярные микроконтроллерыНа рынке можно найти несколько популярных микроконтроллеров. Вот некоторые из них:
PIC16F877A/PIC16F877Процесс программирования PIC16F877A прост. Кроме того, это один из самых простых в использовании микроконтроллеров PIC, который набирает популярность среди пользователей. Он поставляется с 8 и 16 битами и содержит флэш-память. Выводы этого контроллера применяются к цифровым электронным схемам и различным проектам PIC. Некоторые из его широко используемых приложений включают промышленные инструменты, устройства безопасности и защиты, устройства домашней автоматизации, автомобильные роботы и т. д.
Основные характеристики
- Это небольшой набор из 35 инструкций.
- Может работать на частоте 20МГц.
- Рабочее напряжение 5,5 В. Более значительное напряжение может повредить систему микроконтроллера.
- В качестве стока на контактах GPIO он может иметь максимальное ограничение тока 10 мА, тогда как сток может выдерживать ток 100 мА.
- Этот контроллер PIC поставляется с четырьмя пакетами интегральных схем: PDIP, TQFP, PLCC и QFN.
Это 8-битный микроконтроллер CMOS с флэш-памятью. Он прост в использовании и программировании, поэтому является одним из популярных вариантов выбора многих людей. Микроконтроллеры PIC упаковывают архитектуру MCU с использованием 8-контактного корпуса. Он состоит из различных функций, таких как одноканальные компараторы. Микроконтроллеры PIC применимы для автомобильной, промышленной и бытовой электроники.
Основные характеристики
- Состоит из 128 байт EEPROM.
- Состоит из программируемых подтягивающих резисторов.
- Имеет возможность прерывания.
- 8-уровневый стек
- Различные режимы; относительный, косвенный и прямой режимы адресации.
- Может работать в расширенном диапазоне температур.
- В целях энергосбережения переходит в спящий режим.
- Состоит из различных таймеров, включая сторожевой таймер, таймер повышения и таймер запуска OST-генератора.
- Доступен выбор генератора с четырьмя RC-генераторами МГц, все программируемые и со сбросом при включении питания.
Этот мощный микроконтроллер прост в программировании. Подобно PIC12F629, это также 8-разрядный микроконтроллер PIC с флэш-памятью на основе CMOS. Кроме того, в корпусах с 28 контактами он упаковывает архитектуру PIC. Этот микроконтроллер имеет 256 байт EEPROM, которая является самопрограммируемой памятью и имеет два компаратора. Благодаря этим жизненно важным характеристикам он находит применение в таких секторах, как промышленность, бытовая электроника, автомобилестроение и т. д.
Основные характеристики
- Может работать в диапазоне частот 8-32 МГц.
- Состоит из энергосберегающих режимов.
- Он имеет расширенный WDT, сторожевой таймер со встроенным RC-генератором. Это обеспечивает надежную и эффективную работу.
- Состоит из емкости хранения данных EEPROM.
- Он имеет улучшенную флэш-память программ с сотней тысяч циклов записи/стирания.
- Альтернативное прерывание на выводе.
- Поддерживает совместимость с LIN, RS-485 и RS-232.
- Имеет 10-битный одиннадцатиканальный аналого-цифровой преобразователь.
Популярный микроконтроллер PIC 12-й серии. Это высокопроизводительный и, с другой стороны, недорогой микроконтроллер. Кроме того, это 8-битный статический микроконтроллер. Он использует в общей сложности 8 контактов в качестве flash CMO. Этот контроллер также содержит таймер сброса устройства, также известный как DRT. Это помогает устранить потребность во внешней схеме сброса.
Основные характеристики
- Он состоит из 8 контактов ввода/вывода.
- Он состоит из внутренних генераторов с частотой 4 МГц.
- Он состоит из 8 контактов.
- Имеет 25 байт EEPROM.
- Программная память 0,75 КБ.
- 8-битный модуль времени
В основном используется во встроенных системах и системах автоматизации. Это происходит в QFN, TQFP и PDIP. Среди этих моделей PDIP содержит 40 контактов, а остальные модели имеют 44-контактный интерфейс. Он содержит 10-разрядный АЦП, ОЗУ объемом 1536 байт и память данных EEPROM.
Основные характеристики
- Два компаратора
- 10-битный АЦП
- Сброс при включении
- ICD через два контакта
- Таймер включения и OST (таймер запуска генератора)
- Широкий диапазон рабочего напряжения 2–5,5 В.
- Хорошая память для EEPROM и памяти программ.
Микроконтроллер PIC16C58A компании Microchip Technology представляет собой 8-разрядный КМОП-микроконтроллер с конструкцией EPROM на основе EPROM/ROM. Он недорогой, высокопроизводительный и полностью статичный. В архитектуре используется RISC-дизайн с 33 однотактными инструкциями. Таким образом, ветки программы занимают два цикла. Однако все остальные инструкции занимают один цикл. По сравнению с сопоставимыми продуктами той же ценовой категории, PIC16C58A на порядок быстрее. Кроме того, он может сжимать код в 2:1 по сравнению с большинством 8-битных микроконтроллеров, потому что его 12-битные инструкции очень симметричны. Таким образом, этот набор инструкций прост в использовании и запоминании, что сокращает время разработки.
Основные характеристики
- 12-битные инструкции
- Двухуровневый глубокий аппаратный стек
- 8-битный путь данных
- Режимы прямой, косвенной и относительной адресации для данных и инструкций
- Семь или восемь аппаратных регистров специального назначения
- Сброс при включении питания (POR)
- Сторожевой таймер
- Энергосберегающий спящий режим
- Таймер сброса устройства
- Программируемая кодовая защита
- Маломощная, высокоскоростная технология CMOS EPROM/ROM
Это 8-разрядный PIC-микроконтроллер, который хорошо подходит для приложений с батарейным питанием. Кроме того, он имеет широкий диапазон рабочих напряжений и высоких температур. Это один из недорогих микроконтроллеров, предоставляющих множество возможностей.
Основные характеристики
- Маломощный BOR
- Быстрое пробуждение
- АЦП
- 12-битное разрешение
- 3 аналоговых компаратора
- 24 канала
- Два главных синхронных модуля последовательного порта
- Рабочий диапазон напряжения — 1,8–5,5 В
- Рабочая скорость 64 МГц
Представляет собой 8-разрядный CMOS-микроконтроллер, разработанный на основе высокопроизводительной RISC-архитектуры. Кроме того, это меньший размер контроллера и экономичность; в результате он популярен среди любителей и инженеров. Дизайн идеально подходит для младших систем, поскольку он имеет 2 КБ флэш-памяти. Кроме того, этот микроконтроллер состоит из 6 контактов GPIO, которые могут обрабатывать ток более 25 мА. Таким образом, он соответствует порогу многих периферийных устройств и датчиков.
Основные характеристики
- 8-битный процессор
- Интерфейс ICSP для связи
- Из 8 контактов 6 программируются
- Имеет 8-битный счетчик и 16-битный счетчик
- Содержит генератор 20 МГц и внутренний генератор 4 МГц
- EEPROM 128 байт
- Имеет рабочее напряжение 2-5,5В.
Это один из наиболее часто используемых микроконтроллеров PIC, представляющий собой 8-разрядный микроконтроллер с программной памятью на 1024 слова. В дополнение к этому, он имеет 68 байт RAM с памятью EPROM на 64 байта. Одним из преимуществ этого микроконтроллера является то, что его можно перепрограммировать с помощью встроенного ICSP.
Основные характеристики
- Объем памяти 1,75 КБ
- EEPROM 64 байта
- Имеет флэш-память программ
- Рабочее напряжение 2-6 В
- Всего 18 контактов
- Температурный диапазон от -40 до -85 градусов С.
- 8-битный цифровой таймер
Он поставляется с оптимизированной и оснащенной архитектурой RISC. Кроме того, он работает на флэш-памяти и имеет скорость процессора 10MIPS. Кроме того, он имеет максимальный АЦП 10 бит и CCP 1,
Основные характеристики
- 1 CCP
- 1 АЦП
- Два компаратора
- Один I2C
- Всего 40 контактов
- 1 USART
- Программная память 64 КБ
- Температурный диапазон от -40 до 125 градусов C.
Это 8-битный микроконтроллер PIC с 20-контактным интерфейсом. Кроме того, включает в себя высокопроизводительный процессор RISC, который помогает выполнять инструкции. Он имеет кварцевый генератор на 20 МГц. Таким образом, он используется для сопряжения и генерации тактовых сигналов.
Основные характеристики
- Всего 20 контактов
- Рабочее напряжение 2-5,5В.
- 256 байт ОЗУ
- Два компаратора
- 18 контактов ввода-вывода
- Память программ 7K
- 10 бит АЦП до 12 каналов
- Имеет максимальную частоту генератора 20 МГц
- 1 USART
Это один из популярных микроконтроллеров PIC, который содержит флэш-память объемом 32 кбайт. Этот микроконтроллер совместим с наборами инструкций PIC16 и PIC17. Кроме того, он также обеспечивает передовую технологию CAN и, таким образом, имеет широкий спектр применений в промышленном и автомобильном секторах.
Основные характеристики
- Совместимость с высокопроизводительным процессором RISC
- Большой ток с 25 мА источника и потребителя.
- PoR и PWRT
- 3-проводной SPI
- 33 контакта ввода/вывода и 40 контактов DIP
- Имеет 1000000 стандартных циклов записи/стирания EEPROM
- 16-битный или 8-битный счетчик с предделителем
Основные характеристики
- 12 бит ADCC
- Два 16-битных ШИМ с двойным выходом
- Два аналоговых компаратора
- Два 8-битных ЦАП (1 внутренний, 1 внешний/буферизованный)
- Обнаружение пересечения нуля (ZCD)
- Два главных синхронных последовательных порта — (I2C или SPI)
- Проверка циклическим избыточным кодом флэш-памяти (CRC)
- Четыре конфигурируемых логических ячейки (CLC)
Этот микроконтроллер особенно подходит для необработанных датчиков, требующих усиления или фильтрации сигнала. Этот микроконтроллер предлагает операционный усилитель и 12-разрядный АЦП с малым количеством выводов. Эта передовая комбинация аналоговых периферийных устройств делает этот микроконтроллер идеальным решением для сенсорных приложений.
Основные характеристики
- 12-разрядный дифференциальный аналого-цифровой преобразователь с вычислением
- 2x захват/сравнение/ШИМ (CCP)
- 1x 8-битный внутренний цифро-аналоговый преобразователь (ЦАП)
- 1x 8-битный внешний/буферизованный цифро-аналоговый преобразователь (ЦАП)
- 1 операционный усилитель
- Обнаружение пересечения нуля (ZCD)
- Отключение периферийного модуля (PMD)
- Флэш-память программ с возможностью самостоятельного чтения/записи eXtreme Low Power (XLP)
- 1x 8/16-битный таймер (TMR0)
- 1x 16-битный таймер (TMR1)
- 1x 8-битный таймер (TMR2)
Этот микроконтроллер имеет набор аналоговых периферийных устройств. Он состоит из малошумящего операционного усилителя, АЦП, 8-битного ЦАП, 16-битной широтно-импульсной модуляции и многих других коммуникационных периферийных устройств. Поскольку этот микроконтроллер содержит передовые аналоговые периферийные устройства, он в основном применяется в сенсорных областях.
Основные характеристики
- Флэш-память программ с возможностью самостоятельного чтения/записи
- 1 операционный усилитель
- Расширенное ядро среднего уровня с 49 инструкциями, 16 уровнями стека
- Низкая мощность
- Отключение периферийного модуля (PMD)
- Обнаружение пересечения нуля (ZCD)
- 1x 16-битный таймер (TMR1)
- 1x 8-битный таймер (TMR2)
- 2x MSSP (I2C или SPI)
- 1x 8-разрядные внутренние цифро-аналоговые преобразователи (ЦАП)
- Программируемый сброс при снижении напряжения (BOR) с быстрым восстановлением
- 1x 8-битный внешний/буферизованный цифро-аналоговый преобразователь (ЦАП)
Один из самых популярных и новых микроконтроллеров PIC. Поскольку это последняя модель, она не может работать на старых моделях устройств. Этот микроконтроллер основан на программной памяти FLASH объемом 3,5, одном КПК и 2 компараторах. Программирование более низкого напряжения делает его отличным вариантом благодаря встроенному опорному напряжению, программируемому BOR и другим функциям.
Основные характеристики
- 3,5 КБ или память программ
- 1 USART
- Всего 18 контактов
- Два компаратора
- Два цифровых таймера с максимальной разрядностью 8 бит
- от -40 до 85 градусов C в расширенном диапазоне температур
- 1 КПК
Микроконтроллер PIC18F452 имеет 34 контакта ввода-вывода из 40-контактного корпуса и представляет собой 8-битный чип с 10 MIPS, CMPS и FLASH. 8-битный и три 16-битных таймера, аналого-цифровой преобразователь с 8 каналами, периферийные устройства I2C, USART и SPI делают его мощным микроконтроллером.
Маломощный микроконтроллер с рабочим напряжением 5 В и тактовой частотой 4 МГц потребляет около 0,2 мкА в режиме ожидания и 1,6 мА в обычном режиме. В дополнение к этому, он также включает в себя функции защиты кода программирования, таймера включения и сброса при включении питания.
Основные характеристики
- 8-битный процессор
- 1236 байт оперативной памяти
- 40 контактов
- Макс. Частота процессора 40 МГц
- 8 бит макс. Разрешение ШИМ
- 1 модуль каждого протокола связи
- Рабочее напряжение 2-5,5В.
Микроконтроллер PIC с нановаттным блоком питания имеет 8-контактную CMOS-схему с флэш-памятью. Архитектуры X14 предлагают такие преимущества, как стандартизированные функции, связанные с процессорами среднего уровня. Этот микроконтроллер популярен в таких отраслях, как автомобильная и промышленная, благодаря своим особенностям.
Основные характеристики
- Расширенный WDT
- 256 байт EEPROM
- Сброс при включении питания
- PWRT и ОСТ
- Возможность прерывания
- Программируемая кодовая защита
- Режимы относительной, прямой и косвенной адресации
- 1 мкА при 2 типичном токе сторожевого таймера
- 8-уровневый стек с аппаратным обеспечением глубины
Простой в программировании 8-разрядный микроконтроллер PIC на основе технологии CMOS и флэш-памяти. Кроме того, память данных EEPROM дополнена восемью каналами, компаратором и 10-разрядным аналого-цифровым преобразователем. Эта технология может использоваться в потребительских, автомобильных, бытовых и промышленных продуктах начального уровня, особенно для тех, которые требуют перепрограммирования на месте.
Основные характеристики
- Память данных 128 байт EEPROM
- Подтягивающие резисторы Programmanle
- Независимо выбираемые аналоговые каналы
- 8 генераторов на выбор, включая прецизионный RC-генератор с частотой 4 МГц.
Это популярный 8-битный микроконтроллер PIC с улучшенной технологией NanoWatt и флэш-процессором. Кроме того, этот микроконтроллер имеет три отличительных пакета SSOP, PDIP и QFN. Кроме того, SSOP имеет 20-контактный корпус, а PDIP и QFN — 18-контактный и 28-контактный корпус соответственно.
Основные характеристики
- Рабочее напряжение 2–5,5 В
- Флэш-память программ
- Размер памяти программы 7 КБ
- 2 порта ввода-вывода и 16 контактов ввода-вывода
- 2 компаратора
- 256 байт EEPROM
- Всего 18 контактов PDIP
- 10-разрядный АЦП для аналого-цифрового преобразования сигналов
- Кварцевый осциллятор 20 МГц
Некоторые важные факторы, которые следует учитывать при выборе правильного микроконтроллера PIC, включают следующее:
Интерфейс связиЭто один из наиболее важных факторов, который необходимо проверить перед выбором микроконтроллера PIC. Если интерфейс связи между сенсорным устройством и микроконтроллером PIC не совпадает, это может создать проблему. Поэтому вы должны подтвердить, что выбранный вами микроконтроллер имеет достаточно интерфейсов связи, таких как UART, I2C и SPI.
Рабочее напряжениеРабочее напряжение — это уровень напряжения, при котором работает ваше устройство. Таким образом, это один из факторов, который необходимо проверить перед выбором микроконтроллера PIC. С точки зрения конструкции оборудования, это рабочее напряжение определяет логический уровень, когда микроконтроллер взаимодействует с компонентами, составляющими систему.
Количество контактов ввода/выводаОсновная задача микроконтроллеров — управлять внешними устройствами или приводами. Поэтому вам необходимо убедиться, сколько портов ввода / вывода имеет ваш микроконтроллер, которые могут помочь подключить ваши устройства. Например, микроконтроллер должен иметь достаточно контактов ШИМ для управления двигателями постоянного тока.
Кроме того, эти контакты необходимы для определения количества контактов ввода-вывода общего назначения для будущих улучшений.
СтоимостьСтоимость микроконтроллера также является одним из факторов, который необходимо проверить, прежде чем выбрать его для своего проекта. Иногда микроконтроллер, обеспечивающий ту же работу, можно найти на рынке дешевле. Таким образом, было бы полезно, если бы вы провели некоторое исследование стоимости микроконтроллера, который можно найти на рынке.
Размер пакетаОтносится к форм-фактору микроконтроллера. Как правило, он поставляется в различных упаковках. Некоторые пакеты включают; SSOP, SOIC, QFP, TSSOP и т. д.
Таким образом, необходимо проверить производителя, который указывает упаковки и размеры упаковок.
Потребляемая мощностьПотребляемая мощность также является фактором, который необходимо учитывать при выборе микроконтроллера. Например, если вы хотите развернуть устройства IoT, микроконтроллер должен иметь как можно более низкое энергопотребление.
Основные инструменты для программирования микроконтроллера PIC MPLAB X IDEЭто среда разработки микрочипа. Прежде чем писать микроконтроллер PIC, вам понадобится MPLAB X, чтобы написать прошивку, собрать и скомпилировать ее. Эта IDE довольно популярна среди разработчиков, поскольку имеет открытый исходный код.
В микроконтроллере PIC есть два способа получить прошивку. В MPLAB XIDE программист мог найти опцию «Запустить программу» или «Отладить проект». Это скомпилирует программу и, таким образом, создаст прошивку. Позже он создаст отладочную версию посадочного места микропрограммы. Было бы полезно, если бы вы убедились, что конечный продукт запрограммирован в соответствии с производственной версией прошивки.
PICKIT4Новейший внутрисхемный отладчик от микрочипа PIC позволяет программисту загружать программу в микроконтроллер. В обновленной версии ПИКИТ-3 добавлен слот для SD-карты. При программировании микроконтроллера вам необходимо подключить PICKIT-4 между USB-портом вашего компьютера и контактом программирования микроконтроллера.
ЗаключениеТаким образом, микроконтроллер является наиболее важным компонентом вашего проекта. Замена нового микроконтроллера в какой-то момент вашего проекта может привести к разочарованию, поскольку это более сложная задача. Таким образом, перед выполнением проекта убедитесь, что вы выбрали подходящий микроконтроллер в соответствии с вашими требованиями.
Крайне важно иметь надлежащее исследование и понимание микроконтроллера PIC, включая программирование, типы, функции и т. д. Эта информация определит ваш проект и его функциональность.
Учебные пособия по PIC: эксперименты с микроконтроллерами PIC
Одним из самых популярных и простых в использовании семейств микроконтроллеров, доступных сегодня на рынке, является Microchip « PIC microcontroller ». Следующие экспериментальные учебные пособия по PIC предназначены для облегчения изучения взаимодействия и программирования микроконтроллеров PIC. Каждая тема начинается с базовой теории, за которой следуют простые эксперименты, чтобы объяснить, как теория может быть реализована в реальных приложениях. Я подчеркиваю использование языка высокого уровня (C) для программирования PIC. Компилятор C, используемый при написании программ, — 9.0107 mikroC Pro для PIC от MikroElektronika. Вы можете скачать и установить демо-версию этого компилятора, которая ограничивает размер выходного HEX-файла до 2 КБ. Микроконтроллеры PIC16F688 и PIC16F628A выбраны для самых простых экспериментов, тогда как более сложные темы обсуждаются с PIC18F2550. Я надеюсь, что некоторые из вас сочтут эти учебные пособия полезными для быстрого освоения микроконтроллеров PIC. Если у вас есть какие-либо предложения или комментарии, вы можете написать мне по адресу [ admin (at) embedded-lab.com ].
Лабораторная работа 4: Интерфейс символьного ЖК-дисплея ЖК-дисплеи на базе HD44780 очень популярны среди любителей, потому что они дешевы и могут отображать символы. Кроме того, их очень легко взаимодействовать с микроконтроллерами, и большинство современных компиляторов высокого уровня имеют для них встроенные библиотечные процедуры. Узнайте, как включить его в свой проект микроконтроллера. Требуемая теория: Предусмотрено в статье | |
Лабораторная работа 5: Аналого-цифровое преобразование (АЦП) Аналого-цифровое преобразование (АЦП) необходимо, потому что, хотя встроенные системы имеют дело с цифровыми значениями, их окружение обычно включает множество аналоговых сигналов, таких как температура, скорость, давление и т. д. Узнайте, как связать аналоговые сигналы с микроконтроллером PIC. . Требуемая теория: Каналы АЦП в PIC16F688 | |
Лабораторная работа 6: Взаимодействие с семисегментным дисплеем Семисегментные светодиоды в основном используются для отображения десятичных чисел. Они популярны, потому что они визуально привлекательны и просты в интерфейсе. На этом лабораторном занятии обсуждается функционирование семисегментных модулей дисплея и управление одним модулем с микроконтроллером PIC для отображения чисел. |