Схемы на pic16f630 своими руками
Универсальный программатор PIC-контроллеров
По данной статье нам поступило большое количество писем с вопросами, замечаниями, благодарностями. Всем авторам выражаем большую признательность за теплые слова и бесценные материалы. Если вы решите самостоятельно повторить программатор EXTRA - PIC , мы надеемся, что эта статья поможет вам убедиться в правильности решения и отбросить все сомнения.
В статье рассматривается программатор EXTRA-PIC, данные о котором получены из открытых источников на www .5 v . ru (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.
Расположение выводов ICSP у PIC-контроллеров.
Внимание! Материал только для общей справки. Обязательно убедитесь, что указанное расположение выводов соответствует выбранному вами микроконтроллеру. Для этого, обратитесь к Data Sheets и Programming Specifications на соответствующий микроконтроллер.
Рисунок печатной платы (облегченный вариант) (скачать в Sprint Layout ).
Рисунок печатной платы (полная версия) (скачать в Sprint Layout ).
Фотография собранного программатора (облегченный вариант)
Далее мы приводим альтернативные рисунки печатных плат программатора EXTRA - PIC (авторство установить не удалось)
Вариант 1 (скачать в Sprint Layout ).
Вариант 2 (скачать в Sprint Layout ).
Отдельного внимания заслуживает печатная плата разработанная нашим другом markomar2005 (at) yandex.ru , которая разведена под "маркер".
Вариант от MARKO (скачать в Sprint Layout).
Считаем необходимым разместить здесь фотографии программаторов наших благодарных читателей. Если вы достигли результатов, не стесняйтесь - высылайте фотографии, мы с радостью их здесь разместим.
Пошаговая инструкция или "Как прошить PIC -контроллер"
Введение. Данная инструкция составлена на примере прошивки микросхемы PIC16F876A для сборки универсального многоканального АЦП.
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".
Программа готова к работе.
- Установите микросхему в панель программатора, соблюдая положение ключа.
- Подключите шнур удлинителя, включите питание.
- Запустите программу IC-PROG.
- В выпадающем списке выберите контроллер PIC16F876A.
- откройте стандартную программу "Блокнот";
- вставьте в документ текст прошивки (со странички УМ-АЦП1);
- сохраните под любым именем, например, prohivka .txt (расширение *.txt или *.hex).
Вот и всё. Я тоже думал, что это что-то невероятное. Попробуйте – и у вас получится.
Приветствую всех любителей Nixie-часов! С удовольствием вношу свою лепту, предлагая конструкцию на 4-х индикаторах ИН-14. Программировать микроконтроллеры я к сожалению не умею, но с удовольствием повторяю понравившиеся мне конструкции.
Простой ампер вольтметр на микроконтроллере атмега 8. Собрав себе лабораторный блок питания, решил к нему прикрутить цифровой AVметр, порывшись в интернете нашёл несложную схемку.
Фотографии и прошивка удалены по просьбе автора, все подробности на официальном сайте по ссылке
Все подробности и комментарии здесь
USBasp - простой внутрисхемный USB-программатор для микроконтроллеров Atmel AVR. Программатор построен на микроконтроллере ATMega88 (или ATMega8) и содержит минимум деталей. Программатор использует свой USB-драйвер, никакие специальные USB контроллеры не нужны.
Это простой цифровой вольтметр на 7-сегментных индикаторах, может бить неплохим дополнением к лабораторному блоку питания.
В схеме используется PIC-контроллер PIC16F676, у которого есть АЦП 10-бит 8 каналов, но этот проект использовать только один канал для измерения напряжения.
Схема достаточно простая:
В этой статье описано создание датчика движения на основе модулей с пассивным ИК датчиком. Есть много моделей модулей с PIR датчиком от разных производителей, но в основе у них лежит один принцип. Они имеют один выход, который дает сигнал низкого или высокого уровня (в зависимости от модели) при обнаружении движения. В моем проекте микроконтроллер PIC12F635 постоянно следит за логическим уровнем на выходе модуля с датчиком и включает зуммер, когда он высокий.
FM приемник на SI4703.
Стабилизатор тока на полевом транзисторе
Фонарик на ATtiny13.
Фонарик на ATtiny13 – статья, в которой расскажу, как сделать фонарик на сверх-ярких светодиодах со стабилизатором тока и некоторыми полезными функциями.
Часы на DS3231
Часы на DS3231 – статья, в которой расскажу, как сделать часы реального времени на DS3231 с функцией напоминания. Вся информация будет выводиться на Oled-дисплей 128х64. Ну, а теперь обо всём по порядку…
FM приемник на RDA5807.
FM приемник на RDA5807 – статья в которой расскажу, как сделать несложный FM приемник 87…108 МГц, используя китайский модуль RDA5807.
Переходник USB–COM(RS232) своими руками.
Переходник USB – COM(RS232) своими руками – статья, в которой расскажу, как сделать несложный переходник всего за один вечер. Данный переходник, кстати, совместим с процессорным модулем CPU 166 P.
Устройство проверки форсунок на PIC12F615
Устройство проверки форсунок – статья, в которой расскажу об электронной части стенда для проверки форсунок. Устройство довольно простое, но свои функции выполняет. Добавив к электронике необходимое железо можно сделать.
Термометр на PIC16F628A + DS18B20(DS18S20) + LED + коррекция
Доброго всем времени. С момента публикации статьи о предыдущей версии термометра прошло немало времени. Устройство пользуется довольно неплохой популярностью. В мой адрес приходит немало писем с просьбой о модернизации. По возможности, на все письма отвечаю и модернизирую прошивку. В очередном письме автор попросил добавить возможность
Пожалуйста, не забывайте вынуть прошивку из архива. А то случались прецеденты - архивный файл прямо в микроконтроллер загружали.
- Найти где-нибудь кого-нибудь, имеющего программатор и договориться, чтобы владелец запрограммировал Ваш микроконтроллер;
- Купить программатор;
- Купить набор для изготовления программатора;
- Изготовить программатор самостоятельно
Схема программатора
(сделайте двойной клик на рисунке, чтобы его увеличить)
 
Резистор R1 не обязателен, его можно не устанавливать.
Этот простой программатор можно собрать навесным монтажом (т.е. без изготовления печатной платы), припаяв резисторы непосредственно к выводам разъема и к выводам "кровати" для установки контроллера. Обратите внимание, что для подключения программатора к разъему, расположенному на корпусе компьютера, Вам потребуется разъем-"мама", DB-9F.
В варианте печатной платы от SKY (см. страницу "Печатная плата. Изготовление устройства") есть и шаблон для изготовления печатной платы этого программатора по "Лазерно-Утюжной Технологии". Резистор R1 не устанавливается. Плата расчитана на установку разъема DRB_9F (угловая "мама" для впайки в плату). Для программируемого микроконтроллера на плату необходимо установить "кровать".
В последнее время, и ообенно на ноутбуках, встречаются COM-порты, работающие с уровняими сигнала +3V/-3V (а традиционно это +10V/-10V, на них и расчитан приведенный выше программатор). К сожалению, нет уверенности, что программатор, собранный по предложенной здесь схеме, сможет нормально работать, если он будет подключен к такому низковольтному COM-порту.
Но даже "традиционные" (+10V/-10V) COM-порты не могут обеспечить питание, достаточное для работы микроконтроллера в режиме программироания. Поэтому требуется запитать микроконтроллер от внешнего источника стабилизированного напряжения +5V. Например, можно запитать программатор от компьютера, взяв +5V от свободного разъема, имеющегося в компьютере для питания винчестера или дисковода. Пожалуйста, не перепутайте: +5V, необходимые для работы программатора, подаются по проводу КРАСНОГО цвета! Также необходимо будет подключить к программатору "массу" питания, это провод ЧЕРНОГО цвета. Для подключения программатора Вы можете отрезать нужный разъем (это разъемы типа Molex; Вам будет нужен разъем-"папа"), например, от старого вентилятора. Но обратите внимания - вентиляторы в компьютере используются 12-ти вольтовые; красно-черный провод, который идет к венитлятору, выдаст 12V! Красный провод, идущий к вентилятору, начинается от желтого провода разъема Molex.
Но обычно еще удобнее запитывать программатор от порта USB. Вы можете взять кабель от какого-нибудь старого USB-устройства (неисправная USB-мышь, или какая-нибудь светящаяся побрякушка с питанием от USB-порта, или ненужный гибкий удлиннитель для подключения Flash-drive и т.д.). Можете и приобрести USB-кабель ради такого случая. Как правило, провода в кабеле имеют стандартные цвета (красный, черный, желтый, зеленый); Вам нужны красный (+5V) и черный ("масса"). Но лучше все же убедиться в этом, подключив кабель USB к компьютеру и проверив тестером полярность напряжения на проводах кабеля.
Вот схема, иллюстрирующая различные варианты подачи питания на программатор:
(сделайте двойной клик на рисунке, чтобы его увеличить)
 
При программировании не забывайте про константу(osccal), которая записана в последней ячейке данных пика.
Оsccal - представляет собой 16-ти ричное значение калибровки внутреннего генератора МК, с помощью которого МК отчитывает время при выполнении своих программ.
При покупке микроконтроллера (МК) считайте с него данные и запишите константу на листочек или на микроконтроллер!
Это очень важно т.к. если удалите константу при следующем программировании, pic работать не будет либо будет, но не так как должен.
В МК старшего семейства константы нету, так, что не удивляйтесь.
На рисунке ниже показано место расположения этой константы:
Константа может не пригодится когда используется внешний кварц.
Когда вы загружаете прошивку в программу то в последней ячейке памяти выставляется "3FFF" т.к. в прошивке значение вашей константы не указано (она у каждого МК своя)!
Вот программа и спрашивает будете использовать константу "3FFF" или "3424".
Видео - как прошить PIC от начала до конца!
В микроконтроллерах PIC16F628, PIC16F628A, PIC16F630 константы нету, проверено на практике.
В PIC16F676 константа есть!
Видео о прошивке PIC16F676. В видео продемонстрирован бит защиты, прошивка с ним и без него.
При использовании внешнего кварца (или RC) константа ненужна , можно в таких схемах использовать pic в которых была утеряна константа!
WDT - сторожевой таймер
PWRT - задержка для стабилизации генератора при вкючении питания
MCLR - использовать вход внешнего сброса микроконтроллера (reset)
BODEN - задейств-ть сброс при снижении напр. питания
CP - защитить код программы от считывания
CPD - защитить содержимое EEPROM от считывания
При написании программы для МК, программист, прежде всего, выставляет бит защиты, далее программа (исходник) компилируется (обычно в расширение .HEX) и зашивается в МК, следовательно в отличии от AVR, выставлять биты конфигурации при прошивке pic-ов НЕ НАДО!
В PIC предусмотрен бит защиты:
При прошивке микроконтроллера, если установить (включить) бит защиты , то при считывании данных (после прошивке) выдаст программа ошибку! В этом и заключается смысл бита защиты - невозможно передрать прошивку с микроконтроллера. Эта функция очень удобна для программистов. Добустим Вы написали прошивку и решили другим продавать ее, но если Вы продатите просто прошивку HEX то на следующий день она облетит весь интернет и Ваши авторские права будут нарушены, но а если Вы зашьете в ПИК прошивку и поставите бит защиты, то больше никто не сможет скопировать прошивку!
На рисунке ниже показан бит защиты и ошибка которая выскакивает после прошивки:
Если после прошивки, с использованием бита защиты, считать данные с МК то вот, что получится:
Если утеряна константа, что делать?
Способ первый: пробывать поставить от другого МК константу или наугад , мы знаем, что все константы начинаются на 34 далее две цифры xx которые надо угадать.
Способ второй: порадует владельцев программатора PICKit 2, появилось приложение для восстановления калибровочной константы для PIC16F630/676, читать тут.
С целью оказания помощи тем, кто потерял константу и хочет ее восстановить, оставляйте в комментариях тип МК и константу.
Для прошивки можно использовать бесплатную программу, наверное самая популярная - icprog, версия последняя 1,6В.
Настраивается программа индивидуально к каждому программатору в отдельности!
Читайте также: