Menu Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Программирование современных PIC16, PIC12 на PonyProg. Энциклопедия радиоэлектроники и электротехники

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Микроконтроллеры

Комментарии к статье Комментарии к статье

Как известно, программатор PonyProg предназначен для программирования ограниченного числа типов микроконтроллеров PICmicro фирмы Microchip (PIC12C50x PIC16F8x, PIC16F87x). Однако с его помощью можно запрограммировать и другие, в том числе и новые микроконтроллеры серий PIC12, PIC16. О том, как это сделать, рассказывается в статье.

Многие радиолюбители строят свои конструкции на базе популярного PIC-контроллера PIC16F84 (PIC16F84A). Однако время не стоит на месте, и номенклатура выпускаемых микроконтроллеров (МК) PICmicro постоянно расширяется. Появились новые, более совершенные МК серий PIC16F и PIC12F (например, PIC12F629, PIC12F675, PIC16F628, PIC16F630, PIC16F676). Они содержат компаратор, способный работать с входным напряжением, близким к нулю, что при однополярном питании весьма заманчиво. Включенный в их состав 10-битный АЦП имеет точность не хуже, чем специализированные микросхемы, что, наряду с большими возможностями по обработке и отображению информации, позволяет создавать уникальные устройства с минимальным числом внешних элементов. Новые МК имеют память большего объема, дополнительные таймеры, универсальный порт связи и другие усовершенствования. При этом их стоимость значительно ниже, чем PIC16F84, a FLASH PIC16F630 дешевле PIC16C505 (оба в 14-выводных корпусах). Организация памяти PIC12Fx такая же, как у PIC16F84 (одна страница), что позволяет легко адаптировать программы, не требующие применения МК в многовыводных корпусах.

Если вы решились использовать в своих конструкциях новые МК, то прежде чем их изучать и писать программы, подумайте, на чем их программировать. Приобретение фирменного программатора при его стоимости, сопоставимой со стоимостью системного блока компьютера, для радиолюбителей почти нереально. Однако многие из них собрали программатор PONYPROG [1]. Разберемся, как можно использовать его для программирования новых МК.

Все МК программируют по трехпроводной шине. Для программирования необходимы сигналы Upp (перевод в режим программирования), CLK (синхронизация) и DAT (данные).

Любители, не имеющие программатора, могут воспользоваться простейшим устройством, собранным по схеме на рис. 1. Его подключают к СОМ порту ПК, для питания МК используют отдельный источник с выходным напряжением 5 В.

Программирование современных PIC16, PIC12 на PonyProg
(нажмите для увеличения)

В "Настройке оборудования" указывают тип программатора - JDM API. Выводы подключают в соответствии с таблицей. Программирование можно произвести непосредственно в готовом устройстве, используя его источник питания (необходимо лишь устранить шунтирование выводов программирования МК элементами изделия). Напряжение питания при программировании должно быть в пределах 4,5...5,5 В (при необходимости подбирают стабилитрон VD1).

Из таблицы видно, что назначение используемых при программировании выводов PIC16F84 и PIC16F628 одинаково, поэтому их можно программировать в одной розетке программатора. Для других микросхем придется установить дополнительные розетки, подключенные к адаптеру в соответствии с таблицей. Более подробную информацию о PIC-контроллерах можно найти на сайте [2].

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

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

Память программ начинается с адреса 0000, а заканчивается в зависимости от ее объема в конкретном типе микросхемы. Это означает, что, выбрав из списка PonyProg подходящий по этому параметру МК, можно записать нужную программу. В нашем случае подходит PIC16F871. Следует учитывать, что в нижней строке окна PonyProg указан объем памяти в байтах, а в технических характеристиках МК обычно приводится число слов (14 бит). Иными словами, программатор показывает больший объем. У PIC16F871 и PIC16F628 объем памяти - 2048 слов. Дополнительно это можно проверить в файле .Ikr соответствующего МК (находится в папке установки MPLAB), прочитав его с помощью стандартной программы "Блокнот". Адрес памяти программ указан так:

