Программатор at89c52 своими руками

Программатор для микроконтроллеров AT89C51/52/55

Программатор подключается к последовательному порту компьютера. При управлении программатором используются только стандартные функции Windows API, поэтому программа должна работать под всеми версиями Windows. Я проверял под Windows 98. Если у вас что-то не работает, то пишите, буду дорабатывать.

Основу программатора составляет микроконтроллер AT90S4414. Почему такой дорогой, спросите Вы? Да, можно было использовать контроллер AT89C51. Но если вы только еще собрались делать программатор, т.е. у вас его нет, то чем вы прошьете контроллер для программатора? AT90S4414 дороже, но имеет возможность программирования по последовательной шине SPI. Программатор для такой шины состоит из 3-х резисторов, 3-х конденсаторов и кварца и подключается к параллельному порту. Я использовал программатор SP12 c сайта http://www.xs4all.nl/

sbolt/e-spider_prog.html. Там вы сможете найти схему подключения к порту LPT и программное обеспечение под различные операционные системы: DOS/WINDOWS, LINUX и даже WINDOWS 2000! Кстати, там вы сможете найти программатор и для контроллеров, совместимых с семейством MSC-51 и имеющих интерфейс SPI: AT89S8252, AT89S53.

Для более дешевого варианта преобразователь уровней COM-порта в ТТЛ и обратно выполнен на дискретных элементах, хотя можно было использовать готовые микросхемы типа DS275, MAX232, но их нужно сначала найти и купить. А два транзистора и пяток резисторов с конденсатором можно найти всегда. Правда, такой вариант имеет недостаток: уровень логического «0», передаваемого контроллером, будет не +12 в, а всего +5 в. Но стандарт последовательного порта предполагает уровень логического «0» +3. +12В, так что +5 соответствует стандарту. Эту схему преобразователя я придумал не сам, а нашел на сайте ATMEL www.atmel.com. Там эта схема используется в программаторе для микроконтроллеров семейства AVR. Там же сообщается о том, что старые платы ввода-вывода могут не работать при таком малом уровне напряжения.

Ниже вы можете скачать прошивку для контроллера AT90S4414 в форматах ROM и HEX (SP12 понимает оба этих формата), управляющую программу, иструкцию по сборке и проверке программатора. Управляющая программа имеет подробный Help.

Источник

Радиосхемы Схемы электрические принципиальные

Мы в социальных сетях

Главное меню

Реклама на сайте

Схемы программаторов

Параллельный программатор для микроконтроллеров АТ89С51, АТ89С52

С. РЮМИК, г. Чернигов, Украина
Широкими возможностями при сравнительной дешевизне внимание радиолюбителей привлекают MSC-51 -совместимые микроконтроллеры фирмы Atmel серии АТ89С с параллельным интерфейсом программирования. К сожалению, многие распро­страненные сегодня программаторы для них непригодны. Нужен специализированный. Автору предлагаемой статьи удалось из­готовить такой по рекомендациям фирмы Atmel, но на элемент­ной базе, выпускаемой предприятиями СНГ.

Основная проблема при разработке самодельного программатора — знать и точно соблюдать алгоритмы программирования микроконтролле­ров. Многих неожиданностей удается избежать, воспользовавшись схемами и программным обеспечением, публи­куемыми фирмами-разработчиками микросхем.
Для загрузки программных кодов в микроконтроллеры АТ89С51, АТ89С52, АТ89С1051, АТ89С2051, AT89S8252 фирма Atmel рекомендует устройство, описанное в [1]. Его относительная сложность (семь цифровых и две ана­логовые микросхемы) и скромное про­грамное обеспечение, работающее под DOS, с лихвой окупаются надежнос­тью программирования с соблюдением всех фирменных алгоритмов.
На рис. 1 приведена схема про­грамматора, отличающегося от «фир­менного» в основном элементной ба­зой. Запись в регистры DD2—DD5 ин­формации, поступающей от компьюте­ра по линиям DATA1—DATA8, происхо­дит по спадам импульсов отрицатель­ной полярности на входах С, поступаю­щих от дешифратора DD1. В регистре DD3 и части регистра DD4 хранят 13-разрядный адрес ячейки внутренней памяти микроконтроллера, в DD5 — байт данных, предназначенных для за­писи в эту ячейку, в DD2 и свободных от адреса разрядах DD4 — коды управле­ния. Цепь R13C1 при включении пита­ния приводит регистр DD2 в исходное состояние, предотвращая случайное искажение содержимого памяти про­граммируемого микроконтроллера.
Шинный формирователь DD6 служит для передачи данных с выходов микро­контроллера на линии DATA1—DATA8. Выходы микросхемы DD6 не должны быть активными, когда LPT-порт рабо­тает «на вывод». Это учтено в програм­ме, формирующей разрешающие сиг­налы на управляющих входах микро­схем.
Резисторы R1—R12 уменьшают «звон», сопровождающий перепады сигналов на линиях LPT-порта и защи­щают его от перегрузок. Когда выходы элементов компьютера, подключенные к линиям порта, и выходы некоторых элементов программатора, в том числе самой программируемой микросхемы, находятся в высокоимпедансном со­стоянии, резисторы наборов DR1—DR3 поддерживают в соответствующих це­пях высокий логический уровень.

