Схемы атмега8: ATmega — Схемы радиолюбителей

Схемы, устройства и проекты на микроконтроллерах AVR

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

Микроконтроллер ATtiny85 является удобной и сравнительно мощной альтернативой старшим моделям микроконтроллеров семейства AVR. Его применение особенно оправданно в тех случаях, когда вы стремитесь к минимизации размеров вашего устройства. Микросхема ATtiny85 содержит 8 контактов – 6 контактов ввода/вывода (включая Reset) и … Читать далее →

ATtiny – это серия самых маленьких микроконтроллеров из семейства AVR. Эти микроконтроллеры могут использовать большинство библиотек, доступных для платформы Arduino. ATtiny85 – это 8-пиновый 8-битный микроконтроллер семейства AVR. Его исключительно малый размер и низкое энергопотребление делают его чрезвычайно удобным для … Читать далее →

В этой статье мы рассмотрим создание портативного счетчика шагов (шагомера) на основе микроконтроллера AVR ATtiny85, акселерометра и гироскопа MPU6050, и OLED дисплея. Питание на шагомер будет подавать от простой батарейки на 3V, что позволяет сделать его достаточно компактным и удобным … Читать далее →

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

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

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

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

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

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

Даташит на русском Atmega8 | Практическая электроника

Что такое даташит

Даташит – это техническое описание на какой-либо радиокомпонент. Где его найти? Ну, конечно же, в интернете! Так так почти вся радиоэлектронная продукция выпускается “за бугром”, то и описание на них, соответственно, “забугорское”, а точнее, на английском языке. Те, кто хорошо дружит с разговорным английским, не факт, что сможет прочитать технические термины в даташитах.Схемы атмега8: ATmega - Схемы радиолюбителей -6). А при 10 МГц — в десять раз быстрее, т.е., 0,1 мкс.

– 32 x 8 General Purpose Working Registers

32 восьмибитных регистра общего пользования.

Про регистры поговорим позднее, просто запомним, что большое количество регистров — весьма неплохо, ведь регистр — это ячейка памяти в самом МК. А чем больше такой памяти – тем «шустрее» работает МК!

Объединив эти данные с количеством поддерживаемых микроконтроллером команд, в очередной раз убеждаемся в изначальной ориентации данного МК под высокоуровневые языки вроде Си, Паскаля и других.

– Fully Static Operation

Полностью статическая структура.

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

(Также нелишним будет напомнить о том, что потребляемая мощность большинства типов МК напрямую зависит от тактовой частоты: чем выше тактовая частота, тем больше он  потребляет)

– Up to 16 MIPS Throughput at 16 MHz

До 16 миллионов выполняемых команд при тактовой частоте 16 МГц.

За одну секунду при тактовой частоте 16 МГц может быть выполнено до 16 000 000 команд! Следовательно, одна однобайтовая команда может быть выполнена за 0,07 мкс. Весьма недурно для маленькой микросхемы.

С учетом предыдущего пункта понимаем, как работает на частотах от 0 Гц до 16 МГц.

– On-chip 2-cycle Multiplier

В данном МК имеется встроенный умножитель, который умножает числа за два такта.

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

– High Endurance Non-volatile Memory segments

Надежная энергонезависимая память, построенная в виде нескольких сегментов.

Вспоминаем типы памяти: EEPROM и FLASH.

– 8KBytes of In-System Self-programmable Flash program memory

– 8 Кбайт встроенной в МК памяти. Память выполнена по технологии Flash.Схемы атмега8: ATmega - Схемы радиолюбителей В самом МК имеется встроенный программатор.

Этот объем весьма хорош! Для обучения (да и не только) — с запасом. А наличие встроенного программатора этой памяти, позволяет загружать данные в память, используя простой внешний программатор (в простейшем случае это пять проводков, которыми микроконтроллер подключают к LPT порту компьютера).

– 256 Bytes EEPROM

В МК имеется 256 байт энергонезависимой памяти EEPROM.

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

– 1024 Bytes Internal SRAM

В МК имеется 1024 байт оперативной памяти (ОЗУ/RAM).

Также весьма приятный объем

– Write/Erase cyles: 10,000 Flash/100,000 EEPROM

Память Flash выдерживает 10 000 циклов записи/стирания, а память EEPROM — до 100 000

Проще говоря, программу в МК можно изменять до 10 000 раз, а свои данные в 10 раз больше.

– Data retention: 20 years at 85°C/100 years at 25°C

Сохранность данных в памяти МК — до 20 лет при температуре хранения 85°C, и 100 лет — при температуре 20°C.

Если ваши внуки и правнуки включат вашу «мигалку» или музыкальную шкатулку, то они смогут насладиться их работой ))

– Optional Boot Code Section with Independent Lock Bits

– Programming Lock for Software Security

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

Ну, тут всё понятно: свои труды вы можете защитить от вычитывания программы из памяти МК.

Далее идет описание имеющейся в данном микроконтроллере периферии (т.е., встроенных в него аппаратных устройств типа таймеров, источников прерываний и интерфейсов связи)

– Two 8-bit Timer/Counters

– One 16-bit Timer/Counter

В МК имеется два таймера/счетчика: 8 и 16 бит.

– Three PWM Channels

Три канала ШИМ

– 8-channel ADC in TQFP and QFN/MLF package

Eight Channels 10-bit Accuracy

– 6-channel ADC in PDIP package

Six Channels 10-bit Accuracy

В составе МК есть несколько каналов АЦП: 6 – для корпуса PDIP и 8 – для корпуса QFN/MLF.Схемы атмега8: ATmega - Схемы радиолюбителей Разрядность АЦП — 10 бит.

– Byte-oriented Two-wire Serial Interface

– Programmable Serial USART

В данном МК реализован аппаратный двухпроводный интерфейс связи USART, байт ориентированный и программируемый — имеется возможность настройки параметров интерфейса.

– Master/Slave SPI Serial Interface

Реализован SPI интерфейс связи, режимы Мастер/Подчиненный.

[quads id=1]

– Programmable Watchdog Timer with Separate On-chip Oscillator

Сторожевой таймер с собственным автономным генератором.

– On-chip Analog Comparator

Аналоговый компаратор.

– Power-on Reset and Programmable Brown-out Detection

Реализованы режимы контроля напряжения питания и защита работы МК при плохом питании (гарантирует увеличение надёжности работы всей системы).

– Internal Calibrated RC Oscillator

Встроенный калиброванный RC-генератор (можно запустить МК без внешних элементов).

– External and Internal Interrupt Sources

Реализовано несколько типов внешних и внутренних прерываний.

– Five Sleep Modes

Пять режимов «сна» (уменьшение энергопотребления МК за счет отключения некоторых внутренних узлов или специальных методов замедления их работы)

Понимаем как возможность выбора такого режима, при котором соотношение «потребляемая энергия/возможности» будут оптимальны для решения наших задач. Весьма полезная возможность при необходимости экономить энергию: питании от батарей, аккумуляторов и других источников.

– 28-pin PDIP, 32-lead TQFP, 28-pad QFN/MLF and 32-pad QFN/MLF

Указаны типы корпусов, в которых выпускается данный микроконтроллер. Видим «28 DIP» — это хорошо! Не надо покупать специализированные дорогостоящие панели и мучиться с тоненькими и часто расположенными выводами на корпусе МК.

Temperature Range:

 -40°C to 85°C

Рабочая температура: -40°C … +85°C

Очень важный параметр! Бывают модели микроконтроллеров, которые работоспособны только при положительных температурах окружающего воздуха.Схемы атмега8: ATmega - Схемы радиолюбителей

(Был у меня горький опыт, когда в устройстве был применен именно такой «теплолюбивый» микроконтроллер. А устройство поместили на улицу… И каждую зиму «благодарные» пользователи моего устройства «хвалили» меня за «замерзание» микроконтроллера, которое проявлялось в виде полного его зависания)

Напряжение питания и тактовая частота

– 2.7 – 5.5V for ATmega8L

– 4.5 – 5.5V for ATmega8

Имеется две модификации данного МК: одна работоспособна при широком диапазоне питающих напряжение, вторая — в узком.

– ATmega8L: 0 – 8 MHz @ 2.7 – 5.5V

– ATmega8: 0 – 16 MHz @ 4.5 – 5.5V

Максимальная тактовая частота:

– Atmega8L: 0 – 8 МГц при напряжении питания 2,7 – 5,5 вольт

– Atmega8: 0 – 16 МГц при напряжении питания 4,5 – 5,5 вольт.

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

Power Consumption at 4 Mhz, 3V, 25°C

– Active: 3.6 mA

– Idle Mode: 1.0 mA

– Power-down Mode: 0.5 µA

Потребляемая мощность:

– при работе на частоте 4 МГц и напряжении питания 3 вольта потребляемый ток: 3,6 миллиампер,

– в различных режимах энергосбережения потребляемый ток: от 1 миллиампер до 0,5 микроампера

Распиновка Atmega8

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

Советую этот листок из даташита распечатать и иметь под рукой. В процессе разработки и сборки схемы очень полезно иметь эти данные перед глазами.

Внимание!

Обратите внимание на такой факт: микросхема микроконтроллера может иметь (и имеет в данной модели) несколько выводов для подключения источника питания. То есть имеется несколько выводов для подключения «земли» — «общего провода», и несколько выводов для подачи положительного напряжения.Схемы атмега8: ATmega - Схемы радиолюбителей

Изготовители микроконтроллеров рекомендуют подключать соответствующие выводы вместе, т.е., минус подавать на все выводы, помеченные как Gnd (Ground — Земля), плюс — на все выводы помеченные как Vcc.

При этом через одинаковые выводы МК не должны протекать токи, так как внутри корпуса МК они соединены тонкими проводниками! То есть при подключении нагрузки эти выводы не должны рассматриваться как «перемычки».

Блочная диаграмма

Листаем описание далее, видим главу «Overview» (Обзор).

В ней имеется раздел «Block Diagram» (Устройство). На рисунке показаны устройства, входящие в состав данного микроконтроллера.

Генератор тактовой частоты

Но самым важным для нас в настоящее время является блок «Oscillator Circuits/Clock Generation» (Схема генератора/Генератор тактовой частоты).

В программе часто возникает необходимость сделать временную задержку в ее выполнении — паузу. А точную паузу можно организовать только методом подсчета времени. Время считаем исходя из количества тактов генератора микроконтроллера.

Да и не лишним будет заранее просчитать: успеет ли МК выполнить тот или иной фрагмент программы за отведенное для этого время.

В даташите ищем соответствующую главу: «System Clock and Clock Options» (Тактовый генератор и его параметры). В ней видим раздел «Clock Sources» (Источники тактового сигнала), в котором имеется таблица с перечнем видов тактовых сигналов. В этом разделе указано, что данный МК имеет встроенный тактовый RC-генератор. В разделе «Default Clock Source» имеется указание о том, что МК продается уже настроенным для использования встроенного RC-генератора. При этом тактовая частота МК — 1 МГц.

