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

Содержание

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

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

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

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

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

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

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

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

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

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


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

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

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

Программирование pic12f629 с помощью triton. Средства программирования PIC-контроллеров

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

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

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

Восстановление калибровочной константы PIC12f629 и PIC12f675

Собрав ниже приведенную схему и установив в панельку исследуемый микроконтроллер PIC12f629 или PIC12f675 можно с точностью до 1% определить КК.

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

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

  • SB1 разомкнут — калибровка происходит при 3,4 вольта.
  • SB1 замкнут — калибровка происходит при 5 вольт.

Два диода создают падение напряжения, а резистор R1 создает достаточный ток для стабильности напряжения на диодах.

Опорный сигнал подается с вторичной обмотки трансформатора (от 6 до 12 вольт) через диод VD3, резистор R4 и транзистор VT1. Транзистор любой типа NPN.

Внимание. Переменное напряжение на транзистор следует подавать только через трансформатор. Ни в коем случае не напрямую от электросети!

Процесс определения калибровочной константы

  • Программируем PIC12F629 или PIC12F675 прошивкой, которая приведена в конце статьи.
  • Переключатель SB2 оставляем незамкнутым для сети 50 Гц, и замыкаем если частота в электросети равна 60 Гц. Для успешно проведения работ, данный сигнал должен быть подан до начала калибровки.
  • Вставляем МК в панельку, переключатель SB1 замыкаем, тем самым подаем питание 5 вольт.

Если все нормально светодиоды мигнут один раз.

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

В процессе калибровки оба светодиода выключены. Калибровка по времени занимает не более 5 секунд.

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

Если калибровка прошла успешно загорится зеленый светодиод, и на выводе 6 МК появится тестовый сигнал с частотой 5 кГц. Замерив, данный сигнал частотомером, можно убедиться в корректной калибровке внутреннего генератора микроконтроллера.

Возможны три варианта данных по адресам 0x00 и 0x01 в EEPROM:

  1. Если в обоих адресах 0xFF – калибровка не удалась.
  2. Если в обоих адресах 0x00, необходимо убедиться, что опорная частота выбрана правильно.
  3. В адресе 0x00 содержится 0x34 и в адресе 0x01 содержит 0xNN, где NN и является наша новая константа калибровки.

Модификация прошивки

Некоторые программаторы либо программное обеспечение по причине своей особенности не позволяют показать содержимое EEPROM. И получается, так что калибровка прошла успешно, загорелся зеленый светодиод, но по двум адресам в памяти находится значение 0xFF. В этом случае рекомендуется применить модифицированную прошивку, которая решает данную проблему.

(1,0 Mb, скачано: 2 675)

www.picprojects.org/projects/recal/recal.htm

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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

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

Где:

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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


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

Компиляция

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

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

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


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

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


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

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

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

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


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

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

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

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

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


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

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

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

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

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


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

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


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

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

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

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

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


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

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


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

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

Simulink
Real-Time Workshop Embedded Coder
Real-Time Workshop

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

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

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

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

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

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

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

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


Рис. 12 . Содержимое текущего каталога после выполнения install_dsPIC_R2012a.m.


Рис. 13 . Блоки, установленной библиотеки «Embedded Target for Microchip dsPIC».

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

>>

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

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


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

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

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


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

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

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

>> path(«c:\Program Files (x86)\Microchip\MPLAB IDE\Tools\MATLAB\»,path)
Примечание: Использование команды >>path без аргументов приводит к отображению списка путей переменной path в окне команд (Command Window). Удалить путь из переменной path можно командой rmpath, например:

>>rmpath(» c:\Program Files\Microchip\MPLAB IDE\Tools\MATLAB\»)
4. Создайте Simulink модель для PIC контроллера, используя блоки библиотеки «Embedded Target for Microchip dsPIC» (Рис. 13), или загрузите готовую модель, например, Servo_ADC.mdl.

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


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

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


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

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


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

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


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

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


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

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

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


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

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

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

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


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

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

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


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

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


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

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


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

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


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

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

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

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

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

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


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

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


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

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


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

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


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

Заключение

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

Начинать свою работу я советовал бы сначала с общих сведений о микроконтроллерах.

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

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

Но нужный программатор многим запросам был найден.

Для передачи данных используется COM порт. Схема питается от 5 вольт которые можно взять от портов USB или PS/2.

Еще одна фотография этого устройства:

Для работы с программатором рекомендуется использовать программу IC-Prog

Настройка IC-Prog

Качаем с офф сайта последнюю версию программы IC-Prog Software, NT/2000 driver, Helpfile in Russian language и распаковываем их в одну и туже директорию.

Теперь необходимо установить драйвер программатора, для чего запускаем icprog.exe (если появятся сообщения об ошибках, то просто игнорируем их) и выбираем пункт «Options» в меню «Settings». Открываем вкладку «Programming» и устанавливаем галочку напротив пункта «Verify during programming». Далее в разделе «Misc» нужно активировать опцию «Enable NT/2000/XP Driver», сохранить настройки нажав на кнопку «ОК» и перезапустить программу.

Сменить язык интерфейса можно в разделе «Language». Для того, чтобы указать программе тип нашего программатора, нажимаем F3, в открывшемся окне выбираем «JDM Programmer» и указываем COM порт, к которому подключено устройство.

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

Прошивка МК

IC-Prog позволяет работать с большим количеством МК, но нам нужен только PIC12F629 — выбираем его в выпадающем списке, расположенным в правом верхнем углу программы.
Для чтения прошивки из МК выполняем команду «Читать микросхему» (значок с зеленой стрелочкой или F8).

По окончанию процесса чтения, в окне программного кода отобразится прошивка МК в шестнадцатеричном виде. Следует обратить внимание на последнюю ячейку памяти по адресу 03F8 — там хранится значение константы OSCCAL , которое устанавливает производитель при калибровке чипа. У каждого МК оно свое, так что неплохо было бы его куда нибудь переписать (я, к примеру, царапаю его иголкой на обратной стороне PIC»а) для облегчения процесса восстановления (хотя это не обязательно), если во время прошивки эта константа была случайно перезаписана.


Для того, чтобы «залить» прошивку из *.hex файла в МК, ее необходимо открыть в программе («Файл»->«Открыть Файл…» или Ctrl+O) и выполнить команду «Программировать микросхему» (значок с желтой молнией или F5). Отвечаем «Yes» на первый вопрос.


А вот на следующий вопрос необходимо ответить «Нет», иначе перезапишется константа OSCCAL, о которой говорилось ранее.


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

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

Микроконтроллеры PIC12F629 и PIC12F675 имеют внутренний генератор 4 МГц, что позволяет работать им без внешнего кварцевого резонатора или RC-цепи. Это освобождает один или два контакта для использования их в качестве ввода/вывода и позволяет устройству иметь в конструкции минимальное количество компонентов.

Внутренний генератор должен быть откалиброван, это достигается путем подбора на заводе значения калибровки и записи его в регистр OSCCAL при инициализации устройства перед запуском рабочей программы. Значение калибровки находится в последнем адресе памяти программ — 0x3FF.

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

Для этого создана эта программа и схема. Загрузите в микроконтроллер код, который находится в архиве и поместите его в устройство описанное ниже, и в течение нескольких секунд Вы получите новое значение калибровки для работы внутреннего генератора частотой 4 МГц и точностью 1%.

Как это работает

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

Частота внутреннего генератора микроконтроллера зависит от изменения температуры и напряжения питания. При увеличении напряжение питания частота немного уменьшается. Когда выключатель S1 разомкнут напряжение 5 Вольт подается через два диода, в итоге около 3,4 Вольт поступает на контроллер. Если S1 замкнут, то контроллер работает от 5 Вольт. Microchip калибрует партии при 3,5 Вольт и температуре 25°C. В этой схеме есть возможность калибровки при напряжении 3,4 Вольт и 5 Вольт, но желательно откалибровать контроллер с разомкнутым S1 (3,4 Вольт).

S1 разомкнут — калибровка происходит при 3,4 Вольт

S1 замкнут — калибровка происходит при 5 Вольт

S1 не является выключателем питания

Два 1N4148 диода обеспечивают падение напряжения, резистор 150R обеспечивает стабильное напряжение на диодах. 100nF фильтрующий конденсатор должен быть размещен как можно ближе к выводам контроллера(1 и 8).

Сигнал опорной частоты подается в контроллер с использованием транзистора BC548, резистора 10K, диода 1N4148 и трансформатора. Можно использовать любой NPN транзистор, характеристики его не являются критическими. Трансформатор также можно использовать любой, но с выходным напряжением в пределах от 6 до 12 Вольт переменного тока.

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

ПРИ РАБОТЕ С ВЫСОКИМ НАПРЯЖЕНИЕМ СОБЛЮДАЙТЕ ТЕХНИКУ БЕЗОПАСНОСТИ!

Код для калибровки

Далее необходимо запрограммировать микроконтроллер кодом, который находится в архиве под именем «recal1.hex» . Код будет работать и с PIC12F629 и 12F675. Загрузите этот код перед началом операции калибровки.

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

Запуск калибровки

