Внутрисхемный lpt программатор для avr. Начинающим › Простой программатор для параллельного порта (LPT)


Прошивка микроконтроллера - это запись в его постоянную память заданной программы, которая представляет собой код в шеснадцатеричной системе счисления (файл с расширением hex). Прошивка происходит с помощью специального устройства - программатора. Они отличаются по способу подключения к персональному компьютеру, например через USB, LTP,COM интерфейсы.

Микроконтроллеров AVR для программирования имеют пять контактов: MOSI - предназначен для приема данных; MOSO - для вывода данных; SCK - вывод синхроимпульсов; RESET просто сброс и общий провод.


Подсоединим эти пять контактов через токоограничивающие резисторы к параллельному LPT порту компьютера и получим самый простой LPT программатор микроконтроллеров семейства AVR.

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

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


Для прошивки микроконтроллера Atmega8 программатора необходимо использовать любую из рассмотренных схем выше для LPT.

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

В идеале у нас должен получится такой USB программатор


Остается лишь записать программу в память микроконтроллера, для этого лучше всего использовать утилиты Uniprof и Code Vision AVR.

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

Если вы решили использовать программу Uniprof необходимо задать следующие фьюзы.


По окончанию прошивки микроконтроллера Atmega8, переключаем тумблер SA2 в НОРМ, и подключаем программатор к USB . Компьютер должен найти устройство. После этого обязательно устанавливаем драйвер из архива. По завершению установки драйвера для программатора, он полностью готов к работе.

Программатор способен работать со следующими оболочками AVR Prog, AVR Studio, ChipBlasterAVR и, одна из самых удобных, Code Vision AVR.

Вот схема самого простого, и в тоже время 100% рабочего программатора для AVR микроконтроллеров. Эта схема определяется софтом как ATMEL “STK200/STK300” Что позволяет использовать его совместно с софтом, поддерживающим данный вид программатора, например CodeVisionAVR, Pony-Prog или AVReal.

Схема программатора.

Этот программатор проверен лично мною с CodeVisionAVR.

Вот более сложный программатор для программирования AVR микроконтроллеров, фирмы ATMEL. В нём применена микросхема - буфер, для защиты прота микроконтроллера от повреждений. Данный адаптер аналогично подключается к LPT порту компьютера.

Технические характеристики программатора:
Подключение к порту: LPT
Напряжение питания: 5 В
Потребляемый ток: 10 мА
Схема программатора:

Вниамние! Если программируемый МК будет питаться внешним источником питания то объязательно надо соеденить минус компьютера (25 ножка LPT порта) с минусом микроконтроллера.

Программатор и МК питаются от ПК, тем самым обеспечивается стабильное питание программатора и программируемого МК. Длина соединительных кабелей не должна превышать 20 см. Устройство собрано на микросхеме буфера U1 SN74HC244 которая сейчас достаточно легкодоступна. Программатор подключается к выводам MOSI, MISO, XTAL1, RESET, SCK, VCC, GND программируемого МК. Правильно собранному адаптеру не требуется настройка.

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

Для прошивки микроконтроллера данным адаптером, нужно использовать софт совместимый с программатором ATMEL “STK200/STK300” , например Pony-Prog или AVReal. Но мы используем программатор, который встроен в CodeVisionAVR. Ну что ж, от слов к делу...

Для начала вам нужен сам CodeVisionAVR. Думаю с установкой и запуском проблем возникнуть не должно...

И так. Запускаем CodeVision потом переходим в меню Settings > Programmer в появившемся окошке выбираем программатор Kanda Systems STK200+/300 и номер LPT порта. Обычно это LPT1: 378h .

Потом идём в Tools > Chip Programmer В появившемся окошке перейдите в меню File > Load FLASH . Выберите тип файла Intel HEX files (*.hex) потом укажите путь к файлу прошивки.