Из раздела «Calibrated Internal RC Oscillator» (Калиброванный RC-генератор) узнаем, что встроенный RC-генератор имеет температурный дрейф в пределах 7,3 — 8,1 МГц. Может возникнуть вопрос: если частота встроенного тактового генератора 7,3 — 8,1 МГц, то как была получена частота 1 МГц? Дело в том, что тактовый сигнал попадает в схемы микроконтроллера через программируемый делитель частоты (Об это рассказано в разделе «System Clock Prescaler»).Схемы атмега8: ATmega - Схемы радиолюбителей

В данном микроконтроллере он имеет несколько коэффициентов деления: 1, 2, 4 и 8. При выборе первого мы получим частоту самого тактового генератора, при включении последнего — в 8 раз меньше, т.е., 8/8=1 МГц. С учетом вышесказанного получаем, что тактовая частота данного МК при включенном делителе с коэффициентом 8 будет в пределах от 7,3/8 = 0,9125 МГц (9125 КГц) до 8,1/8 = 1,0125 МГц.

Обратите внимание на один ну очень важный факт: стабильность частоты дана при температуре МК 25 градусов по шкале Цельсия. Вспомним, что внутренний генератор выполнен по RC схеме. А емкость конденсатора очень зависит от температуры!

Конденсаторы по питанию

Перед тем, как подать на микроконтроллер питающее напряжение, выполним правило, которое обязательно для всех цифровых микросхем: в непосредственной близости от выводов питания микросхемы должен быть керамический конденсатор емкостью 0,06 — 0,22 мкф. Обычно устанавливают конденсатор 0,1 мкф. Его часто называют блокировочным конденсатором.

В схему необходимо установить и электролитический конденсатор емкостью 4-10 мкф. Он также является блокировочным фильтром, но на менее высоких частотах. Такой конденсатор можно устанавливать один для нескольких микросхем. Обычно на 2-3 корпуса микросхем.

Дело в том, что микроконтроллер (как и другие цифровые микросхемы) состоит из транзисторных ячеек, которые в процессе работы постоянно переключаются из открытого состояния в закрытое, и наоборот. При этом изменяется потребляемая транзисторными ячейками энергия. В линии питания возникают кратковременные «провалы» напряжения. Этих ячеек в микроконтроллере сотни тысяч (думаю, что сейчас уже миллионы!), поэтому по питающим проводам начинают гулять импульсные помехи с частотами от единиц до десятков тысяч Герц.

Для предотвращения распространения этих помех по цепям схемы, да и самой микросхемы микроконтроллера, параллельно его выводам питания устанавливают такой блокировочный конденсатор. При этом на каждую микросхему необходимо устанавливать индивидуальный конденсатор.Схемы атмега8: ATmega - Схемы радиолюбителей

Конденсатор для постоянного тока является изолятором. Но при установке конденсатора в цепи с непостоянным током он делается сопротивлением. Чем выше частота, тем меньшее сопротивление оказывает конденсатор. Следовательно, блокировочный конденсатор с малой емкостью пропускает через себя (шунтирует) высокочастотные сигналы (десятки и сотни Герц), а конденсатор с бОльшей емкостью — низкочастотные. Об этом я писал еще в статье Конденсатор в цепи постоянного и переменного тока

Выводы

– микроконтроллер AVR ATmega-8 при поставке с завода работает на тактовой частоте 0,91—1,1 МГц;

– напряжение питания должно быть в пределах 4,5 — 5,5 Вольт. Мы будем использовать микросхемы с питающим напряжением 5 Вольт, поэтому и МК будет питаться этим же напряжением. (Хотя работоспособность сохранится при напряжении питания 2,7 Вольт для обычных, не низковольтных моделей МК)

Где и как искать компоненты и даташиты ? Смотрите в видео:

Двухканальный цифровой термостат: схема на контроллере Atmega8

Для сборки схемы термостата использовались такие детали, как: микроконтроллер Atmega8, цифровые датчики температуры DS18B20 и дисплей ЖКИ 2х16 знаков.

Программа для Atmega написана на ассемблере. В программе реализована поддержка шины 1wire для датчиков. Устройство не выполняет поиск или распознавание идентификационных номеров датчиков, каждый из них подключен к разному контакту микроконтроллера. Таким образом к контроллеру можно подключить только два термодатчика, но в данном проекте этого достаточно. Кроме того, это решение значительно упростило программу.

Функции цифрового термостата

Термостат может быть запрограммирован с 8 рабочими параметрами, это рабочий режим, имеется 5 режимов:

  • режим 1 — два независимых канала охлаждения
  • режим 2 — два независимых канала, один охлаждающий, один нагревательный
  • режим 3 — два независимых канала нагрева
  • режим 4 — один дифференциальный канал охлаждения
  • режим 5 — один дифференциальный канал нагрева

Пороговые значения температуры от T1 до T4 для включения или выключения выходов, в зависимости от режима работы.Схемы атмега8: ATmega - Схемы радиолюбителей Ошибка I1, Ошибка I2, программирование выходное действие после отключения или выхода из строя датчика.

Подсветка дисплея также управляемая: включить подсветку, выключить подсветку, включить подсветку на 30 секунд после нажатия клавиши.

Параметры устанавливаются в меню, которое становится доступным после длительного удержания кнопки ввода. Во время нормальной работы на ЖК-дисплее отображается текущая температура и состояние выходов, а в режимах 4 и 5 также разница температур. Все параметры сохраняются в памяти EEPROM, поэтому они не теряются после сбоя питания.

Как выглядит алгоритм работы? Алгоритм просто сравнивает фактическую температуру с пороговыми значениями, установленными пользователем. При установке пороговых значений температуры программа следит за тем, чтобы:

  • диапазон датчиков не превышался
  • температура включения была выше температуры выключения (режим охлаждения) не менее чем на 0,5 C.

Все меню (8 параметров и возможность выхода из режима программирования) вместе с проверкой введенных параметров с учетом режима работы занимало больше места в памяти, чем основная программа. Основная программа — поддержка датчиков — считывание температуры, преобразование данных, отображение данных на дисплее. И соответствующее управление выходами с учетом: считываемой температуры, рабочего режима и заданных пользователем пороговых значений. Все это заняло 8 кБ памяти.

Конструкция и сборка

Регулятор температуры построен на односторонней плате размером 65 x 100 мм, разработана в EAGLE. Несколько элементов, например микроконтроллер, расположены под дисплеем.

Выходы термостата представляют собой два реле 250 В 16 А, поэтому можно легко подключить к ним потребители на приличную мощность. Всё питается от 12 В постоянного тока. Термостат уже долго работает без сбоев.

Схемы на микроконтроллерах, самодельные устройства и программаторы

Схема цифровой шкалы на Arduino UNO для связного КВ-приемника

Здесь приводится описание цифровой шкалы для коротковолнового связного приемника, работающего в диапазонах 160м, 80м, 40м, 20м, 10м или любом из них.Схемы атмега8: ATmega - Схемы радиолюбителей Шкала работает с двухстрочным ЖК-дисплеем. В его верхней строке показывает значение частоты в кГц,а в нижней длину волны в метрах. Внося …

1
546
0

Самодельный велоспидометр на ARDUINO UNO (ATMEGA328)

Здесь описывается цифровой прибор на микроконтроллере, измеряющий скорость движения велосипеда. Индикатором служит ЖК-дисплей типа 1602А, он стандартный, на основе контроллера HD44780. Обозначение 1602А фактически значит, что он на две строки по 16 символов в строке. Используется только одна его …

1
311
0

Девятиразрядный мультиметр на АЦП AD7705 и AVR микроконтроллере

Основой предлагаемого мультиметра является микросхема 16-битного двухканального дельта-сигма аналого-цифрового преобразователя (АЦП) AD7705. Широко распространенные мультиметры на основе  АЦП двойного интегрирования ICL7106 [2] обеспечивают отображение результата преобразования числом, не превышающим 1999, что соответствует, без учета знака, 11-битному АЦП, за вычетом 48 единиц счёта…

1
1422
0

Реле времени на микроконтроллере AVR ATtiny2313 с индикатором фирмы Data Vision

Схема и описание самодельного реле времени на AVR микроконтроллере ATtiny2313 с индикатором фирмы Data Vision. Реле времени (таймеры), пожалуй, одна из самых массовых разработок конструкторов электронных техники. Автор предлагает вариант 4-х канального реле времени, разработанного на базе микроконтроллера семейства AVR и жидкокристаллического индикатора фирмы Data Vision. Принципиальная схема реле времени …

1
364
0

Макет светофора на ARDUINO UNO, схема и описание

Этот макет светофорного управления движения на перекрестке можно использовать в различных играх по изучению правил дорожного движения. Он может быть сделан как в миниатюрном, настольном варианте для передвижения по нему игрушечных моделей машин и кукол-пешеходов, так и в варианте для детского …

1
180
0

Самодельный кодовый замок на микроконтроллере (PIC16F628A)

Схема самодельного кодового замка, построенного на микроконтроллере PIC16F628A и транзисторах, имеет цифровое табло.Схемы атмега8: ATmega - Схемы радиолюбителей Этот замок можно использовать для ограничения доступа в помещение, гараж, дом, сейф, шкаф. Его исполнительным устройством может служить механизм запирания двери автомобиля …

1
655
0

Часы с календарем на индикаторах ИН-12

Предлагаемые часы показывают текущее время и дату, обладают функциями будильника. Их особенность — использование газоразрядных цифровых индикаторов ИН-12. Подобные индикаторы широко применялись в электронных часах и цифровых измерительных приборах в семидесятые годы прошлого века. Индикаторы …

1
709
0

Автоматическое управления вентиляцией помещения, схема на МК ATtiny2313A

Схема самодельного устройства, автоматически включающего и выключающего принудительную вентиляцию помещения. Работа устройства осуществляется в зависимости от относительной влажности воздуха в помещении и скорости её изменения. Оно не содержит дефицитных деталей и может быть помещено в стандартный …

0
712
0

Двоичные часы на микроконтроллере PIC16F628A

Схема самодельных двоичных часов на микроконтроллере PIC16F628A и светодиодах. Эти необычные карманные часы могут стать оригинальным подарком. Индикатор времени в них построен всего на шести единичных светодиодах. Секрет в том, что число часов и число минут текущего времени отображаются ими …

1
472
0

Термометр на микроконтроллере для четырех датчиков DS18B20

Схема самодельного термометра, предназначенного для отображения данных с четырех датчиков DS18B20, используется микроконтроллер. К этому микроконтроллерному термометру можно подключить до четырёх цифровых датчиков температуры DS18B20, расположив их в тех местах, где необходимо контролировать …

1
617
0

1 2  3  4  5  … 10

Радиодетали, электронные блоки и игрушки из китая:

