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
В результате сборки он выявил некоторые ошибки и неточности, внёс эти изменения на схему и рисунок расположения деталей на плате. Эти изменённые варианты мы и предлагаем ниже.
Итак, вот схема программатора (нажмите для увеличения):
Возможные замены деталей обозначены красным шрифтом. В качестве npn-транзисторов вместо 2N2222 подходят наши КТ3102. В качестве pnp для замены 2N2907, возможно, подойдёт КТ3107, но он может оказаться слабоват по току и эта замена не проверялась.
Обратите внимание на разницу цоколёвок транзисторов:
Микросхему 74HC174 можно заменить на ТТЛ ТМ9 любой быстродействующей серии.
Микросхема U2 формирует два напряжения: +5В и +12.5В, а их переключение выполняется транзистором Q1. Напряжение +5В задаётся резистором R2, а +12.5В - резистором R4. В оригинальной схеме автор использовал расчётные значения сопротивлений по стандартной формуле для LM317 и найти такие резисторы может быть затруднительно. Поэтому можно либо заменить их подстроечными резисторами и выставить напряжения по вольтметру, либо подобрать максимально близкие постоянные резисторы.
Печатная плата рассчитана на установку разъёма DB-25M (со штырьками). Однако, это может быть неудобно, если нет удлинителя LPT-порта. Поэтому разъём можно подключить плоским шлейфом. При печати на принтере печатной платы установите высоту изображения равную двум дюймам.
Коротко о работе с программой. Все сообщения в ней выводятся на итальянском языке, но интерфейс очень простой. При запуске программа попросит Вас указать 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МГц, но можно ставить практически любой другой, это отразится лишь на интервале между изменениями уровней. Для проверки удобно использовать
макетную плату.
18 нравится?
12 09.03.2012 ©
9zip.ru Авторские права охраняет Роскомнадзор
| Понравилась статья? Товарищ Смирнов говорит: поделись с друзьями! |
|
Хочешь почитать ещё про схемы своими руками? Вот что наиболее популярно на этой неделе:
А что должно было произойти с DOS и LPT в 2022 году? Перестать работать, поддерживаться, обновляться? А может быть их запретили?
А что там запускать? Он прекрасно работает.
Ребятки, кому ни будь удалось запустить этот программатор.
Или ткните где прочитать еще можно
Нужно проверить микросхему заменой.
Спасибо за информацию в таком полном обьеме. У меня есть несколько штук микроконтроллеров 2051, а как запрограммировать не знал. Буду повторять вашу конструкцию. Спасибо! Когда соберу программатор постараюсь еще написать.
Хорошая микросхема AT89C2051 и хороший программатор, жаль что сравнительно немного проектов на этом микроконтроллере.
молодцы, полезная статья.
правда мк устарел немного
Cerg, программатор может и хороший, да плату нужно делать двухстороннюю.
, Импульсный преобразователь для питания мобильного телефона от свинцово-гелевого аккумулятора или практически любого другого источника