Как прошить микроконтроллер PIC?
Если вы уже собрали USB программатор PIC своими руками, то пора научиться им пользоваться. Для этого нам необходимо установить программную оболочку «PICkit 2 Programmer», которая разрабатывалась специально для управления программатором PICkit2.
Для работы программы требуется «.NET Framework». Если этот пакет не установлен на компьютере, то его нужно установить. Также можно воспользоваться дистрибутивом «PICkit 2 Programmer» с интегрированным пакетом – PicKit 2 V2.61 Install with .NET Framework. Скачать его можно здесь.
Итак, если программа установлена, приступим к изучению её возможностей.
Устанавливаем микроконтроллер в панель программации, подключаем программатор к компьютеру и запускаем «PICkit 2 Programmer».
При запуске программа производит опрос программатора и автоматически определяет тип программируемого микроконтроллера по идентификационным битам (так называемому device ID). Внимание! Микросхемы семейства Baseline, а также микросхемы EEPROM и KeeLOG не имеют device ID. Чтобы программа смогла работать с этими микросхемами, нужно выбрать конкретное изделие через меню «Device Family».
Если вместо такой дружелюбной картинки покажется вот такая.
. то нужно проверить корректно ли подключен usb-кабель, и через меню «Tools» – «Check Communication» произвести переподключение устройства.
Открытие файла с прошивкой.
Чтобы записать программу МК в его память, необходимо выбрать в меню пункт «File» — «Import Hex».
Затем выбрать в открывшемся окне нужный файл прошивки.
После этого в окне памяти программ (Program Memory) и данных (EEPROM Data) отобразится содержимое .hex файла.
Запись программы в МК.
Теперь можно программировать МК. Для этого жмём кнопку «Write». Процесс записи занимает 3 — 5 секунд.
Об успешном выполнении процедуры записи уведомит надпись «Programming Successful».
Для большей уверенности можно провести процедуру проверки. При нажатии на кнопку «Verify» программа сравнивает данные hex-файла и данные, записанные в МК. Если верификация прошла успешно, то в окне сообщений появится надпись «Verification Successful».
Внимание! Если вы прошиваете микроконтроллеры PIC12F675, PIC12F629 и аналогичные с внутренним тактовым генератором, то при верификации может выскакивать ошибка. Дело в том, что PICkit2 Programmer (версии 6.21) сохраняет калибровочную константу, а затем записывает её в последнюю ячейку памяти МК. Понятно, что исходный файл прошивки и записанные данные в памяти будут отличаться. О калибровочной константе будет рассказано далее.
Быстрые кнопки.
Кнопка «Auto Import Hex + Write Device» понравиться тем, кто хочет «загонять прошивку» в МК нажатием одной кнопки. Один щелчок и программа предложит выбрать файл прошивки, а затем незамедлительно запишет её в МК.
Кнопка «Read Device + Export Hex File» выполняет обратную функцию — производит считывание данных с МК и предлагает сохранить файл прошивки в .hex файл.
Изменение битов конфигурации.
Биты конфигурации задают основные параметры работы МК. Это и тип генератора (кварц, RC-цепь), включение/отключение так называемого «сторожевого таймера», установка защиты от считывания памяти программ и некоторые другие. Как правило, при написании алгоритма работы МК (программы) прописываются значения, которые нужно записать в биты конфигурации. При «прошивке» программная оболочка берёт данные о конфигурации из самого файла прошивки и принудительно указывать эти данные не требуется.
Но, нам, как начинающим не будет лишним знать, как можно просмотреть или изменить конкретные биты конфигурации. Для этого щёлкаем по надписи «Configuration». Откроется окно редактирования битов конфигурации.
Если нужно поменять 0 на 1, то меняем – жмём «Save». Естественно, менять надо осознанно. Повторяю, при использовании готового файла прошивки менять ничего не надо, программа сделает всё автоматически.
Выбор модели микроконтроллера.
Микроконтроллеры бывают разные. Поэтому при программировании МК бывает необходимость указать конкретную модель микроконтроллера. При выборе пункта меню «Device Family» выпадает список семейств микроконтроллеров. Есть среди этого списка и микросхемы памяти EEPROM.
В отличие от микроконтроллеров, микросхемы памяти EEPROM не определяются автоматически по команде «Tools» – «Check Communication». Поэтому при считывании/записи микросхем EEPROM в программе необходимо указать маркировку микросхемы.
В меню выбираем пункт «Device Family» – «EEPROMS» – «24LC».
Далее выбираем конкретную марку микросхемы в выпадающем списке «-Select Part-«. Как видим, у нас микросхема 24LC08B (аналоги 24C08, 24WC08L и др.).
Чтобы считать данные с микросхемы EEPROM жмём «Read». Если в памяти записаны данные, то в окне «Program Memory» значения обновятся.
Кнопки «Write» (считать), «Erase» (стереть) выполняют соответствующие функции.
Калибровочная константа.
Как известно, для работы микроконтроллера требуется тактовый генератор. Элементом, который задаёт частоту работы этого генератора, может быть внешний кварцевый резонатор, RC — цепь. Но среди микроконтроллеров PIC есть такие, которые содержат необходимые задающие цепи внутри самой микросхемы. К таким МК относятся, например PIC12F629, PIC12F675.
На заводе в память таких микроконтроллеров записывается специальная константа, которая задаёт параметры встроенного генератора на 4 МГц. Эта калибровочная константа вида 34хх записывается в последнюю ячейку памяти программ по адресу 0x3FF.
При программировании микроконтроллера эту константу легко стереть. И хоть PICkit2 Programmer версии 2.61 автоматически сохраняет эту константу и затем записывает её при программации, не лишним будет записать значение константы OSCCAL.
При необходимости константу легко указать вручную. Для этого в меню выбираем пункт «Tools» – «OSCCAL» – «Set Manually».
В поле «OSCCAL value» указываем ранее записанное значение константы. Жмём кнопку «Set» (установить).
Теперь, когда вы знакомы с основными возможностями PICkit2 Programmer, можно смело начать сборку какого-нибудь устройства на микроконтроллере, например, RGB-светильника на PIC12F629/675.
Легкая Програмка Для Pic12F629
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.
Последние посетители 0 пользователей онлайн
Объявления
Сообщения
Если требуется измерять «непонятно что» и «непонятно зачем», то и прибор можно использовать «какой попало».
Дак я не знаю. Вас, спецов, спрашиваю. Может, там разница какая великая. Любой можно брать из этого сегмента? Так-то гуглится их вагон даже на Озоне.
Это никак не поможет кнопке, которая явно не соответствует задаче. Как выше писали — ключ на низковольтном мосфете. Саму кнопку тоже заменить на новую. Либо вкорячивать нормальный силовой выключатель.
Зачем придумывать какие-то устройства? Методики «для неинвазивной глубокой стимуляции мозга» давно изобретены и отработаны веками. Интенсивность, длительность и количество циклов стимуляции гибко регулируется оператором, в зависимости от потребностей. Зона для наиболее эффективной стимуляции также может быть изменена.
Да, ошибка. А если в реальной схеме перевернуть светодиод и нажать второй выключатель, то мы не только разрядим конденсатор, но и рискуем спалить светодиод. Присутствует также кривоватый перевод — речь идёт не о каких-то пяти «циклах», а о времени 5Т — времени пяти постоянных RC, за которое, конденсатор зарядится до почти 100%. Надеюсь, понятие «постоянная RC цепи» было ранее разъяснено.