Простейший программатор для ATmega8 | Полезное своими руками

В современных электронных схемах все чаще и чаще применяются микроконтроллеры.Схемы атмега8: ATmega - Схемы радиолюбителей Да что там говорить, если сегодня не найти даже обыкновенную елочную гирлянду без микроконтроллера внутри — он задает различные программы иллюминации.

Я впервые столкнулся с микроконтроллерами, когда собирал свой первый импульсный металлоискатель Клон. Вот тогда-то и выяснилось, что контроллер без прошивки — это просто кусок пластмассы с ножками.

А чтобы залить нужную прошивку в АТМЕГу, никак не обойтись без программатора. Далее мы рассмотрим две самые простые и проверенные временем схемы программаторов.

Схема первая

С помощью этого программатора можно прошивать практически любой AVR-контроллер от ATMEL, надо только свериться с распиновкой микросхемы.

СОМ-разъем на схеме — это «мама».

На всякий случай привожу разводку печатной платы для атмеги8 (скачать), хотя такую примитивную схему проще нарисовать от руки. Плату перед печатью нужно отзеркалить.

Файл печатной платы открывать с помощью популярной программы Sprint Layout (если она у вас еще не установлена, то качайте 5-ую версию или лучше сразу 6-ую).

Как понятно из схемы, для сборки программатора потребуется ничтожно малое количество деталек:

Вместо КТ315 я воткнул SMD-транзистор BFR93A, которые у меня остались после сборки микромощных радиомикрофонов.

А вот весь программатор в сборе:

Питание (+5В) я решил брать с USB-порта.

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

Если же ваша микросхема б/у-шная, то без внешнего кварца она может и не запуститься. Тогда лучше ставьте кварц на 4 МГц, а конденсаторы лучше на 33 пФ.

Как видите, я кварц с конденсаторами не ставил, но на всякий случай предусмотрел под них места на плате.

Заливать прошивку лучше всего с помощью программы PonyProg (скачать).Схемы атмега8: ATmega - Схемы радиолюбителей

Прошивка с помощью PonyProg

Заходим в меню Setup -> Calibration -> Yes. Должно появиться окошко «Calibration OK».

Далее Setup -> Interface Setup. Выбираем «SI Prog API» и нужный порт, внизу нажимаем «Probe», должно появиться окно «Test OK». Далее выбираем микроконтроллер «Device -> AVR micro ATmega8».

Теперь втыкаем микроконтроллер в панельку программатора, и подаем питание 5 вольт (можно, например, от отдельного источника питания или порта ЮСБ). Затем жмем Command -> Read All.

После чтения появляется окно «Read successful». Если все ок, то выбираем файл с нужной прошивкой для заливки: File -> Open Device File. Жмем «Открыть».

Теперь жмем Command -> Security and Configuration Bits и выставляем фьюзы, какие нужно.

Тщательно все проверяем и жмем «OK». Далее нажимаем Command -> Write All -> Yes. Идет прошивка и проверка. По окончании проверки появляется окно «Write Successful».

Вот и все, МК прошит и готов к использованию!

Имейте в виду, что при прошивке с помощью других программ (не PonyProg) биты могут быть инверсными! Тогда их надо выставлять с точностью до наоборот. Определить это можно, считав фьюзы и посмотрев на галку «SPIEN».

Схема вторая

Еще одна версия программатора, с помощью которого можно залить прошивку в микроконтроллер АТМЕГа (так называемый программатор Геннадия Громова). Схема состоит всего из 10 детатей:Диоды можно взять любые импульсные (например, наши КД510, КД522). Разъем — «мама». Питание на МК (+5В) нужно подавать отдельно, например, от того же компьютера с выхода USB.

Все это можно собрать навесным монтажом прямо на разъеме, но если вы крутой паяльник и знаете, что такое smd-монтаж, то можете сделать красиво:

Программировать только программой Uniprof. Тут хорошее описание программы: http://www.getchip.net/posts/025-uniprof-universalnyjj-programmator-dlya-avr/

Алгоритм прошивки с помощью программатора Громова

Программатор с установленной микросхемой подключаем к СОМ-порту компьютера, затем запускаем Uniprof, затем подаем питание на микроконтроллер.Схемы атмега8: ATmega - Схемы радиолюбителей И первым делом проверяем, читаются ли фьюз-биты.

Если все ок, выбираем файл с нужной прошивкой и жмем запись.

Будьте предельно внимательны и осторожны, потому что если глюканет при записи фьюзов, то МК либо на выброс, либо паять схему доктора (а она сложная). Если поменяете бит SPIEN на противоположный — результат будет тот же (к доктору).

Схема. Барометр и термометр на ATmega8

      
      Пределы измерения и погрешность прибора определяются в основном примененными в нем датчиками: температура -55…+125 °С, атмосферное давление 225. 825 мм ртутного столба. Прибор питается напряжением 9 В от гальванической батареи типа «Крона» или сетевого адаптера Потребляемый ток — 30 мА (при выключенной подсветке ЖКИ). Размеры корпуса -118×72-28 мм. Работа прибора была проверена при температуре от -5 до +25 °С Погрешность измерения давления не превысила 4 мм ртутного столба.

      Схема барометра и термометра изображена на рис. 1, причем собранный на отдельной плате модуль измерения давления выделен штрихпунктирной линией.
      Необходимые для работы датчика тактовые импульсы частотой 32768 Гц вырабатывает кварцевый генератор на элементах микросхемы DD1. В принципе, эти импульсы мог бы формировать и микроконтроллер DD2 с помощью одного из имеющихся в нем таймеров. Но это потребовало бы усложнения программы.
      Напряжение 3,6 В для питания датчика В1 и микросхемы DD1 получено с помощью стабилитрона VD1. Резисторы R1—R3 — нагрузочные для линий связывающего датчике микроконтроллером интерфейса I2С и сигнала XCLR Печатная плата модуля измерения давления показана на рис. 2.

      Хотя датчик HP03SB содержит и встроенный измеритель температуры, его показания используются программой микроконтроллера DD2 только для уточнения результатов измерения давления. На ЖКИ HG1 вместе со значением давления выводятся показания другого датчика температуры — DS1624 (В2) Причина этого проста — он точнее.
      При необходимости датчик В2 можно сделать выносным и расположить там, где температура представляет наибольший интерес.Схемы атмега8: ATmega - Схемы радиолюбителей При установке в корпусе прибора этот датчик следует вынести на боковую стенку, сделав в ней окно по его размерам. Иначе неизбежна ошибка на 1,5… 1,8 °С, в чем я убедился на практике.

      Напряжение питания +5 В стабилизировано микросхемой DA1. Подстроечным резистором R8 устанавливают наилучшую контрастность изображения на ЖКИ. Кнопкой SB1 включают подсветку его табло. Остальные элементы необходимы для работы микроконтроллера. Элементы R7, R9 С10 VD2 — цепь установки микроконтроллера в исходное состояние Кварцевый резонатор ZQ2 с конденсаторами С11.С12 — частотозадающая цепь тактового генератора микроконтроллера.

      На рис. 3 представлен чертеж основной печатной платы прибора а на рис. 4 — расположения деталей на ней. В переходное отверстие показанное залитыми (плата на рис. 2), необходимо вставить и пропаять с двух сторон проволочную перемычку. Для микроконтроллера DD1 должна быть предусмотрена панель, так как в процессе налаживания прибора эту микросхему придется извлекать и вновь устанавливать.
      Остановимся на некоторых особенностях датчика HP03SB, общий вид и габаритные размеры показаны на рис. 5. Для определения давления необходимо предварительно прочитать из памяти установленного в приборе экземпляра этого датчика двухбайтные значения коэффициентов С1—С1 и однобайтные значения параметров А—D. Все они индивидуальны для данного экземпляра.
      Результаты измерения представляют собой два двухбайтных числа: D1 —давление. D2 — температура. Прочитав их из памяти датчика, программа должна вычислить вспомогательные значения:

А затем — давление воздуха в гектопаскалях:
PhP = X·10/32+C7;
и в миллиметрах ртутного столба:
PHg = PhP·1000/13332.

      Более подробные сведения о датчике HP03SB имеются в [1]. Однако необходимо отметить что там указаны неверно адреса внутренней памяти датчика, по которым хранятся его индивидуальные константы. Следует пользоваться теми адресами что приведены в [2]. В приборе можно применить и другие датчики серии НР03.Схемы атмега8: ATmega - Схемы радиолюбителей Некоторые из них имеют меньшую точность, другие отличаются конструктивным оформлением.

      Работа программы начинается с инициализации портов микроконтроллера и ЖКИ. Успешную инициализацию подтверждает вывод на табло надписи TERMOBAR» (буква Н пропущена). Затем инициализируется датчик давления, считываются его показания, выполняются расчеты, результаты которых преобразуются в двоично-десятичный формат и выводятся на индикатор, занимая три десятичных разряда. Аналогично происходят обработка и вывод на ЖКИ значения температуры. Его целая часть — три разряда, дробная — два разряда. Продолжительность показа значений давления и температуры по 3,5 с.

      Подпрограмма Timer_int каждые 70 мин проверяет в каком направлении за это время изменилось давление, и выводит на ЖКИ знаки «↑», «↓», «=». В подпрограммах инициализации и чтения показаний датчиков HP03SB и DS1624 состояние регистра статуса модуля TW1 микроконтроллера не проверяется.

      Для чтения коэффициентов и параметров датчика предназначена специальная программа ReadCC, которую необходимо загрузить в программную память микроконтроллера полностью собранного прибора (с подключенным модулем измерения давления), включить его и через несколько секунд выключить. После этого нужно извлечь микроконтроллер и с помощью программатора прочитать содержимое его EEPROM. В нем по адресам, указанным в табл. 1, находятся значения индивидуальных коэффициентов и параметров датчика. Далее необходимо открыть файл рабочей программы барометра-термометра BARO-2 asm, найти в нем фрагмент, приведенный в табл. 2, и исправить значения объявленных там констант в соответствии с прочитанными из EEPROM. Параметр D в программе не используется.

      Теперь программа готова к работе с установленным в прибор экземпляром датчика. Остается оттранслировать ее с помощью AVR Studio и загрузить полученный НЕХ-файл в микроконтроллер. Учтите, что аналогичный файл, приложенный к статье, рассчитан на работу с датчиком, имевшимся у автора Если загрузить его в микроконтроллер, прибор с другим экземпляром датчика давления будет работать но давать неточные показания.Схемы атмега8: ATmega - Схемы радиолюбителей

      В разработке использованы фрагменты программ из [3] и [4]. Подпрограммы преобразования чисел из шестнадцатеричного формата в двоично-десятичный переработаны с учетом разрядности чисел. Подпрограммы перемножения и деления двухбайтных чисел, предназначенные для микроконтроллеров семейства MCS-51, переведены на язык ассемблера AVRASM Меньше всего подверглась изменениям подпрограмма управления ЖКИ, учтены лишь особенности индикатора MT-10S1 а для ввода и вывода сигналов использованы другие порты микроконтроллера.

