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

Содержание

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

Используя этот USB программатор для PIC микроконтроллеров, вы можете программировать микросхемы серии PIC 10F, 12F, 16F, 18F, 24F, 30F. Он также является программатором EEPROM, поскольку поддерживает EEPROM 12Cxx.

Основным компонентом схемы программатора является микроконтроллер PIC182550, который управляет общей схемой.

Многие программаторы PIC для работы с компьютером используют последовательный порт (RS232). Но поскольку в ноутбуках, как правило, нет последовательного порта RS232, то им необходим конвертер USB — RS232.

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

Необходимые компоненты:

  • Микроконтроллер PIC18F2550
  • Транзистор (BC548 – 2шт; BC547; BC557)
  • Диод 1N4148 (6шт)
  • Резистор (1кОм – 7шт; 100кОм; 470 – 2шт; 1Мом; 470кОм; 330 – 3шт)
  • Конденсатор (0,01мкф – 3шт; 2,2мкф – 2шт; 10мкф; 22пф – 2шт)
  • Кварц на 8 МГц
  • Разъем USB
  • 5-контактный разъем (2шт)

Микроконтроллер PIC18F2550 имеет встроенный USB-порт, который значительно упрощает взаимодействие с компьютером.

Сначала необходимо запрограммировать сам микроконтроллер PIC18F2550 с помощью любого программатора PIC, а затем установить перемычку, как на схеме.

Скачать прошивку для программатора PIC микроконтроллеров (24,0 KiB, скачано: 484)

Паяльный фен YIHUA 8858

Обновленная версия, мощность: 600 Вт, расход воздуха: 240 л/час…

Установка перемычки определяет режим работы программатора, то есть режим загрузчика или режим программатора. Режим загрузчика используется для обновления программного обеспечения, а режим программатора — для прошивки микроконтроллеров PIC.

Далее нам нужно программное обеспечение, которое поможет нам программировать PIC микроконтроллеры. С этой задачей прекрасно справиться программа USB PIC Prog. Вы можете скачать данную программу по следующей ссылке: USB PIC Prog

http://www.circuitsgallery.com

ПРОГРАММАТОР EXTRA PIC

 

   Для программирования микроконтроллеров серии pic, есть немало различных радиосхем. А недавно нашёл схему ещё одного программатора EXTRAPIC и сразу же им заинтересовался. В ней всё очень просто и грамотно. На входе стоит MAX 232 преобразующая сигналыпоследовательного порта RS-232 в сигналы, пригодные для использования в цифровыхсхемах с уровнями ТТЛ или КМОП ,не перегружает по току COM-порт компьютера, так как использует стандартэксплуатации не представляет опасности для COM-порта. Этот девайс работает с любыми COM-портами, как стандартными (+/-12v; +/-10v) так и снестандартными COM-портами некоторых моделей современных ноутбуков, имеющихпониженные напряжения сигнальных линий, вплоть до +/-5v!Поддерживается распространёнными программами IC-PROG, PonyProg , WinPic 800

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


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


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

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

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



    На стороне программатора используется разъем DB9 типа «гнездо»(«мама», «дырки»). Очень часто ошибаются и ставят «вилку»(«папу», «штырьки»), т.е. такое же как и на сторонеПК!

 

Расположениевыводов ICSP у PIC-контроллеров


   Материал только для общей справки. Обязательно убедитесь, что указанноерасположение выводов соответствует выбранному вами микроконтроллеру. Для этого,обратитесь к Data Sheets и Programming Specifications на соответствующиймикроконтроллер (обычно всё совпадает). Вывод PGM рекомендуется «притягивать» к общему проводу (GND), черезрезистор, номиналом 1К.

   Микроконтроллеры с 14-контактным корпусом вставляется частью ножек всоответствующую 8-контактную панель.

 

Рисунок печатной платы:



Работа с программатором

   Сперва устанавливаем программу IC—prog. Скачайте и распакуйте программу вотдельный каталог. В образовавшемся каталое должны находиться три файла: 

icprog.exe — файл оболочкипрограмматора.

icprog.sys — драйвер,необходимый для работы под Windows NT, 2000, XP. Этот файл всегда долженнаходиться в каталоге программы.
icprog.chm — файл помощи (Help file).


   Установили,теперь надо ее настроить.  Дляэтого: 

  • (Только для Windows XP): Правой кнопкой щёлкните на файле icprog.exe. «Свойства» >> вкладка «Совместимость» >> Установите «галочку» на «Запустить программу в режиме совместимости с:» >>
    выберите «Windows 2000«.
  • Запустите файл icprog.exe. Выберите «Settings» >> «
    Options
    » >> вкладку «Language» >> установите язык «Russian» и нажмите «Ok«.
    Согласитесь с утверждением «You need to restart IC-Prog now» (нажмите «Ok«). Оболочка программатора перезапустится.