Если в устройстве вы хотите использовать внешний кварцевый резонатор то вам придется запрограммировать фьюз. Например если вам нужен кварц от 3 до 8 мГц, то фьюзы должны быть запрограммированы вот так:

Для того чтобы прошить МК и фьюзы, надо нажать на кнопку Program ALL.


26.04.2014
sPlan - удобный инструмент для черчения электронных схем. Имеет простой и интуитивно понятный интерфейс. В программе заложены...

Очень удобная программа для чтения pdf Foxit Reader
26.04.2014
Foxit Reader - Компактная и шустрая программа для чтения PDF файлов. Может служить альтернативой для популярного просмотрщика PDF - Adobe Reader....


22.04.2014
Proteus VSM - программа-симулятор микроконтроллерных устройств. Поддерживает МК: PIC, 8051, AVR, HC11, ARM7/LPC2000 и другие распространенные процессоры....


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

Proteus 7.7 SP2 + Crack v1.0.2 + RUS
22.04.2014
Proteus VSM - программа-симулятор микроконтроллерных устройств. Поддерживает МК: PIC, 8051, AVR, HC11, ARM7/LPC2000 и другие распространенные процессоры....

Splan 7.0.0.9 Rus + Portable + Viewer Fiinal
26.04.2014
sPlan - удобный инструмент для черчения электронных схем. Имеет простой и интуитивно понятный интерфейс. В программе заложены...

Цифровая паяльная станция своими руками (ATmega8, C)
27.05.2012
Состав: ATmega8, LM358, IRFZ44, 7805, мост, 13 резисторов, один потенциометр, 2 электролита, 4 конденсатора, трехразрядный светодиодный семисегментный...

Тахометр на AVR микроконтроллере (ATtiny2313, C)
13.01.2010
Данное устройство представляет собой неплохой тахометр, предел его измерений составляет 100 - 9990 об/мин. Точность измерения - ± 3 об/мин....

Эта статья – подробная инструкция как запрограммировать AVR микроконтроллер при помощи LPT программатора и программы UniРrof.

Сначала обязательно прочитайте , многое станет понятней.
Скачайте программу UniРrof .
- Программатор для AVR. Смотрим avr.nikolaew.org

нажимаем «ОК» (в следующий раз устанавливать не придется – программа запомнит установки). Все — программатор «прописан».

2 Подключаем программатор к LPT порту.

3 Подключаем программатор к плате микроконтроллера, подаем питание на микроконтроллер.

4 Запускаем UniРrof (если уже не запущен), выбираем в поле LPT порт. Синим должно отобразиться . Для проверки надежности связи тыкаем несколько раз в . Если на каком либо этапе выпадает , то связь ненадежна – ставим галочку — и проверяем заново.

5 Нажимаем кнопку загрузить , выбираем нужный . В окошке появятся цифры – наша программа.


P.S. Нужно прошить кроме Flash еще и EEPROM?
Все просто! Сначала ставим галочку EEPROM — появится окошко EEPROM (Галочку «тормоз» нужно поставить до этого!). Далее открываем HEX-файл, автоматически программа найдет и загрузит EEP-файл (заполнятся данными оба окошка PROGRAM и EEPROM). Если юнипроф сам не определил EEP-файл откроется диалог выбора файла. Далее действуем как описано выше. При нажатии кнопки «Prog» программируется и Flash и EEPROM. Вот и все!

(Visited 20 158 times, 6 visits today)

Раздел: Метки: ,

Навигация по записям

