Рис. 1
Программатор предназначен для программирования микроконтроллеров Atmel через интерфейс SPI (непосредственно в схеме).
Собран на коленке и второпях. Вероятно, что-то подобное можно было бы и обнаружить в сети. На сайте Atmel есть пример, но не совсем то, что было нужно мне. Возможно, уже проделанная и в целом тупая работа позволит сохранить кому-то один-два дня.
Программатор подключается к LPT-порту компьютера и обеспечивает гальваническую развязку. Линия RST для приведенной программы должна быть подключена непосредственно к линии RST микроконтроллера. Для использования в схемах сброса с инверсией RST в исходнике нужно проинвертировать разряд 0 при выводе в порт 37A (строки с комментарием { chip reset } и { /chip reset }). При использовании оптронов типа АОТ128 с буквами А или Б внешняя подгрузка RST должна быть минимальной — не менее 10...15 кОм от 5 В, иначе остаточное напряжение на оптроне превысит требуемое.
Соответствующие линии со стороны контроллера можно и желательно подтянуть к питанию через 5...10 кОм. Прилагаемая программа предназначена для записи/чтения/стирания/записи защиты памяти программ At89S8252. При желании программу можно дополнить до работы с внутренним EEPROM, используя соответствующие управляющие коды. Функции записи/чтения по SPI подходят для программирования контроллеров AVR (подробнее — в документации Atmel).

Вы можете загрузить программное обеспечение: в файле spi.exe (9,296 байт) находится программа для DOS, в файле spi.pas (7,611 байт) — исходный текст на Turbo Pascal 7.0.

Автор проекта: Алексей Чумаков (E-mail: psion@aport.ru)