ПРОГРАММАТОР AT89C2051 ДЛЯ IBM PC

     На рис.1 показан программатор, который объединил в себе наработки, опробованные при проектировании программаторов микроконтроллера АТ89С2051 (далее МК) для 8-, 16- и 32-разрядных персональных компьютеров (РС).
     При использовании программатора, отлаженного для одного РС, приходилось вводить корректировки в программное обеспечение для адаптации к конкретному быстродействию другого компьютера. Программа для предложенного устройства - самонастраивающаяся и обеспечивает необходимые временные задержки выполняемых операций.
     Подпрограмма программирования минимизирована за счет полного пропуска режима проверки (верификации), что не соответствует рекомендациям фирмы ATMEL, но реально возможно. Подпрограмма чтения использует способ, как в [1] и [2], который фирмой ATMEL не оговорен.
     Непосредственное соединение МК с РС не обеспечивает необходимого согласования для возможности чтения содержимого памяти МК с материнской платы (с Integrated Peripherals), т.к. уровень логического нуля слишком большой (1,6 В), зато программа и устройство работоспособны практически на любом IBM РС с частотой процессора от 30 Мгц и выше. На медленном РС при запуске программы время до появления меню затянется (больше минуты ).
     Отладка программатора выполнялась на РС с процессором АМД, работающем на частоте 1659 МГц. Стирание и запись выполняются безукоризненно. Контрольного чтения 2-х , 3-х ячеек Flash-памяти вполне достаточно для проверки правильности выполнения операций.
     Чтение после выбора соответствующей подпрограммы выполняется из ячейки 0 Flash-памяти тестером или светодиодным индикатором на выводах 12-19 МК, что соответствует битам 0-7 в двоичной системе. Если к каждому выводу 12-19 панельки XS2 подсоединить два последовательно включенные светодиода и резистор 1 Ком, а последний соединить с общим проводом, то можно обеспечить индикацию всего байта при чтении. Переход на ячейку 1 происходит после нажатия клавиши F5, при этом листинг программы исчезает, и на секунду в левом верхнем углу экрана выводится номер ячейки МК, состояние которой можно опять проверить, и т.д. В любой момент можно выйти из подпрограммы чтения, для этого после нажатия клавиши F5 сразу (не позже чем через 1 с) необходимо нажать клавишу "Пробел".
     Стирание, программирование и ввод данных необходимо выполнять, следуя подсказкам меню. Положение выключателей SA1 и SA2 указано для программирования и чтения, противоположное - для стирания. Неправильное положение выключателей для соответствующей подпрограммы приведет только к отсутствию результата работы выбранной подпрограммы.
     Если будет программироваться не вся Flash-память, ввод данных можно прервать. Для этого после "Enter" не позже чем через 1 с необходимо нажать клавишу "Пробел".
     При изготовлении программатора использован стандартный кабель для принтера с 25- контактным и 36-контактным разъемами. Последний перепаян на 15-контактный разъем (двухрядный). При подключении программатора не имеет значения, работает РС или он выключен, установлен МК в панельку или нет. При стирании и записи необходимо подключать и отключать питание (12 В) согласно комментариям при выполнении программы.
     Язык программирования - QBASIC, файл qbasic.exe операционной системы MS-DOS 6.22. Раньше я использовал GW-BASIC 3.23, который имеет в три раза большее быстродействие, но для современных РС это не принципиально. QBASIC имеет существенные преимущества для делающих первые шаги в программировании - запуск, сохранение, редактирование программ и другие операции выполняются из меню. Правда вывод на печать из меню для современных принтеров не работает, зато Word читает файлы с расширением bas и отлаженный файл программы можно распечатать.
     В программе использованы 16-ричные адреса 378 и 37А порта ввода-вывода LPT1. В BIOS необходимо проверить установку адреса 378.
     Под управлением Windows XP из командной строки или Far QBASIC не обеспечивает вывод данных на LPT1, хотя остальные части программы работают правильно. Решает проблему загрузочная дискета, которая обеспечивает работу QBASIC минуя Windows. В Windows XP (версия 5.1.2600) создается загрузочная дискета под Windows Millennium. Опробовалась работа и через загрузочную дискету с MS-DOS 6.22. Скорость выполнения операций оказалась идентичной, но не поддерживалось чтение жесткого диска.
     Плата имеет габариты 40х50 мм. Монтаж выполнен эмалированным проводом диаметром 0,49 мм. Внешний вид платы показан на рис.2.
     Для тех, кто еще не имеет навыков написания программ для МК, могу порекомендовать сделать елку-сувенир [2], для чего не требуется знание системы команд AT89C2051.

Литература
1. Василенко В. "Читалка" ПЗУ микроконтроллера АТ89С2051. - Радиомир, 2004, №8, С.19.
2. Мельник В. Елка-сувенир на микроконтроллере… без программы. - Радио, 2004, №11, С.36, 37.
3. AT89C2051. 8-Bit Microcontroller with 2 Kbites Flash. - ATMEL .


Besucherzahler most beautiful Russian and Ukrainian brides
счетчик посещений
META - Украина. 
Украинская поисковая система
Hosted by uCoz