Site Loader

Содержание

Проекты с использованием микроконтроллера Atmega16 (семейство AVR)

Главная→Метки atmega16 1 2 >>

На данной странице представлены проекты, в которых используется микроконтроллер Atmega16 — один из самых сбалансированных микроконтроллеров по соотношения цена/возможности в семействе AVR

Опубликовано автором admin-new10 февраля, 2021

На данной странице представлена карта статей по микроконтроллерам AVR, опубликованным на нашем сайте «Мир микроконтроллеров». По мере добавления статей данной тематики данная карта статей также будет дополняться. Микроконтроллеры семейства AVR в настоящее время являются одними из самых популярных микроконтроллеров. Они … Читать далее →

Рубрика: Схемы на AVR | Метки: atmega16, atmega32, atmega8, ATtiny85, avr | Добавить комментарий

Опубликовано автором admin-new7 сентября, 2022

GPS модули широко используются в современной электронике для определения местоположения, основываясь на координатах долготы и широты. Системы мониторинга транспортных средств, часы GPS, системы предупреждения о чрезвычайных происшествиях, системы наблюдения – это лишь небольшой список приложений, в которых может потребоваться технология … Читать далее →

Рубрика: Схемы на AVR | Метки: atmega16, atmega32, avr, gps, ЖК дисплей | Комментарии (11)

Опубликовано автором admin-new30 ноября, 2020

Двигатели постоянного тока относятся к числу наиболее часто используемых двигателей. Их можно встретить где угодно – начиная от простейших конструкций до продвинутой робототехники. В этой статье мы рассмотрим подключение двигателя постоянного тока к микроконтроллеру ATmega16 (семейство AVR). Но сначала немного … Читать далее →

Рубрика: Схемы на AVR | Метки: atmega16, avr, l293d, двигатель постоянного тока, драйвер мотора | Комментарии (4)

Опубликовано автором admin-new1 декабря, 2020

Принцип действия датчиков Холла основан на так называемом «эффекте Холла», открытым Эдвином Холлом (Edwin Hall) в 1869 году. Этот эффект гласит: «эффект Холла основан на явлении возникновения поперечной разности потенциалов (называемой также холловским напряжением) при помещении проводника с постоянным током … Читать далее →

Рубрика: Схемы на AVR | Метки: atmega16, avr, датчик холла, светодиод | Добавить комментарий

Опубликовано автором admin-new23 марта, 2022

Широтно-импульсная модуляция (сокр. ШИМ, от англ. PWM — Pulse Width Modulation) является технологией, позволяющей изменять ширину импульсов в то время как частота следования импульсов остается постоянной. В настоящее время она применяется в разнообразных системах контроля и управления, а также в … Читать далее →

Рубрика: Схемы на AVR | Метки: atmega16, avr, светодиод, ШИМ | Комментарии (6)

Опубликовано автором admin-new1 февраля, 2021

ATmega16 (семейство AVR) является дешевым 8 битным микроконтроллером и имеет достаточно большое число интерфейсов ввода-вывода общего назначения. Он поддерживает все часто используемые в настоящее время протоколы связи такие как UART, USART, SPI и I2C. Он достаточно широко применяется в робототехнике, … Читать далее →

Рубрика: Схемы на AVR | Метки: atmega16, avr, Email, ESP8266, NodeMCU, WiFi модуль, интернет вещей | Добавить комментарий

Опубликовано автором admin-new27 февраля, 2023

Существует несколько способов программирования микроконтроллеров семейства AVR. В данной статье мы рассмотрим один из наиболее популярных в настоящее время способов программирования данных микроконтроллеров – с помощью программатора USBASP v2.0 и программы Atmel Studio 7.0. Хотя на нашем сайте уже есть … Читать далее →

Рубрика: Схемы на AVR | Метки: atmega16, Atmel Studio, avr, USBASP, мигание светодиода, начинающим, Программирование | Комментарии (9)

Опубликовано автором admin-new1 декабря, 2020

Создание робота – это всегда волнующее событие для всех энтузиастов, увлекающихся электроникой. И это волнение усиливается если создаваемый робот может автоматически делать некоторые вещи без внешних команд. Одним из широко известных подобных роботов, доступных для создания новичками, является робот, движущийся … Читать далее →