CODEPAGE NAME=vectors START=0x0 END=0x4 PROTECTED (переносы условные) CODEPAGE NAME=page START=0x5 END=0x7FF(перенос условный)

Программирование современных PIC16, PIC12 на PonyProg

На данном этапе уже можно попробовать записать информацию в память программ. Для этого подойдет любой НЕХ-файл размером не более 2048 слов. Запустив обслуживающую программу, присоедините устройство к порту компьютера, вставьте МК в соответствующую розетку, затем включите питание программатора. Выберите в меню PIC16F871, загрузите выбранный НЕХ-файл и нажмите кнопку "Записать память программ (FLASH)". Появится сообщение об ошибке, извещающее о проблемах с МК и содержащее три кнопки (рис. 2): "Abort" (прервать), "Retry" (повторить), "Ignore" (игнорировать). Нажмите последнюю ("Ignore"), и начнется процесс программирования. По его завершении должно появиться сообщение об успешной записи. Если программатор выдал "Ошибку записи", проверьте содержимое памяти программ, считав его соответствующей командой. Наличие ошибок свидетельствует о том, что, возможно, программатор работает слишком быстро (такое случается, если на компьютере установлена ОС WINDOWS ХР; с WINDOWS 98 программа работает медленнее и пишет надежнее). Причиной могут быть также помехи (при слишком длинных соединительных проводах), а в редких случаях - и антивирусные и другие фоновые программы. Если же запись отсутствует полностью, то неисправна аппаратная часть программатора или неверно настроена программа (в меню).

Следующий, самый важный этап - запись слова конфигурации. Его адрес также можно посмотреть в файле .Ikr соответствующего МК. Строка в файле выглядит так:

CODEPAGE NAME=.config START=0x2007 END=0x2007 PROTECTED (переносы условные).

Слово конфигурации располагается по адресу 0x2007. В нашем случае PIC16F871 и PIC16F628 имеют адреса 2007, т. е. подходят для подмены (следует отметить, что слово конфигурации у всех PIC16 и PIC12F расположено именно по этому адресу). Устанавливать биты конфигурации непосредственно в программаторе нежелательно, так как их обозначение на панели программатора для PIC16F628 и PIC16F871 разное и возможны ошибки, а некоторые биты затенены и не могут быть установлены напрямую. Записать конфигурацию МК лучше при составлении программы. Для MPLAB эти строки могут выглядеть примерно так:

in lude p16f628.inc> list p=16f628 _config H'0242"

Значение '0242' составляется в соответствии с назначением каждого бита в слове конфигурации и в вашем конкретном случае может быть другим. Подробное описание всех бит можно найти на сайте [2].

Сокращенные обозначения бит конфигурации содержатся в файле .INC соответствующего МК в папке установки MPLAB. Примерный вид:

BODEN ON EQU H'3FFF'

BODEN OFF EQU H'3FBF'

CP ALL EQU H'03FF'

CP 75 EQU H'17FF'

CP 50 EQU H'2BFF'

CP OFF EQU H'3FFF'

DATA CP ON EQU H'3EFF'

DATA CP OFF EQU H'3FFF'

PWRTE OFF EQU H'3FFF'

PWRTE ON EQU H'3FF7'

WDT ON EQU H'3FFF'

WDT OFF EQU H'3FFB'

LVP ON EQU H'3FFF'

LVP OFF EQU H'3F7F'

MCLRE ON EQU H'3FFF'

MCLRE OFF EQU H'3FDF'

ER OSC CLKOUT EQU H'3FFF'

ER OSC NOCLKOUT EQU H'3FFE'

INTRC OSC CLKOUT EQU H'3FFD'

INTRC OSC NOCLKOUT EQU H'3FFC

EXTCLK OSC EQU H'3FEF'

LP OSC EQU H'3FEC

XT OSC EQU H'3FED'

HS OSC EQU H'3FEE'

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

__config CP_ALL & WDT OFF & BODEN ON & _PWRTE_ON & _HSJ3SC &_LVP OFF ; (переносы условные).