027-UniProf-программируем AVR через LPT порт. : 47 комментариев

  1. alexandershahbazov

    Почему-то с миросхемой SN74HC244N не пошло, а с 5 проводками пошло.
    Пишет «МК не откликнулся …» . Только кнопка «Read» заработала. И очень долго шло.
    Правда отладочная плата моя на ATmega8 .
    С обеими программаторами у меня все идет без запинок на CodeVisionAVR и
    avrdude 5.8 .

    Повторюсь, что с 5 проводками работает.


  2. GetChiper Автор записи

    Пробовали ставить галочку «Тормоз»?
    Не нужно привязываться к UniProf. Программа имеет определенные недостатки. Основное ее достоинство — с ней легко начать работать, даже если до этого Вы никогда не прошивали контроллеры. Неизбежно Вы будете расти в профессиональном плане — поменяете программатор, поменяются и программы.
    Avrdude — очень хорошая альтернатива — пользуйтесь ею!

  3. alexandershahbazov

    «027-UniProf – программируем AVR через LPT порт» прочитал внимательно,
    галочку «Тормоз» ставил.
    avrdude 5.8 попробовал одновременно с UniProf и PonyProg v207c .
    Коммандная строка непривычна для меня, хотя свой самый первый светодиод зажег именно с помощью avrdude на Linux-e RHEL 4 AS .

  4. ec

    аха, с буфером не работает, по всей видимости, потому что юнипроф не дружит с STK, для котором на лпт-разъеме замыкаются 3-11 и 2-12 выводы.
    Зато у понипрог есть файл автоматизации — чудная вещь, если не хочется думать, какие куда ставить фьюзы и быстро прошить.


  5. GetChiper Автор записи

    Ну вот — еще плюс в копилку Юнипрофа. Но вот над помехоустойчивостью я бы, на месте автора программы, поработал. Хотя, если скорость не критична, режим «тормоз» решает все проблемы.

  6. ankar

    А мне он просто нравится тем, что не надо выбирать кристалл.Если не видит ищи косяк.В поньке записываешь, а только потом понимаешь, что потратил даром время. Не, если надо с кучей процов работать, то, конечно, берешь другой побыстрее. А если 1 или там 5 штук, то, для меня Унька (спасибо Николаеву) самое то. Кстати на своем аттлоне ХР3 2.2 гига ни разу не ставил «тормоз».LPT кабель длиной 1.5 метра. Безо всяких наворотов.

  7. Николай

    Успешно прошил ATmegu8 через LPT, но вот второй раз прошить не удаётся, программка пишит «МК неоткликнулся». Пожалуйста, подскажите, что нужно сделать чтоб прошить второй раз! кнопку рессет, на плату не вводил.


  8. GetChiper Автор записи

    А фьюзы шили?

  9. Николай

    Фьюзы шил, по инструкции. Везде понажимал Read, а затем Write. Сам галочки не менял. Контроллер работает, светодиод моргает по прошитому hex, но программа не находит его.

  10. Николай

    Проблема решена! Фьюзы в порядке. Проблема в некачественной пайке, оторвался MOSI на плате. Паяйте добротно и не спеша 🙂 !!!


  11. GetChiper Автор записи

    Слушайте Николая — дело говорит! 🙂

  12. NikAndrew

    А когда фиюзы прописываеш отмеченные галочной 0 или 1?

  13. NikAndrew

    все разобрался 0 нет галочки, 1 есть галочка)

  14. zhenya1995

    Здраствуйте, у меня программатор 5 проводков, также у меня не стандартный LPT порт я его докупал к компьютеру, и у этого порта другой адрес (С880) подскажите пожайлуста программу где можно задать именно этот адрес или еще способ какой, чтобы запрограммировать?


  15. GetChiper Автор записи

    Разве винда его не видит?

  16. ankar
  17. Greider

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


  18. GetChiper Автор записи

Имеющиеся схемы программаторов можно разделить на две категории: подключаемые к LPT порту компьютера и подключаемые к COM порту, причём это разделение весьма условно. Преимуществом LPT программатора является его простота: в простейшем случае он выглядит как несколько проводков, соединяющих непосредственно выводы LPT порта и программируемого микроконтроллера, более сложная схема представляет собой шинный формирователь, через который осуществляется связь компьютера с микроконтроллером. Несмотря на недостатки первой схемы (на разных компьютерах она ведёт себя по-разному из-за разброса характеристик микросхем LPT портов, наводки в кабеле, необходимость отключать программатор от программируемой микросхемы после программирования) она может оказаться полезной при необходимости запрограммировать одну-две микросхемы.