Рубрика: Схемы на AVR | Метки: atmega16, avr, ULN2003, движущийся вдоль линии робот, драйвер мотора, робототехника | Комментарии (7)

Опубликовано автором admin-new7 августа, 2021

Часто во многих конструкциях, использующих микроконтроллеры AVR, используется аналогово-цифровой преобразователь (АЦП) данных микроконтроллеров. Он используется везде где необходимо преобразовать какое-нибудь аналоговое значение в цифровое. Обычно это конструкции с датчиками температуры, датчиками наклона, датчиками тока, гибкими датчиками и т.

п. На нашем … Читать далее →

Рубрика: Схемы на AVR | Метки: atmega16, avr, АЦП, светодиод | Комментарии (22)

Опубликовано автором admin-new28 марта, 2022

Шаговые двигатели – это бесщеточные двигатели постоянного тока, которую могут вращаться от 00 до 3600 дискретными шагами. С каждым управляющим сигналом ось такого двигателя поворачивается на фиксированное значение (шаг). Управление вращением подобных двигателей осуществляется последовательностью специальных сигналов. В отличие от … Читать далее →

Рубрика: Схемы на AVR | Метки: 28BYJ-48, atmega16, avr, l293d, ULN2003, драйвер мотора, шаговый двигатель | Добавить комментарий

Схемы на atmega16

Двигатели постоянного тока относятся к числу наиболее часто используемых двигателей. Их можно встретить где угодно — начиная от простейших конструкций до продвинутой робототехники. В этой статье мы рассмотрим подключение двигателя постоянного тока к микроконтроллеру ATmega16 семейство AVR. Широтно-импульсная модуляция сокр. ШИМ, от англ. PWM — Pulse Width Modulation является технологией, позволяющей изменять ширину импульсов в то время как частота следования импульсов остается постоянной.


Поиск данных по Вашему запросу:

Схемы, справочники, даташиты:

Прайс-листы, цены:

Обсуждения, статьи, мануалы:

Дождитесь окончания поиска во всех базах.

По завершению появится ссылка для доступа к найденным материалам.

Содержание:

  • Распиновки и описание процессоров ATmega установленных на ардуино и не только (+схемы пинмапинга )
  • ATmega16, ATmega16L
  • Конструкции на ATmega8 и ATmega16
  • Часы — Тахометр — Термометр — Вольтметр на базе МК ATmega16 и графического дисплея LCM12864
  • Конструкции на ATmega8 и ATmega16
  • Моделирование схемы на ATmega8 в Proteus

ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: вольтамперметр для лабораторного блока питания на ATMEGA 8 и дисплее от нокиа

Распиновки и описание процессоров ATmega установленных на ардуино и не только (+схемы пинмапинга )


В данном проекте мы разработаем и соберем цифровые часы на микроконтроллере. Для установки времени будем использовать два кнопочных выключателя.

Аналогичным образом работает кнопка S 2, только используется для установки переменной отвечающей за часы. Схема часов на микроконтроллере На рисунке ниже представлена наша схема, особенностью схемы является то, что управление всеми индикаторами осуществляется при помощи одного порта PORTB.

С его помощью поочередно осуществляется запись одной цифры в индикатор. Что такое динамическая индикация было сказано ранее. Для правильной работы цифровых часов нужно чтобы внутренний генератор камня был настроен на частоту в 4 Мгц. Программа была написана с использованием среды AVR Studio 5.

Еще раз повторю, что данные часы работают от внутреннего тактового генератора. Который имеет определённую погрешность, поэтому период одной секунды может меняться. И вешать их на стену или нет и сверять по ним время решайте сами. А можно стабилизировать внутренний генератор внешним кварцевым резонатором? Странный вопрос Можно использовать либо внешний генератор на кварце либо внутренний. Кварц намного стабильнее чем внутренний.

Можно конечно! Только фьюз выставить соответствующий. Думаю, что можно — частота работы схемы 4 Мгц, а этот МК тянет до 8, в реальности даже больше Правда, у меня есть некоторые сомнения по поводу самой схемы — нет токоограничител ьных резисторов и транзисторных ключей Правда, у меня есть некоторые сомнения по поводу самой схемы — нет токоограничительных резисторов и транзисторных ключей Поправочка — в цепи питания виден резистор 1К, но вряд ли он полноценно заменит все вышеперечисленн ое, скорее всего будет заметна разность яркости индикаторов, да и номинал самого резистора великоват В теории можно обойтись без всех резисторов, если точно подобрать напряжение питания 2,,5В примерно.

