9zip.ru - технологии для людей
9zip.ru Радиотехника, электроника и схемы своими руками Программатор для микроконтроллера AT89C2051

На сегодняшний день микроконтроллер AT89C2051 является устаревшим и его применение оправданно лишь в том случае, если их имеется определённое количество и под них имеются готовые проекты. Буква "C" в марке микроконтроллера говорит о том, что он поддерживает только параллельное программирование и поэтому использование последовательного программатора здесь невозможно.

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

Рассматриваемый здесь программатор является средним между первыми и вторыми. Он достаточно прост для повторения - содержит всего одну микросхему, и, тем не менее, обладает полным функционалом: чтение, очистка и программирование 89C2051.

Программатор является усовершенствованием программатора TAFE и лишён его недостатков. К сожалению, он также лишён и совместимости с оригиналом, поэтому для него существует специальная программа, работающая под DOS.

Коротко об источниках информации. Оригинальный программатор TAFE переделал Sergio Salvitti из Италии:

http://www.salvitti.it/geo/prog2051/index.htm

Его разработка была повторена нашим соотечественником wierus:

http://wierus.livejournal.com/1861.html

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

Итак, вот схема программатора (нажмите для увеличения):

Схема параллельного программатора AT89C2051


Возможные замены деталей обозначены красным шрифтом. В качестве npn-транзисторов вместо 2N2222 подходят наши КТ3102. В качестве pnp для замены 2N2907, возможно, подойдёт КТ3107, но он может оказаться слабоват по току и эта замена не проверялась. Обратите внимание на разницу цоколёвок транзисторов:

Цоколёвка 2N2222 и 2N2907Цоколёвка КТ3102 и КТ3107

Микросхему 74HC174 можно заменить на ТТЛ ТМ9 любой быстродействующей серии.

Микросхема U2 формирует два напряжения: +5В и +12.5В, а их переключение выполняется транзистором Q1. Напряжение +5В задаётся резистором R2, а +12.5В - резистором R4. В оригинальной схеме автор использовал расчётные значения сопротивлений по стандартной формуле для LM317 и найти такие резисторы может быть затруднительно. Поэтому можно либо заменить их подстроечными резисторами и выставить напряжения по вольтметру, либо подобрать максимально близкие постоянные резисторы.

Печатная плата рассчитана на установку разъёма DB-25M (со штырьками). Однако, это может быть неудобно, если нет удлинителя LPT-порта. Поэтому разъём можно подключить плоским шлейфом. При печати на принтере печатной платы установите высоту изображения равную двум дюймам.

Расположение элементов

Программатор 89C2051

Коротко о работе с программой. Все сообщения в ней выводятся на итальянском языке, но интерфейс очень простой. При запуске программа попросит Вас указать LPT-порт, 1 или 2. Для портов в BIOS должны быть установлены следующие значения:

LPT1: адрес 378h, IRQ 7;
LPT2: адрес 278h, IRQ 5;

Режим работы порта должен быть двунаправленным (Bi-directional).

После указания порта (нажатие клавиш 1 или 2) программа предложит порядок действий:

1. питание программатора должно быть выключено
2. установите микроконтроллер в панельку
3. включите питание
4. нажмите любую клавишу

Затем появится меню функций. Выбор функции осуществляется вводом буквы:

X - очистить микроконтроллер
R - прочитать содержимое МК в буфер
L - загрузить файл прошивки в буфер
D - вывести дамп памяти
Z - очистить буфер
P - записать содержимое буфера в МК
V - проверить запись (верификация)
S - сохранить содержимое буфера в файл
B - проверить, очищен ли МК
J - прочитать ID микроконтроллера (для AT89C2051 должны быть значения 1E 21)
M - записать первый Lock Bit
N - записать второй Lock Bit
X - выход из программы

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

Как уже упоминалось, программа предназначена для работы в DOS и не будет работать из Windows и режима эмуляции DOS, поэтому можно загрузиться в DOS с дискеты или флешки. Для этого может помочь программа UNetbootin:

http://unetbootin.sourceforge.net/