При постоянной работе с микроконтроллерами следует воспользоваться более сложной схемой. Шинный формирователь позволяет не отключать программатор от микроконтроллера после программирования, т.к. программа переводит его выводы в Z-состояние по окончанию работы. Однако у программаторов, подключаемых к LPT порту есть и недостатки. Самый главный из них заключается в том, что программатор занимает обычно единственный доступный в компьютере порт, который, к тому же, в большинстве систем занят принтером, и приходиться либо покупать мультикарту или новый принтер, либо постоянно переключать принтер и программатор, что не очень удобно. От этого недостатка свободны схемы для COM порта. Также, как и в случае с LPT программаторами, существуют простые схемы и более сложные. В простейшем случае схема представляет собой преобразователи уровней RS232 в TTL и наоборот для отдельных сигналов, необходимых для ISP (у COM порта три линии входа и пять линий выхода, для IS программирования требуется три линии выхода (SCK, MOSI, Reset) и одна линия входа (MISO)). Схема более сложного программатора на COM порт состоит из микросхемы интерфейса RS-232 и микроконтроллера, преобразующего команды программы на PC в команды, понятные программируемой микросхемой. К тому же такое построение схемы позволяет практически неограниченно "наворачивать" схему, - можно поставить любое количество индикаторов для индикации режима программирования, можно подключить микроконтроллер к ОЗУ, чтобы программа для программируемой микросхемы сначала переписывалась в ОЗУ, а затем, независимо от работы PC, переписалась в программируемую микросхему, можно также сделать программатор с одной универсальной панелькой для всех программируемых микросхем, - всё зависит от программы управляющего микроконтроллера и фантазии разработчика.

Программаторы можно разделить и по типу подключения к программируемой микросхеме: либо она вставляется в панельку программатора, либо программирование осуществляется внутрисхемно (с помощью специального разъёма, предусмотренного разработчиком устройства). Последний тип подключения очень удобен, но не все МК поддерживают такой режим программирования, к тому же при внутрисхемном программировании невозможно запрограммировать некоторые биты конфигурации и для их изменения следует воспользоваться параллельным программатором. Практически все МК Atmel поддерживают режим ISP, к тому же при повседневной работе с микроконтроллерами вполне достаточно внутрисхемного программатора.

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

Перед начинающими вопрос “а чем мы будем прошивать свой контроллер?” встает практически сразу. Эта проблема решается двумя путями - покупаем серийный программатор или собираем свой собственный. Естественно нецелесообразноприобретать какой либо из серийных программаторов на начальном этапе знакомства с микроконтроллерами. Самым простым решением будет так называемый программатор «пять проводков». Это вариант вполне подойдет для разового применения, но существует большая опасность, что рано или поздно ваш LPT - порт в компьютере сгорит. В качестве бюджетного и безопасного варианта программатора для параллельного порта мы используем более совершенную схему.

Представляем простой и безопасный программатор для параллельного порта. Схема программатора достаточно распространена в различных вариациях и основана на использовании микросхемы-буфера 74HC 244N . Буфер сохраняет ваш порт принтера в целости и сохранности. Дополнительно в схему включен резистор, задачей которого является защита от статического электричества.

Программатор совместим с Атмеловскими STK 200/300 и поддерживается многими популярными компиляторами. Весь небольшой набор деталей для его сборки достаточно распространен и не вызовет трудностей с приобретением. Печатная плата выполнена в одностороннем варианте с несколькими перемычками.

Для подключения программатора к компьютеру удобно использовать кабель - удлинитель LPT -порта.

Схема в формате sPlan 6.0 и разводка платы в формате Sprint Layout 4.0 под ЛУТ вы можете скачать ниже.