Лучше всего подбирать лабораторным БП с ограничением тока по минимально приемлемому свечению индикатора, и потом изготовить БП с точно таким напряжением. БП должен быть стабилен! Даже незначительное повышение напряжения вызовет резкий прирост тока и может вывести из строя и МК и индикатор. Резистор 1К из питания исключить.

Установить керамический конденсатор 0. E-Mail обязательное. Подписаться на уведомления о новых комментариях. Запомнить меня. All Rights Reserved. Запрещено копирование материалов без активной ссылки на этот сайт. Обновить список комментариев. Полезные ссылки! Справочные данные. Форма входа. Группа в ВК. Самые читаемые. Последние комментарии. Из личного опыта: Количество витков катушек следует уменьшить.

Максимальная чувствительност ь 15 см Последние материалы. Последнии темы форума. Нет сообщений для показа. Вы здесь: Главная Микроконтроллеры. Desktop Version.


ATmega16, ATmega16L

Рисунок 1 — Схема управления электродвигателем микроконтроллером ATmega8. Мост и система управления в схеме на рисунке 1 подключены к разным источникам с одинаковым напряжением 5В. В схеме на рисунке 1 транзистор какой либо оптопары должен открываться при подаче нуля в соответствующий порт но несмотря на это микроконтроллер работал как надо после прошивки в него приведенной программы. Если соединить последовательно диоды оптопар открывающих транзисторы на диагонали моста для каждой диагонали то подача сигнала с микроконтроллера на одну из последовательно соединенных пар диодов приведет к открытию транзисторов на одной из диагоналей. Таким образом можно использовать один бит порта для управления транзисторами на одной из диагоналей. Для управления электродвигателем можно использовать одну из схем на рисунке 1 или на рисунке 2. Рисунок 1 — Схема управления электродвигателем микроконтроллером 1.

На Рис.1 приведена упрощенная схема архитектуры микроконтроллера Объем памяти микроконтроллера ATmega16 составляет 16К (16x).

Конструкции на ATmega8 и ATmega16

По datasheet описанию , все контроллеры Atmega обладают следующими особенностями:. Справочная информация: Буква V в названии микросхемы означает пониженное напряжение питания; Буква A — микросхема имеет расширенный диапазон питания от 1. Если число только одно, значит, микросхема не поддерживает дифференциальные входы АЦП. Он способен выполнять большое количество различных инструкций одновременно. Заказываешь на Aliexpress? Узнай как экономить покупая на али кэшбек. Пообщайтесь с подавцом перед оплатой. Перед тем, как оплатить товар, пообщайтесь с продавцом. Уточните у продавца, соответствует ли товар описанию, имеется ли товар в наличии, может ли продавец сфотографировать товар на телефон и выслать обычную необработанную фотографию. А также, соответствует ли товар размерной сетке, и какой размер продавец посоветовал бы вам выбрать, исходя из ваших параметров.

Часы — Тахометр — Термометр — Вольтметр на базе МК ATmega16 и графического дисплея LCM12864

Доброго времени суток! Помогите начинающему чайнику собрать элементарную схему на ATmega После самостоятельных попыток спалил МК, покупать новый пока нет желания. Задача такая: от подсветки телефона должен пойти сигнал через фотодиод к контроллеру, после чего он должен замкнуть реле на 2 секунды и уйти в ожидание на 1м, после чего продолжать этот цикл бесконечно. Написал цикл через Flowcode, запустил HEX файл в симулятор ISIS 7 Professional, в нём же собрал элементарную схему с одним реле и кнопкой аналог фотодиода я не нашёл , всё работает как часы.

Представляем очередную схему часов на микроконтроллере Atmega

Конструкции на ATmega8 и ATmega16

Две штуки без дела валяется. Хочу собрать а не получается, чё-то не понимаю по ходу. Когда бутлоадер уже залит, вот тогда можно через него заливать. Без программатора. Вот тогда уже фьюзы и становятся не важны. А не наоборот, вначале взять камень, а потом искать под него бутлоадер и бегать по граблям фьюзов.

Моделирование схемы на ATmega8 в Proteus