Таким образом вы сможете написать слово конфигурации для любого МК, используя его файл .INC. Это удобно при адаптации готовой программы, например, в случае замены PIC16F627 более дешевым PIC16F627A. При включении конфигурации в текст программы она войдет в НЕХ-файл, установятся и затененные биты. После того как вы ввели в программатор слово конфигурации, считав НЕХ-файл содержащей его программы, запись выполняется обычным образом, вводом соответствующей команды. Аналогично его можно и считать из МК. Убедиться, что конфигурация записана, можно либо очистив после записи панель программирования конфигурации программатора, а затем считав конфигурацию из МК, либо считав память программ из защищенной от считывания микросхемы: до записи конфигурации она читается, а после записи - нет (если установлена защита), при этом конфигурация читается и в защищенной микросхеме.

Устанавливать биты защиты без особой необходимости не рекомендуется. Дело в том, что некоторые МК имеют отличающиеся команды стирания, и вы не сможете их перепрограммировать, так как на PonyProg биты защиты не сотрутся. Однако при записи в незащищенную микросхему поверх имеющейся в ней "прошивки" записываемый код сотрет предыдущую информацию и необходимости в стирании не возникнет. Впрочем, это не относится к PIC16F627, PIC16F628, информацию в них можно защищать без опасений.

Запись данных в EEPROM производится обычным способом, так как данные в МК PIC16F и PIC12F размещаются с адреса 2100п. Посмотреть это можно также в файле .Ikr. Примерный вид строки:

CODEPAGE NAME=eedata START=0x2100 END=0x217F PROTECTED (переносы условные).

Разное у PIC-контроллеров - лишь окончание области данных (из-за разного объема): у PIC16F628 - 128, у PIC16F871 - 64 байт, но если необходимый вам для работы объем не превышает объема EEPROM выбранной микросхемы подмены (у PIC16F871 - 64 байт), то можно программировать, не переключая типа МК в меню: избыточная память PIC16F628 просто не будет использована. Если необходимо записать больший объем, то следует в меню программатора заменить тип МК имеющим аналогичный с PIC16F628 объем памяти (в нашем случае - это PIC16F874 с EEPROM 128 байт) и произвести запись обычным способом. Заменять тип МК в меню можно на любом этапе программирования.

Следует отметить, что хотя PIC16F874 имеет память программ в два раза больший, чем PIC16F628, записать информацию в нее можно, установив в меню PIC16F874 и даже PIC16F877 (16К), однако при проверке записи программатор выдаст сообщение об ошибке. Дело в том, что при считывании нереализованной в PIC16F628 части памяти МК выдаст информацию, записанную в нижних адресах (старшие биты адреса игнорируются), т. е. память программ будет считана дважды (в PIC16F877 - четыре раза). Иными словами, это не ошибка в программе, а повторное считывание памяти, программа записывается нормально.

Литература

  1. Долгий А. Разработка и отладка устройств на МК. - Радио, 2001, № 6, с. 24-26: № 7, с. 19-21.

Автор: А.Сизов, г.Иваново

Смотрите другие статьи раздела Микроконтроллеры.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Экраны влияют на детей неравномерно в разном возрасте 01.08.2026

Планшеты и смартфоны давно стали привычной частью повседневной жизни даже самых маленьких детей. Родители часто используют гаджеты, чтобы успокоить малыша или занять его на время, однако ученые все чаще задаются вопросом, как экранное время сказывается на развитии мозга и будущей способности к обучению. Новое исследование показывает, что значение имеет не только продолжительность просмотра, но и возраст, в котором ребенок проводит время перед экраном. Ученые наблюдали детей от рождения до 8 лет. Оказалось, что больше всего экраны влияют на мозг в два периода - в раннем младенческом возрасте и перед поступлением в школу. У детей, много времени проводивших перед экранами в эти возрастные точки, в 9 лет были несколько хуже успехи в обучении, а в 10,5 лет хуже работала рабочая память - способность удерживать и обрабатывать информацию здесь и сейчас. Исследователи из Франции и Сингапура проанализировали данные 502 детей и выделили два ключевых этапа. У младенцев мозг развивается очень ...>>