1. Установить перемычку J1, если частота электросети в вашем районе равна 60 Гц и снять прермычку если частота 50 Гц. Убедитесь в правильности установки перемычки J1, т.к. это влияет на правильность калибровки.

J1 снята — частота питания сети 50Гц
J1 установлена — частота питания сети 60Гц

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

3. Вставьте микроконтроллер в панельку, разомкнуть переключатель S1 и тем самым подать напряжение 5 Вольт.

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

5. Если сигнал опорной частоты не будет обнаружен на GP2 (вывод 5) загорится красный светодиод «Ошибка» и будет мигать зеленый светодиод «Завершено». (Если это произойдет, выключите питание схемы и убедитесь в правильности подключения)

6. Во время процесса калибровки оба светодиода выключены. Калибровка займет менее 5 секунд.

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

8. Если калибровка завершилась успешно загорится зеленый светодиод «Завершено» и на GPIO1 появится тестовый сигнал частотой 5 кHz. Если у вас есть частотомер, то можно проверить правильность калибровки.

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

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

Когда Вы считаете EEPROM там должны быть одно из трех пар значений по адресам 0x00 и 0x01:

Если в EEPROM по адресам 0x00 и 0x01 содержит 0xFF, то программа отработала неправильно.

Если в EEPROM по адресам 0x00 и 0x01 содержит 0x00, то программа не смогла установить калибровочное слово правильно (горел красный светодиод «Ошибка»). Убедитесь, что сигнал опорной частоты имеет правильное значение, J1 установлена правильно и повторите попытку.

Если в EEPROM адрес 0x00 содержит значение 0x34 и адрес 0x01 содержит 0xNN, где NN является новым значением калибровки, то программа завершилась успешно (горел зеленый светодиод «Завершено») и OSCCAL был правильно откалиброван. Используйте значение 0xNN по адресу 0x01 для калибровки памяти.

Измененная версия прошивки

Некоторые программаторы или программное обеспечение повышают сигнал VDD перед включеним VPP. Это позволяет начать работу программе до того когда микроконтроллер войдет в режим программирования предварительно считав EEPROM. Если зеленый светодиод указывает на успешное завершение калибровки, а прочитав EEPROM Вы найдете в нем 0xFF по адресам 0x00 и 0x01, то Ваш программатор работает в таком режиме.

Если у Вас возникла эта проблема, Вы можете скачать модифицированную версию оригинальной программы, которая находится в архиве под именем «recal2.hex». Эта версия не производит инициализацию EEPROM при запуске, так что данные калибровки не очищаютя, когда программатор считывает данные из микроконтроллера. Используйте эту прошивку только тогда когда возникает такая проблема.


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

ВАЖНО: Эта схема/программа только рассчитывает правильное значение калибровки и не может сохранить его обратно в память контроллера — Вы должны сделать это вручную с помощью программатора.

Если Вы хотите проверить калибровочную константу микроконтроллера, зная заводское значение, востановленное этой схемой значение калибровки может незначительно отличаться от заводского. Это нормально, так как есть различия в напряжении питания и температуре. Вы можете проверить значение тестового сигнала на GP1 с помощью частотомера после завершения калибровки, эта частота должна быть в пределах 1% от 5 кГц.

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

Адрес 0x00 будет содержать значение 0x34, а адрес 0x01 будет содержать значение калибровки. Именно это значение должно быть записано памяти программ по адресу 0x3FF. Некоторые программаторы позволяют считывать значение калибровки и потом записывать его обратно в контроллер. Если программатор не делает этого, то нужно прописать вручную значение 0xNN по адресу 0x3FF, где «NN» является шестнадцатеричное значение калибровки считанное из EEPROM.

LPT программатор микроконтроллеров PIC на 74LS06

Это простой LPT программатор для программирования 8-разрядных микроконтроллеров семейства PIC (12F, 16F, 18F) компании Microchip. Он используется для внутрисхемного программирования микроконтроллеров. Программатор имеет два светодиода, показывающих включение питания (зеленый) и передачу данных (красный).

Сигналы для программирования выведены на стандартный 10-и контактный ICSP разъем и должны быть соединены с программируемой схемой проводами длиной около 30 см.  Все провода GND должны быть соединены с массой программатора и программируемой схемой, чтобы обеспечить экранирование сигналов программирования.

Микроконтроллеры PIC программируемые высоким напряжением, как правило, требуют напряжения около 13,2В, которое подается на вывод MCLR (VPP). Поэтому программатор содержит повышающий преобразователь MC34-063. Не желательно использовать HTC34063 компании Hitachi, из-за их более слабых параметров и нестабильности.

Значение выходного напряжения преобразователя зависит от соотношения сопротивления резисторов R13 и R14 и потенциометра P1, которым устанавливается точное значение напряжения программирования (в диапазоне 12,5…13,В). Максимальное напряжение программирования отличается для разных моделей PIC микроконтроллеров и составляет от 9 до 14В.

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

Для получения необходимого напряжения программирования, регулируемое потенциометром P1 в диапазоне примерно 8-9 В, следует использовать резистор R13 сопротивлением 12 кОм.

Элементом, который влияет на коэффициент полезного действия преобразователя, является катушка L1 с индуктивностью около 100 мкГн. Ее можно сделать, намотав 45 витков провода 0,5 мм на тороидальный сердечник (со старой материнской платы), с внешним диаметром 13 мм, внутренним диаметром 8 мм и шириной 5 мм.

Другим важным элементом является диод D1, который должен иметь малое время переключения и небольшую собственную емкость. Подходят диоды Шоттки, например, 1N5817, 1N5818, 1N5819, BYV26 (А-Г), или BYV27 (50-200).

Можно, конечно, использовать и обычный выпрямительный диод 1N4001, но при такой же нагрузке тока, потери в преобразователе будут гораздо больше, чем при использовании диода Шоттки. В реальном программаторе при нагрузке с напряжением 13,2В и током 52 мА (включая индикатор LED2 с потреблением 5,6 мА), наблюдалось падение на 0,2В, а потребление тока от линии питания 5В составляло примерно 220 мА.

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

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

На практике только старые микроконтроллеры PIC (12С, 16С, 18С) потребляют 25 мА (максимум 50 мА) при программировании (более поздние версии требуют только соответствующего уровня напряжения).

Программатор собран на двухсторонней плате (18 переходных отверстий) размером 70х50 мм, на которой расположены SMD элементы (на верхнем слое). Программатор работает со следующими программами управления: IC-Prog 1.06 c, WinPIC, PICPgm 1.7.8 и Parallel Port PIC Programmer.

СПИСОК ЭЛЕМЕНТОВ:

Резисторы:
R1, R2 — 100
R3-R8 — 10
кОм R9 — 2,2 кОм
R10 — 470
R11 — 150
R12A-R12D — 1
R13 — 20 кОм (см. Текст)
R14 — 2,2 кОм/1%

Потенциометры:
P1 — 2,2 кОм

Конденсаторы:
C1, C2 — 470p
C3 — 1n
C4 — 100n
C5 — 100n/16V
C6 — 100u/10V
C7 — 100u/16V

Катушки:
L1 — 100 мкГн (описание в тексте)

Диоды:
D1 — BYV26
LED1 — зеленый 5 мм
LED2 — красный 5 мм

Транзисторы:
T1 — BC557

источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Автор: Пей Ан

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На, казалось бы, морально устаревшем контроллере 2051, мы не раз задумывались о том, чтобы собрать похожий измеритель, но на более современном контроллере, чтобы снабдить его дополнительными возможностями. Критерий поисков, в основном, был только один — это широкие диапазоны измерения. Однако, все аналогичные схемы, найденные в интернете, имели даже программное ограничение диапазонов, причём довольно значительное. Для справедливости стоит заметить, что вышеназванный прибор на 2051 вообще не имел ограничений (они были лишь аппаратными), а программно в нём даже были заложены возможности измерения — мега и -гига значений!

Как-то, изучая в очередной раз схемы, мы обнаружили полезнейший прибор — LCM3, обладающий приличным функционалом при небольшом количестве деталей. Прибор умеет в широчайших пределах измерять индуктивность, ёмкость неполярных конденсаторов, ёмкость электролитических конденсаторов, ESR, сопротивления (в том числе — сверхмалые), оценивать качество электролитических конденсаторов. Работает прибор на известном принципе измерения частоты, однако интересен тем, что генератор собран на встроенном в микроконтроллер PIC16F690 компараторе. Возможно, параметры этого компаратора не хуже, чем у LM311, ведь заявленные диапазоны измерений таковы:

  • ёмкость 1пФ — 1нФ с разрешением 0,1пФ и точностью 1%
  • ёмкость 1нФ — 100нФ с разрешением 1пФ и точностью 1%
  • ёмкость 100нФ — 1мкФ с разрешением 1нФ и точностью 2,5%
  • ёмкость электролитических конденсаторов 100нФ — 0,1Ф с разрешением 1нФ и точностью 5%
  • индуктивность 10нГн — 20Гн с разрешением 10нГн и точностью 5%
  • сопротивление 1мОм — 30Ом с разрешением 1мОм и точностью 5%
