Прошивка AT89S52 с помощью AVRDUDE ================================== Для тех случаев, когда у вас нет под рукой подходящего программатора для AT89S52, или когда текущий программатор по какой-то причине не работает - можно использовать Arduino (например, Arduino Nano) в паре с AVRDUDE и GUI к нему AVRDUDESS. 1. Превращаем Arduino в программатор ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ В первую очередь, нам необходимо прошить Arduino Nano в качестве программатора. Для этого можно использовать скетч Arduino ISP, который находится в меню "Examples" Arduino IDE и продублирован тут: https://git.io/fA17x. В скетче на строке 142-143 лучше заменить скорость порта UART (baudrate) на значение 115200. Больше скорость - быстрее прошивка AT89S52. Значение 115200 протестировано и работает, но, возможно, скорость можно поднять еще выше. 2. Установка утилит ^^^^^^^^^^^^^^^^^^^ Следующий пункт - установка AVRDUDESS. AVRDUDESS является простой графической оболочкой для AVRDUDE - утилиты, которая позволяет прошивать МК семейства AVR. Скачать можно тут: http://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/. Продолжаем движение. Поскольку AVRDUDE отвечает за прошивку МК семейства AVR, то AT89S52 не поддерживается "из коробки". Чтобы добавить эту поддержку, придется немного поправить конфигурационный файл avrdude.conf. Файл avrdude.conf находится в той же папке, где был установлен сам AVRDUDE, список изменений нахожится тут: https://git.io/fA15B. Посмотреть итоговый файл можно с помощью кнопки "view" в правом верхнем углу. 3. Настройки AVRDUDESS ^^^^^^^^^^^^^^^^^^^^^^ Когда AVRDUDESS установлен и настройки исправлены, можно выдохнуть и начать пользоваться утилитой. Почти. Последнее, что нам нужно сделать - выбрать правильные настройки в окне AVRDUDESS. В качестве программатора выбираем "STK500 firmware version 1", скорость (baud rate) - 115200, микроконтроллер (MCU) - AT89S52, порт (port) - COM4 или любой другой порт, на который подключена Arduino. .. image:: ./_static/avrdudess_window.png На этом все. Осталось подключить AT89S52 к портам ISP Arduino. .. image:: ./_static/at89s52_isp.png Использованные материалы: ^^^^^^^^^^^^^^^^^^^^^^^^^ - `Programming AT89S52 Using USBasp ISP Programmer `_. - `Arduino as ISP and Arduino Bootloaders `_. - `In System Programming (ISP) for ATMEL chips `_.