Atmega16 Инструкция По Применению

Atmega16 Инструкция По Применению

Atmega16 Инструкция По Применению Rating: 6,9/10 2919reviews

Вы еще не программируете микроконтроллеры Тогда мы идем к вам Тема микроконтроллеров меня заинтересовала очень давно, году этак в 2. Но тогда достать программатор по месту жительства оказалось проблематично, а о покупке через Интернет и речи не было. Пришлось отложить это дело до лучших времен. И вот, в один прекрасный день я обнаружил, что лучшие времена пришли не выходя из дома можно купить все, что мне было нужно. Решил попробовать. Итак, что нам понадобится 1. Программатор. На рынке предлагается много вариантов от самых дешевых ISP In System Programming программаторов за несколько долларов, до мощных программаторов отладчиков за пару сотен. Не имея большого опыта в этом деле, для начала я решил попробовать один из самых простых и дешевых USBasp. Купил в свое время на e. Bay за 1. 2, сейчас можно найти даже за 3 4. На самом деле это китайская версия программатора от Thomas Fischl. Что могу сказать про него Только одно он работает. К тому же поддерживает достаточно много AVR контроллеров серий ATmega и ATtiny. Под Linux не требует драйвера. Для прошивки надо соединить выходы программатора VCC, GND, RESET, SCK, MOSI, MISO с соответствующими выходами микроконтроллера. Для простоты я собрал вспомогательную схему прямо на макетной плате Слева на плате тот самый микроконтроллер, который мы собираемся прошивать. Микроконтроллер. С выбором микроконтроллера я особо не заморачивался и взял ATmega. Atmel 2. 3 пина вводавывода, два 8 битных таймера, один 1. Мгц, маленькое потребление 1 3. А, дешевый 2. В общем, для начала более чем достаточно. Под Linux для компиляции и загрузки прошивки на контроллер отлично работает связка avr gcc avrdude. Установка тривиальная. Следуя инструкции, можно за несколько минут установить все необходимое ПО. Единственный ньюанс, на который следует обратить внимание avrdude ПО для записи на контроллер может потребовать права супер пользователя для доступа к программатору. Выход запустить через sudo не очень хорошая идея, либо прописать специальные udev права. Синтаксис может отличаться в разных версиях ОС, но в моем случае Linux Mint 1. USBasp programmer. SUBSYSTEM. Под Windows придется поставить драйвер. В остальном проблем нет. Ради научного интереса попробовал связку AVR Studio e. Xtreme Burner в Windows. Опять таки, все работает на ура. Начинаем программировать. Atmega16 Инструкция По Применению' title='Atmega16 Инструкция По Применению' />Программировать AVR контроллеры можно как на ассемблере AVR assembler, так и на Си. Тут, думаю, каждый должен сделать свой выбор сам в зависимости от конкретной задачи и своих предпочтений. Лично я в первую очередь начал ковырять ассемблер. При программировании на ассемблере архитектура устройства становится понятнее и появляется ощущение, что копаешься непосредственно во внутренностях контроллера. К тому же полагаю, что в особенно критических по размеру и производительности программах знание ассемблера может очень пригодиться. После ознакомления с AVR ассемблером я переполз на Си. После знакомства с архитектурой и основными принципами, решил собрать что то полезное и интересное. Тут мне помогла дочурка, она занимается шахматами и в один прекрасный вечер заявила, что хочет иметь часы таймер для партий на время. Вот она идея первого проекта Можно было конечно заказать их на том же e. Bay, но захотелось сделать свои собственные часы, с блэк. Сказано сделано В качестве дисплея решено было использовать два 7 сегментных диодных индикатора. Для управления достаточно было 5 кнопок Игрок 1, Игрок 2, Сброс, Настройка и Пауза. Ну и не забываем про звуковую индикацию окончания игры. На рисунке ниже представлена общая схема подключения микроконтроллера к индикаторам и кнопкам. Она понадобится нам при разборе исходного кода программы Разбор полета. Начнем, как и положено, с точки входа программы функции main. На самом деле ничего примечательного в ней нет настройка портов, инициализация данных и бесконечный цикл обработки нажатий кнопок. Ну и вызов sei разрешение обработки прерываний, о них немного позже. Таким образом, заслав в DDRB и DDRD число 0x. FF, мы сделали B и D портами вывода. Соответственно, команда DDRC 0b. C во входные пины, а оставшиеся в выходные. Команда PORTC. Согласно схеме, к этим входам подключены кнопки, которые при нажатии замкнут их на землю. Таким образом контроллер понимает, что кнопка нажата. Далее следует настройка двух таймеров, Timer. Timer. 1. Первый мы используем для обновления индикаторов, а второй для обратного отсчета времени, предварительно настроив его на срабатывание каждую секунду. Подробное описание всех констант и метода настройки таймера на определенноый интервал можно найти в документации к ATmega. RUS Примеры применения USB в 8разрядных микроконтроллерах AVR. Представлены схемы и их описание для наиболее типичных случаев. Обработка прерываний. ISR TIMER0. В нашем случае это обработчик TIMER0. Дело в том, что каждый отдельно взятый индикатор имеет 9 контактов 7 для управления сегментами, 1 для точки и 1 для питания. Для управления 4 цифрами понадобилось бы 3. Слишком расточительно. Поэтому вывод разрядов на индикатор с несколькими цифрами организован по следующему принципу Напряжение поочередно подается на каждый из общих контактов, что позволяет высветить на соответствующем индикаторе нужную цифру при помощи одних и тех же 8 управляющих контактов. При достаточно высокой частоте вывода это выглядит для глаза как статическая картинка. Atmega16 Инструкция По Применению' title='Atmega16 Инструкция По Применению' />Atmega16 Инструкция По ПрименениюИменно поэтому все 8 питающих контактов обоих индикаторов на схеме подключены к 8 выходам порта D, а 1. B. Таким образом, функция display с задержкой в 0. Итак, ATmega8, самый простой МК из всех ATmega. Книга представляет собой справочное издание по применению. Микроконтроллер ATmega16 описание скачать datasheet. Соответсвтенно рекомендую применять микроокнтроллеры ATmega16 для серийных и. Следуя инструкции, можно за несколько минут установить все. Atmega16 Инструкция По Применению' title='Atmega16 Инструкция По Применению' />Atmega16 Инструкция По ПрименениюПод конец отключаются все выходы, подающие напряжение на индикаторы команда PORTD 0. Если этого не сделать, то последняя выводимая цифра будет продолжать гореть до следующего вызова функции display, что приведет к ее более яркому свечению по сравнению с остальными. Обработка нажатий void handle. Нажатие регистрируется проверкой bit. Задержка длительностью DEBOUNCE. Сохранение статуса нажатия в соответствующих битах переменной. Функции обработки нажатий достаточно тривиальны и полагаю, что в дополнительных комментариях не нуждаются. Полный текст программыdefine F. Ниже показан окончательный вид устройства. Часы питаются от 9 вольтовой батарейки типа Крона. Потребление тока 5. А. Заключение. Потратив 2. DIY проекты. Статья посвящается тем, кто, как и я в свое время, думает, что начать программировать микроконтроллеры это сложно, долго или дорого. Поверьте, начать намного проще, чем может показаться. Если есть интерес и желание пробуйте, не пожалете Удачного всем программированияТак как начинаю осваивать микроконтроллеры фирмы ATMEL. Правда я так и не смог придумать практического применения этих. Наборы Сдр Трансиверов. P. S. Ну и напоследок, небольшая видео демонстрация прототипа.

Навигация

Atmega16 Инструкция По Применению
© 2017