Более подробно ознакомиться с описанием прибора на венгерском можно на странице:

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

Нажмите для увеличения
Особенности измерителя LCM3:

  • при включении прибор должен находиться в режиме измерения ёмкости (если же он находится в режиме измерения индуктивности, то соответствующей надписью на экране попросит перевести с другой режим)
  • танталовые конденсаторы должны быть с возможно меньшим ESR (менее 0,5 Ом). ESR конденсатора CX1 33нФ также должен быть низким. суммарный импеданс этого конденсатора, индуктивности и кнопки переключения режимов не должен превышать 2,2 Ом. Качество этого конденсатора вцелом должно быть очень хорошим, он должен иметь малый ток утечки, поэтому стоит выбирать из высоковольтных (например, на 630 вольт) — полипропилен (MKP), стирофлекс-полистирол (KS, FKS, MKS, MKY ?). Конденсаторы C9 и C10, как написано на схеме, — полистирол , слюда, полипропилен. Резистор сопротивлением 180 Ом должен иметь точность 1%, резистор 47 Ом также должен быть 1%.
  • прибор оценивает «качество» конденсатора. точной информации, какие именно параметры рассчитываются, нет. вероятно, это — утечка, тангенс угла потерь диэлектрика, ESR. «качество» отображается в виде закрашенного стаканчика: чем меньше он заполнен, тем лучше конденсатор. у неисправного конденсатора стаканчик закрашен полностью. однако, такой конденсатор можно применять в фильтре линейного стабилизатора.
  • дроссель, используемый в приборе, должен быть достаточно габаритным (выдерживать ток не менее 2А без насыщения) — в виде «гантельки» или на броневом сердечнике.
  • иногда при включении прибор выдаёт на экране «Low Batt». при этом нужно отключить и снова включить питание (вероятно, глюк).
  • имеется несколько версий прошивки данного прибора: 1.2-1.35, причём последняя, по словам авторов, оптимизирована для дросселя на броневом сердечнике. однако, на дросселе в виде гантельки она также работает и только в этой версии оценивается качество электролитических конденсаторов.
  • к прибору возможно подключить небольшую приставку для внутрисхемного (без выпаивания) измерения ESR электролитических конденсаторов. Она понижает напряжение, прилагаемое к проверяемому конденсатору, до 30мВ, при котором полупроводники не открываются и не влияют на измерение. Схему можно найти на авторском сайте.
  • Режим измерения ESR включается автоматически перетыканием щупов в соответствующее гнездо. Если при этом вместо электролитического конденсатора будет подключен резистор (до 30 Ом), то прибор автоматически переключится в режим измерения малых сопротивлений.
Калибровка в режиме измерения ёмкости:
  • нажать кнопку калибровки
  • отпустить кнопку калибровки
Калибровка в режиме измерения индуктивности:
  • замкнуть щупы прибора
  • нажать кнопку калибровки
  • дождаться появления сообщения R=….Ом
  • отпустить кнопку калибровки
  • дождаться сообщения об окончании калибровки
Калибровка в режиме измерения ESR:
  • замкнуть щупы прибора
  • нажать кнопку калибровки, на экране будут отображены напряжение, прилагаемое к измеряемому конденсатору (рекомендуемые значения — 130…150 мВ, завитит от дросселя, который нужно размещать подальше от металлических поверхностей) и частота измерения ESR
  • дождаться сообщения R=….Ом
  • отпустить кнопку калибровки
  • показания сопротивления на экране должны стать нулевыми
Реализована также возможность указать ёмкость калибровочного конденсатора вручную. Для этого собирается следующая схема и подключается к разъёму программирования (схему можно и не собирать, а просто замыкать нужные контакты):


Затем:

  • подключить схему (либо замкнуть vpp и gnd)
  • включить прибор и нажать кнопку калибровки, при этом на экране появится значение калибровочной ёмкости
  • кнопками DN и UP скорректировать значения (возможно, в разных версиях прошивки для ускоренной корректировки работают основные кнопки calibrate и mode)
  • в зависимости от версии прошивки, возможен и другой вариант: после нажатия кнопки калибровки, на экране появляется значения калибровочной ёмкости, которое начинает расти. Когда доходит до нужного значения, нужно остановить рост кнопкой mode и разомкнуть vpp и gnd. Если же не успели вовремя остановить и перескочили нужное значение, то кнопкой калибровки можно его уменьшить
  • отключить схему (либо разомкнуть vpp и gnd)
Авторская прошивка v1.35: lcm3_v135.hex

Печатная плата: lcm3.lay (один из вариантов с форума vrtp).

На прилагаемой печатной плате контрастность дисплея 16*2 задаётся делителем напряжения на резисторах сопротивлением 18к и 1к. При необходимости нужно подобрать сопротивление последнего. FB — ферритовый цилиндрик, вместо него можно поставить дроссель. Для большей точности вместо резистора 180 Ом используются два по 360 в параллель. Перед установкой кнопки калибровки и переключателя режимов измерения, обязательно проверьте тестером их распиновку: часто встречается такая, которая не подходит.


Корпус для прибора, следуя традиции (раз , два), сделан из пластмассы и окрашен краской «чёрный металлик». Изначально прибор питался от зарядного устройства для мобильного телефона 5В 500мА через гнездо mini-USB. Это — не лучший вариант, так как питание подключалось к плате измерителя уже после стабилизатора, а насколько оно стабильно в зарядке от телефона — неизвестно. Затем внешнее питание было заменено на литиевый аккумулятор с модулем зарядки и повышающим преобразователем , возможные помехи от которого прекрасно убираются обычным LDO стабилизатором , присутствующим на схеме.


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

Свет и вытяжка в санузле.

Сенсорный кодовый замок.

Сенсорная кнопка включения ПК.

Когда ПК выключен ничего не горит и не работает.

При касании сенсора подсветка откликается короткой вспышкой, далее замыкаются контакты
релеи остаются в замкнутом положении до тех пор, покана2 ноге МК не появится пониженныйдо +5 вольт сигнал с +12 вольтовой шиныБП компьютера, кактолько сигнал получен контакты реле размыкаются,и плавно включается подсветкасенсора. Если напряжение +12 вольт не появилось в течение -2 секунд, реле выключается, и подсветка двойным миганием показывает код неисправности, для сброса
нужно обесточить компьютер.Для выключениядостаточно зажать сенсор на 3 секунды и МК произведёт жесткое выключениеПК. При этом контакты реле замыкаются и держатся до тех пор, пока на 2
ногене пропадёт сигнал +12вольт с БП компьютера.Как только +12 вольт пропали, сенсор отпускает контакты реле и выключает подсветку.

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

МЕГА ИК ПРИЕМНИК НА 35 КАНАЛОВ.

Поддержка пультов с протоколом NEC. Первой записываем«Мастер» кнопку на пульте. Используя ее, включим режим перезаписи кнопок пульта в память МК. Далеезаписываем 35 выбранных кнопок на пульте ДУ.
Соответствие записываемых команд к ножкам МК, первая команда принадлежит ноге 2 и так далее по кругу против часовой стрелки, пропуская ножки питания МК(свежее запрограммированный МК сразу после подачи питания готов к записи команд с пульта в свою память). После подачи питания светодиод с 2 ноги три раза мигает и МК готов к записи, при проведении записи кнопки, он же мигает, говоря о проведении записи, после записи последней 35 кнопки его свечение немного длиннее. Когда он потухнет МК готов к работе.

В памяти EEPROM можно настроить режим работы каждой ножки в режим переключения или удержания. Для этого начиная с адреса 02 EEPROM по 06 адрес необходимо записать правильные числа, которые получаем следующим способом. Ножки «сгруппированы» по 8 штук, так как в одном регистре памяти EEPROM в МК всего 8 бит. Допустим, мы хотим, чтоб первые три ножки работали в режиме удержания, а остальные 5 в режиме переключения. Записываем число 1 для ноги, которая будет работать в режиме удержания и число ноль для режима переключения. Отсюда получаем такой вид числа в двоичной системе 00000111 – первая ножка считается справа налево, данное число нужно перевести в шестнадцатеричный вид, что в данном случае легко, но может потребоваться конвектор чисел. Получаем число 07 в шестнадцатеричном виде готовое к записи в программаторе. Также поступаем и для настройки остальных выводов. В текущей прошивке все выводы настроены в режиме удержания (записаны числа -FF). В последней ячейке по адресу 06 памяти EEPROM используем только три первых бита, остальные не используются (00000111).

Свет и вытяжка в санузле.

Девайс предназначен, для управления включения света и вытяжного вентилятора, в санузле.

В выключенном режиме подсветка выключателя постоянно светится.

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

Конструктивно схема рассчитана на прокладку новой проводки,
что и сделал мой кум при постройке санузла.

Второй вариант прошивки для экономок, схема стала проще. Схема. Прошивка.

12 командный ИК приемник на PIC12F629

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

Для управления драйвером подойдет любой ИК пульт от бытовой техники с протоколом NEC. Дальность приема зависит от места установки приемника и используемого пульта.

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

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

