Напишем простенькую программку для микроконтроллера. Рассмотрим пример простой программы "мигалка", написанной на ассемблере для микроконтроллера ATtiny2313. Разобравшись с этой программой Вы сможете писать собственные!

 

Надеюсь, Вы уже установили AVR Studio. Приступим к созданию простенького проекта. Рассмотрим процесс создания, компиляции и симуляции программы для микроконтроллера.

 

Одним из самых важных аспектов программирования микроконтроллеров является работа с регистрами и портами. У микроконтроллеров серии AVR несколько регистров ввода/вывода и 32 рабочих регистра общего назначения. Программист не может непосредственно записать число в регистр ввода/вывода. Вместо этого он должен записать число в регистр общего назначения, а затем скопировать значение этого регистра в регистр ввода/вывода. Рабочие регистры обозначаются как R1, R2, ... , R31.

 

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

 

Простенькая программка иллюстрирует работу ШИМ в режиме Fast PWM таймера Timer1 и АЦП. Написана на ассемблере, компилируется в AVR Studio. Для микроконтроллера ATmega8, который тактируется внутренним RC - генератором на 1МГц.

 

Данный пример иллюстрирует работу с модулями USART (UART) и SPI. Программа написана на CИ и откомпиллирована в WinAVR. Микроконтроллер выбран AT90USB162, прошивается по usb c помощью программатора Flip. При использовании других микроконтроллеров необходимо внести изменения в makefile - прописать микроконтроллер и частоту резонатора.