Умные жилеты, спасающие от жары 01.08.2026

Летняя жара в больших городах все чаще становится серьезным испытанием для людей, работающих на открытом воздухе. Мусорщики, строители и другие специалисты вынуждены проводить часы под палящим солнцем, рискуя перегревом. Китайские инженеры предложили практичное решение - специальные охлаждающие жилеты, которые помогают снизить ощущаемую температуру примерно на 10 градусов. Пока мир страдает от сильной жары, китайские инженеры разработали "умные" жилеты с климат-контролем. Жилеты с кондиционированием почти не отличаются от обычной рабочей одежды. Главное отличие - в системе охлаждения. В городе Нанкин в жилет вмонтированы два вентилятора, работающих от портативных аккумуляторов. Одного заряда хватает на 3-4 часа непрерывной работы. В Чанчжоу решили разместить в карманах охлаждающие элементы с материалом, который при нагревании переходит из твердого состояния в жидкое, активно поглощая тепло. Это поддерживает комфортную температуру в течение 2,5-4 часов. Такие жилеты выглядят почти ...>>

Летающие ветротурбины 3 МВт вышли в серию 31.07.2026

Традиционные ветряные электростанции зависят от силы и стабильности ветра у поверхности земли, где воздушные потоки часто бывают слабыми и порывистыми. На больших высотах ветер обычно сильнее и постояннее, поэтому инженеры уже давно рассматривают возможность подъема турбин в воздух. Китайская компания сделала важный шаг в этом направлении, перейдя от испытаний к мелкосерийному производству. Компания Beijing Linyi Yunchuan Energy Technology запустила мелкосерийное производство летающей ветротурбины S2000, а в провинции Чжэцзян возводят отдельный завод по производству материалов для оболочки аппарата. У компании уже есть предварительные договоренности с прибрежными городами и горными регионами, которые рассматривают возможность использования этой технологии для удовлетворения собственных энергетических потребностей. Прототип, который полгода назад только что поднялся в небо над Сычуанем, теперь превращается в целую отрасль. Идея S2000 проста: вместо того чтобы устанавливать ветряну ...>>

Случайная новость из Архива

Ноутбук управляется с помощью глаз 01.07.2015

Интересный прототип игрового ноутбука продемонстрировали разработчики MSI совместно со шведской компанией Tobii: на выставке Computex 2015 был представлен предсерийный образец лэптопа, для управления которым больше не нужна мышка или тачпад - курсором можно управлять силой взгляда.

Внешне игровой лэптоп с маркировкой GT72 1QE Dominator Pro Tobii EyeX практически не отличается от системы MSI Dominator Pro: диагональ дисплея ноутбука составляет 17, 3 дюйма, внутри - быстрый процессор Intel Core i7, графическая система NVIDIA GeForce GTX 980M, 8 Гбайт ОЗУ и HDD емкостью 1 Тбайт.

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

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

Безусловно, данная система управления рассчитана в первую очередь на использование в играх, и спустя 5 минут геймплея в Assassin&#8217;s Creed можем с уверенностью заявить, что ее реализация и удобство использования - на высоте.

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

Другие интересные новости:

▪ Телефон для китайцев

▪ Свет может иметь массу

▪ Как распознать подделку лайкры

▪ Возраст человека определят по крови

▪ Infineon IMC100 - цифровая платформа для управления электродвигателями

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Электропитание. Подборка статей

▪ статья Глотатели пустот, читатели газет. Крылатое выражение

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

▪ статья Персонал лаборатории. Типовая инструкция по охране труда

▪ статья Пассивные солнечные системы. Тепловая масса (аккумуляция тепла). Энциклопедия радиоэлектроники и электротехники

▪ статья Инверторный источник тока. Энциклопедия радиоэлектроники и электротехники

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2026