Микроконтроллер pic12f675 как прошить

woman 1848949 1920 Советы на день

Микроконтроллер pic12f675 как прошить

Делать нечего, взял хекс файл с сайта, открыл винпиком, нажал прошить, программатор заморгал, программа руганулась на проблему считывания калибровочной константы и всё.
Нажал опять «прочитать прошивку», программатор почитал что-то и всёравно вернул нули, т.е. ситуация после попытки прошить не изменилась.

Далее. PIC SIMULATOR IDE.
Открыл в нём хекс файл, запустил на выполнение. Нога, на которую подключен светодиот получает высокий уровень и остаётся так не моргая. Сильно разбираться в дизассеблированной программе не стал, ибо мало что еще понимаю в ней.

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

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

1 Почему не читается новый микроконтроллер (PIC12675)?
2 Как открыть hex файл в MPLAB для изменения кода (дизассемблировать и потом обратно собрать хекс)?
3 В чём может быть проблема с протеусом (из вариантов пока только русификатор и седьмая винда)?
4 Чем всё-таки можно просто откомпилировать программу для заливки в контроллер?
5 Поидее, если контроллер не читается, но пишется, можно просто залить новую прошивку поверх старой, верно?
6 Можете ли немного прокоментировать код для мигалки (немного запутался в банках и регистрах, читая пример для одного контроллера и интерптритируя к своему):

; RAM-Variable
LRAM_0x20 equ 0x20
LRAM_0x21 equ 0x21
LRAM_0x22 equ 0x22
LRAM_0x23 equ 0x23

Источник

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

Введение

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 с многофункциональными портами, малым потреблением и широким диапазоном питания [1].

• Архитектура: RISC
• Напряжение питания VDD: от 2,0В до 5,5В ( >path без аргументов приводит к отображению списка путей переменной path в окне команд (Command Window). Удалить путь из переменной path можно командой rmpath, например:

4. Создайте Simulink модель для PIC контроллера, используя блоки библиотеки «Embedded Target for Microchip dsPIC» (Рис. 13), или загрузите готовую модель, например, Servo_ADC.mdl.

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

image loader

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

image loader

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

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

image loader

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

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

image loader

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

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

image loader

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

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

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

image loader

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:

image loader

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

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

image loader

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

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

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

image loader

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

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

image loader

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

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

image loader

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

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

image loader

Рис. 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

image loader

Рис. 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.

image loader

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

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

image loader

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

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

image loader

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

Заключение

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

Источник

КАК ПРОШИТЬ PIC КОНТРОЛЛЕР

В данной статье мы разберемся, как же прошить pic-контроллер, на примере металлоискателя Малыш FM. Для достижения данной цели нам потребуется:

1) Компьютер, в котором есть COM порт (ноутбуки не подходят).

3) Прошивающий софт.

Начнем разбираться по порядку.

Поиск схемы программатора провел по буржуйским сайтам. В итоге нашёл вот эту схему, развел под нее плату. Схема программатора:

s81294296

Для более качественного просмотра схемы кликните на изображение. Единственный элемент управления в данной схеме – это переключатель S1, которым включается режим высоковольтного программирования. Хочу заметить то, что в данной схеме программатора общий провод схемы ни в коем случае нельзя объединять с 5 выводом (GND) COM порта. У меня получилась вот такая штуковина.

scri999

scri999 2

При подключении программатора к COM порту через удлиняющий кабель, длина последнего не должна превышать 0,5 метра. Прошивающего софта в Интернете навалом, но решил использовать IC-Prog – бесплатная программа. Последняя версия 1.06С от 05.04.2011. На официальном сайте можно скачать и драйвера IC-Prog NT/2000 (не думаю, что кто-то ещё пользуется 98-ми форточками или миллениумом). Если уж хочется поковыряться в данной софтине, то там же можно качнуть русский help. Итак, скачали, разархивировали все в одну папку. Запускаем экзешник, и лезем в настройки программатора Настройки>>Программатор. У меня они выглядят следующим образом.

1374057444 jdm 5 1 43kb

Далее выполняем настройку самой программы Настройки>>Опции, где важны следующие закладки.

JDM 5 2

scri3

scri4

Когда все будет настроено, приступаем к самому процессу прошивки.

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

У контроллера PIC12F629 на заводе записана калибровочная константа внутреннего тактового генератора. Ее желательно сохранить, а то вдруг припрет использовать микросхему в другом девайсе, в котором нет кварца. Для этого в IC-Prog выбираем тип контроллера и нажимаем кнопку «Читать микросхему». Константу ищем здесь.

scri5

Теперь выбираем файл прошивки Файл>>Открыть файл. В итоге все будет выглядеть вот так.

scri6

Небольшое отступление по поводу конфигурации (правая часть окна). Значение конфигурационных битов прописано в даташите на данный контроллер в разделе 9.1, русский перевод качать отсюда www.microchip.ru. Галочки напротив битов конфигурации в IC-Prog означают установку бита в 0. Не трогайте состояние бита MCLR если это не предусмотрено прошивкой! Все значения конфигурации прописываются при написании прошивки. Итак, продолжим. Загрузили прошивку, теперь нажимаем кнопку «Программировать микросхему» и пойдет процесс прошивки. На такой вопрос отвечать «Нет», иначе затрется калибровочная константа.

scri7

Осталось дождаться вот такой надписи.

scri8

А у кого нет COM порта, то можно прикупить такую штуковину или просто собрать ее самому.

scri999 3

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

cmu rgb led i attiny 6Микроконтроллер ATtiny13 и MOSFet транзисторы будут управлять светодиодными лентами в этой схеме ЦМУ.

LiCAP 19Описание технологии и зарядное устройство для суперконденсаторов LiCAP.