Настройки» >> «Программатор


  • Проверьте установки, выберите используемый вами COM-порт, нажмите «Ok«.
  • Далее, «Настройки» >> «Опции» >> выберите вкладку «Общие» >> установите «галочку» на пункте «Вкл. NT/2000/XP драйвер» >> Нажмите «Ok» >> если драйвер до этого не был устновлен на вашей системе, в появившемся окне «Confirm» нажмите «Ok» . Драйвер установится, и оболочка программатора перезапустится.
  • Примечание:
    Для очень «быстрых» компьютеров возможно потребуется увеличить параметр «
    Задержка Ввода/Вывода
    «. Увеличение этого параметра увеличивает надёжность программирования, однако, увеличивается и время, затрачиваемое на программирование микросхемы.
  • «Настройки» >> «Опции» >> выберите вкладку «I2C» >> установите «галочки» на пунктах: «Включить MCLR как VCC» и «Включить запись блоками«. Нажмите «Ok«.
  • «Настройки» >> «Опции» >> выберите вкладку «Программирование» >> снимите «галочку» с пункта: «Проверка после программирования» и установите «галочку» на пункте «Проверка при программировании«. Нажмите «Ok«.

   Теперь надо протестироватьпрограмматор в месте с IC—prog.  Далее, в программе IC-PROG, в меню,запустите: Настройки >> Тест Программатора


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

  1. Установите «галочку» в поле «Вкл. Выход Данных», при этом, в поле «Вход Данных» должна появляться «галочка», а на контакте (DATA) разъёма X2, должен установиться уровень лог. «1» (не менее +3,0 вольт). Теперь, замкните между собой контакт (DATA) и контакт (GND) разъёма X2, при этом, отметка в поле «Вход Данных» должна пропадать, пока контакты замкнуты.
  2. При установке «галочки» в поле «Вкл. Тактирования», на контакте (CLOCK) разъёма X2, должен устанавливаться уровень лог. «1». (не менее +3,0 вольт).
  3. При установке «галочки» в поле «Вкл. Сброс (MCLR)», на контакте (VPP) разъёма X3, должен устанавливаться уровень +13,0… +14,0 вольт, и светиться светодиод D4 (обычно красного цвета).
  4. Если переключатель режимов поставить в положение 1 то будет светится светодиод HL3

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


Тестированиеканала данных программатора EXTRAPIC:
  1. 13 вывод микросхемы DA1: напряжение от -5 до -12 вольт. При установке «галочки»: от +5 до +12 вольт.
  2. 12 вывод микросхемы Da1: напряжение +5 вольт. При установке «галочки»: 0 вольт.
  3. 6 вывод микросхемы DD1: напряжение 0 вольт. При установке «галочки»: +5 вольт.
  4. 1 и 2 вывод микросхемы DD1: напряжение 0 вольт. При установке «галочки»: +5 вольт.
  5. 3 вывод микросхемы DD1: напряжение +5 вольт. При установке «галочки»: 0 вольт.
  6. 14 вывод микросхемы DA1: напряжение от -5 до -12 вольт. При установке «галочки»: от +5 до +12 вольт.

   Если все тестирование прошло успешно, топрограмматор готов к эксплуатации. 


Детали для сборки EXTRA-PIC

DRB9F, разъём COM-порта («female»,»мама»), (1шт).
Разъём питания, диаметр внутр. штыря 2,1мм. (1шт).
SCL-40, панель DIP40. (1 шт).
SCS-28, панель DIP28, узкая. (1шт).
SCS-18, панель DIP18. (1шт).
SCS-08, панель DIP8. (1шт).
78L05, стабилизатор +5v, корпус ТО-92. (2шт).
78L12, стабилизатор +12v, корпус TO-92. (1шт).
MAX232, ST232, SP232, ADM232, или аналог. (1шт).
КР1533ЛА3,КР15xxЛА3, 74xx00, или аналог. (1шт).
1N4007, диод. (1шт).
1N4148, диод. (2шт).
АЛ307 или GNL-5013, светодиод зелёного цвета. (1шт).
АЛ307 или GNL-5013, светодиод красного цвета. (1шт).
КТ502Е, транзистор p-n-p, корпус TO-92. (1шт).
КТ3102, транзистор n-p-n, корпус TO-92. (1шт).
220,0x25v, электролитический / Оксидный конденсатор. (1шт).
10,0x16v, электролитический / Оксидный конденсатор. (4шт).
0,1 мкФ, керамический дисковый конденсатор. (2шт).
1k0, Резистор. (Цвета: «коричн.,чёрн.,красн.,золот.»). (6шт).
4k7, Резистор. (Цвета: «жёлт.,фиол.,красн.,золот.»). (2шт).

 

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

Originally posted 2019-01-20 19:11:45. Republished by Blog Post Promoter

РадиоКот :: USB программатор PIC микроконтроллеров.

РадиоКот >Схемы >Цифровые устройства >Примочки к ПК >

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

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

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

Конструктивно сигнальные линии подпаиваются к подходящему разъему (в моем случае это разъем DB9).

На фотографии видно, что использован «нетипичный» разъем USB. К сожалению, в моём родном городе Саратове не удалось найти правильный разъем USB.
Для программирования микроконтроллеров в DIP корпусах очень удобно использовать адаптер с ZIF-панелью (Zero Insertion Force — с нулевым усилием на выводы микросхемы при ее установке). Схема адаптера на рисунке ниже.

Адаптер собран на односторонней печатной плате. Мне не удалось симпатичнее развести плату и минимизировать количество перемычек.

ZIF-панель любезно предоставлена Благородным котом этого сайта, который пожелал остаться неизвестным. (sic! Прим. Кота.) Большое спасибо ему за это. Ниже фотография собранного адаптера.

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

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

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

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

Ниже рисунки установки кристаллов в ZIF-панель:

