Микроконтроллеры Atmel на базе AVR сочетают в себе богатый набор функций. Такой микроконтроллер способен выполнять мощные инструкции за. Такой разъем легко применять и для 28 выводных AVR ATmega8 ATmega48 ATmega88 ATmega168 ATmega328. Atmel Studio 7 Подробное описание. Они называются указаниями по применению и описывают различные. AVR Dragon Подробное описание. Atmega16 Инструкция По Применению' title='Atmega16 Инструкция По Применению' />Итак, ATmega8, самый простой МК из всех ATmega. Книга представляет собой справочное издание по применению. ENC28J60_ATmega88.gif' alt='Atmega16 Инструкция По Применению' title='Atmega16 Инструкция По Применению' />Преимущества этой архитектуры заключаются в повышенном быстродействии, например ATmega выполняет одну инструкцию за один тактовый импульс, то есть при частоте 1. МГц МК выполняет 1. А теперь о требухе по порядку. Тактовый генератор выполняет синхронизацию всех внутренних устройств. ПЗУ постоянное запоминающее устройство, используется для хранения программы и неизменяемых данных констант. Дешифратор команд он тут самый главный, управляет всем, что ему под руку попадтся. АЛУ арифметико логическое устройство, выполняет арифметические сложение, вычитание и т. И, ИЛИ, НЕ, Исключающее ИЛИ операции над числами. Atmega16 Инструкция По Применению' title='Atmega16 Инструкция По Применению' />РОН регистры общего назначения, ими АЛУ оперирует, а так же используются для временного хранения данных. Регистры РОН могут объединяться в регистровые пары r. X r. 28 r. 29 Y r. Z. Регистровые пары используются для косвенной адресации данных в ОЗУ. ОЗУ оперативное запоминающее устройство, используется для хранения данных, массивов и стека. Письмо О Повышении Арендной Платы Образец. PORTA PORTn связь с внешним миром, порты вводавывода, ну енто понятно для чего. УВВ специальные устройства вводавывода, контроллеры разной периферии, например USART по другому СОМ порт, иногда USB, АЦП, ЦАП, I2. C, короче, чего только там нет Тогда перечислим что нам нужно 1. Программатор с соответствующим софтом, об этом я писал в прошлой статье 2. Компилятор языка Си, Code Vision AVR, имеет неплохой инструментарий для разработки программ для МК Перед тем как начать программирование на Си, неплохо бы ознакомиться с какой нибудь литературой по этому языку, например есть замечательная книга Кернигана и Ритчи Язык С. Ну да ладно, начнм. Кстати схему лучше собрать на макетной плате, а МК сунуть в панельку. Но такая схема бессмысленна. Добавим, например, светодиод, и не забудем про токоограничивающий резистор. Подключим его к нулевому выводу порта В. Схема будет иметь следующий вид Включим питание А что вы хотели без программы Значит Запускаем мастер Code Wizard AVR, нажав на кнопочку с шестернкой в панели инструментов, появится окно мастера Здесь выбираем тип МК и тактовую частоту. Далее переходим на вкладку Ports И настраиваем, какой бит какого порта у нас будет настроен на ввод или вывод, порт В бит 0 у нас будет выдавать сигнал, а остальные принимать. Чтобы сохранить настройки выбираем меню File Generate Save and Exit, вводим имена файлов на все последующие запросы, желательно чтобы они были одинаковые, ну например prj. Вс, мы сгенерировали исходный текст программы с установками заданными в мастере. Давайте посмотрим что у нас вышло. Первые 2. 2 строки это комментарий, то есть на действия программы он не имеет никакого влияния, таким образом, вс, что находится между и является комментарием, и компилятор вс это дело игнорирует. В 2. 4 сроке у нас подключается заголовочный файл, в нм описано как какие регистры называются и по какому адресу находятся. Для программирования на Си подробности здесь излишни. С 2. 8 строки у нас начинается основная программа определением функции main, Прокрутим ниже. Обратите внимание на строки 3. В и выбирается направление передачи. Вообще наглядно это выглядит так То есть, если в какой нибудь бит регистра DDRB записать единичку, то соответствующий бит порта В будет работать на вывод. В нашем случае это бит 0. Кстати, у портов в ATmega есть одна приятная особенность, даже если порт настроен на ввод, а в регистр PORTx записать единички, то подключатся внутренние подтягивающие резисторы к плюсу питания, что исключает использование внешних навесных резисторов. Это удобно при подключении всяких датчиков и кнопок. Скомпилируем программу, для этого нажмм кнопочку Make the Project, или через меню Project Make. Ошибок быть не должно, если вы что нибудь не подправили. Откроем папку C cvavrbin, найдм там файл prj. Это и есть скомпилированная нами программа для МК. Подключим программатор к ПК и МК. Запустим программу Pony Prog и перетащим в е окно файл prj. Включите питание МК и залейте в него нашу программу А проблема в том что мы ничего на нулевой разряд порта В не вывели, вернее вывели, только это ноль. А чтобы наш светодиод загорелся, надо вывести единицу. Так и сделаем, заменим в 3. PORTB0x. 00 на PORTB0x. Скомпилируем заново программу. А в программе Pony Prog перезагрузим файл при помощи сочетания клавиш CtrlL или меню File Reload Files. Сотрм МК и снова зальм прошивку в него. ОНО РАБОТАЕТ Кстати, Pony Prog поддерживает скрипты, и чтобы не мучаться с перезагрузкой, стиранием и записью, можно просто написать скрипт с расширением. Сделать это можно с помощью блокнота. Содержимое у него будет такое SELECTDEVICE ATMEGA8. CLEARBUFFERLOAD ALL prj. ERASE ALLWRITE ALLПоместить скрипт следует в одну папку с. Можно поместить ярлык на рабочий стол, это уж кому как удобно.