Прилагаемые файлы:    baro-2.zip

ЛИТЕРАТУРА
1. НР03 Series of calibrated sensor module HP03SB —    www.hoperf.com/pdf/HP03SB.pdf    .
2. HP03 programming guide —    www.hoperf.com/pdf/hp03_code.pdf   
3. Трамперт В. AVR-RISC микроконтроллеры.— К.. МК-Пресс, 2006
4. Фрунзе А. Микроконтроллеры? Это же просто! Том. 1. — М . Додэка-ХХI 2007.

Н. САЛИМОВ, г. Ревда Свердловской обл.
«Радио» №6 2010г.

Похожие статьи:
Барометрический высотомер
Цифровой термометр

Post Views:
979

Самодельный импульсный металлодетектор на ATmega8 + ЖКИ

Всем привет.

Как собрать этот металлодетектор и какие материалы для этого использовались.

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

Схема

Здесь смотрите на комплектующие, в случае если они не имеются в наличии, тогда пока не стоит начинать (скорее всего без интернет — магазина тут не обойдётесь).

Если все необходимые элементы куплены, то теперь можно начинать сборку.

Печатная плата использовалась тут из принципа блочного построения, главная причина — это собрать компактную схему на имеющихся в наличии элементах, а так же в этом случае получилась передающая и приёмная часть схемы, на разных платах, хотя это не имеет большого значения, передающая и приёмная часть схемы не работают одновременно, но всё таки…

Печатная плата прилагается в Sptint Layout

Внешний вид

Вот такой образовался «бутерброд»

Делаем датчик

К датчику не предъявляется особых требований, просто придерживайтесь рекомендации по величине сопротивления, а так же по величине индуктивности (катушка  L = 400 uH, R = 1.Схемы атмега8: ATmega - Схемы радиолюбителей 7 Ом , медный провод 0.63 — 0.75, толщина каркаса 5 мм) . Не используйте в креплении катушки электропроводимые детали, (все элементы и клей ПХВ).

Шаблон

Начинайте наматывать такую катушку (сверху, потом в прорезь и снизу после опять в прорезь и сверху и так далее).Главное, чтобы обязательно было такое же количество прорезей как и на фотографии.

Когда выполненная схема начала работать

Вот теперь можно приступить к полной сборке прибора.

Сначала нужно придать датчику «аэродинамическую» форму, а затем  — тонкая ткань, стеклоткань, которая пропитана эпоксидкой.

Штанга (то есть нижняя часть):

Здесь использовался эпоксидный пруток (советского производства), так же очень хорошо может подойти звено от телескопического удилища. Многие люди применяют трубу ПВХ от пластикового водопровода, широкий выбор фурнитуры даёт возможность выполнить конструкции различных форм, материал верный, но по жёсткости очень гибкий, она прогибается, это конечно минус, но эту проблему можете немного исправить, можно засунуть в трубу деревянную вставку, которая также обмазана эпоксидкой.

Металлоискатель в собранном виде

В рабочем состоянии:

Для транспортировки можно собрать его вот так:

Прошивка была немного русифицирована, для того чтобы меню устройства было на русском языке.

Чувствительность  на 5 копеек (Россия) 23 см, VDI показывать начинает при 15 см.

Барьер отсечки.

Имеется разделение: серебро — медь — алюминий, бронза — латунь — свинец, никель —  нержавейка — серебро, но здесь правда не всё идеально точно. К примеру железо, может оказаться в районе латунь — алюминий, а консервные банки могут отобразиться в районе никель — нержавейка — серебро.

Один и тот же металл может появиться сразу в трёх секторах достаточно отчётливо.

Дискриминация.Схемы атмега8: ATmega - Схемы радиолюбителей

  1. Почти не отличается от режима « нет дискриминации»
  2. Уверенно определяется никель, нержавейка, но и железки неплохо проходят 🙂
  3. Железо неплохо отсекается, имеются отдельные попискивания при слабеньких откликах, немножко режется никель, нержавейка и консервная жестянка проходит.
  4. Режим режется все за исключением 15 — 16 секторов.

    Напряжение для питания: движение начинается уже от 7 Вольт.

    Потребляемый ток: при напряжении 12 Вольт — около 85 — 110 мА.

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

    Данная статья может быть интересной для начинающего любителя и для того кто уже имеет опыт в таких проектах.

    Можно сделать часть схемы в «proteus», с её помощью вы можете ознакомится с навигацией по меню.

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

    Здесь ниже есть архив с файлами для этого проекта:

    Архив

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

Avr Atmega8 — особенности и блок-схема с даташитом

В моей предыдущей статье я обсуждал ATmega32. Теперь позвольте мне представить еще одного члена семейства микроконтроллеров AVR, ATmega8. Этот член имеет много функций, аналогичных ATmega32. Но в нем уменьшено количество функций и возможностей, но при этом достаточно функций для работы. Теперь позвольте мне сказать вам, что если вы хотите собрать знания и в то же время сделать это с меньшими затратами, чем бюджет ATmega32, вы можете подумать о создании проектов с ATmega8.В этом случае одна функция, которую вы не сможете реализовать, — это интерфейс JTAG.Схемы атмега8: ATmega - Схемы радиолюбителей Но остальные функции доступны в этой ИС. Посмотрим, что можно получить от ATmega8.

Схема выводов микроконтроллера Atmega8: —

Схема контактов — Atmega8

Память: имеет 8 Кбайт флеш-памяти программ (стойкость до 10 000 циклов записи / стирания), 512 байт EEPROM (100 000 циклов записи / стирания). 1 Кбайт внутренней SRAM

портов ввода / вывода: 23 порта ввода / вывода могут быть получены от трех портов; а именно порт B, порт C и порт D.

прерываний: два внешних источника прерываний, расположенных в порту D. 19 различных векторов прерываний, поддерживающих 19 событий, генерируемых внутренними периферийными устройствами.

Таймер / счетчик

: доступны три внутренних таймера, два 8-битных и один 16-битный, предлагающие различные режимы работы и поддерживающие внутреннюю или внешнюю синхронизацию.

SPI (последовательный периферийный интерфейс): ATmega8 содержит три интегрированных устройства связи. Один из них — последовательный периферийный интерфейс. Для реализации этой схемы связи Atmega8 назначены четыре контакта.

USART: одним из самых мощных коммуникационных решений является USART, а ATmega8 поддерживает как синхронные, так и асинхронные схемы передачи данных. Для этого предусмотрены три контакта. Во многих проектах этот модуль широко используется для связи контроллера PC-Micro.

TWI (двухпроводный интерфейс): Еще одно устройство связи, которое присутствует в ATmega8, — это двухпроводный интерфейс. Это позволяет разработчикам настроить коммутацию между двумя устройствами, используя всего два провода вместе с общим заземлением. Поскольку выход TWI осуществляется с помощью выходов с открытым коллектором, для создания схемы требуются внешние подтягивающие резисторы.

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

Аналого-цифровой преобразователь: Встроенный аналогово-цифровой преобразователь может преобразовывать аналоговый входной сигнал в цифровые данные с разрешением 10 бит.Схемы атмега8: ATmega - Схемы радиолюбителей Для большинства приложений низкого уровня этого разрешения достаточно.

Ссылки

ATmega8 Лист данных

Найдите ниже «блок-схему внутренней архитектуры» Atmega8

Схема контактов микроконтроллера

ATMega8, конфигурация, характеристики и техническое описание

ATMega8 — 8-битный микроконтроллер AVR

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

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

Схема контактов микроконтроллера ATMega8

нажмите на картинку для увеличения

Конфигурация контактов ATMEGA8

№ контакта.

Имя пина

Описание

Альтернативная функция

1

PC6 (СБРОС)

Pin6 PORTC

Вывод

по умолчанию используется как вывод сброса. Если запрограммирован предохранитель RSTDISBL, PC6 может использоваться как вывод ввода / вывода.

(ВЫСОКОЕ значение контроллера сброса)

2

PD0 (RXD)

Pin0 PORTD

RXD (входной контакт USART)

Интерфейс последовательной связи USART

[Может использоваться для программирования]

3

PD1 (TXD)

Контакт1 PORTD

TXD (выходной контакт USART)

Интерфейс последовательной связи USART

[Может использоваться для программирования]

INT2 (вход внешнего прерывания 2)

4

PD2 (INT0)

Контакт 2 порта PORTD

Внешнее прерывание INT0

5

PD3 (INT1)

Контакт 3 PORTD

Внешнее прерывание INT1

6

PD4 (XCK / T0)

Pin4 PORTD

T0 (Вход внешнего счетчика Timer0)

XCK (ввод / вывод внешних часов USART)

7

VCC

8

ЗЕМЛЯ

9

PB6 (XTAL1 / TOSC1)

Pin6 PORTB

XTAL1 (вывод 1 генератора тактовой частоты или вход внешнего тактового сигнала)

TOSC1 (вывод 1 генератора таймера)

10

PB7 (XTAL2 / TOSC2)

Pin7 порта PORTB

XTAL2 (вывод 2 генератора тактовой частоты)

TOSC2 (вывод 2 генератора таймера)

11

ПД5 (Т1)

Контакт 5 PORTD

T1 (Вход внешнего счетчика Timer1)

12

PD6 (AIN0)

Pin6 PORTD

AIN0 (положительный I / P аналогового компаратора)

13

PD7 (AIN1)

Pin7 PORTD

AIN1 (отрицательный I / P аналогового компаратора)

14

PB0 (ICP1)

Pin0 порта PORTB

ICP1 (Вход захвата таймера / счетчика 1)

15

PB1 (OC1A)

Pin1 порта PORTB

OC1A (выход таймера / счетчика1, выход сравнения A)

16

PB2 (SS / OC1B)

Контакт 2 порта PORTB

SS (вход выбора ведомого SPI).Схемы атмега8: ATmega - Схемы радиолюбителей На этом выводе низкий уровень, когда контроллер действует как ведомый.

[Последовательный периферийный интерфейс (SPI) для программирования]

OC1B (Выход таймера / счетчика1, выход сравнения B)

17

PB3 (MOSI / OC2)

Контакт 3 PORTB

MOSI (главный выход, подчиненный вход).Когда контроллер действует как ведомый, данные принимаются на этот вывод. [Последовательный периферийный интерфейс (SPI) для программирования]

OC2 (Выход таймера / счетчика2, выход сравнения)

18

PB4 (MISO)

Pin4 порта PORTB

MISO (главный вход и выход подчиненного устройства). Когда контроллер действует как подчиненный, данные передаются этим контроллером мастеру через этот вывод.

[Последовательный периферийный интерфейс (SPI) для программирования]

19

PB5 (SCK)

Контакт 5 PORTB