Вот код программы: пишу Atmega8 Proteus. Работа с дисплеями от мобильных телефонов Сименс пытаюсь понять как работает графический дисплей в atmel studio, желательно на примере дисплея от Не совпадает частота мигания светодиода в симуляторе Proteus и реальном устройстве Atmega8 Привет. Работа в Proteus. В схеме должно быть МК Atmega8 и матрица

ATMEGAAU Microchip Technology / Atmel 8-битные микроконтроллеры 16kB Flash kB EEPROM 32 I/O Pins лист данных, данные по.

Устройство отображает значение напряжения сети на светодиодном 7″сегментном 3″разрядном индикаторе. При возникновении аварийной ситуации, когда напряжение сети выйдет за допустимые пределы, устройство защиты отключает. Измерения постоянных напряжений.

Всем привет. Я все ещё продолжаю борьбу с декодированием PPM. С выдачей сигнала вполне успешно справляется Timer2. С дефолтными значениями каналов сервы не дрожат, все просто замечательно. И это при том, что используется только захват, без прерывания по переполнению. Была идея, что это виноват мой код, который считает длину импульса и вносит этим погрешность, но нет

И даже с Aliexpress могут присылать такие МК. Для этого нужен высоковольтный программатор, вещь сама по себе непростая: паять её долго, а покупать на Али вряд ли целесообразно ради горстки неработающих микросхем.

Покупатель советы О нас Мы обещаем:. Гарантия 3. В течение первого месяца, мы заплатим одну стоимость стоимости доставки от нас к вашему местоположению ; после 1 месяца покупки, покупатель. В течение 1 месяца мы оплатим одну стоимость доставки от нас до вашего местоположения ; после 1 месяца покупки покупатель должен оплатить два способа. Мы вернем вам возврат, если вы возвращаете товар в первоначальном состоянии в течение 15 дней после Чек по любой причине. Но покупатель должен нести стоимость доставки, чтобы вернуть товар.

Так же устройство имеет дополнительные функции, такие как. На транзисторе Q2 собран усилитель звука. Там же показана точка подключения входа сигнала с датчика вращения коленвала.


AtMega16.

Контрольная работа.

Микропроцессорная техника.

Задание.

Микропроцессорное устройство содержит микроконтроллер семейства AVR, дисплей, внешнее ПЗУ, клавиатуру, вход либо выход аналогового сигнала, вход либо выход цифрового сигнала, интерфейс связи с ЭВМ.

  1. Составить принципиальную схему устройства, дав описание используемых микросхем и протоколов обмена.

  2. Составить программу на языке Ассемблер согласно варианта.

Микроконтроллер

Объём и протокол

обмена внешнего ПЗУ

Клавиатура

дисплей

Аналоговый вход

(выход)

Цифровой

Вход

(выход)

Интер-

фейс

с ЭВМ

Вариант программы

ATMega16

4Кбайт, парал-лельный

4 кнопки

7-ми

Сегмент-ный

4-х

разрядный

Выход

ЦАП 8

разрядов

Выход

протокол

I2C

RS-485

Принять от ЭВМ 4 числа и вывести их на индикатор.

Приведём описание принципиальной электрической схемы разрабатываемого микропроцессорного устройства согласно рис.1. Основу устройства составляет микроконтроллер фирмыATMEL–ATMega16 (обозначение на схеме – DD3).Генератор тактовой частоты выполнен с кварцевой стабилизацией. Кварцевый резонаторZQ1cчастотой 10 МГц. ЦепьR5C1 предназначена дляначального сбросамикроконтроллера при подаче на него питающего напряжения 5 вольт. РезисторR5ограничивает ток, поступающий на выводRESET.Связь с периферией осуществляется через 8-разрядныепорты PORTA,PORTB,PORTC,PORTD. К выводамPB0-PB2 иPD6,PD7 подключена клавиатураSA1=SA5.При таком варианте должны быть программно подключены внутренние подтягивающие резисторы.В устройстве применяется 4-разрядная динамическая индикация. Применён 4-разрядный 7-сегментный светодиодный индикатор (HG1). Управление разрядами индикатора выполняют выводы микроконтроллера. Каждый из семи сегментов подключён к отдельным линиям порта. Связь с ЭВМ осуществляется через интерфейс RS-485. Для обеспечения аппаратной совместимости DD3с последовательныминтерфейсом ПК предусмотрена микросхема-драйвер ST485EфирмыMAXIM(DD2).Роль ПЗУвыполняет микросхемаNM93C56 (DD1).Аналоговый выход реализован на микросхемеКР572ПА1 (DD4)и операционном усилителе TL084 (DA1).Микросхема КР572ПА1 представляет собой ЦАП. Каждый из 10 входов микросхемыDD4подлючён к выходам портовPORTCи PORTD.