Вывод данных в двоичном виде на ногах 7-6-5-3. То есть, выводится номер, принятой команды в соответствии очередности их записи. Первая записанная команда принята — выводится число 1 и т.д. В режиме покоя на выводах 0000.

ИК управление электро приводом -2.

Упрощенный вариант.

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

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

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

Изменения — есть возможность самостоятельно настроить время вывода сигнала на исполнительное устройство после правильного набора ПИН кода, производится изменением чисел в памяти EEPROM в ячейках идущих сразу после ПИН кода по адресу 05H и 06H. Время можно вычислить по расчету Время в секундах= ADR_05H (1- ноль не записывать)* ADR_06H (50- цифры в десятичной системе)* 0.02 секунды = получаем задержку в 1 секунду. Теперь еще индикации светодиода нажатой цифры с 8 ноги МК, как таковой нет, вместо этого на выводах 11-10-9-8 выводится число нажатой кнопки в двоичном виде, 8 нога младший БИТ и далее.
Использовав дешифратор типа 155ИД3 можно получить эквивалент каждой цифре свой выход (светодиод).

P.S. Числа для записи в EEPROM надо конвертировать, программаторы не поддерживают десятичную систему исчисления.

В данной статье предлагается схема цифрового термометра на микроконтроллере AVR ATtiny2313, датчике температуры DS1820 (или DS18b20), подключенному к микроконтроллеру по протоколу 1-wire, и ЖК-дисплее 16×2 на контроллере HD44780. Описываемое устройство может найти широкое применение среди радиолюбителей.

Программа для микроконтроллера написана на ассемблере в среде AVR Studio. Монтаж выполнен на макетной плате, кварцевый резонатор на 4МГц, микроконтроллер ATtiny2313 можно заменить на AT90S2313, предварительно перекомпилировав исходный код программы. Погрешность датчика DS1820 около 0,5 С. В архиве также находится прошивка для случая если используется датчик DS18B20. Опрос датчика производится каждую секунду.

WAV-плеер собран на микроконтроллере AVR ATtiny85 (можно использовать ATtiny25/45/85 серии). У микроконтроллеров этой серии всего восемь ножек и два ШИМ (Fast PWM) с несущей 250kHz. Для управления картой памяти достаточно всего 6 проводов: два для питания и четыре сигнальные. Восемь ножек микроконтроллера вполне достаточно для работой с картой памяти, вывода звука и кнопки управления. В любом случае данный плеер очень прост.

С помощью данного измерителя ёмкости можно легко измерить любую ёмкость от единиц пФ до сотен мкФ. Существует несколько методов измерения емкости. В данном проекте используется интеграционный метод.

Главное преимущество использования этого метода в том, что измерение основано на измерении времени, что может быть выполнено на МК довольно точно. Этот метод очень подходит для самодельного измерителя ёмкости, к тому же он легко реализуем на микроконтроллере.

Данный проект был сделан по просьбе друга для установки на дверь в складское помещение. В дальнейшем было изготовлено ещё несколько по просьбе друзей и знакомых. Конструкция оказалась простой и надёжной. Работает данное устройство так: пропускает только те RFID-карты, которые были заранее занесены в память устройства.

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

Электрическая схема частотомера на МК PIC16F870


Этот цифрвой ЖК частотомер обладает очень высокой скоростью измерения, его очень легко собрать и использовать. Счетчик чисел выполнен на основе ЖК-дисплея на 2 строки по 16 символов. Был использован HD44780 на основе очень распространенного дисплея. На микроконтроллере PIC16F870 собраны цепи управления подсчета и отображения результата.

Частотомер может измерять частоту вплоть до 2,5 ГГц . Это стало возможным благодаря предделителю на LMX2322 . Данная специализированная микросхема по даташиту берёт 2,5 ГГц с высокой чувствительностью.

Usb универсальный программатор pic. Самодельный программатор для PIC-контроллеров. Как программировать PIC микроконтроллеры или Простой JDM программатор

В статье рассматривается программатор Extra-PIC, данные о котором получены из (DOC Rev.1.03.00). Программатор рабочий, если все собрать как указано ниже то все работает при первом включении. Лично я взял эту схему с сайта Тимофея Носова

Список поддерживаемых микросхем, при использовании с программой 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, 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 типа «гнездо» («мама», «дырки»).
Очень часто ошибаются и ставят «вилку» («папу», «штырьки»), т.е. такое же как и на стороне ПК!

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

Полный вариант:

Фото готовой платы:

Пошаговая инструкция или «Как прошить PIC-контроллер»

1. Соберите программатор Extra-PIC, отмойте растворителем или спиртом с зубной щеткой, просушите феном.
Осмотрите на просвет на предмет волосковых замыканий и непропаев.
Подготовьте блок питания на напряжение не менее 15В и не более 18 вольт.
РАСПАЯЙТЕ УДЛЕНИТЕЛЬНЫЙ ШНУР
мама-папа для COM-порта (не путать с нуль-модемными и кабелями для модемов; прозвоните шнур — первая вилка, должен идти к первому гнезду и т.д.; нумерация вилок и гнезд нарисована на самом разъеме 1-1, 2-2, 3-3 и т. д до 9-9.). Обязательно сделайте все самостоятельно. У меня была проблема именно с кабелем, а я грешил на программатор =)
2. Скачайте программу IC-PROG с или с сайта разработчиков .
3. Распакуйте программу в отдельный каталог. В образовавшемся каталоге должны находиться три файла:
icprog.exe – файл оболочки программатора;
icprog.sys – драйвер, необходимый для работы под Windows NT, 2000, XP. Этот файл всегда должен находиться в каталоге программы;
icprog.chm – файл помощи (Help file).
4. Настройте программу.

Для Windows95, 98, ME

Для Windows NT, 2000, XP