fm peredatchik kvarc 5Схема простого кварцованного передатчика FM диапазона на мощность до 0,2 Вт, при питании от 12 В.

Источник

Как прошить микроконтроллер PIC?

Работа с программой PicKit2 Programmer

mikrokontroller

Если вы уже собрали USB программатор PIC своими руками, то пора научиться им пользоваться. Для этого нам необходимо установить программную оболочку «PICkit 2 Programmer», которая разрабатывалась специально для управления программатором PICkit2.

Итак, если программа установлена, приступим к изучению её возможностей.

Устанавливаем микроконтроллер в панель программации, подключаем программатор к компьютеру и запускаем «PICkit 2 Programmer».

write pic16f628

При запуске программа производит опрос программатора и автоматически определяет тип программируемого микроконтроллера по идентификационным битам (так называемому device ID). Внимание! Микросхемы семейства Baseline, а также микросхемы EEPROM и KeeLOG не имеют device ID. Чтобы программа смогла работать с этими микросхемами, нужно выбрать конкретное изделие через меню «Device Family».

connect mk

Если вместо такой дружелюбной картинки покажется вот такая.

not connect

Открытие файла с прошивкой.

import

Затем выбрать в открывшемся окне нужный файл прошивки.

hex file

program and data window

Запись программы в МК.

write pic

Об успешном выполнении процедуры записи уведомит надпись «Programming Successful».

programming successful

Для большей уверенности можно провести процедуру проверки. При нажатии на кнопку «Verify» программа сравнивает данные hex-файла и данные, записанные в МК. Если верификация прошла успешно, то в окне сообщений появится надпись «Verification Successful».

Внимание! Если вы прошиваете микроконтроллеры PIC12F675, PIC12F629 и аналогичные с внутренним тактовым генератором, то при верификации может выскакивать ошибка. Дело в том, что PICkit2 Programmer (версии 6.21) сохраняет калибровочную константу, а затем записывает её в последнюю ячейку памяти МК. Понятно, что исходный файл прошивки и записанные данные в памяти будут отличаться. О калибровочной константе будет рассказано далее.

Быстрые кнопки.

Кнопка «Auto Import Hex + Write Device» понравиться тем, кто хочет «загонять прошивку» в МК нажатием одной кнопки. Один щелчок и программа предложит выбрать файл прошивки, а затем незамедлительно запишет её в МК.

aihwd

rdehf

Изменение битов конфигурации.

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

Но, нам, как начинающим не будет лишним знать, как можно просмотреть или изменить конкретные биты конфигурации. Для этого щёлкаем по надписи «Configuration». Откроется окно редактирования битов конфигурации.

config bits

Выбор модели микроконтроллера.

Микроконтроллеры бывают разные. Поэтому при программировании МК бывает необходимость указать конкретную модель микроконтроллера. При выборе пункта меню «Device Family» выпадает список семейств микроконтроллеров. Есть среди этого списка и микросхемы памяти EEPROM.

device family

Далее выбираем конкретную марку микросхемы в выпадающем списке «-Select Part-«. Как видим, у нас микросхема 24LC08B (аналоги 24C08, 24WC08L и др.).

select part

Чтобы считать данные с микросхемы EEPROM жмём «Read». Если в памяти записаны данные, то в окне «Program Memory» значения обновятся.

read eeprom

Кнопки «Write» (считать), «Erase» (стереть) выполняют соответствующие функции.

Калибровочная константа.

На заводе в память таких микроконтроллеров записывается специальная константа, которая задаёт параметры встроенного генератора на 4 МГц. Эта калибровочная константа вида 34хх записывается в последнюю ячейку памяти программ по адресу 0x3FF.

При программировании микроконтроллера эту константу легко стереть. И хоть PICkit2 Programmer версии 2.61 автоматически сохраняет эту константу и затем записывает её при программации, не лишним будет записать значение константы OSCCAL.

osccal

set osccal

В поле «OSCCAL value» указываем ранее записанное значение константы. Жмём кнопку «Set» (установить).

Теперь, когда вы знакомы с основными возможностями PICkit2 Programmer, можно смело начать сборку какого-нибудь устройства на микроконтроллере, например, RGB-светильника на PIC12F629/675.

Источник

Микроконтроллер pic12f675 как прошить

Делать нечего, взял хекс файл с сайта, открыл винпиком, нажал прошить, программатор заморгал, программа руганулась на проблему считывания калибровочной константы и всё.
Нажал опять «прочитать прошивку», программатор почитал что-то и всёравно вернул нули, т.е. ситуация после попытки прошить не изменилась.

Далее. PIC SIMULATOR IDE.
Открыл в нём хекс файл, запустил на выполнение. Нога, на которую подключен светодиот получает высокий уровень и остаётся так не моргая. Сильно разбираться в дизассеблированной программе не стал, ибо мало что еще понимаю в ней.

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

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

1 Почему не читается новый микроконтроллер (PIC12675)?
2 Как открыть hex файл в MPLAB для изменения кода (дизассемблировать и потом обратно собрать хекс)?
3 В чём может быть проблема с протеусом (из вариантов пока только русификатор и седьмая винда)?
4 Чем всё-таки можно просто откомпилировать программу для заливки в контроллер?
5 Поидее, если контроллер не читается, но пишется, можно просто залить новую прошивку поверх старой, верно?
6 Можете ли немного прокоментировать код для мигалки (немного запутался в банках и регистрах, читая пример для одного контроллера и интерптритируя к своему):

; RAM-Variable
LRAM_0x20 equ 0x20
LRAM_0x21 equ 0x21
LRAM_0x22 equ 0x22
LRAM_0x23 equ 0x23

Источник

Оцените статью
Добавить комментарий

Adblock
detector