Читайте также:  Маленький сабвуфер для дома своими руками

Программируемые микросхемы ус­танавливают в одну из двух панелей: АТ89С1051, АТ89С2051. АТ89С4051 в корпусе DIP-20 — в XS1; АТ89С51 и другие в корпусе DIP-40 — в XS2. Кварцевый резонатор ZQ1 частотой 6 МГц с конденсаторами С4 и С5 необ­ходим, чтобы во время программирова­ния работал внутренний тактовый гене­ратор микроконтроллера, установлен­ного в панель XS2. Тем, которые уста­навливают в панель XS1, резонатор не требуется. На контакт 5 этой панели по­ступают тактовые импульсы, сформи­рованные программно.

Питающее напряжение на разъем Х1 программатора подают от внешнего ис­точника. Им может быть, например, се­тевой адаптер видеоприставки «SEGA Mega Drive-H». Хотя при номинальной нагрузке (1 А) его выходное напряже­ние не превышает 11 В, при токе 70. 90 мА, потребляемом программа­тором, оно возрастает до 14. ..15 В.
Напряжение 5 В для питания микро­схем (в том числе программируемой) получают с помощью интегрального стабилизатора DA1. Напряжение на вы­ходе стабилизатора DA2 при низком ло­гическом уровне на выводе 18 шинного формирователя DD7 — 12 В. Точное значение устанавливают подстроечным резистором R21. При высоком логичес­ком уровне на выводе 18 открывшийся транзистор VT2 подключает параллель­но R21 еще один подстроечный резис­тор R19, что уменьшает выходное на­пряжение стабилизатора DA2 до 5 В.
Скорость нарастания напряжения на выходе стабилизатора после смены вы­сокого уровня на выводе 18 DD7 низким зависит от емкости конденсатора С14. При слишком большой его емкости и высокой скорости работы управляю­щего компьютера несколько младших ячеек FLASH-памяти микроконтроллера могут оказаться запрограммированны­ми с ошибками.

Выходное напряжение стабилизато­ра DA2 поступает на вывод 31 (EA/VPP) панели XS2 непосредственно, а на вы­вод 1 панели XS1 (RST/VPP) — через ключ на транзисторе VT1. При напряже­нии 12В ключ открыт независимо от ло­гического уровня на выводе 16 регист­ра DD2, а при 5 В — только в случае, ес­ли этот уровень низкий.

Читайте также:  Катушка для разматывания кабеля своими руками

Пониженная яркость свечения светодиода HL2 свидетельствует о напря­жении 5 В на выходе DA2 и о том, что программируемая микросхема находится в режиме считывания кодов из ее памяти. В режиме стирания и записи в память напряжение возрастает до 12 В, яркость светодиода заметно уве­личивается. Это справедливо для всех микроконтроллеров, кроме тех, которым напряжение 12 В не требуется.
При программировании двадцати водных микроконтроллеров 6yдет включен и светодиод HL1.

Вилку Х2 программатора соединить— с розеткой LPT-порта IBM-совместими»-го компьютера кабелем длиной до 2 м.
В компьютере должен быть включен расширенный режим работы LPT-nope (ЕСР/ЕРР). В современных системных блоках он действует по умолчанию, если это не так, режим порта можно изме­нить, запустив при начальной загрузке компьютера программу BIOS SELECT (пункты меню «Integrated Peripherals»— «Parallel Port Mode»).

ДЕТАЛИ И КОНСТРУКЦИЯ ПРОГРАММАТОРА

Программатор собран на двусторонней печатной плате размером 140×140 мм.
Стабилизатор DA1 устанавливают на теплоотвод площадью не ме­нее 20 см2.
Можно собрать программатор и на макетной плате навесным монтажом. Учтите, что конденсаторы С-и кварцевый резонатор ZQ1 должны быть расположены как можно ближе к контактам 18, 19 панели XS2.
Свободные входы микросхем DD1 (выв 13—15), DD2 (вывод 8) и DD7 (выв 15, 17) необходимо соединить с их «общим» выводом или выводом питание повысит помехоустойчивость прибора .
Все цифровые микросхемы можно заменять их функциональными аналогами серий К555, КР1533 или импортными, воспользовавшись, например: рекомендациями [2]. Транзисторы . VT2 — любые маломощные соответст­вующей структуры, желательно с мини­мальным падением напряжения на участке коллектор—эмиттер открытого транзистора.
Подстроечные резисторы R21 — СПЗ-19А. Наборы резисторов DR1—DR3 — НР1-4-9М могут быть заменены на НР1-4-8М, на зарубежные-серии 9А или на соответствующее чис­ло обычных малогабаритных резисторов указанных на схеме номиналов, резисторы R1—R12 можно разместить внутри корпуса вилки Х2.