(Только для 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 «.

Программа готова к работе.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Принципиальная схема программатора для pic контроллеров:

Питание на саму схему не требуется, ведь для этого служит COM порт компьютера, через который и осуществляется управление прошивкой микроконтроллера. Для низковольтного режима программирования вполне достаточно 5в, но могут быть не доступны все опции для изменения (фьюзы). Разъем подключения COM-9 порта смонтировал прямо на печатную плату программатора для PIC — получилось очень удобно.

Можно воткнуть плату без лишних шнуров прямо в порт. опробован на различных компьютерах и при программировании МК серий 12F,16F и 18F, показал высокое качество прошивки. Предложенная схема позволяет программировать микроконтроллеры PIC12F509, PIC16F84A, PIC16F628. Например недавно с помощью предложенного программатора успешно был прошит микроконтроллер для .

Для программирования используется WinPic800 — одна из лучших программ для программирования PIC контроллеров. Программа позволяет выполнять операции для микроконтроллеров семейства PIC: чтения, записи, стирания, проверки FLASH и EEPROM памяти и установку битов конфигураций.

Развитие электроники идёт стремительными темпами, и всё чаще главным элементом того или иного устройства является микроконтроллер. Он выполняет основную работу и освобождает проектировщика от необходимости создания изощрённых схемных решений, тем самым уменьшая размер печатной платы до минимального. Как всем известно, микроконтроллером управляет программа, записанная в его внутреннюю память. И если опытный программист-электронщик не испытывает проблем с использованием микроконтроллеров в своих устройствах, то для начинающего радиолюбителя попытка записать программу в контроллер (особенно 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 мкФ х 16 В (электролитический)
  • SUB-D9F — разъём СОМ-порта (МАМА или РОЗЕТКА)
  • Панелька 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-портов , а те что установлены на ноутбуках не выдают необходимые для программирования 12В . Так что я решил обратится к своему первому ПК , который давным-давно пылился и ждал своего звёздного часа (и таки дождался).
Итак включаем компьютер и первым делом устанавливаем программу IC-Prog . Скачать её можно с сайта автора или по этой ссылке:
(скачиваний: 769)
Подключаем программатор к COM-порту и запускаем только что установленное приложение. Для корректной работы необходимо выполнить ряд манипуляций. Изначально необходимо выбрать тот тип контроллера, который собираемся шить. У меня это PIC12F675 . На скриншоте №6 поле для выбора контроллера выделено красным цветом.


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


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

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


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

Продолжаем работу с этим окном и переходим на вкладку «Общие «. Здесь необходимо задать приоритет работы программы и обязательно задействовать 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 (до открытия hex-файла ).

Рассказать в:
Быстро собрать понравившуюся схему на микроконтроллере для многих радиолюбителей — не проблема. Но многие начинающие работать с микроконтроллерами сталкиваются с вопросом — как его запрограммировать. Одним из самых простых вариантов программаторов является JDM программатор.
Программа — программатор ProgCode v 1.0Эта программа работает в WindowsXP. Позволяет программировать PIC контроллеры среднего семейства(PIC16Fxxx) через COM порт компьютера. Индикатор подключения программатора(в правом верхнем углу окна) при отсутствии программатора на выбранном в настройках порту окрашивается в красный цвет. Если программатор подключен — программа обнаруживает его и индикатор в правом верхнем углу принимает вид, который показан на рисунке 1. В левой части окна программы расположена панель управления. Эту панель можно свернуть нажав на кнопку в панели инструментов или, кликнув по левому краю окна (это удобно, когда окно программы развёрнуто во весь экран).

Рисунок (скриншот программы ProgCode v1.0)

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

Если этого не произошло, то выбрать нужный контроллер можно и после загрузки файла в программу.

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

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

Задержка импульса может быть равна 0. Её регулировка предусмотрена для «особо трудных» экземпляров контроллеров, которые не удаётся прошить. То же самое относится и к надбавке к паузе при записи — по умолчанию она нулевая. Если увеличить значения этих настроек, время программирования контроллера значительно увеличится.

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

В WindowsXP применяется буферизирование передаваемой через порты COM информации. Это так называемые буфера FIFO. Чтобы избежать ошибок при программировании через JDM этот механизм необходимо отключить. Сделать это можно в диспетчере устройств Windows.

Заходим в панель управления, затем:
Администрирование — управление компьютером — диспетчер устройств

Затем выбираем порт, на который подключен JDM программатор(например COM1) — смотрим свойства — вкладка параметры порта — дополнительно. И снимаем галочку на пункте «Использовать буферы FIFO»

Рисунок — Настройка COM порта для работы с JDM программатором

После этого перезагружаем компьютер.

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

Любой файл при двойном клике по нему в панели обозревателя откроется в самой программе — это относится к рисункам, html файлам, doc, rtf, djvu(при установленных плагинах), pdf, txt, asm. Файл возможно так-же открыть двойным кликом в обозревателе с помощью внешней программы, установленной на компьютере. Для этого расширение нужного типа файлов необходимо прописать в списке «Ассоциации файлов». Если путь к открывающей программе не указывать — Windows откроет файл в программе по умолчанию(это удобно для открытия архивов, которые не всегда однозначно открываются). Если путь к открывающей программе указан в списке — файл откроется в указанной программе. Удобно просматривать таким образом файлы типа SPL, LAY, DSN.

Рисунок (скриншот обозревателя программы ProgCode v1.0)

Вот так выглядит окно с настройками ассоциаций файлов:

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


При обзоре проектов в интернете если на странице проекта есть ссылка на файл с расширением SFR(это формат файлов программы ProgCode), то такой файл при клике по нему откроется в новой вкладке программы и сразу готов к прошивке в микроконтроллер.
Список ссылок можно редактировать воспользовавшись кнопкой «Изменить». При этом откроется окно редактирования списка ссылок:

Описание процесса программирования микросхемБольшинство современных микросхем содержит флэш-память, которая программируется посредством протокола I2C или подобных протоколов.
Перезаписываемая память есть в PIC , AVR и других контроллерах, микросхемах памяти типа 24Cxx, и подобных им, различных картах памяти типа MMC и SD, обычных флэш USB картах, которые подключаются к компьютеру через USB разъём.Рассмотрим запись информации во флэш память микроконтроллера PIC16F628AЕсть 2 линии DATA и CLOCK, по которым передаётся информация. Линия CLOCK служит для подачи тактовых импульсов, а линия DATA для передачи информации.
Чтобы передать в микроконтроллер 1 бит информации, необходимо выставить 0 или 1(в зависимости от значения бита) на линии данных(DATA) и создать спад напряжения (переход от 1 к 0) на линии тактирования(CLOCK).
Один бит для контроллера – маловато. Он ждёт вдогонку ещё пять, чтобы воспринять эту посылку из 6-ти бит как команду. Контроллеру очень нравятся команды, а состоять они должны именно из 6-ти бит – такова уж природа у PIC16.
Вот список и значение команд, которые PIC способен понять. Команд не так уж и много – словарный запас у этого контроллера невелик, но не надо думать, что он совсем глуп – бывают устройства и с меньшим количеством команд»LoadConfiguration» 000000 — Загрузка конфигурации
«LoadDataForProgramMemory» 000010 — Загрузка данных в память программ
«LoadDataForDataMemory» — 000011 — Загрузка данных в память данных(EEPROM)
«IncrementAddress» 000110 — Увеличение адреса PC МК
«ReadDataFromProgramMemory» 000100 — Чтение данных из памяти программ
«ReadDataFromDataMemory» 000101 — Чтение данных из памяти данных(EEPROM)
«BeginProgrammingOnlyCycle» 011000 — Начать цикл программирования
«BulkEraseProgramMemory» 001001 — Полное стирание памяти программ
«BulkEraseDataMemory» 001011 — Полное стирание памяти данных(EEPROM)
«BeginEraseProgrammingCycle» 001000 — Начать цикл программированияРеагирует контроллер на эти команды по-разному. По-разному после выдачи команды нужно и продолжать с ним разговор.
Для того чтобы начать полноценный процесс программирования необходимо ещё подать напряжение 12 вольт на вывод MCLR контроллера, после этого подать на него напряжение питания. Именно в такой последовательности подачи напряжений есть определённый смысл. После подачи питания, если PIC сконфигурирован на работу от внутреннего RC генератора, он может начать выполнение собственной программы, что при программировании вещь недопустимая, так как неизбежен сбой.
Предварительная подача 12-ти вольт на MCLR позволяет избежать такого развития событий.
При записи информации во флэш память программ МК после команды»LoadDataForProgramMemory» 000010 — Загрузка данных в память программнеобходимо отправить в контроллер сами данные — 16 бит,
которые выглядят так: “0xxxxxxxxxxxxxx0”.Крестики в этом слове – это сами данные, а нули по краям отправляются как обрамление – это стандарт для PIC16. Значащих битов в слове всего 14. У этой серии контроллеров 14-ти битный формат представления команд.
После окончания передачи слова с данными PIC ждёт следующую команду.
Так как нашей целью является запись слова в память программ МК, следующей командой должна быть команда
«BeginEraseProgrammingCycle» 001000 — Начать цикл программированияПолучив её, контроллер отключается от внешнего мира на 6 миллисекунд, которые нужны ему, чтобы завершить процесс записи.Сигналы на выводах микроконтроллера формируются компьютером при помощи специальных программ — программаторов. Для передачи сигнала могут служить порты COM, LPT или USB. C JDM программатором работают такие программы как PonyProg, IsProg, WinPic800.
Схема JDM программатораОчень простая схема программатора приведена на рисунке. В этой схеме хоть и не реализуется контроль последовательности подачи напряжений, но зато она очень проста и собрать такую схему возможно очень быстро, ипользовав минимумом деталей.
Рисунок (схема JDM программатора)


Одним из вопросов при подключении программатора к компьютеру является вопрос — как обеспечить селективную развязку. Чтобы в случае неисправности в схеме избежать повреждения COM порта. В некоторых схемах применяется микросхема MAX232, которая обеспечивает селективную развязку и согласует уровни сигналов. В этой схеме вопрос решён проще — с помощью применения батарейного питания. Уровень сигнала, поступающего от компьютера ограничивается стабилитронами VD1, VD2, и VD3. Несмотря на простоту схемы JDM программатора с его помощью можно запрограммировать большинство типов PIC микроконтроллеров.Перемычка между выводами COM6(DSR) и COM7(RTS) предназначена для того, чтобы программа могла определить, что программатор подключен к компьютеру.

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

В таблице приведено назначение ножек некоторых типов МК при программировании.

приведены рисунки с назначением выводов наиболее распространнённых МК при программировании.Цоколёвка (распиновка) микроконтроллеров PIC16F876A, PIC16F873A в корпусе DIP28.

Цоколёвка (распиновка) микроконтроллеров PIC16F874A, PIC16F877A в корпусе DIP40.
Цоколёвка (распиновка) микроконтроллеров PIC16F627A, PIC16F628A, PIC16F648A в корпусе DIP18.
Такое же расположение выводов, предназначенных для программирования, имеют МК PIC16F84, PIC16F84A.

Назначение выводов для микроконтроллеров серии PIC16Fxxx в зависимости от типа корпуса в большинстве случаев является стандартным, но если возникает сомнения на этот счёт, то надёжнее всего свериться с даташитом на конкретный экземпляр МК. Часть документации присутствует на русском сайте http://microchip.ru Полное же собрание даташитов и другой документации находится на сайте производителя PIC микроконтроллеров: http://microchip.com
Индекс проектовПрограмма позволяет напрямую выходить на страницу индекса, парой кликов просматривать описание нужного проекта и сразу-же прошивать программу в контроллер.

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

После этого остаётся только вставить МК в панельку программатора, если это ещё не сделано, и нажать на кнопку «Записать всё».
Программа записывается в МК. После этого контроллер вставляется в плату устройства и устройство готово к работе.

Скачать программу можно на странице загрузки файлов:http://cxema.my1.ru/load/proshivki/material_k_state_prostoj_jdm_programmator_dlja_pic_mikrokontrollerov/9-1-0-1613 Раздел:

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

Altium Designer

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

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

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

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

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

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

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

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

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

1. MPLAB X IDE

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

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

2. PICKIT 4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Программаторы устройств Phyton ChipProg поддерживают подавляющее большинство устройств Microchip® со встроенными OTP и флэш-памятью.Семейство ChipProg включает внутрисистемные («ISP») и внутрисокетные («параллельные») программисты. Программаторы семейства ChipProg предназначены для использования инженерами НИОКР, а также производителями и интеграторами ATE для массового производства.

Программирование микроконтроллеров PIC с помощью программаторов ChipProg:

  1. Программаторы ChipProg поддерживают большинство популярных семейств Microchip 8-, 16- и 32-битных микроконтроллеров: PIC10XXX, PIC12XXX, PIC16XXX, PIC18XXX, PIC24XXXX, dsXXX, dsXXX, dsПрограммирование PIC-устройств может осуществляться как на плате пользователя, так и в адаптере гнезда программатора в параллельном режиме.
  2. Количество поддерживаемых микроконтроллеров PIC часто увеличивается.
  3. Для микроконтроллеров PIC доступны сотни корпусных адаптеров в различных механических корпусах (DIP, QFN, QFP, SOIC, BGA, SOT и т. Д.) С количеством выводов от 6 до 100.
  4. Графический интерфейс пользователя ChipProg (GUI) ) отображает биты конфигурации целевого устройства в соответствии с техническими описаниями производителей устройств.
  5. Все сегменты памяти и биты конфигурации могут быть (повторно) запрограммированы отдельно или сразу.
  6. Все программисты обнаруживают и используют идентификаторы целевых устройств, присвоенные Microchip, для безопасного и надежного программирования.
  7. Параллельные программаторы автоматически определяют, имеет ли каждый вывод целевого устройства гальванический контакт, и определяют, правильно ли он вставлен в адаптер розетки.
  8. Поддержка массового производства:
    1. Автоматический расчет контрольных сумм, серийных номеров и пользовательских подписей с возможностью записи их в указанные места на целевых устройствах.
    2. Запись файлов журнала с настраиваемыми параметрами.
    3. Режим управления из командной строки.
    4. Язык сценариев для автоматизации программирования.
    5. Упрощенный пользовательский интерфейс для использования неквалифицированными операторами.
    6. Утилита управления «на лету» позволяет управлять уже запущенным программистом.
    7. Программистами можно управлять из пользовательских приложений и из среды National Instruments® LabVIEW ™.
  9. Программаторы ChipProg сертифицированы Microchip .

Программаторы Phyton ChipProg, поддерживающие микроконтроллеры PIC:

Модель Описание
ChipProg-481 Самый быстрый параллельный программатор Phyton, предназначенный для программирования микроконтроллеров PIC как внутри сокета, так и внутри системы. Он может программировать тысячи других устройств, включая устройства флэш-памяти, EEPROM, EPROM и PLD.
ChipProg-G41 Универсальный групповой программатор для встроенного и внутрисистемного программирования на четырех участках программирования.Он содержит четыре модуля ChipProg-481; каждый модуль работает одновременно и независимо, что обеспечивает максимально возможную скорость программирования. Несколько блоков ChipProg-G41 могут быть подключены каскадом.
ChipProg-48 Настоящий универсальный параллельный программатор, поддерживающий как внутрисистемное, так и внутрисистемное программирование. Этот программатор поддерживает тот же список микроконтроллеров и обеспечивает почти такую ​​же высокую скорость программирования, как и модель ChipProg-481. Основное отличие от ChipProg-481 — более низкая скорость, которая резко замедляет мигание устройств памяти NAND и NOR с высокой плотностью.
ChipProg-40 Самый дешевый программатор Phyton для программирования встроенных микроконтроллеров как внутри сокета, так и внутри системы. Он поддерживает меньшее количество других устройств и не поддерживает PLD.
ChipProg-ISP Внутрисистемный программатор устройств (ISP) для разработки и производства небольших партий.
CPI2-B1 Одноканальный производственный внутрисистемный программатор (ISP), специально разработанный для использования в тестовых приборах, ИКТ и автоматизированных обработчиках.
CPI2-G-xxxx Семейство многоканальных производственных внутрисистемных программаторов, специально разработанных для использования в тестовых приборах, ИКТ и автоматизированных обработчиках.

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

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

Следующие программы являются примерами, которые я использую для обучения программированию. 8-битных микроконтроллеров PIC.Хорошим справочником является книга «Designing Embedded Системы с микроконтроллерами PIC: принципы и применение » пользователя Tim Wilmshurst. Таблица данных для PIC также является хорошей справкой. для получения информации о битах для каждого регистра адреса памяти в микросхеме.

Метод, который мы используем, заключается в программировании микросхемы PIC с помощью PICKit2 в сборке. язык. PICKit2 относительно недорогой и обслуживает большие разнообразие микроконтроллеров PIC. Обычно мы начинаем с PIC16F690. микроконтроллер, так как в нем есть все, что нам нужно, и небольшое количество булавок (20).Помещая PIC16F690 в макет, мы используем PICKit2 «только» и подключим наши 6 проводов от PICKit2 к микроконтроллеру, как показано на диаграмма Схема Pickit2. Мы проводим следующая процедура для тестирования нашей системы. Программирование осуществляется с помощью MPLAB (бесплатная загрузка) ПО от микрочипа в сборке.

  1. Сначала запрограммируйте микросхему PIC с помощью программы test.asm, который подает 5 вольт, а затем 0 вольт на контакт № 16 (C0).
  2. Проверьте выход вывода №16 с помощью осциллографа.На выходе должно быть 5 вольт. который длится 1 микросекунду (для тактовой частоты 4 МГц), и 0 вольт, который длится в течение 3 микросекунды Если это сработает, то мы знаем, что настроили программатор и микросхему. правильно.
  3. Затем мы проверяем последовательную передачу, так как мы хотим получать и сохранять данные, которые мы отправить с микроконтроллера. В качестве первой проверки программируем код sertest1.asm, который отправляет тот же номер через последовательный порт на 9600 BAUD
  4. Чтобы проверить, работает ли последовательный выход, мы подключаем осциллограф к контакту TX (# 10 для PIC16F690).Выход для нуля в двоичном числе должен быть 5 вольт длительностью. 1 микросекунда (для 9600 BAUD). Выход для единицы в двоичном числе должен быть 0 вольт длительностью. за 1 микросекунду (для 9600 BAUD). Также будет бит запуска и остановки, поэтому полный сигнал будет иметь длину 10 бит.
  5. Если вывод TX производит правильный вывод, есть два способа, которыми мы можем считывать последовательные данные с ПК: с помощью кабеля TTL-232R-5V к usb или с помощью микросхему MAX232 к последовательному порту. Первый метод прост и удобен в использовании.
    1. USB-вход для ПК: Самый простой способ передать данные с PIC на ПК — использовать Кабель TTL-USB: TTL-232R-5V (прямой разъем) или TTL-232R-5V-WE (концы проводов) сделано FTDI. Кабель имеет 6 выводов, 4 из которых подключаются непосредственно к Контакты PIC. Видеть Соединения PIC-usb для принципиальной схемы соединений.
    2. Ввод ПОСЛЕДОВАТЕЛЬНОГО ПОРТА на ПК: если требуется ввод данных в последовательный порт, то микросхема MAX232 обеспечивает соответствующий сдвиг напряжения для порта. Микросхема MAX232 будет сдвигать 5 вольт на +8 вольт и 0 от вольт до -8 вольт для ввода в последовательный порт.Видеть max232 (комплимент www.SoDoItYourself.com) для принципиальная схема подключения PIC к последовательному порту. Чтобы проверить схему, считываем вывод микросхемы MAX232 с помощью осциллографа чтобы убедиться, что правильное значение +/- 8 вольт соответствует двоичному числу.
  6. Наконец, асинхронный последовательный вывод на ПК читается в операционной системе Linux с одним из перечисленные ниже программы C (чтение асинхронного последовательного вывода). Как только правильное двоичное число будет воспроизведено на Монитор ПК, мы можем начинать наши проекты.Поскольку в этом тесте мы отправляем то же самое двоичное число каждый раз, мы иногда получаем ошибки кадрирования.
  7. В качестве еще одной проверки последовательной передачи программируем микроконтроллер. с программой sertest3.asm, который увеличивает двоичное число на единицу и отправляет его через последовательный порт на ПК. На мониторе ПК должны выводиться последовательные числа.
  8. См. Соединения на макетной плате для нашего внутрисхемного программирования. настройка на макетной плате. См. Protoboard для изображения нашего макет.Резонатор на 20 МГц был подключен к микросхеме на картинке.

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

  1. time2.asm это ассемблерный код, который считывает таймер и отправляет данные на ПК через серийный. В коде есть приятная процедура прерывания, которая увеличивает регистры когда таймер 0 переполняется. Полные часы используют 4 регистра.
  2. timer2.asm это ассемблерный код, который мы используем для синхронизации стробирования лазера (или фото). Программа ждет, пока вывод 11 не станет низким, берет отметку времени и отправляет таймер 4 байтов через последовательный порт на ПК.Затем он ждет до вывода 11 переходит в высокий уровень, принимает отметку времени и отправляет 4 байта таймера через последовательный порт на ПК. Цикл повторяется бесконечно. Эта программа была разработана «Си Джей Беккарелли». как часть его старшего проекта.
  3. atod20hl.asm это ассемблерный код, который быстро выполняет преобразование аналогового сигнала в цифровой 80 раз со значениями хранится в памяти. Затем данные передаются через последовательный порт на ПК. Строка конфигурации включает внешние Резонатор 20 МГц (_HS_OSC), а последовательный передается на 115,2 Кбод.10 бит A-to-D сэмплирование может быть выполнено с помощью этой программы на частоте 300 кГц. Эта программа была написана Майкл Мэнселл в рамках своего старшего проекта.

Чтение асинхронного последовательного вывода с чипа через последовательный порт ПК и порт USB

Отличный веб-сайт для чтения и записи последовательного и параллельного порт: www.beyondlogic.com. Ниже мы приводим пример программы, которая работает в Linux, чтобы читать последовательный порт.
  1. picserin.c: Эта программа написана на C и работает в Linux.Он читает последовательный порт 24 раза подряд и выводит байты на экран. Мы просто используем его как тест, чтобы убедиться, что микросхема PIC правильно передает последовательные данные.
  2. Последовательные данные также могут быть прочитаны через порт USB. Программа usbserial.c: написан на C и работает в Linux. Мы используем последовательный USB адаптер, для которого в Ubuntu есть драйвер. После подключения к USB-разъему настроен драйвер устройства «ttyUSB0».

Время на ПК через параллельный порт

Можно сделать довольно точную синхронизацию для входа TTL, используя параллельный порт.Ниже мы перечисляем некоторые коды, которые мы используем (или использовали) в нашем классе для фотозаборка ГРМ.
  1. pend.c: Эта программа написана на C и запускается в Linux для нашего эксперимента с маятником. Он проверяет параллельный порт на наличие изменение на контакте 10. Когда происходит изменение, метка времени получается с помощью звонок в rdtsc.
  2. atwoodxpar.c: Эта программа написана на C и работает в Linux для нашего эксперимента с машиной atwood. Он проверяет параллельность порт для изменения на выводе 10 параллельного порта.Когда происходит изменение, метка времени получается с помощью вызова rdtsc. Данные могут быть нанесены на график монитор через библиотеку X11. Для компиляции используйте gcc -lm -lX11 atwoodxpar.c

Есть переводы этой страницы на румынский, эстонский, латышский, польский, венгерский, Македонский, болгарский и финский. Ссылки на эти переводы были удаленный.

Домашняя страница Сигела

Физический факультет | Колледж наук

Какие инструменты мне нужны для разработки приложений PIC® MCU?

A Типовая установка для разработки

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

  1. Компьютер, на котором запущена интегрированная среда разработки MPLAB® X
  2. Программист / отладчик, например один из следующих:
  3. Целевая плата с микроконтроллером PIC ® по вашему выбору, например:
    • Собственное оборудование
    • Демонстрационная плата Microchip
    • Сторонняя демонстрационная плата
    • Макет

Эта установка позволяет вам разрабатывать код, программировать устройство и отлаживать код внутри схемы.Он обеспечивает максимальную гибкость с точки зрения поддерживаемых устройств, поскольку инструменты программатора / отладчика поддерживают весь диапазон микроконтроллеров PIC на основе Flash, а несколько демонстрационных плат поддерживают все семейства микроконтроллеров PIC.

Стартовые комплекты и доски для подарков

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

Какой программатор / отладчик мне подходит?

Хотя PICkit 3, ICD3 и REAL ICE имеют общий базовый набор функций, не все они поддерживают все доступные функции отладки.PICkit 3 является самым дешевым членом семейства программистов / отладчиков и поддерживает основные функции отладки, которые разработчики используют большую часть времени. ICD3 добавляет некоторые промежуточные функции отладки для поддержки более сложных задач отладки. REAL ICE — это флагманский инструмент отладки, предлагающий все функции двух других инструментов с добавлением сложных функций трассировки и регистрации, а также возможность просмотра значений переменных в реальном или близком к реальному времени.

* Не распространяется на всех членов семьи

Для получения самой последней информации об устройстве на странице MPLAB X перейдите в «Руководство пользователя »> «Примечания к выпуску»> «Поддержка устройств и функций»> «Функции отладки аппаратных средств по устройству ».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Программирование микросхемы Pic


Программирование микросхем

pic К сожалению, микросхемы не имеют такой маркировки на поверхности.SN: 0 | Hoss появится в виде аппаратного инструмента PICkit2. asm, который подает 5 вольт, а затем 0 вольт на контакт # 16 (C0). 7 января 2011 г. · Память в микросхеме PIC, используемая для временного или постоянного хранения данных и программ. 3. В то же время он позволяет пользователям программировать свой шестнадцатеричный код в хорошо известном микроконтроллере Flash PIC, используя обычное USB-соединение. Сориентируйте чип так, чтобы штифт 1 (точечный конец) находился напротив рычага фиксации. Набор программатора / отладчика Microchip MPLAB PM3. 20 марта 2020 г. · Программирование / запись PIC может быть выполнено через Arduino (так что вам не нужно создавать сложную схему программатора PIC).4 6. Судя по тому, что я видел, в основном это много подпрограмм «поместить эти данные сюда» с некоторыми командами запуска. 08 июля 2016 г. · Мигающие светодиоды PIC chip-SNAP Circuit — это физический эквивалент программы «Hello World», используемой в большинстве колледжей, университетов и производителей полупроводников, вводящих в программирование микроконтроллеров. com), а другой — Arduino. 56 или новее. Код заказа. Сегодня в лаборатории мы будем использовать PIC от Microchip, в частности PIC16F88. НДС) PICAXE Virtual System Modeling (VSM) — это программный симулятор схем, который объединяет «виртуальный» чип PICAXE с анимированными компонентами и анализ схем Berkeley SPICE для моделирования полного проекта PICAXE.Чтобы запрограммировать микроконтроллер PIC, нам нужен программатор PIC. Еще позже (1998 г.) Microchip Technology представила улучшенный PIC16F84A, который позволил увеличить тактовую частоту (до 20 предотвращает считывание программной памяти с микросхемы. 2 июля 2014 г. · usbpicprog — программатор Microchip PIC с простым оборудованием: один PIC18F2550 и некоторые компоненты. Загрузите программу в свой микроконтроллер PIC, внутри схемы, в течение нескольких секунд через последовательную ссылку. edu адреса электронной почты образцы PIC бесплатно! PIC, который я использую для создания этих инструкций, — это PIC18F22K80; внутрисхемный отладчик PICkit 3.18 марта 2013 г. · Программа, которую вы пишете, «компилируется» (цель компилятора, в нашем случае компилятор Microchip XC8) до единиц и нулей, которые выполняются через чип. Программирование микроконтроллера Microchip Pic 16f84a как программирование Microchip Pic 16f84a Потребовалось новое программное обеспечение для программирования, поскольку алгоритм программирования был другим, но требуемое оборудование для программирования было таким же. iCA01 (iCP01v2 и iCP03v1. Для наших руководств мы выбрали самое передовое программное обеспечение и компилятор, которые были разработаны самой Microchip.Шина между интегральными схемами (I2C) — это распространенный и удобный способ сопряжения устройств со встроенными контроллерами. Чтобы начать программировать PIC-чип, я использую бесплатную программу под названием «PICPgm Development Programmer» и мою плату аппаратного программатора EZ PIC elproducts, которая основана на так называемом программаторе последовательного порта JDM. Usbpicprog состоит из 3 компонентов: аппаратного обеспечения, встроенного программного обеспечения и отдельной программы для Win, Mac и Linux. Цена: 299 долларов. PIC означает «контроллер периферийного интерфейса», который содержит память, таймеры / счетчики, последовательную связь, прерывания и преобразователи АЦП, встроенные в одну интегрированную микросхему.Микрочип позволяет студентам с действующим. Получено с сайта Microchips. Еще позже (1998 г.) Microchip Technology представила улучшенный PIC16F84A, который позволил увеличить тактовую частоту (до 20 28 ноября 2016 г. · Микроконтроллер PIC может быть запрограммирован с помощью различного программного обеспечения, доступного на рынке. Интерфейс различных периферийных устройств в микроконтроллерах PIC. PI Чип имеет определенный объем ПЗУ.Каждый микроконтроллер (также MCU) состоит из нескольких основных блоков: Порты ввода / вывода. Обратитесь в PIC-CONTROL за услугой программирования микросхем.Примечание. Убедитесь, что используются именно те детали, которые показаны на рисунке 1. Служба программирования микросхем. 99 £ 9. Вы можете выбрать микроконтроллер на основе Price Speed ​​20 марта 2020 г. · Программирование / запись PIC может быть выполнено через Arduino (так что вам не нужно создавать сложную схему программатора PIC). Универсальный программатор MPLAB® PM3 прост в использовании и работает с ПК или как автономное устройство. Программирование микросхемы — это, по сути, операция последовательной связи. Эти инструкции предназначены для программирования микроконтроллеров серии PIC18F, хотя другие аналогичны.Начало работы с PIC MCU требует глубокого понимания приложения, базовой аппаратной архитектуры PIC, которая будет использоваться, и цепочки программных инструментов. Адаптер имеет 6 проводов, которые можно подключить к любой ножке микросхемы, например, вам нужно подключить 5 ножек для микросхемы PIC (я программирую свои PIC с помощью PicKit 1, и этот адаптер прекрасно работает для этого). PIC и AVR не используют один и тот же набор команд, поэтому один программист не может программировать другого. Это также программатор EEPROM, поскольку он поддерживает EEPROM 12Cxx.Закрепите чип на месте, перевернув рычаг вниз. Введение в базовый уровень программирования PIC для усовершенствованной архитектуры среднего уровня Дэвид Мейкледжон, Gooligum Electronics Урок 0: Рекомендуемая среда обучения по PIC «PIC» относится к обширному семейству микроконтроллеров, производимых Microchip Technology Inc. ПЗУ-память используется для постоянного хранения. Репликация исходного кода для существующей микросхемы микроконтроллера Microchip PIC. Pic Микроконтроллер и проектирование печатной платы, шаг за шагом Мастер-микроконтроллер и проектирование печатной платы с нуля 3.ШИРОКИЙ ОБЗОР 16 июля 2021 г. · Программирование микроконтроллеров PIC с помощью программаторов ChipProg: программаторы ChipProg поддерживают самые популярные семейства микроконтроллеров Microchip 8, 16 и 32-бит: PIC10XXX, PIC12XXX, PIC16XXX, PIC18XXX, PIC24XXX, PICXXXPIC, dXXPIC, Программирование PIC-устройств может осуществляться как на плате пользователя, так и в адаптере гнезда программатора в параллельном режиме. Самая важная особенность микроконтроллера — это его возможности СОХРАНЕНИЯ и ЗАПУСКА программы. Таким образом, микросхема может сохранить программу, чтобы в конечном итоге запустить ее.Официальным программатором для микросхем Microchip PIC являются PICkit2 и Pickit 3. — см. Www. Пока что программист работает с 12F675 пульта дистанционного управления PIC Pocket Remote Control и широко распространенным 16F84A. 99 вкл. VSM001 £ 49. Здесь мы используем три датчика DHT22 на одном интерфейсе I2C. Стандартные инструкции по настройке: 1, хост PICKIT3 a Автономный портативный программатор — это новая, более адаптируемая версия давно зарекомендовавшего себя портативного программатора Kanda. Это микросхема, которую мы представили в предыдущей статье.Эта опция определяет, будет ли использоваться таймер включения питания. Пользователи с PICkit 3 Debug, он будет автоматически обновлен для поддержки будущего производства нового микроконтроллера Microchip. Скачать. PICkit 3 от Microchip предоставляет оборудование для отладки и / или программирования широкого диапазона микроконтроллеров. 2 Специальные микроконтроллеры. Обычно используются два микроконтроллера, один из которых произведен Microchip Technology Inc. ». Проверьте выход пина №16 с помощью осциллографа. Я уверен, что вы можете использовать это и для микросхем AVR. 8 29 фунтов стерлингов.Написание программы на языке C для реализации микропоследовательной связи PIC Теперь давайте рассмотрим простую программу, которая показывает, как передавать и получать информацию в одном и том же микроконтроллере PIC: программа будет передавать информацию с помощью USART, расположенного внутри PIC, и получать информацию. в USART на той же плате. 7 99 фунтов стерлингов. Перейдите в раскрывающееся меню устройства и начните вводить PIC-чип (либо 16F1704, либо 16F1705), затем нажмите «Применить». Загрузчик 16F876A или PIC16F877A. Как подключить целевой PIC-чип к ПК для программирования: Как показано на рисунке 1, с помощью USB-кабеля, 6-контактного обратного кабеля RJ12 и удлинительного кабеля для программирования RJ12 целевой чип можно подключить к вашему ПК через BB0703 (PICkit 2 ) ,.Перейдите на вкладку настроек и нажмите «расширенный режим» и введите пароль. 100% открытый исходный код. 22 января 2011 г. · Схема программирования PICKit 3. 16 июля 2021 г. · Программирование микроконтроллеров PIC с помощью программаторов ChipProg: программаторы ChipProg поддерживают самые популярные семейства микроконтроллеров Microchip 8, 16 и 32-бит: PIC10XXX, PIC12XXX, PIC16XXX, PIC18XXX, PIC24XXX, dsPIC30XXXX, PIC3233 Еще позже (1998 г.) Microchip Technology представила улучшенный PIC16F84A, который позволил увеличить тактовую частоту (до 20 микроконтроллеров Pic с встроенным программированием Picbasic Микроконтроллеры Pic с встроенным интерфейсом Picbasic микроконтроллеры PIC, 2-е издание — отличный вводный текст для начинающих. в этой области и в качестве справочного материала для более опытных инженеров.Еще позже (1998 г.) Microchip Technology представила улучшенный PIC16F84A, который позволил увеличить тактовую частоту (до 20 микроконтроллеров PIC: расширенный курс обучения Вы войдете в мир микроконтроллеров Advance, и вместе мы сделаем ВАС профессиональным компьютерщиком. Наш первый код языка сборки PIC . 23 января 2016 г. · Этот программатор DIY PIC является продолжением нашего учебника по основам программирования PIC (пароль по умолчанию — «microchip»). 5. 6. Рисунок 1. Соединение для программирования. Микроконтроллеры Pic с микроконтроллерами PIC со встроенным интерфейсом Picbasic, 2-е издание — отличный вводный текст для начинающих в этой области и в качестве справочного материала для более опытных инженеров.Еще позже (1998 г.) Microchip Technology представила улучшенный PIC16F84A, который позволил увеличить тактовую частоту (введение до 20 микроконтроллеров PIC. Это устраняет необходимость в (дорогом) стандартном загрузчике PIC Universal PIC для PIC18F, PIC24F, PIC24H, dsPIC30F и dsPIC33F. от Microchip. Каждый 1 или 0 — это бит, а 8 бит — это байт. В качестве введения в программирование сборки PIC мы будем использовать PIC16F84A, микроконтроллер архитектуры x14 от Microchip. Ознакомьтесь с Interrupts / EXTI & Inter-Module Сигнализация 24 сентября 2018 г. · Рисунок 3.7. Вставьте кабель для программирования от PicKit3 в круглые штифты на хэш-плате. По сути, микросхема программирует сама (или, по крайней мере, одна часть программирует другую). Итак, в духе старых программистов PIC (скажем, 10-15 лет назад) я решил создать что-то сам, и по пути я многое узнал о том, как протокол программирования PIC работает на низком уровне. PICKit поставляется с руководством, в котором показано, как подключить его к микроконтроллеру. PIC-PP0110.Преимущества микроконтроллера PIC. 2) предлагает беспрецедентный уровень производительности, надежности и масштабируемости для программного решения PIC с использованием метода ICSP (внутрисхемное последовательное программирование) и метода Zif Socket. Программирование осуществляется с помощью программного обеспечения MPLAB (бесплатная загрузка) из микрочипа в сборке. 6, дизайн с полным чипом, полностью автоматическая обработка чипов, качество продукции более стабильное и надежное. Доступно в Microchip. Это специализированная схема, которая может записывать во флеш-память микросхемы PIC.Программирование PIC. com. PIC1684A, имеющий всего несколько регистров для работы, хорош для новичков в программировании микроконтроллеров. PWRTE: включение таймера включения. Источник: Microchip Technology. 99 (59 фунтов стерлингов. PICKit2, тем не менее, является более старой моделью и не может программировать архитектуру Learn Microchip PIC (8-Bit) с PIC16F и PIC18F. Приведенные ниже сведения относятся к наиболее продвинутому и распространенному программному обеспечению и компилятору, которые были разработаны Microchip Подключите CanaKit к компьютеру с помощью кабеля USB.Микроконтроллер — недорогой однокристальный компьютер. 25 декабря 2011 г. · Для начала он взял у Microchip копию спецификаций программирования флеш-памяти. Загрузчик 18F1320 Итак, в духе старых программистов PIC (скажем, 10-15 лет назад) я решил создать что-то сам, и по пути я многое узнал о том, как протокол программирования PIC работает на низком уровне. И программирует всю линейку устройств PIC® от Microchip, а также новейшие устройства dsPIC® DSC. микрочип. 4.Код начальной загрузки позволяет перепрограммировать микроконтроллер PICAXE «в положение» напрямую с помощью простого «трехжильного» кабеля для загрузки. Неважно, какой тип микроконтроллера стоит у программиста, если программист говорит на ISP (протокол программирования). Микроконтроллеры PIC можно программировать с помощью различного программного обеспечения, доступного на рынке. ШИРОКИЙ ОБЗОР Программирование PIC. Он имеет 31 программный слот, которые загружаются с ПК и выбираются с клавиатуры. Перейдите к загрузчику Shane Tolmies 16F87xA.Еще позже (1998 г.) Microchip Technology представила улучшенный PIC16F84A, который позволил увеличить тактовую частоту (до 20 марта 2016 г. · Запрограммировать микросхему PIC в качестве ведомого устройства I2C для пользовательского датчика и интерфейса ввода-вывода. Контакты управления: сброс, питание , часы. После того, как он реализовал протокол в коде AVR, оставалось только получить загруженный PIC. Программирование микроконтроллера PIC.

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

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