Далее приведём описание используемых в устройстве микросхем и протоколов обмена.

Рис.1.Схема электрическая принципиальная.

  • 8-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением

  • Прогрессивная RISC архитектура   130 высокопроизводительных команд, большинство команд выполняется за один тактовый цикл   32 8-разрядных рабочих регистра общего назначения   Полностью статическая работа   Производительность приближается к 16 MIPS (при тактовой частоте 16 МГц)   Встроенный 2-цикловый перемножитель

  • Энергонезависимая память программ и данных   16 Кбайт внутрисистемно программируемой Flash памяти (In-System Self-Programmable Flash)   Обеспечивает 1000 циклов стирания/записи   Дополнительный сектор загрузочных кодов с независимыми битами блокировки Внутрисистемное программирование встроенной программой загрузки   Обеспечен режим одновременного чтения/записи (Read-While-Write)   512 байт EEPROM   Обеспечивает 100000 циклов стирания/записи   1 Кбайт встроенной SRAM   Программируемая блокировка, обеспечивающая защиту программных средств пользователя

  • Интерфейс JTAG (совместимый с IEEE 1149. 1)   Возможность сканирования периферии, соответствующая стандарту JTAG   Расширенная поддержка встроенной отладки   Программирование через JTAG интерфейс: Flash, EEPROM памяти, перемычек и битов блокировки

  • Встроенная периферия   Два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения   Один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения   Счетчик реального времени с отдельным генератором   Четыре канала PWM   8-канальный 10-разрядный аналого-цифровой преобразователь   8 несимметричных каналов   7 дифференциальных каналов (только в корпусе TQFP)   2 дифференциальных канала с программируемым усилением в 1, 10 или 200 крат (только в корпусе TQFP)   Байт-ориентированный 2-проводный последовательный интерфейс   Программируемый последовательный USART   Последовательный интерфейс SPI (ведущий/ведомый)   Программируемый сторожевой таймер с отдельным встроенным генератором   Встроенный аналоговый компаратор

  • Специальные микроконтроллерные функции   Сброс по подаче питания и программируемый детектор кратковременного снижения напряжения питания   Встроенный калиброванный RC-генератор   Внутренние и внешние источники прерываний   Шесть режимов пониженного потребления: Idle, Power-save, Power-down, Standby, Extended Standby и снижения шумов ADC

  • Выводы I/O и корпуса   32 программируемые линии ввода/вывода   40-выводной корпус PDIP и 44-выводной корпус TQFP

  • Рабочие напряжения   2,7 — 5,5 В (ATmega16L)   4,5 — 5,5 В (ATmega16)

  • Рабочая частота   0 — 8 МГц (ATmega16L)   0 — 16 МГц (ATmega16)

Рис. 2. Блок-схемаATMega16.

 Cамосинхронизирующийся цикл записи/авто-стирания

 Автоматическое выполнение ERAL (очистить весь чип) перед WRAL (записать весь чип)

 Защита данных от вкл./выкл. питания

 Промышленный стандарт 3-х проводного последовательного ввода/вывода

 Сигнал состояния устройства во время циклов записи/чтения

 Последовательная функция считывания

 1 000 000 гарантированных циклов записи/стирания

 Хранение данных > 200 лет

 Корпуса: 8 PDIP/ SOIC, 8 TSSOP

Интерфейс MICROWIRE/PLUS позволяет устройству работать как периферии CPU или микроконтроллера через последовательный интерфейс. Этот режим выбирается установкой контакта MODE1 в высокое состояние, а MODE0 в низкое. Режим MICROWIRE/PLUS использует контаты выбор чипа (CS), последовательный генератор тактовых импульсов (SK), вход последовательных данных (SI) и выход последовательных данных (SO), как показано на рисунке 3.

