Программирование микроконтроллеров Atmel ISP

Программирование микроконтроллеровВ этом посте речь пойдет про программирование микроконтроллеров Atmel ISP типа AT89S...В частном случае AT89S51/52, AT89S2051/4051 и им подобных. В чем проблема? Многим микроконтроллерщикам известен программатор PonyProg. Он имеет широкие возможности по программированию ISP микроконтроллеров в том числе и AT89S. Но дело в том, что в программаторе, а точнее в его управляющей программе представлены только AT89S53/8252 и совершенно не представлены девайсы типа AT89S51/52 AT89S2051/4051 и другие подобные.

А, кстати приборчики AT89S52 с 2002 года заменяют снятые с производства AT89C52 и на них много чего наделано и много чего еще можно сделать. Да и еще кстати все термостаты типа TDM-DS в настоящее время работают какраз на AT89S52. Так вот, чем же их прошивать в домашних условиях если адаптер типа STK200/300 у вас есть, а знаменитый PonyProg не катит для этих целей? Вот об этом пойдет речь ниже по тексту.

Если у вас есть вышеупомянутый адаптер, который хорошо работает с программой PonyProg, то с этим адаптером прекрасно работает программа Адама Дубковского для программирования различных ISP микроконтроллеров. Одна из последних версий этой программы находится на его сайте, но на всякий пожарный случай еще и здесь. Достоинство программы в том, что с ее помощью, используя адаптер STK200/300 или универсальный программатор, можно программировать микроконтроллеры серий AT89S51/52 и им подобных. Как это делается и какие при этом нюансы изложено ниже.

Итак после установки и запуска программа имеет вид:

Программатор Atmel ISP

Первое, что нужно сделать это нажать на кнопку "Setup" и на появившейся панели, скриншот которой представлен ниже, в выпадающем списке "ISP cable pinout" выбрать "STK200/300 Evaluation Board" и затем нажать кнопку "OK"

Установка адаптера программатора

Далее можно приступать собственно к программированию микроконтроллера. Выполнить все необходимые операции по подключению платы с микроконтроллером к адаптеру, а адаптера к параллельному порту персонального компьютера после чего можно включать питание устройства или платы на которой находится программируемый микроконтроллер.

На панели программы выбираем (предпочтительно) радиобутон "Forse" и в выпадающих списках справа нужный тип программируемого микроконтроллера и частоту программирования. Частоту программирования для начала необходимо выбирать поменьше (например 1 024 000 Hz). Затем необходимо указать пути к HEX файлу с которого будет программироваться микроконтроллер и HEX файлу куда будут записываться считанные данные с флэш памяти микроконтроллера "File for programming flash" "File to read flash into" соответственно. Далее нажимаем на кнопку "Restart" и "Read signature". После этого можно стирать читать данные и программировать микроконтроллер. При этом перед каждой сменой параметров программирования (тип микроконтроллера, частота программирования) необходимо выполнять "Restart" и "Read signature". Частоту программирования иногда приходится менять (подбирать) для надежного программирования микросхемы. Поскольку интерфейс программы не имеет окна для просмотра дампа файла программирования или файла данных памяти микроконтроллера, то для их просмотра вполне подойдет все та же программа PonyProg. Единственный нюанс, программу после запуска необходимо настроить на работу с портом RS232, чтобы две запущенные программы не конфликтовали, хотя это вобщем и не обязательно.

Ну вот собственно и все. Сам я программу прокатал на AVR и на AT89S.... Особых замечаний на ее счет пока нет. Все работает как задумано. Единственное, что при программировании девайсов типа AT89S приходится несколько раз подбирать частоту программирования. Обычно лучший вариант это частота в несколько раз ниже частоты кварцевого резонатора который подключен к микроконтроллеру. Если у кого какие вопросы, ссылка на форму для комментов ниже по тексту.

комментариев: (3)

Перейти и растаять в своей любимой социалке