|
|
(не показано 5 промежуточных версий 2 участников) |
Строка 1: |
Строка 1: |
− | {{AttentionBlock|НЕ ИСПОЛЬЗУЙТЕ В AVRStudio В ПУТИ К ПРОЕКТУ РУССКИЕ БУКВЫ, ИНАЧЕ БУДУТ КАК МИНИМУМ ПРОБЛЕМЫ С Makefile'ом ПРИ ПОПЫТКЕ СКОМПИЛИРОВАТЬ ПРОЕКТ.}}
| + | == Содержание == |
| | | |
− | На этой странице мы укажем все необходимое, чтобы быстро начать разработку прошивок для МК "AVR"
| |
| | | |
− | == Софт для разработки прошивок - WinAVR+AVRStudio4 ==
| + | '''Source(s):''' [http://www.downloadranking.com Программирование МК AVR на Си] |
− | В качестве основного инструмента выбираем связку AVRStudio + WinAVR .
| |
| | | |
− | === Порядок скачки и установки ===
| |
| | | |
− | # Установка AVRStudio; | + | * Введение |
− | ## Скачать последнюю версию AVRStudio (~90Mb) с сайта: [http://www.atmel.ru/Software/Software.htm www.atmel.ru]; | + | *# [[Что такое микроконтроллер]] |
− | ## Запустить исполняемый файл, дождаться окончания установки отвечая по пути на все вопросы;
| + | *# [[Основы языка C]] |
− | # Установка WinAVR; | + | * Часть 1: Готовим рабочее место |
− | ## Скачать последнюю версию WinAVR с сайта: [http://winavr.sourceforge.net/ winavr.sourceforge.net];[http://sourceforge.net/project/showfiles.php?group_id=68108 SF download page]; | + | *# [[Урок 1.1: Устанавливаем и проверяем компилятор]] |
− | ## Запустить исполняемый файл, дождаться окончания установки отвечая по пути на все вопросы; | + | *# [[Урок 1.2: Выбираем и закупаем\собираем программатор]] |
− | # Запустить среду разработки AVRStudio и загрузить в неё тестовый проект, скомпилировать и убедиться, что всё ок. | + | *# [[Урок 1.3: Собираем минимальный набор железа - МК + обвязка]] |
| + | * Часть 2: Базовые функции ввода-вывода |
| + | *# [[Урок 2.1: Мигаем светодиодом]] |
| + | *# [[Урок 2.2: Зажигаем светодиод при нажатии кнопки]] |
| + | *# [[Урок 2.3: Читаем с помощью АЦП уровень напряжения]] |
| + | * Часть 3: Использование таймеров, ШИМ и прерываний |
| + | *# [[Урок 3.1: Мигаем светодиодом с использованием таймера]] |
| + | *# [[Урок 3.2: Плавно мигаем светодиодом с использованием ШИМ]] |
| + | *# [[Урок 3.3: Обрабатываем внешние сигналы с помощью прерываний]] |
| + | * Часть 4: Использование протоколов взаимодействия с другими модулями |
| + | *# [[Урок 4.1: Работаем с UART'ом (делаем конвертер уровней и соединяемся с ПК)]] |
| + | *# [[Урок 4.2: Работаем с I2C (взаимодействие с микросхемой памяти)]] |
| + | *# [[Урок 4.3: Работаем с SPI (взаимодействие с микросхемой ЦАП)]] |
| + | * Часть 5: Использование памяти |
| + | *# [[Урок 5.1: Расширение памяти МК внешней микросхемой]] |
| + | *# [[Урок 5.2: Работаем с EEPROM-памятью]] |
| | | |
− | === Тестовый проект PORTB_LED_FLASH ===
| + | [[Категория:Курс "Программирование МК AVR на Си"]] |
− | Моргаем светодиодами на порту B
| |
| | | |
− | '''main.c''':
| |
− | <source lang="c">#include <avr/io.h>
| |
− | #include <util/delay.h>
| |
− | #include <inttypes.h>
| |
| | | |
− | int main(void)
| + | '''Source(s):''' [http://www.downloadranking.com Программирование МК AVR на Си] |
− | {
| |
− | char i;
| |
− | DDRB = 0xFF;
| |
− | PORTB = 0x00;
| |
− | | |
− | while(1)
| |
− | {
| |
− | _delay_ms(250);
| |
− | PORTB = 0xFF;
| |
− | _delay_ms(250);
| |
− | PORTB = 0x00;
| |
− | }
| |
− | return 0;
| |
− | }
| |
− | </source>
| |
− | | |
− | Для сборки проекта используется утилита make<ref>[http://www.linux.org.ru/books/GNU/Gmake.htm Эффективное использование GNU make]</ref>.
| |
− | Она выполняет правила, записанные в файле '''Makefile'''. Его можно написать вручную, а можно воспользоваться программой из состава WinAVR. [[Пример make-файла для тестового проекта PORTB_LED_FLASH]].
| |
− | | |
− | == Софт для симуляции выполнения прошивок на МК - VMLAB ==
| |
− | В качестве основного пакета для эмуляции МК "AVR" был выбран VMLAB.
| |
− | | |
− | === Порядок скачки и установки ===
| |
− | Здесь будет описан порядок установки и проверки симулятора.
| |
− | | |
− | | |
− | === Тестовый проект (мигаем светодиодами) ===
| |
− | Здесь будет описан порядок запуска тестового проекта.
| |
− | | |
− | | |
− | == Программатор для прошивки МК ==
| |
− | Здесь не существует варианта, который мы могли бы рекоммендовать однозначно. Диапазон решений сильно отличается по цене, надежности и трудозатратам которые нужно вложить в программатор, если делать его самому. Основные три варианта приведены ниже, выбрать из них предстоит вам самим:
| |
− | | |
− | {| class="standard"
| |
− | !Вариант решения
| |
− | !Внешний вид
| |
− | !Комментарий
| |
− | !Приблизительная стоимость
| |
− | !Где взять
| |
− | |-
| |
− | |Самодельный программатор "5 проводков" для LPT-порта
| |
− | |[[Изображение:AVRProgrammerLPT-5wires_small.jpg]]
| |
− | |Может "сжечь" LPT-порт на материнской плате;
| |
− | | |
− | Самый дешевый и быстрый вариант;
| |
− | |от 3$
| |
− | |[[Сборка программатора "5 проводков"|Собрать самому]]
| |
− | |-
| |
− | |Самодельный программатор с буфером для LPT-порта
| |
− | |[[Изображение:AVRProgrammerLPT-buffered_small.jpg]]
| |
− | |Менее быстрый, зато более надежный вариант;
| |
− | |от 7$
| |
− | |[[Сборка программатора для LPT порта с буфером|Собрать самому]]
| |
− | |-
| |
− | |Готовый программатор AVR910 для COM-порта
| |
− | |[[Изображение:AVRProgrammerCOM-AVR910_small.jpg]]
| |
− | |Очень надежный вариант
| |
− | |от 25$
| |
− | |Купить в радиотоварах
| |
− | |}
| |
− | | |
− | | |
− | == Минимальное железо кроме программатора нужное для экспериментов ==
| |
− | В этом разделе мы расскажем что вам будет нужно, чтобы начать разработку прошивок для МК AVR и как всё это собрать воедино и запустить тестовый проект.
| |
− | | |
− | === Минимальный рекомендуемый набор для разработки устройств на МК ===
| |
− | В минимальном рекомендуемом варианте, кроме программатора, вам потребуются комплектующие общей стоимостью порядка 20$:
| |
− | {| class="standard"
| |
− | !Название
| |
− | !Внешний вид
| |
− | !Приблизительная стоимость
| |
− | !Где взять
| |
− | |-
| |
− | |Адаптер питания 220V AC => 5V DC
| |
− | |[[Изображение:AcDc5V_small.jpg]]
| |
− | |от 4$
| |
− | | |
− | Часто уже есть, например от USB-хабов D-Link
| |
− | |Купить в радиотоварах
| |
− | |-
| |
− | |Макетная плата для работы без пайки
| |
− | |[[Изображение:SolderlessBreadboard_small.jpg]]
| |
− | |от 10$
| |
− | |Купить в радиотоварах
| |
− | |-
| |
− | |Микроконтроллер AVR ATMega16 в DIP-корпусе
| |
− | |[[Изображение:ATMega16DIP_small.jpg]]
| |
− | |~5$
| |
− | |Купить в радиотоварах
| |
− | |-
| |
− | |Резисторы 0.25Вт, 1 кОм, 10 кОм, 100 Ом по 5 штук каждого
| |
− | |[[Изображение:Resistors_small.jpg]]
| |
− | |~0.5$
| |
− | |Купить в радиотоварах
| |
− | |-
| |
− | |Конденсатор 16В 0.1мкФ - 3шт
| |
− | |[[Изображение:Capacitor_small.jpg]]
| |
− | |~0.5$
| |
− | |Купить в радиотоварах
| |
− | |}
| |
− | | |
− | === Правила подключения к МК питания и других обязательных элементов обвязки ===
| |
− | Здесь будет сказано как подключить к МК питание, ресет и т.п.
| |
− | | |
− | === Тестовый проект на МК (мигаем светодиодами) ===
| |
− | Здесь будет рассмотрен тестовый проект мигающий светодиодами.
| |
− | | |
− | == См. также ==
| |
− | <references />
| |