Рис 3. Блок схема интерфейса MICROWIRЕ

DDS генератор на ATmega16 — Микроконтроллеры и Технологии

  1. Главная|
  2. Устройства|
  3. AVR
Просмотров: 79213

DDS Генератор HD44780 ATmega16

В этой статье рассматривается схемотехническое решение, устройство и конструкция DDS генератора (генератор с прямым цифровым синтезом формы сигнала) на микроконтроллере ATmega16 фирмы Atmel. В приборе, кроме синтеза сигнала различной формы и частоты, реализуется возможность регулировки амплитуды и смещения выходного сигнала.

Основные характеристики прибора:

— простое схемотехническое решение, доступные компоненты;
— односторонняя печатная плата;
— сетевой источник питания;
— специализированный выход частоты от 1 МГц до 8 МГц;
— DDS выход с регулировкой амплитуды и смещения;
— форма выходного DDS сигнала: синусоида, прямоугольные импульсы, пилообразные импульсы, треугольные импульсы, ЭКГ, шум;
— для отображения текущих параметров используется двухстрочный ЖК дисплей;
— пятикнопочная клавиатура;
— шаг перестройки частоты: 1, 10, 10, 1000, 10000 Гц;
— восстановление последней конфигурации при включении;
— регулировка смещения: –5 В … +5 В;
— регулировка амплитуды: 0 … 10 В;
— регулировка частоты: 0 … 65534 Гц.

За основу прибора, а точнее алгоритм работы микроконтроллера, была взята разработка DDS генератора Jesper Hansen. Предложенный алгоритм был немного переработан и адаптирован под компилятор WinAVR-GCC

Сигнальный генератор имеет два выхода: выход DDS сигнала и выход высокочастотного сигнала (1 – 8 МГц) прямоугольной формы, который может использоваться для «оживления» микроконтроллеров с неправильными установками Fuse-битов или для других целей.

Высокочастотный сигнал поступает непосредственно с микроконтроллера, с вывода OC1A (PD5). DDS сигнал формируется микроконтроллером с использованием цепочки резисторов R2R (ЦАП), регулировка смещения и амплитуды возможна благодаря использованию низкопотребляющего операционного усилителя LM358N.

Блок-схема DDS генератора

Как видно, для питания устройства необходимо три напряжения: +5 В, +12 В, –12 В. Напряжения +12 В и –12 В используются для аналоговой части устройства на операционном усилителе для регулировки смещения и амплитуды.

Принципиальная схема источника питания.

В источнике питания используются стабилизаторы напряжения LM7812, LM7805, LM7912 (стабилизатор отрицательного напряжения –12 В).

Принципиальная схема прибора

Рисунок печатной платы

Вид со стороны установки элементов

Внешний вид платы с установленными компонентами

Список использованных элементов

Обозначение
в схеме
Номинал
R1 470 Ом
R2, R6, R8, R10,
R12, R14, R16, R18
10 кОм
R3, R21 100 кОм
R4, R5, R7, R9, R11,
R13, R15, R17, R19
20 кОм
R20 100 Ом
R22 12 кОм
R23 150 Ом
POT1 Потенциометр 1 кОм
POT2 Потенциометр 47 кОм
POT3 Пдстроечный резистор 10 кОм
C1, С2 100 нФ
C3, С4 18 пФ
Q1 Кварцевый резонатор 16 МГц
IC1 Микроконтроллер Atmel ATMEGA16P
IC2 Операционный усилитель LM358N
BNC1 — BNC2 Коннектор типа BNC
S1 — S6 Кнопки
LCD Header 16-выводный коннектор
для подключения дисплея
LCD Module ЖК модуль на базе контроллера HD44780
ISP Коннектор 2×3 для внутрисхемного
программирования
POWER Коннектор для подключения питания
LED1 Светодиод зеленого цвета свечения, 3 мм
ON/OFF Миниатюрный выключатель

Изменения в программном обеспечении микроконтроллера

Изменения в исходном коде связаны лишь с назначением кнопок подключенных к порту D микроконтроллера:

1. Кнопки «влево» и «вправо»

#define LEFT 3 //PORTD 
#define RIGHT 1 //PORTD 

2.Кнопки «вниз» и «вверх»

#define DOWN 4 //PORTD 
#define UP 0 //PORTD 