DIP40

DIP28

DIP18

DIP20

DIPrf18

DIP14

DIP8 DIPrf20

DIP8 10F

DIP8 (EE)

Теперь несколько слов о том, как прошить PIC18F2550, точнее, чем прошить. На этом сайте представлено несколько вариантов программатора Extra-PIC. Этот программатор можно рекомендовать для прошивки PIC18F2550.
Существует непроверенная информация по схеме элементарного программатора ART2003, который подключается к LPT-порту ПК. Данный программатор поддерживается всё тем же WinPic800 3.55G.

Ниже типовые настройки WinPic800 3.55G для работы с ART2003.

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

На форуме нашего сайта довольно активно обсуждается данный программатор. Однако многие, в том числе и ваш покорный автор, периодически сталкивались с ситуацией, когда программатор переставал опознаваться компьютером и, соответственно, не работал. Попытки перегрузить, переподключить, использовать другой USB порт в составе ПК не всегда излечивали данную проблему. В отдельных случаях программатор «самоизлечивался» и работал как положено.
Благодаря нашим читателям выяснилось, что проблема на самом деле пустяковая и лежит на поверхности. Достаточно на линии питания от разъема USB поставить фильтрующий электролитический конденсатор емкостью порядка 100,0 мкф на рабочее напряжение не менее 6,3 вольта. На существующей печатной плате этот конденсатор можно вполне культурно установить.
Для этого необходимо просверлить два отверстия, загнуть к печатным проводникам вывода конденсатора и пропаять их. Ниже рисунок печатной платы и расположение конденсатора (выделено красным кругом).

Файлы:
Печатные платы в формате SL4.0
Прошивка МК
WinPic800 3.55G

Все вопросы — в Форум.


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

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

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

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

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

Исполнение:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MCP250xx CAN:
MCP25020, MCP25025
MCP25050, MCP25055

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

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

Программатор Pic своими руками. Работает. — Автоматизация и проектирование

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

Предлагается схема рабочего программатора Pic микроконтроллеров фирмы Microchip.
Применим и проверен на микроконтроллерах: PIC12C509A, PIC16F84,PIC16F84A, PIC16F628A (c остальными при правильной настройке программ проблем возникнуть не должно)
Принципиальная схема программатора Pic:


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

Диоды
1N4148 — 3 шт.

Стабилитроны
8.2 Вольт.
5.1 Вольт.

Резисторы
1.5 кОм. (Коричневый, зеленый, красный — полоски)
10 кОм. (Коричневый, черный, оранжевый — полоски)

Конденсаторы
100 мкФ 40 Вольт.
22 мкФ 16 Вольт.

Транзисторы
В оригинале схемы указаны транзисторы BC547B, но на практике они отказываются работать с COM портом современного компьютера. Поэтому использовались транзисторы КТ3102 (Зеленая и Синяя точки на корпусе)
Также понадобиться COM разъем 9 Pin и панелька под микроконтроллеры на 18 ножек.

Схема расположения элементов:

Печатная плата программатора Pic:


Печать печатной платы программатора необходимо выполнить 100% качеством печати.

Фото готового рабочего устройства:

Рекомендуется использовать совместно с программой IC-Prog Software 1.05 (Версия очень важна!)

С помощью данного программатора удалось создать довольно хорошие схемы автоматизации, на основе PIC16F84. Удачной сборки и прошивки!

Другие статьи по разделу:

  Фантомное питание микрофона. Схема


 Сom адаптер. Рабочая схема. RS232-TTL


 Детекторный приемник для поиска альпинистов под снегом


 ДАТЧИК УРОВНЯ ВОДЫ СВОИМИ РУКАМИ СХЕМА


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

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

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

Очевидный плюс: своими руками и дешево. Недостаток: очень ограниченный спектр программируемых PIC микросхем. На начальных этапах популярности PIC микроконтроллеров, технологические особенности/недостатки в производстве EEPROM привели к появлению промышленного стандарта программирования фирмы Microchip PIC. Согласно этому стандарту, аттестованный программатор для PIC должен был при программировании EEPROM PIC производить верификацию данных при повышенном и при пониженном напряжениях.

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

Особенности программирования PIC микроконтроллеров на USB программаторах ChipProg:

  1. Поддержка всех семейств PIC микроконтроллеров: PIC10XXX, PIC12XXX, PIC16XXX, PIC18XXX, PIC24XXX, dsPIC30XXX, dsPIC33XXX, PIC32XXX
  2. Программирование PIC микроконтроллеров как в плате пользователя (ISP программирование), так и в колодке программатора.
  3. Поддержка всех типов корпусов PIC микроконтроллеров от 6 до 100 выводов с помощью дополнительных адаптеров.
  4. Визуализация всех конфигурационных бит PIC микроконтроллеров в виде, представленном в описании на микросхему.
  5. Возможность программирования и допрограммирования отдельных элементов микроконтроллера, включая конфигурационные биты.
  6. Поддержка идентификаторов PIC микроконтроллеров для безопасного программирования.
  7. В параллельных программаторах контроль каждого вывода PIC микроконтроллера на наличие контакта.
  8. В параллельных программаторах контроль правильной установки PIC микроконтроллеров в колодку программатора.
  9. Сертификация программаторов ChipProg фирмой Микрочип и рекомендация фирмы Микрочип программаторов ChipProg для программирования PIC микроконтроллеров.