SCK (последовательные часы шины SPI). Это часы, совместно используемые этим контроллером и другой системой для точной передачи данных.

[Последовательный периферийный интерфейс (SPI) для программирования]

20

AVCC

Vcc для внутреннего преобразователя АЦП

21

AREF

Analog Reference Pin для АЦП

22

ЗЕМЛЯ

ЗЕМЛЯ

23

PC0 (АЦП0)

Pin0 PORTC

ADC0 (входной канал ADC 0)

24

ПК1 (АЦП1)

Контакт 1 PORTC

АЦП1 (входной канал АЦП 1)

25

ПК2 (АЦП2)

Контакт 2 PORTC

АЦП2 (входной канал 2 АЦП)

26

PC3 (ADC3)

Контакт 3 PORTC

АЦП3 (входной канал АЦП 3)

27

PC4 (АЦП4 / SDA)

Pin4 PORTC

АЦП4 (входной канал АЦП 4)

SDA (линия ввода / вывода данных двухпроводной последовательной шины)

28

PC5 (ADC5 / SCL)

Контакт 5 PORTC

ADC5 (входной канал ADC 5)

SCL (Линия синхронизации двухпроводной последовательной шины)

Характеристики ATMEGA8

ATMEGA8 — Упрощенные функции

ЦП

8-битный AVR

Количество контактов

28

Рабочее напряжение (В)

+2.Схемы атмега8: ATmega - Схемы радиолюбителей 7 В ДО +5,5 В (ATmega8L)

+4,5 В ДО +5,5 В (ATmega8) (+ 5,5 В является абсолютным максимумом)

Количество контактов ввода / вывода

23

Коммуникационный интерфейс

Главный / подчиненный последовательный интерфейс SPI (16,17,18,19 PINS) [Может использоваться для программирования этого контроллера]

Программируемый последовательный USART (2,3 PINS) [Может использоваться для программирования этого контроллера]

Двухпроводной последовательный интерфейс (27,28 контактов) [Может использоваться для подключения периферийных устройств, таких как датчики и ЖК-дисплеи]

Интерфейс JTAG

Нет в наличии

Модуль АЦП

6 каналов, разрешение 10 бит АЦП

Модуль таймера

Два 8-битных счетчика, Один 16-битный счетчик [Всего три]

Аналоговые компараторы

1

Модуль ЦАП

Нет

ШИМ каналов

3

Внешний осциллятор

0-8 МГц для ATMEGA8L

0-16 МГц для ATMEGA8

Внутренний осциллятор

Калиброванный внутренний осциллятор 0–8 МГц

Тип памяти программ

Вспышка

Программная память или флэш-память

8 Кбайт [10000 циклов записи / стирания]

Скорость процессора (MIPS)

16 MIPS

RAM

1 КБ

EEPROM

512

Сторожевой таймер

Программируемый сторожевой таймер с отдельным встроенным генератором

Блокировка программы

Есть

Режимы энергосбережения

Шесть режимов [режим ожидания, шумоподавление АЦП, энергосбережение, отключение питания, режим ожидания и расширенный режим ожидания]

Рабочая температура

от -55 ° C до + 125 ° C (+125 — абсолютный максимум, -55 — абсолютный минимум)

ATMEGA8 Замены

ATMEGA328P

Альтернативы ATMEGA8

ATMEGA16, ATMEGA32, ATMEGA8535

Где использовать микроконтроллер ATMEGA8

ATMEGA8 — это 28-контактный микроконтроллер AVR.Схемы атмега8: ATmega - Схемы радиолюбителей Хотя у нас есть много похожих микроконтроллеров, ATMEGA8 популярен, потому что это один из самых дешевых микроконтроллеров и предоставляет множество функций на меньших контактах. С программной памятью 8 Кбайт приложение ATMEGA8 очень универсально. С различными режимами ЭНЕРГОСБЕРЕЖЕНИЯ он может работать в МОБИЛЬНЫХ ВСТРОЕННЫХ СИСТЕМАХ. Благодаря своему компактному размеру его можно разместить на многих небольших досках. Благодаря сторожевому таймеру для сброса при ошибке его можно использовать в системах с минимальным вмешательством человека. Эти функции, объединенные в одном контроллере, делают ATMEGA8 популярным.

Как использовать микроконтроллер ATMEGA8

Использование ATMega8 аналогично использованию других микроконтроллеров ATMega, таких как ATMega32. Точно так же микроконтроллер необходимо запрограммировать и добавить соответствующие периферийные устройства для получения выходного сигнала. Без программирования контроллер — пустая фишка.

Для работы ATMEGA8 сначала необходимо записать соответствующий программный файл во FLASH-память ATMEGA8. После сброса этого программного кода контроллер выполняет этот код и дает соответствующий ответ.

Весь процесс использования ATMEGA8 выглядит следующим образом:

  1. Перечислить функции, которые должны выполняться ATMEGA8.
  2. Напишите функции на языке программирования в программах IDE. Вы можете бесплатно скачать программу IDE. Программа IDE для контроллеров AVR — ATMEL STUDIO. Ссылка на ATMELSTUDIO приведена ниже.

