Программатор AT89C2051/1051/4051

Наконец-то допинал свой программатор AT89C2051. Стопятисотый, зато в виде плагина к пинборду :)

Собрать требуется только несложный адаптер, надевающийся на пины МК на пинборде. Дополнительно требуется питание +12В от внешнего источника (впрочем, если придавить к земле пин PD6, то на PD7 появится сигнал F=31кГц D=60%, который можно использовать для построения step-up'а, при этом PD6 можно юзать для ON/OFF стабилизации). Я запитываю от ЛБП, подключенного на клеммник 5V пинборда. Главное — не посадить перемычку питания всей платы от этого источника :)
Адаптер на сейчас работает криво и подает 10В вместо 12, надо оптимизировать схему. Но пока и так работает.



Хотя на фотке целевой МК припаян — это только для надежности контакта при дебаге, вообще-то рассчитано на прикладывание МК к падам и прижимание зажимом для бумаги. Подробнее тут, второе видео, начиная с 6-й минуты. Лудить лучше в сплаве Розе, чтобы пады были плоские и микра не сваливалась (собственно, первые 6 минут того же видео). Под DIP корпус запаяна обычная панелька, только превращенная в «SMD» отгибанием ножек.

Перемычки на LED1 и LED2 опциональны — программатор ими иногда моргает. Не всегда, когда надо, правда) Перемычка на кнопку А не нужна — у меня это кнопка входа в бут (родной запарил тормозить 4 секунды перед запуском проги). А вот замкнуть переключатели UART надо. Питание — USBH, 5V.

Общается программатор через COM-порт, и вообще-то протокол разработан с прицелом на работу через терминалку (кратенькое описание в Protocol.txt), но потом мне взбрендило написать оболочку-программатор.



Архив документации в аттаче — прошивка (.hex и исходники на mikroPascal for AVR, компилировал в v. 4.60), плата адаптера (SLayout 5), оболочка с исходниками (Delphi 7). Опять быдлокод, да) На МК привычные паттерны оказались малоприменимы, со всеми вытекающими, а оболочку писал наскоро и лениво, так что она изобилует хардкодом и прочей дрянью.
Версия RC1. Оно работает, но без гарантий, так что кнопку Verify желательно юзать.

P.S. Ах да, совсем забыл. В прошивке есть калибровка генератора (автоматически М16 калибруется под 1МГц, а в пинборде 8МГц). Чтобы она работала — калибровочные байты надо прочитать программатором и зашить в последние 4 ячейкм EEPROM. Либо оставить их пустыми (0xFF) — иначе прошивка откалибрует генератор незнамо чем. Впрочем, еще можно закомментировать вызов CalibrateRC в коде (либо загнать туда константу от своего экземпляра меги хардкодом).
  • +2
  • 28 марта 2011, 06:39
  • Vga
  • 1
Файлы в топике: 2051ProgRC1.zip

Комментарии (4)

RSS свернуть / развернуть
про зажим для бумаги — это ты писал на главной ее?
0
Нет. Я там вообще не писал.
0
Хы опередил. Я все хочу прогу с АТ90S1200 портировать на мегу16 из atprog.boom.ru но все ленюсь. Тоже сделать адаптер к ПБ. А то свой программатор АТ89С51 кому то подарил, а самих контроллеров штук 10 дома еще валяется. Не пропадать же добру.
0
Хе-хе. А я даже прогу колупать не стал, писал свое с нуля. Но 89С51 он шить не будет. Там еще ебанутей интерфейс :) От этого-то офигел — почти все ноги задействованы, а там их 40 и тоже используются почти все.
Хотя в принципе, вполне можно и допилить. Разница только в задании адреса в флеше. Но у меня 89С51 нету, экспериментировать не на чем.
Мож кто докинет его в мусоровоз? ;)
P.S. А тот на проце с килобайтом флеша, круто. Моя прошивка уже 6кб весит :) То ли я сильно неоптимально пишу, то ли mP оптифизирует таки слабо, то ли просто наворотил излишне сложно.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.