Все программаторы нашего производства поддерживают программирование в том числе и продукцию PIC Microchipы:

Подробности программирования PIC микроконтроллера. Создаем робота-андроида своими руками [litres]

Читайте также

7.1. Более человекоориентированные среды программирования

7.1. Более человекоориентированные среды программирования 7.1.1. Системное окружение и среда разработки Исследования в области когнетики для сред программирования нашли еще меньшее применение, чем для пользовательских интерфейсов. Нечего и говорить, что современные

ПОДРОБНОСТИ О КАЖДОЙ ЛОДКЕ

ПОДРОБНОСТИ О КАЖДОЙ ЛОДКЕ 1)К-525 с 30 декабря 1980 МИНСКИЙ КОМСОМОЛЕЦ с 20 марта 1993 АРХАНГЕЛЬСК (С-605), ответственный сдатчик В.Н. Фролов. Зал- 25.07.1975, сп- 12.05.1980, прием- 30.12.1980, вст- 26.02.1981, в состав СФ, 11 дпл 1 флпл. Флаг поднят 24.10.1981. Первое погружение на предельную глубину 24.10.1983. В 1985

ПОДРОБНОСТИ ПО КОРАБЛЯМ ПРОЕКТА 670

ПОДРОБНОСТИ ПО КОРАБЛЯМ ПРОЕКТА 670 К-43 (строительный № С-701). Зачислена в списки ВМФ – 13 мая 1962, заложена – 9 мая 1964, спущена – 2 августа 1 966, приемный акт – 6 ноября 1967, вступила в строй – 27 ноября 1967. На СФ в состав 11 дивизии 1 флотилии пл. Первый командир- кап. 1 ранга Е.Н.

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

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

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

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

Движемся дальше – приложения использования микроконтроллера

Движемся дальше – приложения использования микроконтроллера Сейчас настало время продемонстрировать вам, как используются микроконтроллеры в различных схемах. Вы уже обладаете начальным опытом программирования микроконтроллера 15F84. В этой главе приведены некоторые

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

Список необходимых частей для программирования микроконтроллера • компилятор PSIBASIC• компилятор PSIBASIC Pro (включая CodeDesignerLit)• программатор EPIC• компилятор PICBASIC и программатор EPIC• CodeDesigner любительская версия• CodeDesigner стандартная версия• 16F84-4 1 шт.• кварцевый резонатор

Использование микроконтроллера для управления ШД

Использование микроконтроллера для управления ШД Для изучения принципов работы ШД изготовим схему управления ШД с помощью микроконтроллера PIC

Использование PIC-микроконтроллера и ИС UCN-5804 для управления ШД

Использование PIC-микроконтроллера и ИС UCN-5804 для управления ШД Мы использовали схему управления работой ШД непосредственно с помощью ИС PIC. Также для управления работой ШД мы использовали специализированную ИС. При совместном использовании специализированной ИС и

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

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

ПОДРОБНОСТИ СЛУЖБЫ И ОСОБЕННОСТИ КАЖДОГО ЭСМИНЦА

ПОДРОБНОСТИ СЛУЖБЫ И ОСОБЕННОСТИ КАЖДОГО ЭСМИНЦА СПОКОЙНЫЙ (стр. № 701) Ленинград, з-д им. Жданова. Проект 56.Зачислен в списки ВМФ – 19 августа 1952, заложен на стапеле – 4 марта 1953 (закладка официальная, при 33% готовности корпуса), спущен на воду – 28 ноября 1953, начало испытаний –

6.4.2 Язык программирования и компилятор

6.4.2 Язык программирования и компилятор В процессе планирования ПО должна быть оценена допустимость использования конкретного языка программирования и компилятора. Необходимо учитывать следующее:— некоторые компиляторы имеют возможности оптимизировать

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Собранные вручную программаторы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Так что все есть. Как начать работать с методикой, как начать прошивать микроконтроллер программатором?

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

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

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

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

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

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

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

МК монтажная панель.

Оригинальная схема взята с сайта 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 выводу ЗИФ-панели. Вывод AUX используется исключительно для работы с микросхемами памяти 24LC EEPROM (24C04, 24WC08 и аналоги). Данные передаются через него, поэтому на схеме панели программирования он отмечен словом «Данные».При программировании микроконтроллеров вывод AUX обычно не используется, хотя он необходим при программировании микроконтроллера в режиме LVP.

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

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

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

ЖК-телевизоры

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

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

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

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

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

Имя Обозначение Рейтинг / Параметры Марка или тип изделия
Для основной части программатора
Микроконтроллер DD1 8-битный микроконтроллер PIC18F2550-I / SP
Биполярные транзисторы VT1, VT2, VT3 КТ3102
VT4 КТ361
Диод VD1 КД522, 1Н4148
Диод Шоттки 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 любой тип «джемпер»
Для монтажной панели микроконтроллеров (МК)
Панель ЗИФ XS1 любая 40-контактная ЗИФ-панель
Резисторы R1 2 кОм МЛТ, МОН (мощность от 0.125 Вт и выше), импортные аналоги
R2, R3, R4, R5, R6 10 кОм

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

Зеленый светодиод HL1 горит, когда программатор включен, и Красный светодиод HL2 горит во время передачи данных между компьютером и программатором.

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