Панели XS1 и XS2 должны выдерживать многократную установку и изъятие микросхем. Лучше всего применить ZIF-панели (с нулевым усилием установки), предназначенные для миросхем с расстоянием между рядами 7,5 мм (XS1) и 15mm(XS2). Годятся и универсальные панели, допускающие установку как «узких», так и «широких» микросхем.

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

НАЛАЖИВАНИЕ

Первое включение программатора производят, не соединяя его с компьютером и без программируемой микросх­емы. Прежде всего, проверяют наличе напряжения 13,5. 15,5 В на входе 5=0,1 В на выходе стабилизаторов ZA1, DA2.
В последнем случае нужное значение устанавливают подстроечным :резистором R19.
При соединении между собой выводами 1 и 10 микросхемы DD6 напряжение на выводах 3, 5, 7, 9, 12, 14, 16, 18 должно уменьшаться с 5 до 3. 4 В. Если это не так, то значит имеются ошибки в монтаже или микросхема DD6 неисправна.

Читайте также:  Красивые простые банты своими руками

Для дальнейшей проверки соединяют программатор с компьютером. Сигналы на линиях LPT-порта при работе програм­матора выглядят на экране осциллографа довольно хаотично, судить по их форме об исправности устройства сложно. Реко­мендуется запустить тестовую програм­му atmeltst.exe , имеющуюся на FTP-cep-вере журнала (адрес указан в конце ста­тьи).

В ответ на появившийся на экране запрос введите номер LPT-порта, к ко­торому подключен программатор (1 или 2), после чего экран монитора примет вид, показанный на рис. 2.
Программа предоставляет доступ к любому из четырех регистров DD2—DD5, позволяя записывать в них любые восьмиразрядные двоичные коды. Ре­комендуемую последовательность дей­ствий подскажет текст в нижней части экрана. Например, для проверки про­хождения кодов управления следует выбрать на экране строку «Тест сигна­лов F3, СО—С2» и проверить с помощью осциллографа или вольтметра логичес­кие уровни на выходах микросхемы DD2. Все они должны быть низкими и сменяться высокими при нажатии со­ответствующих клавиш F1—F8.
Манипулируя состоянием разрядов, проверяют прохождение сигналов по це­пям программатора в соответствии с егосхемой. Например, низкому уровню на выводе 19 DD2 (старший разряд регист­ра) должны соответствовать высокий уровень на выводе 18 DD7 и напряжение 5 В на выходе стабилизатора DA2. После нажатия клавиши F8 напряжение должно увеличиться до 12 В и одновременно возрасти яркость свечения светодиода HL2. После повторного нажатия клавиши F8 напряжение и яркость должны вер­нуться к прежним значениям.
Аналогичным образом проверяют другие регистры и соединенные с их вы­ходами цепи.

ПРОГРАММИРОВАНИЕ

Бесплатно распространяемый пакет программ обслуживания программато­ра фирмы Atmel можно найти на ее сай­те по адресу

Входящие в пакет про­граммы пригодны для управления как «фирменным», так и предлагаемым программаторами. Однако лучше вос­пользоваться русифицированной про­граммой at89.exe. размещенной на FTP-сервере журнала. С ее помощью можно программировать все микро­контроллеры серии АТ89 с параллель­ным интерфейсом, в том числе АТ89С4051, АТ89С55, AT89S51, AT89S52, AT89S53, «не охваченные» фирменным пакетом. Программа автоматически опреде­ляет тип установленного в одну из па­нелей микроконтроллера, анализируя для этого его сигнатуру — два или три байта, специально записанные в по­стоянной памяти. Перечень сигнатур микроконтроллеров семейства АТ89 приведен в таблице. Если все байты сигнатуры равны OFFH, отсутствует в панели или неисправен микроконт­роллер, а возможно — не включено пи­тание программатора. такой режим в свойствах файла. Иначе программирование микросхем придет­ся повторять по три-четыре раза под­ряд, пока не прекратятся сообщения об ошибках верификации. Весь процесс программирования за­нимает не более одной-двух минут, а собственно загрузка FLASH-памяти — максимум 10. 15 с. Команды, список которых выведен на экран монитора, подают, нажимая клавиши с буквами ла­тинского алфавита. Регистр (верхний или нижний) не имеет значения.

Источник

Оцените статью
Своими руками