Буква A в маркировке указывает на диапазон напряжения питания, P – на тип корпуса PDIP, а U говорит об «индустриальном» диапазоне температур и использовании бессвинцового припоя.
Для установки данного микроконтроллера на плату удобно использовать DIP панель на 28 контактов.
Как помигать светодиодом
Для быстрой проверки контроллера на работоспособность можно загрузить в него простейшую программу для мигания светодиодом. Предлагаемая схема также проста в сборке и содержит минимум деталей.
В данном примере прошивка микроконтроллера будет производиться с помощью программатора USBASP.
Вы можете скачать уже скомпилированный файл программы в формате *.hex и сразу перейти к третьему шагу для прошивки микроконтроллера с помощью Khazama AVR Programmer, либо скомпилировать код самостоятельно по инструкции предложенной ниже.
1. Необходимое ПО
Компиляция кода и прошивка не представляют из себя ничего трудного и будут осуществлены с помощью свободно распространяемого ПО:
Установка этих программ довольно тривиальна, и единственный момент, на который следует обратить внимание, это необходимость отмеченного чекбокса у пункта «Add Directories to PATH (Recommended)» при установке WinAVR. После установки рекумендуется перезагрузить компьютер.
2. Компиляция кода
Когда схема собрана, а необходимое ПО установлено, приступим к получению файла прошивки. Для начала необходимо создать файл с исходным кодом на языке C. Откройте любой редактор исходного кода, например, Блокнот. Создайте новый документ, скопируйте и вставьте в него нижеприведенный код программы и сохраните в любое удобное место с расширением *.c. В данном примере файл имеет название blink.c и сохранен в корневую папку диска D:.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#define F_CPU 1000000UL // Частота внутреннего генератора #include <avr/io.h> #include <util/delay.h> int main (void) { DDRB |= 0b0000001; // Порт микроконтроллера PB0 // конфигурируется как выход while(1) // Основной цикл программы { PORTB ^= 0b00000001; // С помощью логической операции XOR // состояние вывода инвертируется каждую итерацию цикла _delay_ms(500); // Задержка длительностью 500 мс } } |
Теперь откройте консоль cmd.exe либо PowerShell и, перейдя в папку, куда вы сохранили файл blink.c (выбор директории осуществляется командой DC), выполните утилиту avr-gcc со следующими параметрами:
1 |
avr-gcc -mmcu=atmega8 -Wall -Os -o blink.elf blink.c |
- -mmcu — определение микроконтроллера, для которого предназначается прошивка
- -Wall — разрешение на вывод компилятором различных предупреждений
- -Os — включение оптимизации кода
- -o — аргумент, определяющий название выходного файла, которым в этом случае будет «blink.elf».
После выполнения в папке с исходным кодом программы появится файл blink.elf
Далее аналогичным способом получаем *.hex файл с прошивкой, используя утилиту avr-objcopy со следующими параметрами:
1 |
avr-objcopy -j .text -j .data -O ihex blink.elf blink.hex |
- -j — определение разделов кода, которые необходимо извлечь из *.elf файла; в данном случае это разделы .text и .data, хотя раздел .data И не используется в приведенном в компилируемом коде
- -O ihex — определяет в качестве выходного формата формат Intel HEX
Наконец мы получили файл blink.hex, которым можно прошить микроконтроллер.
3.Прошивка микроконтроллера
Для прошивки подключите программатор USBASP к компьютеру и запустите Khazama AVR Programmer. В открывшемся окне сначала выберите из выпадающего списка поддерживаемых микроконтроллеров ATmega8 (1), затем загрузите прошивку в буфер программы, для чего следует нажать на кнопку «Load Flash Hex to Buffer» и выберите hex-файл с прошивкой (2), и в завершение загрузите прошивку в микроконтроллер, нажав на кнопку «Write Flash Buffer to Chip» (3).
После успешной прошивки на экране появится соответствующее уведомление.
Если после нажатия кнопки загрузки Khazama выдаст сообщение, как на следующем скриншоте, то просто проигнорируйте его и нажмите OK. Появление этого сообщения связано с версией прошивки самого программатора USBASP и на работу с микроконтроллером никак не влияет. Если все выполнено верно, а схема надежно собрана, то после закрытия этого уведомления загрузка должна успешно закончиться. Если этого не произошло, то проверьте еще раз все ли верно собрано, все ли перечисленные действия выполнены корректно, и особенное внимание уделите как подключению программатора к микроконтроллеру, так и остальной схеме.
Скачать прошивку в формате *.hex
Страница Khazama AVR Programmer на сайте разработчика
Страница WinAVR на sourceforge.net
Скачать тех. спецификацию (Datasheet)