вторник, 17 сентября 2019 г.

Ledblink (arduino nano, atmel studio)

Принципиальная схема arduino nano:


Пинаут:

На первой схеме видим, что к пину d13 подключен светодиод. На второй, что цифровой пин d13 соответствует выходу pb5 avr-микроконтроллера atmega328p. То есть нам надо включать-отключать уровень напряжения на порту pb5.

Первые три урока (123) проекта narodstream.ru посвящены установке и созданию проекта в atmel studio только на другом avr-контроллерe. Соответственно при создании проекта в ide надо вместо atmega8 выбрать atmega328p. Создадим пустой проект и напишем программу просто для включения ноги pb5, основываясь на пятом уроке:

#define F_CPU 8000000
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
DDRD = 0xFF;
while(1) 
{
PORTD = 0b00000001;
_delay_ms(500);
PORTD = 0b00000000;
_delay_ms(500);
}
}


Скомпилим программу в hex-файл.

Создание принципиальной схемы в Proteus разбирается в четвертом уроке. Запилим свою схему для atmega328p, ноги pb5 со светодиодом, проверим выполнение в эмуляторе:

Подключение программатора USBASP к плате Arduino Nano описано тут, использование программы avrdude в Fedora30 описано тут.

Файл проекта в proteus 7.10 тут.
Архив с проектом для atmel studio 7 тут.

Microchip page:
1) datasheet
2) instruction set manual

Источники:
1) http://narodstream.ru/avr-urok-5-migayushhij-svetodiod/

Подробные серии уроков по avr:
1) http://easyelectronics.ru/category/avr-uchebnyj-kurs
2) http://narodstream.ru/programmirovanie-mk-avr/
3) https://home.roboticlab.eu/ru/avr

avr asm:
1) Программирование МК AVR на языке assembler в среде Linux https://habr.com/ru/post/373677/

uart:

Комментариев нет:

Отправить комментарий