В качестве дросселя 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 пакет.

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

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

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

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

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

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

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

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

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

Файл «прошивки» — PK2V023200.hex необходимо записать в память PIC18F2550I-SP MK с помощью любого программатора, поддерживающего микроконтроллеры 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.шестнадцатеричный « .

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

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

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

Чтобы обновить программное обеспечение программатора, закройте перемычку XT1 на программаторе, когда он отсоединен от компьютера. Затем подключите программатор к ПК и запустите PICkit2 Programmer. При закрытии XT1 активируется режим загрузчика для загрузки новой версии прошивки.Затем в PICkit2 Programmer через меню «Инструменты» — «Загрузить операционную систему PICkit 2» откройте заранее подготовленный шестнадцатеричный файл обновленной прошивки. Далее будет происходить процесс обновления программного обеспечения программатора.

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

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

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

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

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

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

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

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

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

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

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

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


Рисунок №1 — схема программатора

Сразу привожу список элементов для тех, кто лень всматриваться в схему:

  • R1 — 10 кОм
  • R2 — 10 кОм (нижний индекс).Регулируя сопротивление этого резистора, во время программирования вам нужно достичь около 13 В на выводе № 4 (VPP). В моем случае сопротивление 1,2 кОм
  • R3 — 200 Ом
  • R4, R5 — 1,5 кОм
  • VD1, VD2, VD3, VD4, VD6 — 1N4148
  • VD5 — 1N4733A (стабилизация напряжения 5,1В)
  • VD7 — 1N4743A (стабилизация напряжения 13 В)
  • C1 — 100 нФ (0,1 мкФ)
  • C2 — 470 мкФ x 16 В (электролитический)
  • SUB-D9F — Разъем COM-порта (MAMA или SOCKET)
  • Разъем DIP8 — зависит от контроллер, который вы используете

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


Рисунок №2 — варианты корпусов PIC-контроллеров с необходимыми выводами

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

Хотя сама схема довольно проста и не вызовет затруднений при сборке, она тоже требует уважения. Поэтому неплохо было бы сделать для него печатную плату. После некоторых манипуляций с программой SprintLayout текстолитом, дрелью и утюгом родилась такая заготовка (фото №3).


Фото №3 — печатная плата программатора

Скачать исходники печатной платы для программы SprintLayout можно по этой ссылке:
(скачиваний: 670)
При желании вы можете изменить его под свой тип контроллера PIC.Для тех, кто решил оставить плату без изменений, я размещаю вид сбоку на детали, чтобы облегчить установку (Рисунок 4).


Рисунок №4 — плата со стороны крепления

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


Фото №5 — полный программатор

С этого момента первый этап на пути к прошивке PIC-контроллера , подошел к концу.Второй этап будет включать в себя подключение программатора к компьютеру и работу с программой IC-Prog .
К сожалению, не все современные компьютеры и ноутбуки способны работать с этим программатором из-за банального отсутствия COM-портов , а те, что установлены на ноутбуках, не выдают необходимых для программирования 12V … Вот и я решил Обратимся к моему первому PC , который давно пылится и ждал своего звездного часа (и все еще ждал).
Итак, включаем компьютер и первым делом устанавливаем программу IC-Prog … Скачать ее можно с сайта автора или по ссылке:
(скачиваний: 769)
Подключаем программатор к COM порту и запускаем только что установленное приложение. Для корректной работы нужно произвести ряд манипуляций. Изначально нужно выбрать тип контроллера, который вы собираетесь шить. У меня он PIC12F675 … На скриншоте №6 поле выбора контроллера выделено красным.


Снимок экрана 6 — выбор типа микроконтроллера


Снимок экрана № 7 — Настройка метода записи контроллера

В том же окне перейдите в « Programming » и выберите пункт « Programming check ». Проверка после программирования может вызвать ошибку, так как в некоторых случаях сама прошивка устанавливает предохранители блокировки чтения. ср … Чтобы не морочить голову, лучше эту проверку отключить. Вкратце, следуйте скриншоту №8.


Скриншот №8 — настройка проверки

Продолжаем работать с этим окном и переходим в « General ». Здесь нужно установить приоритет программы и обязательно использовать драйвер NT / 2000 / XP (скриншот №9). В некоторых случаях программа может предложить установить этот драйвер, и потребуется перезагрузка. IC-Prog .


Скриншот 9 — общие настройки

Итак, работа с этим окном окончена. Теперь перейдем к настройкам самого программатора.Выберите в меню «Настройки » -> «Настройки программатора » или просто нажмите кнопку F3 … Появится следующее окно, показанное на скриншоте № 10.


Снимок экрана № 10 — Окно настроек программатора

Сначала В общем, мы выбираем тип программатора — JDM Programmer … Затем устанавливаем переключатель на использование драйвера Windows … Следующий шаг включает выбор COM-порта , к которому подключен ваш программатор. Если он один, вопросов нет вообще, а если их несколько, посмотрите в диспетчере устройств, какой из них сейчас используется.Ползунок задержки ввода-вывода предназначен для регулировки скорости записи и чтения. Это может понадобиться на быстрых компьютерах и в случае проблем с прошивкой — этот параметр необходимо увеличить. В моем случае он остался по умолчанию равным 10 и все нормально работало.