Кроме того для последних версий компилятора AVR-GCC необходимо внести изменения в следующие строчки кода:

struct signal{
  volatile uint8_t mode;  //signal
  volatile uint8_t fr1;   //Frequency [0..7]
  volatile uint8_t fr2;   //Frequency [8..15]
  volatile uint8_t fr3;   //Frequency [16..31]
  volatile uint32_t freq; //frequency value
  volatile uint8_t flag;  //if 0 generator is OFF, 1 is ON
  volatile uint32_t acc;  //accumulator
  volatile uint8_t ON;
  volatile uint8_t HSfreq;     //high speed frequency [1...4Mhz]
  volatile uint32_t deltafreq; //frequency step value
}SG;

Fuse-биты микроконтроллера ATmega16: HIGH = 0×59, LOW = 0×CF – это соответствует тому, что будут запрограммированы следующие биты: OCDEN, SPIEN, BOOTSZ1, BOOTSZ2, SUT1, SUT0.


Архив для статьи «DDS генератор на ATmega16»
Описание: Исходный проект AVR GCC, схема и плата в формате Eagle
Размер файла: 168.74 KB Количество загрузок: 5 097 Скачать

Понравилась статья? Поделиться с друзьями:

  • Назад
  • Вперед

мир электроники — Программирование для начинающих. часть1

материалы в категории

Микроконтроллеры (далее мы их просто будем называть МК) завоевывают все большую популярность у радиолюбителей. С их помощью можно собрать практически все что угодно- индикаторы, вольтметры, приборы для дома (устройства защиты, коммутации, термометры…), металлоискатели, разные игрушки, роботы и т. д. перечислять можно очень долго….

В этих статьях мы постараемся изучить микроконтроллеры AVR фирмы ATMEL, научимся работать с ними, рассмотрим программы для прошивки, изготовим простой и надежный программатор, рассмотрим процесс прошивки и самое главное проблемы, которые могут возникнуть( и не только у новичков).

Основные параметры микроконтроллеров семейства AVR

 

Микроконтроллер

Память FLASH

Память ОЗУ

Память EEPROM

Порты ввода/вывода

U питания

Частота

ATmega48

4

512

256

23

2,7-5,5

0-10-20

ATmega48V

4

512

256

23

1,8-4,8-5,5

0-4-10

ATmega8515

8

512

512

35

4,5-5,5

0-16

ATmega8515L

8

512

512

35

2,7-5,5

0-8

ATmega8535

8

512

512

32

4,5-5,5

0-16

ATmega8535L

8

512

512

32

2,7-5,5

0-8

ATmega8

8

1K

512

23

4,5-5,5

0-16

ATmega8L

8

1K

512

23

2,7-5,5

0-8

ATmega88

8

1K

512

23

2,7-5,5

0-10-20

ATmega88V

8

1K

512

23

4,5-5,5

0-4-10

ATmega16

16

1K

512

32

4,5-5,5

0-16

ATmega16L

16

1K

512

32

2,7-5,5

0-8

ATmega32

32

2K

1K

32

4,0-5,5

0-16

ATmega32L

32

2K

1K

32

2,7-5,5

0-8

Дополнительные параметры МК AVR mega:

Рабочая температура:  -55…+125*С
Температура хранения:  -65…+150*С
Напряжение на выводе RESET относительно GND: max 13В
Максимальное напряжение питания: 6.
Максимальный ток линии ввода/вывода: 40мА
Максимальный ток по линии питания VCC и GND: 200мА

Цоколевка выводов моделей ATmega 8X


Цоколевка выводов моделей ATmega48x, 88x, 168x

Цоколевка выводов ATmega8515x

Расположение выводов у моделей 

 

Цоколевка выводов у моделей ATmega16, 32x

Расположение выводов у моделей ATtiny2313

 

В конце статьи, во вложении, есть даташиты на некоторые микроконтроллеры

Установочные FUSE биты MK AVR

BODEN

BODLEVEL

BOOTRST

BOOTSZ0

BOOTSZ1

CKSEL0

CKSEL1

SPIEN

CKSEL2

CKSEL3

EESAVE

FSTRT

INCAP

RCEN

RSTDISBL

SUT0

SUT1

 

 

 

 

 

 

 