Она позволяет скачать нужную операционную систему прямо из интернета и установить её на нужный носитель (например, флешку).

Проверенным вариантом является использование программы Rufus, предназначенной для аналогичных целей:

http://rufus.akeo.ie/

Чтобы проверить работоспособность микроконтроллера AT89C2051, можно воспользоваться следующей тестовой прошивкой, которая попеременно меняет логические уровни на всех пинах МК:

2051.bin

Светодиод должен быть подключен своим плюсом к плюсу питания, а минус через резистор можно соединять с любым пином МК кроме ресета и кварца. Программа написана под кварц 8МГц, но можно ставить практически любой другой, это отразится лишь на интервале между изменениями уровней. Для проверки удобно использовать макетную плату.

09.03.2012 © 9zip.ru
Авторские права охраняет Роскомнадзор

Понравилась статья? Похвастайся друзьям:

Хочешь почитать ещё про схемы своими руками? Вот что наиболее популярно на этой неделе:
Регулируемый блок питания из блока питания компьютера ATX
Практика переделки компьютерных блоков питания в регулируемые лабораторные
Схемы, устройство и работа энергосберегающих ламп
Товарищ Смирнов одобряет.

Есть вопросы, комментарии? Напиши:

Имя
Комментарий
Длина текста:
число с картинки
Правила прочитал(а)

LA10 апр 2016 19:43
Нужно проверить микросхему заменой.

Николай10 апр 2016 16:12
Re: prog2051
Спасибо за статью.Прикоснулся только сейчас. Твоя прошивка проходит и работает, но она маленькая по объему памяти. Собрал, функции все работают, но программирует только до адреса 3C4, сравнение не проходит дальше,не пойму почему, посмотрел дамп записанной памяти действительно дальше одни FF. напряжение 12.1 В.Если сможешь, дай совет? Использую prog2051.exe. Может она у меня битая. Если можешь пришли свой вариант программы.

Владимир20 мар 2015 20:20
Спасибо за информацию в таком полном обьеме. У меня есть несколько штук микроконтроллеров 2051, а как запрограммировать не знал. Буду повторять вашу конструкцию. Спасибо! Когда соберу программатор постараюсь еще написать.

Ансаган07 сен 2013 21:29
Re: программатор для at89c2051
Спасибо автору за статью, у меня этих контроллеров за 30шт переваливает, да ещё их на работе много))) Буду юзать!

Алекс13 дек 2012 18:03
Хорошая микросхема AT89C2051 и хороший программатор, жаль что сравнительно немного проектов на этом микроконтроллере.

Oleg63m23 июл 2012 21:14
молодцы, полезная статья.
правда мк устарел немного

Гость20 мар 2012 11:38
Cerg, программатор может и хороший, да плату нужно делать двухстороннюю.

Cerg20 мар 2012 2:13
хороший программатор для AT89C2051 под XP
http://robotechnics-life.ru/publ/mikrokontrollery/lptboom_prostoj_adapter_dlja_programmirovanija_mikroskhem/2-1-0-18

Пользовательские теги: программатор своим рукам at89c2051 программатор [ Что это? ]

Дальше в разделе радиотехника, электроника и схемы своими руками: Понижающий преобразователь на MC34063 для мобильного телефона, импульсный преобразователь для питания мобильного телефона от свинцово-гелевого аккумулятора или практически любого другого источника

Главная 9zip.ru База знаний радиолюбителя Контакты

Девять кучек хлама:

Радиотехника, электроника и схемы своими руками Ремонт домашней электроники Виртуальный музей старых радиодеталей XX века Ламповый звук hi-end и винтажная электроника Катушки Теслы Радиодетали и модули с Aliexpress Интернет и сети Сотовые операторы Инструкции



Дайджест
радиосхем
Новые схемы интернета - в одном месте!

Конкурс
для всех
Участвуй в новом конкурсе для радиолюбителей в ноябре-декабре 2016 и получай призы!



Гостевушечка


Сколько тебе лет?
Попытаемся составить портрет современного радиолюбителя...

Голосование запущено 07 ноября 2016, приняло участие 213 человек.