На этом настройка программы завершена. IC-Prog окончено и можно переходить к процессу самой прошивки, но сначала мы считываем данные с микроконтроллера и смотрим, что в них записано. Для этого на панели инструментов нажмите на иконку микросхемы с зеленой стрелкой, как показано на скриншоте №11.


Скриншот 11 — процесс чтения информации с микроконтроллера

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


Скриншот №12 — значение калибровочной константы

Повторяю, значение уникально для каждой микросхемы и не обязательно должно быть таким, как на рисунке. Многие по неопытности перезаписывают эту константу, и впоследствии контроллер PIC начинает работать некорректно, если в проекте используется синхронизация от внутреннего генератора. Советую записать эту константу и наклеить надпись с ее значением прямо на контроллере.Так вы избежите многих неприятностей в будущем. Итак, значение записано — идем дальше. Открываем файл прошивки, который обычно имеет расширение .hex … Теперь вместо меток 3FFF в буфере программирования находится код нашей программы (скриншот №13).


Скриншот №13 — прошивка загружена в буфер программирования

Выше я писал, что многие по неосторожности затирают калибровочную константу. Когда это случится? Это происходит при открытии файла прошивки.Постоянное значение автоматически меняется на 3FFF и если вы запустите процесс программирования, то пути назад нет. На скриншоте №14 выделена ячейка памяти, в которой ранее была константа. 3450 (перед открытием шестнадцатеричного файла ).

В настоящее время появилось много принципиальных схем с использованием различных микроконтроллеров, в том числе микроконтроллеров PIC от MicroChip. Это позволило получить достаточно функциональные устройства, несмотря на их простоту.

Но работа микроконтроллера невозможна без управляющей программы, которую надо написать. В этой статье мы рассмотрим универсальный программатор PIC — EXTRA-PIC позволяет программировать контроллеры PIC и память EEPROM I2C через COM-порт или через.

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

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

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

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

Непосредственно схема самого программатора EXTRA-PIC:

Программируемый контроллер подключается через разъем X3. Ниже представлена ​​распиновка контактов программирования для разных контроллеров:

А теперь инструкция, как программировать микроконтроллер.

В качестве примера возьмем микроконтроллер PIC16F876A.

Собрать программатор и подготовить блок питания с выходным напряжением не менее 15В

Распаковать программу в отдельный каталог. Созданный каталог должен содержать три файла:

icprog.exe — файл оболочки программатора;

icprog.sys — драйвер, необходимый для работы под Windows NT, 2000, XP. Этот файл всегда должен находиться в каталоге программы;

icprog.chm — Файл справки.

Настройка IC-PROG v1.Программа 05D.

Для Windows95, 98, ME Для Windows NT, 2000, XP
( только Windows XP ):
Щелкните правой кнопкой мыши файл icprog.exe.
« Свойства » >> вкладка « Совместимость » >>
Установите флажок Запустить программу в режиме совместимости с: »>> выберите« Windows 2000 «.
  1. Запускаем файл icprog.exe .
  2. Выберите « Настройки » >> « Параметры » >> вкладку « Язык » >> установите язык « Русский » и нажмите « Ok «.
  3. Согласитесь с утверждением « Вам необходимо перезапустить IC-Prog сейчас » (нажмите « Ok «).
  4. Оболочка программатора перезапустится.
« Настройки » >> « Программатор «.
Проверьте настройки, выберите COM-порт, который вы используете, нажмите « Ok ».
Далее « Настройки » >> « Параметры » >> выберите вкладку « Общие » >> установите флажок « Включая NT / 2000 / XP драйвер » >> Нажмите « Ok » >>
, если драйвер ранее не был установлен в системе, в появившемся окне « Подтвердить » нажмите « Ok ». Драйвер будет установлен, и оболочка программатора перезапустится.
Примечание: Для очень «быстрых» компьютеров вам может потребоваться увеличить « I / O Delay ».Увеличение этого параметра увеличивает надежность программирования, однако увеличивается и время, затрачиваемое на программирование микросхемы.
« Настройки » >> « Параметры » >> выберите вкладку « I2C » >> установите флажки: « Включить MCLR как VCC » и « Включить блочную запись ». Нажмите « Ок «.
Программа готова к работе.

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

Подключите удлинитель, включите питание.

Запустите программу IC-PROG.

Выберите контроллер PIC16F876A из раскрывающегося списка.

Если у вас нет файла с прошивкой, подготовьте его:

открыть стандартную программу Блокнот;

вставить в документ текст прошивки;

сохранить под любым именем, например, prohivka.txt (расширение * .txt или * .hex).

Далее в IC-PROG Файл >> Открыть файл (! Не путать с Открыть файл данных ) >> найти наш файл с прошивкой (если у нас есть файл с расширением *.txt, затем в типе файла выберите Любой Файл *. * ). Окно «Программный код» должно быть заполнено информацией.

Нажать кнопку «Программировать микросхему» (горит красный светодиод).

Ждем завершения программирования (около 30 сек).

Для управления нажать «Сравнить микросхему с буфером».

Что такое JavaScript? — Изучите веб-разработку

Добро пожаловать на курс JavaScript для новичков в MDN! В этой статье мы рассмотрим JavaScript с высокого уровня, ответив на такие вопросы, как «Что это такое?». и «Что вы можете с этим сделать?» и убедитесь, что вам понятна цель JavaScript.