Запомните, запрограммированный фьюз – это 0, не запрограммированный – 1.  Осторожно  стоит относиться к выставлению фьюзов, ошибочно запрограммированный фьюз может заблокировать микроконтроллер. Если вы не уверены какой именно фьюз нужно запрограммировать, лучше на первый раз прошейте МК без фьюзов.

Самыми популярными микроконтроллерами у радиолюбителей являются ATmega8, затем идут ATmega48, 16, 32, ATtiny2313 и другие. Микроконтроллеры продаются в TQFP корпусах и DIP, новичкам рекомендую покупать в DIP. Если купите TQFP, будет проблематичнее их прошить, придется купить или изготовить переходник и паять плату т.к. у них ножки располагаются очень близко друг от друга. Советую микроконтроллеры в DIP корпусах, ставить на специальные панельки (сокеты), это удобно и практично, не придется выпаивать МК если приспичит перепрошить, или использовать его для другой конструкции.

Почти все современные МК имеют возможность внутрисхемного программирования ISP, т.е. если ваш микроконтроллер запаян на плату,  то для того чтобы сменить прошивку нам не придется выпаивать его с платы.


Для программирования используется 6 выводов:

RESET — Вход МК
VCC — Плюс питания, 3-5В, зависит от МК
GND — Общий провод, минус питания.
MOSI — Вход МК (информационный сигнал в МК)
MISO — Выход МК (информационный сигнал из МК)
SCK — Вход МК (тактовый сигнал в МК)

Иногда еще используют вывода XTAL 1 и XTAL2, на эти вывода цепляется кварц, если МК будет работать от внешнего генератора, в ATmega 64 и 128 вывода MOSI и MISO не применяются для ISP программирования, вместо них вывода MOSI подключают к ножке PE0, a MISO к PE1.  При соединении микроконтроллера с программатором, соединяющие провода должны быть как можно короче, а кабель идущий от программатора на порт LPT так-же не должен быть слишком длинным.

В маркировке микроконтроллера могут присутствовать непонятные буквы с цифрами, например Atmega 8L 16PU, 8 16AU, 8A PU и пр. Буква L означает, что МК работает от более низкого напряжения, чем МК без буквы L, обычно это 2. 7В. Цифры после дефиса или пробела 16PU или 8AU говорят о внутренней частоте генератора, который есть в МК. Если фьюзы выставлены на работу от внешнего кварца, кварц должен быть установлен на частоту, не превышающей максимальную по даташиту, это 20МГц для ATmega48/88/168, и 16МГц для остальных атмег.

Первые цифры в названии микроконтроллера обозначают объем FLASH ПЗУ в килобайтах, например ATtiny15 – 1 Кб, ATtiny26 – 2 Кб, AT90S4414 – 4 Кб, Atmega8535 – 8 Кб, ATmega162 – 16Кб, ATmega32 – 32 Кб, ATmega6450 – 64Кб, Atmega128 – 128Кб.

Иногда встречаются схемы, где применены микроконтроллеры с названиями типа AT90S… это старые модели микроконтроллеров, некоторые из них можно заменить на современные, например:

AT90S4433 – ATmega8
AT90S8515 – ATmega8515
AT90S8535 – ATmega8535
AT90S2313 – ATtiny2313
ATmega163 – ATmega16
ATmega161 – ATmega162
ATmega323 – ATmega32
ATmega103 – ATmega64/128

ATmega 8 имеет несколько выводов питания, цифровое – VCC, GND и аналоговое – AVCC, GND. В стандартном включении обе пары выводов соединяют параллельно, т.е. вместе. Микроконтроллеры AVR не любят повышенного напряжения, если питание выше 6 вольт, то они могут выйти из строя. Я обычно применяю маломощный стабилизатор напряжения на 5 вольт, КР142ЕН5 или 78L05. Если напряжение питания слишком низкое, то МК не прошьется, программа будет ругаться и выдавать ошибки (к примеру -24 в PonyProg).

На этом закончим, пока можете выбрать в интернете понравившуюся схему и изучить ее, можете заодно сходить и купить нужный микроконтроллер. Далее мы будем собирать простой и надежный программатор, познакомимся с программами для прошивания и попробуем прошить МК.

Источник- http://cxem.net/

 

Самодельный MIDI Controller | Rmmedia.ru

General Dead
Well-Known Member