(Обычно Atmel Studio 6.0 для Windows7 [http://atmel-studio.software.informer.com/6.0/],

Atmel Studio 7 для Windows10 [https: // www.microchip.com/avr-support/atmel-studio-7])

(помните, что для этих IDE программа должна быть написана на языке «C»)

  1. После написания нужных программ скомпилируйте для устранения ошибок с помощью IDE.
  2. Заставить среду IDE сгенерировать HEX-файл для написанной программы.Схемы атмега8: ATmega - Схемы радиолюбителей
  3. Выберите устройство программирования (обычно программатор SPI для контроллеров AVR), который устанавливает связь между ПК и ATMEGA8.
  4. Запустите программу записи файлов HEX, которая предоставляется для выбранного устройства программирования.
  5. Выберите соответствующий шестнадцатеричный файл программы в SPI или другом программном обеспечении.
  6. Запишите шестнадцатеричный файл записанной программы во флэш-память ATMEGA8, используя эту программу.
  7. Отключите программатор, подключите соответствующие периферийные устройства для контроллера и запустите систему.

Приложения

Есть сотни приложений для ATMEGA8.

  • Промышленные системы управления.
  • SMPS и системы регулирования мощности.
  • Измерение аналоговых сигналов и манипуляции с ними.
  • Встроенные системы, такие как кофеварка, торговый автомат.
  • Системы управления двигателями.
  • Дисплейные единицы.
  • Система периферийного интерфейса.

2D Модель

Все размеры указаны в миллиметрах.

Введение в архитектуру микроконтроллера Atmega8 и ее приложения

Аббревиатура микроконтроллера AVR — «Advanced Virtual RISC», а микроконтроллер — это краткое обозначение микроконтроллера.Микроконтроллер — это крошечный компьютер на одной микросхеме, также называемый устройством управления. Подобно компьютеру, микроконтроллер состоит из множества периферийных устройств, таких как блоки ввода и вывода, память, таймеры, последовательная передача данных, программируемые. Приложения микроконтроллера включают встроенные приложения и автоматически управляемые устройства, такие как медицинские устройства, устройства дистанционного управления, системы управления, офисные машины, электроинструменты, электронные устройства и т. Д. На рынке доступны различные типы микроконтроллеров, такие как микроконтроллеры 8051, PIC и AVR.Схемы атмега8: ATmega - Схемы радиолюбителей .В данной статье представлена ​​краткая информация о микроконтроллере AVR Atmega8.

Что такое микроконтроллер AVR Atmega8?

В 1996 году микроконтроллер AVR был произведен компанией «Atmel Corporation». Микроконтроллер включает гарвардскую архитектуру, которая быстро работает с RISC. Характеристики этого микроконтроллера включают в себя функции, отличные от других, таких как спящий режим-6, встроенный АЦП (аналого-цифровой преобразователь), внутренний генератор и последовательный обмен данными, выполняет инструкции за один цикл выполнения.Эти микроконтроллеры были очень быстрыми, и они использовали низкое энергопотребление для работы в различных режимах энергосбережения. Доступны различные конфигурации микроконтроллеров AVR для выполнения различных операций, таких как 8-битные, 16-битные и 32-битные. Пожалуйста, обратитесь к приведенной ниже ссылке; Типы микроконтроллеров AVR

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

Микроконтроллеры AVR доступны в трех различных категориях, таких как TinyAVR, MegaAVR и XmegaAVR

  • Микроконтроллер Tiny AVR очень мал по размеру и используется во многих простых приложениях
  • Mega AVR микроконтроллер очень известен большим количеством интегрированных компонентов, хорошей памятью и используется в современных для множества приложений
  • Микроконтроллер Xmega AVR применяется в сложных приложениях, требующих высокой скорости и огромной памяти программ.

Описание выводов микроконтроллера Atmega8

Основной особенностью микроконтроллера Atmega8 является то, что все выводы микроконтроллера поддерживают два сигнала, кроме 5-контактных. Микроконтроллер Atmega8 состоит из 28 контактов, из которых контакты 9,10,14,15,16,17,18,19 используются для порта B, контакты 23,24,25,26,27,28 и 1 используются для порта C и Контакты 2, 3, 4, 5, 6, 11, 12 используются для порта D. Конфигурация контактов микроконтроллера

Atmega8

  • Контакт -1 является контактом RST (сброс) и подает сигнал низкого уровня в течение более длительного времени, чем минимальная длина импульса вызовет СБРОС.Схемы атмега8: ATmega - Схемы радиолюбителей
  • Контакты 2 и 3 используются в USART для последовательной связи.
  • Контакты 4 и 5 используются в качестве внешнего прерывания. Один из них будет активироваться, когда установлен бит флага прерывания в регистре состояния, а другой будет активироваться до тех пор, пока условие вторжения будет успешным.
  • Выводы 9 и 10 используются в качестве таймера счетчиков генераторов, а также в качестве внешнего генератора, в котором кристалл напрямую связан с двумя выводами. Pin-10 используется для низкочастотного кварцевого генератора или кварцевого генератора.Если внутренний настраиваемый RC-генератор используется в качестве источника CLK и разрешен асинхронный таймер, эти выводы можно использовать в качестве вывода генератора таймера.
  • Pin-19 используется как Master CLK o / p, подчиненный CLK i / p для SPI-канала.
  • Контакт-18 используется как главный интерфейс CLK, подчиненный CLK выключен.
  • Вывод 17 используется в качестве вывода / вывода данных Master, ввода / вывода данных ведомого для SPI-канала. Он используется как i / p, когда разрешен ведомым устройством, и является двунаправленным, когда это разрешено ведущим устройством. Этот вывод также можно использовать в качестве o / p для сравнения с match o / p, что помогает в качестве внешнего o / p для таймера / счетчика.
  • Pin-16 используется как выбор ведомого i / p. Его также можно использовать в качестве таймера или счетчика1, для сравнения, вывод PB2 размещается как вывод.
  • Вывод 15 может использоваться как внешний вывод таймера или совпадения сравнения счетчика A.
  • Вывод 23 на выводы 28 используются для каналов АЦП (цифровое значение аналогового входа). Контакт 27 также может использоваться как последовательный интерфейс. CLK, а контакт 28 может использоваться как данные последовательного интерфейса.
  • Выводы 12 и 13 используются в качестве аналоговых i / ps компаратора.
  • Выводы 6 и 11 используются в качестве источников таймера / счетчика.Схемы атмега8: ATmega - Схемы радиолюбителей

Архитектура микроконтроллера Atmega8 AVR

Архитектура микроконтроллера Atmega AVR включает следующие блоки.

Архитектура микроконтроллера Atmega8.

Память: имеет 1 Кбайт внутренней SRAM, 8 Кбайт флэш-памяти программ и 512 байтов EEPROM.

Порты ввода-вывода: он имеет три порта, а именно порт-B, порт-C и порт-D, и 23 линии ввода-вывода могут быть подключены к этим портам.

Прерывания: два внешних источника прерывания расположены в порту D.Девятнадцать разнородных векторов прерываний, поддерживающих девятнадцать событий, производимых внутренними периферийными устройствами.

Таймер / счетчик: доступны 3 внутренних таймера, 8 бит-2, 16 бит-1, представляющие многочисленные рабочие режимы и поддерживающие внутреннюю / внешнюю синхронизацию.

Последовательный периферийный интерфейс (SPI): микроконтроллер ATmega8 содержит три интегрированных устройства связи. Один из них — SPI, 4 контакта выделены микроконтроллеру для реализации этой системы связи.

USART: USART — одно из самых мощных коммуникационных решений.Микроконтроллер ATmega8 поддерживает как синхронные, так и асинхронные схемы передачи данных. Для этого на нем выделено три контакта. Во многих коммуникационных проектах широко используется модуль USART для связи с ПК-микроконтроллером.

Двухпроводной интерфейс (TWI): TWI — еще одно устройство связи, которое присутствует в микроконтроллере ATmega8. Это позволяет разработчикам устанавливать связь между двумя устройствами с использованием двух проводов вместе с общим заземлением. Поскольку выход TWI выполняется с использованием открытого коллектора, поэтому внешние подтягивающие резисторы являются обязательными для подключения. схема.

Аналоговый компаратор: Этот модуль встроен в интегральную схему, которая предлагает возможность контраста между двумя напряжениями, связанными с двумя входами компаратора через внешние контакты, связанные с микроконтроллером.

АЦП: Встроенный АЦП (аналого-цифровой преобразователь) может преобразовывать аналоговый i / p-сигнал в цифровые данные с разрешением 10 бит.Схемы атмега8: ATmega - Схемы радиолюбителей Такого разрешения вполне достаточно для приложений низкого уровня.

Приложения микроконтроллера Atmega8

Микроконтроллер Atmega8 используется для создания различных электрических и электронных проектов.Некоторые проекты микроконтроллеров AVR atmega8 перечислены ниже.

Проект

    на базе Atmega8

  • Интерфейс светодиодной матрицы на базе микроконтроллера AVR
  • Связь UART между Arduino Uno и ATmega8
  • Взаимодействие оптопары с микроконтроллером ATmega8
  • Микроконтроллер AVR на базе микроконтроллера и система пожарной сигнализации AVR
  • Измерение уровня освещенности AVR
  • Измерение интенсивности сигнала пожарной тревоги AVR
  • Амперметр 100 мА на базе микроконтроллера AVR
  • Система противоугонной сигнализации на базе микроконтроллера ATmega8
  • Интерфейс джойстика на базе микроконтроллера AVR
  • Интерфейс гибкого датчика на основе микроконтроллера AVR
  • Управление шаговым двигателем с использованием микроконтроллера AVR

Таким образом, это все примерно 9000 9000 Руководство по микроконтроллеру Atmega8, которое включает в себя, что такое микроконтроллер Atmega8, архитектуру, конфигурацию контактов и его приложения.Мы надеемся, что вы лучше понимаете эту концепцию. Кроме того, любые сомнения относительно этой концепции или реализации проектов на основе микроконтроллеров AVR, пожалуйста, оставьте свой отзыв, комментируя в разделе комментариев ниже. В чем разница между микроконтроллером Atmega8 и Atmega 32?

Типы микроконтроллеров AVR — ATmega32 и ATmega8, их работа

ATmega32 — 8-битный микроконтроллер AVR

Микроконтроллеры AVR основаны на усовершенствованной архитектуре RISC.ATmega32 — это 8-разрядный КМОП-микроконтроллер с низким энергопотреблением, основанный на архитектуре RISC, улучшенной AVR. AVR может выполнять 1 миллион инструкций в секунду, если частота цикла составляет 1 МГц.

40-контактный DIP Фотография ATmega32

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

  • 32 x 8 регистров общего назначения.Схемы атмега8: ATmega - Схемы радиолюбителей
  • 32 Кбайт внутренней самопрограммируемой флеш-памяти программ
  • 2 Кбайт внутренней SRAM
  • 1024 байта EEPROM
  • Доступны 40-контактные DIP, 44-выводные QTFP, 44-контактные QFN / MLF
  • 32 программируемых строки ввода / вывода
  • 8-канальный, 10-битный АЦП
  • Два 8-битных таймера / счетчика с отдельными предделителями и режимами сравнения
  • Один 16-битный таймер / счетчик с отдельным предварительным делителем, режимом сравнения и режимом захвата.
  • 4 канала ШИМ
  • В системном программировании с помощью встроенной программы загрузки
  • Программируемый сторожевой таймер с отдельным встроенным генератором.
  • Программируемый последовательный USART
  • Главный / подчиненный последовательный интерфейс SPI

Специальные функции микроконтроллера:

  • Шесть спящих режимов: холостой ход, шумоподавление АЦП, энергосбережение, отключение питания, режим ожидания и расширенный режим ожидания.
  • Внутренний калиброванный RC-генератор
  • Внешние и внутренние источники прерываний
  • Сброс при включении и программируемое обнаружение пониженного напряжения.

40-контактный DIP ATmega32

Все 32 регистра напрямую подключены к арифметико-логическому устройству (ALU), что позволяет осуществлять доступ к двум независимым регистрам в одной инструкции, выполняемой за один такт.

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

Режим шумоподавления АЦП останавливает ЦП и все модули ввода / вывода, кроме АЦП и асинхронного таймера. В режиме ожидания, кроме кварцевого генератора, остальная часть устройства находится в спящем режиме. И основной генератор, и асинхронный таймер продолжают работать в расширенном режиме ожидания.Схемы атмега8: ATmega - Схемы радиолюбителей

ATmega32 — это мощный микроконтроллер, поскольку он сам программируется внутри системы на монолитной микросхеме и обеспечивает гибкое и экономичное решение для многих встраиваемых приложений управления.

44-контактный TQFP / MLF

Описание контактов:

VCC: Источник цифрового напряжения

GND: Земля

Порт A (PA7-PA0): Этот порт служит аналоговым входом для аналого-цифровой преобразователь.Он также служит 8-битным двунаправленным портом ввода-вывода, если аналого-цифровой преобразователь не используется.

Порт B (PB7-PB0) и порт D (PD7-PD0): Это 8-битный двунаправленный порт ввода-вывода. Его выходные буферы обладают симметричными характеристиками возбуждения с высокой пропускной способностью как приемника, так и источника. В качестве входов они становятся крайне низкими, если активированы подтягивающие резисторы. Он также обслуживает различные специальные функции ATmega32.

Порт C (PC7-PC0): Это 8-битный двунаправленный порт ввода-вывода.Если интерфейс JTAG включен, подтягивающие резисторы на контактах PC5 (TDI), PC3 (TMS) и PC2 (TCK) будут активированы.

Взаимодействие с JTAG через порт C ATmega32

Сброс: Это вход.

XTAL1: Это вход для усилителя инвертирующего генератора и вход для рабочей схемы внутренних часов.

XTAL2: Это выходной сигнал усилителя инвертирующего генератора.

AVCC: Это вывод напряжения питания для порта A и аналого-цифрового преобразователя.Он должен быть подключен к VCC.

AREF: AREF — аналоговый опорный вывод для аналого-цифрового преобразователя.

ATmega32 Memories:

Он имеет две области основной памяти: память данных и область памяти программ. Кроме того, он имеет память EEPROM для хранения данных.

В системной программируемой флеш-памяти:

ATmega32 содержит 32 Кбайт встроенной в систему перепрограммируемой флеш-памяти для хранения программ.Схемы атмега8: ATmega - Схемы радиолюбителей Флэш-память организована как 16k X 16, и ее память разделена на два раздела: раздел загрузочной программы и раздел прикладной программы.Схема программатора ISP

Память данных SRAM:

Файл регистров, память ввода-вывода и внутренняя SRAM данных адресуются из 2144 нижних ячеек памяти данных. Первые 96 ячеек адресуют файл регистров и память ввода / вывода, а внутренняя SRAM данных адресуется следующими 2048 ячейками. Прямой, косвенный со смещением, косвенный, косвенный с пре-декрементом и косвенный с пост-декрементом — это 5 различных режимов адресации для покрытия памяти данных. С помощью этих режимов адресации доступны 32 регистра общего назначения, 64 регистра ввода / вывода и 2048 байтов внутренней SRAM данных.

Блок-схема ATmega32

EEPROM Память данных:

Содержит 1024 байта памяти EEPROM данных. Доступ к нему можно получить как к отдельному пространству данных, в котором можно читать и записывать отдельные байты.

Память ввода-вывода:

Все устройства ввода-вывода и периферийные устройства размещаются в области ввода-вывода. Доступ к местоположениям ввода-вывода осуществляется командами IN и OUT, передавая данные между 32 регистрами общего назначения и пространством ввода-вывода. Регистры ввода-вывода с адресом 00-1F доступны напрямую по битам с использованием инструкций SBI и CBI.

ATmega8

Введение

Это 8-битный КМОП микроконтроллер из семейства AVR (разработан Atmel Corporation в 1996 году) и построен на архитектуре RSIC (компьютер с сокращенным набором команд). Его основное преимущество в том, что он не содержит аккумулятора, а результат любой операции может быть сохранен в любом регистре, определенном инструкцией.

Архитектура

Архитектура

Память

Состоит из 8 КБ флэш-памяти, 1 КБ SRAM и 512 байтов EEPROM.Флэш-память 8K разделена на 2 части: нижняя часть используется как секция загрузочной флэш-памяти, а верхняя часть используется как секция флэш-памяти приложения.Схемы атмега8: ATmega - Схемы радиолюбителей SRAM содержит 1 Кбайт вместе с 1120 байтами регистров общего назначения и регистров ввода-вывода. 32 младших адреса используются для 32 8-битных регистров общего назначения. Следующие 64 адреса используются для регистров ввода / вывода. Все регистры подключены напрямую к АЛУ. EEPROM используется для хранения данных, определенных пользователем.

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

Состоит из 23 линий ввода / вывода с 3 портами ввода / вывода, названными B, C и D.Порт B состоит из 8 линий ввода / вывода, порт C состоит из 7 линий ввода / вывода, а порт D состоит из 8 линий ввода / вывода.

Регистры, соответствующие любому порту X (B, C или D):

DDRX : Регистр направления данных порта X

PORTX : Регистр данных порта X

PINX : Входной регистр порта X

Таймеры Счетчики

и

Состоит из 3-х таймеров с сопоставимыми режимами. Два из них 8-битные, а третий 16-битный.

Генераторы

Он включает в себя внутренний сброс и генератор, что позволяет исключить необходимость в любом внешнем входе.Внутренний RC-генератор способен генерировать внутренние часы, которые могут работать на любой частоте 1 МГц, 2 МГц, 4 МГц или 8 МГц в соответствии с программой. Он также поддерживает внешний генератор с максимальной частотой 16 МГц.

Связь

Обеспечивает как синхронные, так и асинхронные схемы передачи данных через USART (универсальный синхронный и асинхронный приемный передатчик), то есть связь с модемами и другими последовательными устройствами. Он также поддерживает SPI (последовательный периферийный интерфейс), используемый для связи между устройствами на основе метода ведущий-ведомый.Другой поддерживаемый тип связи — TWI (двухпроводной интерфейс). Это позволяет коммутировать между любыми двумя устройствами, используя 2 провода вместе с общим заземлением.

Он также имеет модуль компаратора, встроенный в микросхему, чтобы обеспечить сравнение двух напряжений, подключенных к двум входам аналогового компаратора через внешние микросхемы.Схемы атмега8: ATmega - Схемы радиолюбителей

Он также содержит 6-канальный АЦП, из которых 4 имеют точность 10 бит, а 2 — точность 8 бит.

Регистр состояния : Он содержит информацию о текущем выполняемом наборе арифметических команд.

Схема выводов ATmega :

Схема выводов ATmega

Одной из важных особенностей ATmega8 является то, что все остальные выводы, кроме 5, поддерживают два сигнала.

  • Контакты 23,24,25,26,27,28 и 1 используются для порта C, тогда как контакты 9,10,14,15,16,17,18,19 используются для порта B и контактов 2,3 , 4,5,6,11,12 используются для порта D.
  • Контакт 1 также является контактом сброса, и подача сигнала низкого уровня в течение времени, превышающего минимальную длину импульса, приведет к сбросу.
  • Контакты 2 и 3 также используются для последовательной связи для USART.
  • Контакты 4 и 5 используются как внешние прерывания. Один из них сработает, когда установлен бит флага прерывания в регистре состояния, а другой будет срабатывать, пока преобладает условие прерывания.
  • Контакты 9 и 10 используются в качестве внешнего генератора, а также в качестве генераторов счетчиков таймера, где кристалл подключается непосредственно между контактами. Контакт 10 используется для кварцевого генератора или кварцевого генератора низкой частоты. Если внутренний откалиброванный RC-генератор используется в качестве источника синхронизации и включен асинхронный таймер, эти выводы можно использовать как выводы генератора таймера.
  • Контакт 19 используется как выход Master Clock, вход Slave Clock для канала SPI.
  • Вывод 18 используется как вход тактовых импульсов главного устройства, выход тактовых импульсов подчиненного устройства.
  • Контакт 17 используется как выход данных Master, вход данных Slave для канала SPI. Он используется как вход, когда разрешен ведомым устройством, и двунаправлен, когда разрешен ведущим устройством. Этот вывод также можно использовать в качестве выхода сравнения сравнения, который служит внешним выходом для сравнения таймера / счетчика.Схемы атмега8: ATmega - Схемы радиолюбителей
  • Контакт 16 используется как вход выбора ведомого.Его также можно использовать в качестве сравнения таймера / счетчика1, настроив вывод PB2 как выход.
  • Вывод 15 может использоваться как внешний выход для сравнения таймера / счетчика A.
  • Выводы 23–28 используются для каналов АЦП. Контакт 27 также может использоваться как часы последовательного интерфейса, а контакт 28 может использоваться как данные последовательного интерфейса.
  • Контакты 13 и 12 используются как входы аналогового компаратора.
  • Контакты 11 и 6 используются как источники таймера / счетчика.

Спящий режим микроконтроллера

Микроконтроллер работает в 6 спящих режимах.

  • Режим ожидания: Он останавливает работу ЦП, но разрешает работу SPI, USART, ADC, TWI, таймера / счетчика и сторожевого таймера и прерывает систему. Это достигается установкой битов SM0 в SM2 флага регистра MCU в ноль.
  • Режим снижения шума АЦП : Останавливает ЦП, но позволяет функционировать АЦП, внешним прерываниям, таймеру / счетчику2 и сторожевому таймеру.
  • Режим отключения питания : Включает внешние прерывания, двухпроводной последовательный интерфейс, сторожевой таймер при отключении внешнего генератора.Он останавливает все сгенерированные часы.
  • Режим энергосбережения : Используется, когда таймер / счетчик синхронизируется асинхронно. Он останавливает все часы, кроме clk ASY.
  • Режим ожидания : В этом режиме генератору разрешается работать, останавливая все остальные операции.

Приложения с участием Atmega8

Мигающий светодиод

Схема мигающего светодиода

Программа написана на языке C и сначала компилируется как.c файл. Программный инструмент ATMEL преобразует этот файл в двоичный объектный файл ELF. Затем он снова конвертируется в шестнадцатеричный файл. Затем шестнадцатеричный файл передается в микроконтроллер с помощью программы AVR dude.Схемы атмега8: ATmega - Схемы радиолюбителей

Фото:

Секундомер с ATmega8

Секундомер с ATmega8
Дорожка:
Главная =>
AVR-EN =>
Приложения =>
Секундомеры с AVR => Секундомер ATmega8
Diese Seite на немецком языке:

Приложения AVR

Секундомер с ATmega8 в Ассемблере

Здесь описывается секундомер со следующими свойствами:

  • Четыре канала можно измерить независимо
  • Временное разрешение при 1 мс
  • Часы Xtal с точностью 50 ppm
  • Управление пуском и остановом, возможны неактивные паузы
  • Четырехстрочный ЖК-дисплей для отображения четырех каналов
  • Особые звуковые сигналы для всех событий, выбираемые программным обеспечением
  • Простой монтаж
  • Ассемблер с исходным кодом
  • Программное обеспечение, совместимое с 2.0 или 2,048 или 8,0 МГц Xtals

Эта страница в формате PDF для
скачать (18 стр., 677 kB).

1 Оборудование

Это полное железо.

Тактовая частота ATmega8 составляет 2,048 МГц xtal. С
небольшие изменения программного обеспечения, xtals с 2,0 или 8,0 МГц
также можно использовать.

Блок питания от четырех аккумуляторных батарей 1,2 В
так что стандартные ЖК-дисплеи с рабочим напряжением 5 В могут
использоваться.

ЖК-дисплей размером четыре на двадцать подключен к 8-битной шине, а три
управляющие контакты на ATmega8 (включая чтение / запись).По умолчанию
ЖК-дисплей управляется в режиме флага занятости, но переключается на
режим ожидания возможен с небольшим изменением исходного кода.

Одна клавиша очищает секундомер, одна клавиша запускает и останавливает
часы и четыре клавиши (или малоактивные датчики) останавливают четыре
каналы.

Интерфейс ISP позволяет программировать контроллер в
работающая система.

2 Структура программного обеспечения

2.1 Схема отображения

Здесь показана организация отображения. Он показывает дисплей
государственный

  1. после сброса,
  2. во время измерения времени работы и
  3. после остановки двух из четырех каналов.Схемы атмега8: ATmega - Схемы радиолюбителей


2.2 Варианты часов

Тактовая частота в миллисекундах определяется частотой Xtal.
следующее. При использовании Xtal 2,0 или 8,0 МГц
8-битный таймер TC2 генерирует тактовую частоту мс через режим CTC и
Сравните прерывание Match A. Если по умолчанию 2,048 МГц
Xtal используется, этот таймер работает в автономном режиме и
генерирует 1 мс с прерыванием переполнения.

На частотах 2,0 и 2,048 МГц 8-битный таймер TC2 работает с
предделитель 8, если используется 8,0 МГц Xtal,
предварительный делитель на 64.

2.3 Процедура обслуживания прерывания TC2

Процедура обслуживания прерывания TC2, либо запущенная
TC2OVF или вектором TC2CMP, сначала считывается в
текущее состояние ключей. Обращение с ключами
выполняется вне ISR, запускается флагом bmS.

Затем проверяется флаг bRun, если измерение времени
горит. Если да, счетчик миллисекунд увеличивается. Если
счетчик достигает 100, он сбрасывается и bdS
установлен флаг. Дальнейший отсчет времени ведется вне
ISR.

2.4 Обработка флага миллисекунды

Если установлен флаг миллисекунды, все ключи проверяются и,
если активен, выполняются разные действия.

Во-первых, сбрасывается флаг ms, чтобы разрешить ее переустановку.
в следующем цикле ISR.

Если нажата кнопка сброса (входной контакт низкий),
происходит следующее:

  1. флаг bRun сброшен, тем самым останавливая
    часовое исполнение,
  2. — очистка регистров времени,
  3. все флаги каналов сброшены,
  4. все строки ЖК-дисплея отображают ноль, а.
  5. дальнейшая обработка ключей пропускается.

Клавиша Start / Stop требует устранения неполадок во избежание
короткие импульсы ключа. Для этого дебаунтер
регистр, называемый rTgl, установлен на предопределенный номер
отсчетов. В случае неактивной кнопки Старт / Стоп это
регистр отсчитывается каждую миллисекунду. Только если
этот регистр равен нулю, активный импульс принимается
и флаг bRun перевернут.Схемы атмега8: ATmega - Схемы радиолюбителей После каждого активного
импульс на ключевом вводе, успешный он или нет,
перезапускает этот счетчик с постоянной cTgl.cTgl
должен быть достаточно большим, чтобы покрыть обычное подпрыгивание
время нажатия клавиш (несколько десятков микросекунд).

После нажатия клавиши Старт / Стоп обрабатывает четыре канала
входы проверены. Сначала проверяется, если
время равно нулю, на котором нет смысла останавливаться
каналы. Если больше нуля, все каналы
проверил, нажата ли соответствующая клавиша
и канал все еще работает (бит канала в
rFlag = 0). В этом случае канал

  1. остановлен (установкой его флагового бита),
  2. текущее время записывается в SRAM
    место хранения этого канала,
  3. номер канала хранится в остановке
    строка в SRAM, и
  4. это время отображается в строке ЖК-дисплея
    этот канал.

Если все четыре канала обработаны,
проверил, все ли четыре канала остановлены.
Если это так, список стоп-строк в SRAM
используется для отображения отсортированного списка каналов
с увеличением времен.

2,5 Децисекунды обработки

Флаг bdS сигнализирует, что 100 микросекунд
более и что децисекунды (и, если необходимо,
остальные регистры часов) нуждаются в обновлении.

Флаг сброшен, а время увеличено.
Во всех каналах, которые еще не были остановлены
(флаг канала = 0), текущее время
отображается (часы, минуты, секунды и
децисекунды, но не миллисекунды).

2,6 Тональный сигнал

Генерация тона выполняется с 16-битным
таймер TC1 в режиме CTC и синхронизируется с предварительным делителем
из 8. При тактовой частоте 2,0 МГц между
3,8 Гц и 250 кГц можно воспроизводить на
Тактовая частота 8,0 МГц между 15,3 Гц и
Возможны 1 МГц.

Тональный выход находится на выходном контакте OC1A, который переключается.
при сравнении совпадение, если тональный сигнал включен, и сброшен, если
тоны отключены. Это разгружает конденсатор на
Выход OC1A, так что ток не может течь в
пин при падении рабочего напряжения.Схемы атмега8: ATmega - Схемы радиолюбителей

При каждом совпадении сравнения запускается прерывание.
ISR ведет обратный отсчет 16-битного счетчика в R25: R24.
Если счетчик достигает нуля, режим OC1A отключен.
изменен на чистый, выход тонового сигнала выключен
в следующем цикле счета. Следовательно, R25: R24 управляет
продолжительность тонов.

Частоты тонов и продолжительность тонов
определяется в константах cTonexxx (в Гц) и
cTonexxxDur (в мс). Из этих констант
Сравните значения cCmpXXX для TC1-CTC и
значения cCtrXXX для счетчика длительности тона равны
рассчитаны и занесены в таблицу под названием
ToneTable: (сначала слово длительности, сравните
значение слова второе).

Процедура ToneStart: запускает тональный сигнал,
для которого его номер (0..10) находится в регистре rmp.
Сначала считывается и устанавливается значение счетчика, затем
сравнить значение.

Для тонов выбраны разные октавы.
Во время включения и для клавиш Reset и Start / Stop
выбрана четвертая октава, секунды / минуты / часы
на одну октаву ниже, а клавиши четырех каналов
на две октавы ниже. Другие сочетания и тона
можно выбрать, изменив константы в
исходный код.

2.7 Управление светодиодами

Управление светодиодами осуществляется с помощью порта PB2. В течение
init светодиод горит постоянно. Когда измерение времени
горит светодиод мигает через десятые доли секунды
для четырех активных каналов (подсчет каналов
включены), за которым следует период отключения четырех десятых
секунд. Когда все четыре канала остановлены
светодиод постоянно выключен.

2,8 Сортировка по минимуму

Если все четыре канала остановлены, четыре раза
отображаются в отсортированном списке по минимальному времени.Строка, в которой были остановлены четыре канала,
хранится в SRAM. Четыре раза либо сохраняются
там.

Если при сборке переключатель eep был установлен в положение
1 все двадцать байтов данных для времени и четыре байта строки
записываются в EEPROM. Можно прочитать содержимое EEPROM.

3 Программное обеспечение

Исходный код на ассемблере для секундомера с ATmega8
можно скачать с
здесь и просмотрено в
браузер здесь.Схемы атмега8: ATmega - Схемы радиолюбителей
Для сборки ЖК-дисплея подключаемый файл
lcd.inc требуется, который обеспечивает
все процедуры ЖК-дисплея.

Программное обеспечение по умолчанию настроено следующим образом:

  • Частота Xtal: 2,048 МГц, часы = 2048000
  • LCD 4×20 8-битная шина данных в режиме занятости
  • EEPROM списать

При программировании микросхемы необходимо заменить предохранители.
на кристалл средней скорости (2,0 или 2,048 МГц) или
быстродействующий кристалл (8,0 МГц), в остальном измеренный
время и воспроизводимые тоны неверны.

Хвала, сообщения об ошибках, ругань и спам через
страница комментариев
мне.

В начало страницы


© 2018 http://www.avr-asm-tutorial.net

Arduino IDE для программирования микроконтроллеров Atmega — TechBlog

от Achu

Arduino IDE предназначена для программирования плат Arduino с микроконтроллером AVR с загрузчиком Arduino. Но знаете ли вы, что ту же самую Arduino IDE можно использовать для программирования других микроконтроллеров Atmega, даже без загрузчика?

Ардуино Мега

Ну может. Но вам нужен дополнительный программатор AVR, например USBASP.Этот метод имеет много преимуществ, таких как дополнительное пространство памяти программ около 2 Кбайт из-за отсутствия загрузчика, короткое время прототипирования по сравнению с кодированием на C.Кроме того, нет необходимости покупать плату Arduino для каждого проекта, поскольку мы можем использовать более дешевую Atmegas. .

Я пробовал Atmega 8 и Atmega 32. Оба они безупречно работают с Arduino IDE. Аппаратное обеспечение простое и состоит только из блока питания, кристалла (8 МГц для Atmega 8 и 16 МГц для Atmega32 и т. Д. Отображение контактов Atmega и Arduino для них обоих приведено ниже

Arduino-To-Atmega8-Pins Схема контактов Arduino и Atmega32

IDE Arduino загружает эскизы по умолчанию с помощью загрузчика и через последовательный порт.Теперь нам нужно изменить его на USBASP. Это можно сделать, отредактировав файл с именем programmers.Схемы атмега8: ATmega - Схемы радиолюбителей txt, расположенный в каталоге ~ / arduino-xxx / hardware / arduino. Мы должны добавить запись, соответствующую нашему USBASP, в конец файла с именем programmers.txt.

т.е.

 usbasp.name = usbasp
usbasp.communication = usb
usbasp.protocol = usbasp 

Теперь нам нужно отредактировать файл с именемboards.txt, расположенный в том же каталоге, чтобы включить в него наши собственные доски. Нам нужно добавить две записи, одну для Atmega 8, а другую для Atmega 32.Добавьте следующее в конец Boards.txt

 ############################################################################################## #############

atmega32.name = ArduinoMega32
atmega32.upload.using = usbasp
atmega32.upload.protocol = USB
atmega32.upload.maximum_size = 32768
atmega32.upload.speed = 38400

atmega32.bootloader.low_fuses = 0xff
atmega32.bootloader.high_fuses = 0xdf
atmega32.bootloader.extended_fuses = 0x00
atmega32.bootloader.path = atmega
atmega32.bootloader.file = ATmegaBOOT.шестнадцатеричный
atmega32.bootloader.unlock_bits = 0x3F
atmega32.bootloader.lock_bits = 0x0F

atmega32.build.mcu = atmega32
atmega32.build.f_cpu = 16000000L
atmega32.build.core = arduino

########################################################################## ###############

atmega8.name = ATmega8 @ 8 МГц

atmega8.upload.using = usbasp
atmega8.upload.protocol = USB
atmega8.upload.maximum_size = 8192
atmega8.upload.speed = 38400

atmega8.bootloader.low_fuses = 0xef
atmega8.bootloader.high_fuses = 0xc4
atmega8.bootloader.path = atmega8_
atmega8.bootloader.file = ATmegaBOOT.hex
atmega8.bootloader.unlock_bits = 0x3F
atmega8.bootloader.lock_bits = 0x0F

atmega8.build.mcu = atmega8
atmega8.build.f_cpu = 8000000L
atmega8.build.core = arduino 

Теперь нам нужно добавить еще несколько файлов. Загрузите это и распакуйте. Замените каталог cores (~ / arduino-xxx / hardware / arduino / cores) загруженной папкой. Вот и все .. готово. Теперь вы можете найти еще две записи, соответствующие Atmega 8 и Atmega 32, в разделе «Инструменты»> «Доски».Схемы атмега8: ATmega - Схемы радиолюбителей Выберите желаемый вариант и введите код…

Код, созданный с помощью Arduino IDE, намного менее эффективен, чем код, созданный с помощью сборки или даже C. Для выполнения требуется больше машинных циклов. Но главное преимущество в том, что время разработки проекта резко сократится. Это связано с огромным количеством библиотек, доступных для ардуино. Я построил свои собственные версии клонов Arduino на некоторых перфокартах и ​​использовал много полосок айсберга. Это может показаться неудобным, но очень помогает при быстром создании прототипов и отладке.Ниже приведены несколько фотографий моих клонов Arduino.

Клон Arduino с использованием клона Atmega8Arduino с использованием варианта Atmega 8Atmega32. Он также оснащен драйвером двигателя L293D, вариант Atmega32, крупным планом, Berg Strips с маркированными разъемами, Berg Strips с маркированными разъемами.

Нравится:

Нравится Загрузка …

Связанные

atmega8 / microscope_management / scheme · ccf7d8fb7b0e42c43327036f45ad8b4f289f4102 · Alexey / embedded_avr · GitLab

перейти к содержанию

  • Проектов
  • Группы
  • Фрагменты
  • Помощь
    • Загрузка…

  • Помощь

    • Какие новости

      10

    • Помощь
    • Поддерживать
    • Форум сообщества

    • Горячие клавиши
      ?

    • Отправить отзыв
  • Войти

Переключить навигацию

E

embedded_avr

  • Обзор проекта

    • Обзор проекта

    • Детали
    • Действия
    • Релизы
  • Репозиторий

    • Репозиторий

    • Файлы
    • коммитов
    • Филиалы
    • Теги
    • Авторы
    • График
    • Сравнить
  • вопросы

    0

    • вопросы

      0

    • Список

    • Доски

    • Этикетки

    • Служба поддержки
    • Вехи

  • Запросы на слияние

    0

    • Запросы на слияние

      0

  • CI / CD

    • CI / CD

    • Трубопроводы

    • Вакансии

    • Расписания

  • Операции

    • Операции

    • Инциденты

    • Среды

  • Пакеты и реестры

    • Пакеты и реестры

    • Реестр пакетов
  • Аналитика

    • Аналитика

    • CI / CD
    • Репозиторий
    • поток создания ценности
  • Вики

    • Вики

  • Фрагменты

    • Фрагменты

  • Члены

    • Члены

  • Мероприятия

  • График
  • Создать новый выпуск
  • Вакансии
  • Совершает
  • Доски выпуска

Свернуть боковую панель

Закрыть боковую панель

Открыть боковую панель

  • Алексей
  • embedded_avr

ccf7d8fb7b0e42c43327036f45ad8b4f289f4102

Переключатель ответвления / метки

Найти файл

Выберите формат архива

Скачать исходный код

застегивать
смола.Схемы атмега8: ATmega - Схемы радиолюбителей