Предварительные требования: Базовая компьютерная грамотность, базовое понимание HTML и CSS.
Цель: Ознакомиться с тем, что такое JavaScript, что он может делать и как вписывается в веб-сайт.

JavaScript — это язык сценариев или программирования, который позволяет вам реализовывать сложные функции на веб-страницах — каждый раз, когда веб-страница делает больше, чем просто сидит и отображает статическую информацию, на которую вы можете смотреть — отображение своевременных обновлений контента, интерактивные карты, анимированные 2D / 3D-графика, музыкальные автоматы с прокруткой видео и т. Д.- вы можете поспорить, что, вероятно, задействован JavaScript. Это третий слой слоеного пирога стандартных веб-технологий, два из которых (HTML и CSS) мы рассмотрели более подробно в других частях области обучения.

  • HTML — это язык разметки, который мы используем для структурирования и придания значения нашему веб-контенту, например, для определения абзацев, заголовков и таблиц данных или для встраивания изображений и видео на страницу.
  • CSS — это язык правил стиля, который мы используем для применения стилей к нашему HTML-содержимому, например, для установки цвета фона и шрифтов, а также для размещения нашего содержимого в нескольких столбцах.
  • JavaScript — это язык сценариев, который позволяет вам создавать динамически обновляемый контент, управлять мультимедиа, анимировать изображения и многое другое. (Ладно, не все, но удивительно, чего можно достичь с помощью нескольких строк кода JavaScript.)

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

Затем мы можем добавить немного CSS в микс, чтобы он выглядел красиво:

  p {
  семейство шрифтов: 'helvetica neue', helvetica, sans-serif;
  межбуквенный интервал: 1 пиксель;
  преобразование текста: прописные буквы;
  выравнивание текста: центр;
  граница: 2px сплошной rgba (0,0,200,0.6);
  фон: rgba (0,0,200,0.3);
  цвет: rgba (0,0,200,0.6);
  box-shadow: 1px 1px 2px rgba (0,0,200,0.4);
  радиус границы: 10 пикселей;
  отступ: 3px 10px;
  дисплей: встроенный блок;
  курсор: указатель;
}
  

И, наконец, мы можем добавить JavaScript для реализации динамического поведения:

  const para = document.querySelector ('p');

para.addEventListener ('щелкните', updateName);

function updateName () {
  const name = prompt ('Введите новое имя');
  para.textContent = `Игрок 1: $ {name}`;
}
  

Попробуйте щелкнуть эту последнюю версию текстовой метки, чтобы увидеть, что происходит (обратите внимание, что вы можете найти эту демонстрацию на GitHub — посмотрите исходный код или запустите его вживую)!

JavaScript может намного больше — давайте рассмотрим, что именно.

Основной клиентский язык JavaScript состоит из некоторых общих функций программирования, которые позволяют выполнять такие действия, как:

  • Хранить полезные значения внутри переменных. Например, в приведенном выше примере мы просим ввести новое имя, а затем сохраняем это имя в переменной с именем name .
  • Операции с фрагментами текста (в программировании известные как «строки»). В приведенном выше примере мы берем строку «Player 1:» и присоединяем ее к переменной name для создания полной текстовой метки, например.г. «Игрок 1: Крис».
  • Запуск кода в ответ на определенные события, происходящие на веб-странице. В нашем примере выше мы использовали событие click , чтобы определить, когда была нажата кнопка, а затем запустить код, обновляющий текстовую метку.
  • И многое другое!

Что еще более интересно, так это функциональность, построенная на клиентском языке JavaScript. Так называемые интерфейсы прикладного программирования ( API ) предоставляют вам дополнительные суперспособности для использования в вашем коде JavaScript.

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

Обычно они делятся на две категории.

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

  • DOM (объектная модель документа) API позволяет вам управлять HTML и CSS, создавать, удалять и изменять HTML, динамически применять новые стили к вашей странице и т. Д. Каждый раз, когда вы видите, что на странице появляется всплывающее окно или отображается какой-то новый контент (как мы видели выше в нашей простой демонстрации), это, например, DOM в действии.
  • API геолокации извлекает географическую информацию. Таким образом Google Maps может определять ваше местоположение и наносить его на карту.
  • API-интерфейсы Canvas и WebGL позволяют создавать анимированную 2D- и 3D-графику. С помощью этих веб-технологий люди делают удивительные вещи — см. Эксперименты Chrome и примеры webgls.
  • API-интерфейсы аудио и видео
  • , такие как HTMLMediaElement и WebRTC , позволяют делать действительно интересные вещи с мультимедиа, например воспроизводить аудио и видео прямо на веб-странице или захватывать видео с веб-камеры и отображать его на чужом компьютере ( попробуйте нашу простую демонстрацию Snapshot, чтобы понять идею).

Примечание: Многие из вышеперечисленных демонстраций не будут работать в более старых версиях браузера — при экспериментировании рекомендуется использовать современный браузер, такой как Firefox, Chrome, Edge или Opera, для запуска вашего кода. Вам нужно будет более подробно рассмотреть кроссбраузерное тестирование, когда вы приблизитесь к доставке производственного кода (то есть реального кода, который будут использовать реальные клиенты).

API сторонних разработчиков не встроены в браузер по умолчанию, и вам обычно приходится получать их код и информацию из Интернета.Например:

Примечание. Эти API являются расширенными, и мы не будем рассматривать их в этом модуле. Вы можете узнать больше об этом в нашем модуле клиентских веб-API.

Доступно еще много всего! Однако пока не стоит слишком сильно волноваться. Вы не сможете создать следующий Facebook, Google Maps или Instagram после изучения JavaScript в течение 24 часов — сначала нужно изучить множество основ. И поэтому вы здесь — идем дальше!

Здесь мы фактически начнем смотреть на некоторый код, и при этом исследуем, что на самом деле происходит, когда вы запускаете некоторый JavaScript на своей странице.

Давайте вкратце напомним историю того, что происходит, когда вы загружаете веб-страницу в браузере (о чем впервые говорилось в нашей статье «Как работает CSS»). Когда вы загружаете веб-страницу в свой браузер, вы запускаете свой код (HTML, CSS и JavaScript) внутри среды выполнения (вкладка браузера). Это похоже на фабрику, которая принимает сырье (код) и выпускает продукт (веб-страницу).

Очень часто JavaScript используется для динамического изменения HTML и CSS для обновления пользовательского интерфейса через API объектной модели документа (как упоминалось выше).Обратите внимание, что код в ваших веб-документах обычно загружается и выполняется в том порядке, в котором он отображается на странице. Ошибки могут возникнуть, если JavaScript загружается и запускается перед HTML и CSS, которые он предназначен для изменения. Способы решения этой проблемы вы узнаете позже в статье, в разделе «Стратегии загрузки скриптов».

Безопасность браузера

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

Примечание: Существуют способы безопасной передачи кода и данных между разными веб-сайтами / вкладками, но это продвинутые методы, которые мы не будем рассматривать в этом курсе.

Порядок выполнения JavaScript

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

  const para = document.querySelector ('p');

para.addEventListener ('щелкните', updateName);

function updateName () {
  const name = prompt ('Введите новое имя');
  para.textContent = `Игрок 1: $ {name}`;
}
  

Здесь мы выбираем текстовый абзац (строка 1), затем присоединяем к нему прослушиватель событий (строка 3), чтобы при щелчке на абзаце запускался блок кода updateName () (строки 5–8).Кодовый блок updateName () (эти типы повторно используемых кодовых блоков называются «функциями») запрашивает у пользователя новое имя, а затем вставляет это имя в абзац, чтобы обновить отображение.

Если вы поменяли местами первые две строки кода, он больше не будет работать — вместо этого вы получите ошибку, возвращаемую в консоли разработчика браузера — TypeError: para is undefined . Это означает, что объект para еще не существует, поэтому мы не можем добавить к нему прослушиватель событий.

Примечание: Это очень распространенная ошибка — вам нужно быть осторожным, чтобы объекты, на которые есть ссылки в вашем коде, существовали, прежде чем вы попытаетесь что-то с ними сделать.

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

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

С другой стороны, скомпилированные языки преобразуются (компилируются) в другую форму перед запуском на компьютере. Например, C / C ++ компилируются в машинный код, который затем запускается на компьютере. Программа выполняется из двоичного формата, который был сгенерирован из исходного исходного кода программы.

JavaScript — это легкий интерпретируемый язык программирования.Веб-браузер получает код JavaScript в его исходной текстовой форме и запускает сценарий из него. С технической точки зрения, большинство современных интерпретаторов JavaScript фактически используют технику под названием «своевременная компиляция » для повышения производительности; исходный код JavaScript компилируется в более быстрый двоичный формат во время использования сценария, чтобы его можно было запустить как можно быстрее. Однако JavaScript по-прежнему считается интерпретируемым языком, поскольку компиляция выполняется во время выполнения, а не заранее.

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

Сравнение кода на стороне сервера и на стороне клиента

Вы также можете услышать термины на стороне сервера и на стороне клиента , особенно в контексте веб-разработки. Клиентский код — это код, который запускается на компьютере пользователя: когда веб-страница просматривается, клиентский код страницы загружается, затем запускается и отображается в браузере. В этом модуле мы явно говорим о клиентском JavaScript .

С другой стороны, серверный код запускается на сервере, затем его результаты загружаются и отображаются в браузере. Примеры популярных серверных веб-языков включают PHP, Python, Ruby, ASP.NET и … JavaScript! JavaScript также может использоваться в качестве серверного языка, например, в популярной среде Node.js — вы можете узнать больше о серверном JavaScript в разделе «Динамические веб-сайты — серверное программирование».

Динамическое и статическое код

Слово динамический используется для описания как клиентского JavaScript, так и серверных языков — оно относится к возможности обновлять отображение веб-страницы / приложения, чтобы отображать разные вещи в разных обстоятельствах, генерируя новый контент по мере необходимости.Серверный код динамически генерирует новый контент на сервере, например извлекает данные из базы данных, тогда как клиентский JavaScript динамически генерирует новый контент внутри браузера на клиенте, например создание новой таблицы HTML, заполнение ее данными, запрошенными с сервера, а затем отображение таблицы на веб-странице, отображаемой пользователю. Значение немного отличается в двух контекстах, но связано, и оба подхода (на стороне сервера и на стороне клиента) обычно работают вместе.

Веб-страница без динамически обновляемого содержимого называется статической — она ​​просто показывает одно и то же содержимое все время.

JavaScript применяется к вашей HTML-странице аналогично CSS. В то время как CSS использует элементы для применения внешних таблиц стилей и элементы