Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

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

AVR микроконтроллеры – это тип устройств, разработанный компанией Atmel, которые имеют определенное преимущество перед обычными микросхемами, но, сначала, давайте разберемся, что такое микроконтроллер?

Самый простой способ понять это – сравнить микроконтроллер с вашим компьютером, в котором установлена материнская плата. На этой плате стоит микропроцессор (на чипе Intel или AMD), который обеспечивает устройство вычислений, память RAM и EEPROM, и интерфейсы остальных систем, например, серийные порты (в настоящее время в основном USB), жесткие диски и графические интерфейсы. В микроконтроллере все эти возможности встроены в один чип, а это значит, что отсутствует потребность в материнской плате и многих других компонентах, например, светодиод может быть подключен напрямую к AVR. В микропроцессорах нет такой возможности!

AVR микроконтроллеры выпускаются в нескольких корпусах, некоторые предназначены для монтажа в отверстия, некоторые для поверхностного. AVR бывают 8-ми и 100-пиновыми, хотя все, что выше 64-х пинов только для монтажа в отверстия. Большинство людей начинают с DIL (Сдвоенный в линию) 28—х пинового чипа, например, ATmega328 или 40-ка пинового ATmega16 или ATmega32.

Компьютерные микропроцессоры бывают минимум 32-х битными, а теперь чаще 64-х битные. Это означает, что они могут обрабатывать данные 32-х битными или 64-х битными блоками, если они подключены к шине. AVR гораздо проще и работает с 8-ми битными блоками, пропускная ширина потока 8 бит, хотя сейчас стали появляться AVR32 с 32-х битной шиной.

На компьютере установлена операционная система (Windows или Linux), и именно в ней запускаются программы, такие, как Word, InternetExplorer или Chrome. На 8-ми битном микроконтроллере, например, на таком, как AVR обычно нет установленной операционной системы, хотя, при необходимости, она может быть установлена. Вместо этого реализована возможность запуска одной программы.

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

Так что же это за программа? Она состоит из серии инструкций, очень простых, и направленных на обработку данных. В большинстве приложений, которые вы будете использовать с AVR, например, в контроллере промышленного оборудования, необходимо, чтобы считывалась информация со входов, проводилась проверка состояния и, соответственно, происходило переключение на выходы. Иногда вам нужно менять данные, управлять ими, или передавать их на другое устройство, например, на ЖК дисплей или на серийный порт. Чтобы выполнять эти простые задачи, используется серия простых бинарных инструкций, каждая из которых соответствует команде на ассемблере, понятной пользователю. Самый простой способ написать программу для AVR – использовать ассемблер (хотя, если хотите оставаться педантичным, можете записывать двоичные числа).

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

Чтобы этого избежать, для написания программ для AVR были использованы языки программирования более высокого уровня, основным считается Cи, а также, можно использовать Basic и Java. Высокий уровень означает, что каждая строка Cи (или Basic, или Java) кода может переводиться в множество строк ассемблера. Компилятор также разбирается со структурой программы и управлением памятью, так что все становится гораздо проще. Наиболее часто используемые процессы, например, задержки или вычисления, могут храниться в библиотеках, и доступ к ним очень простой.

Мне кажется, что написание программ на Си для AVR сравнимо с управлением автомобилем. Да, вы очень легко можете это делать, но, если что-то идет не так, то вы понятия не имеете, как быть, и как справиться со сложной ситуацией, например, со скользкой дорогой. Написание простейших программ на ассемблере дает вам понять, что происходит «под капотом», как это работает, и что с этим можно сделать. Потом вы переходите на Си, но, к этому моменту, вы уже знаете, как функционирует AVR, и знаете его ограничения.

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

У AVR также есть I/O, которое используется, чтобы контролировать аппаратные средства микроконтроллера. К аппаратным средствам относятся порты, АЦП (ADC), коммуникационные интерфейсы, например, I2C (2—х проводной интерфейс), SPI и UART (серийный порт), таймеры и система watchdog, которая восстанавливает систему после сбоя. Все эти периферийные устройства контролируется из-под программы, используя специальные инструкции. Большая часть кода программирования AVR посвящена тому, как устанавливать и контролировать эти аппаратные интерфейсы.

 


Примеры работ
Услуги
Контакты

Время выполнения запроса: 0,00336694717407 секунд.

Микроконтроллеры Atmel – Вольтик.ру

 Компания Atmel – лидер в области производства и разработки микроконтроллеров. Её микроконтроллеры используются во многих встраиваемых решениях, 8-битные контроллеры серии megaAVR с AVR архитектурой положили начало платформе Arduino, сделавшей программирование и использование микроконтроллеров простым как никогда ранее. Кроме AVR, компания производит микроконтроллеры на базе архитектур ARM и MCS-51.

 Но микроконтроллеры AVR всё-таки являются самым популярным детищем Atmel благодаря хорошему сочетанию производительности, энергоэффективности и цены. Они хорошо оптимизированы для программирования на языке C либо собственном языке ассемблера. Первые 8-битные микроконтроллеры этой архитектуры были представлены в 1996 году, 32-битные AVR32 появились через 10 лет – в 2006 году.

AVR имеет гарвардскую архитектуру (данные программы и переменных хранятся в разных адресных пространствах) и систему команду RISC (сокращенный набор команд, увеличивающий быстродействие). Вычислительное ядро, память и остальная периферия находятся на одном кристалле, благодаря чему микроконтроллеры AVR представляют собой SoC (System on chip, система на кристалле).

Кроме флеш-памяти и ОЗУ в AVR микроконтроллерах имеется программируемая EEPROM память. Объём памяти программ – до 512 КБ, Рабочая частота 8-битных AVR контроллеров – до 32 МГц, 32-битных – до 66 МГц. Некоторые из них имеют нативную поддержку интерфейса USB. На сегодняшний день 8-битные AVR микроконтроллеры морально устарели, а семейство AVR32 не получило широкого распространения.

В последнее время компания Atmel перешла на разработку ARM микроконтроллеры вместо дорабатывания AVR. ARM микроконтроллеры Atmel являются представителями семейств Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7. Такое многообразие МК на базе ARM удовлетворит почти любые запросы. Они имеют большие по сравнению с AVR объёмы памяти и тактовые частоты: до 2 МБ памяти программ и до 160 КБ SRAM. Эти микроконтроллеры имеют тактовую частоту до 120 МГц. Кроме того, они имеют нативную поддержку сенсорного ввода Atmel QTouch и интерфейса USB. У МК Atmel на базе ARM Cortex-M4 энергопотребление минимально возможное среди конкурентов, что позволяет создавать высокоавтономные устройства.

 Микроконтроллеры обоих упомянутых выше семейств поддерживают последовательные интерфейсы передачи данных  SPI, I2C и UART.

 Также Atmel выпускает микроконтроллеры семейства MCS-51 на замену снятым с производства Intel 8051. Их производится более 50 видов. Объём флеш-памяти – до 64 КБ. Микроконтроллеры этого семейства (производства не только Atmel) более 30 лет работают в различных электронных устройствах – от светофоров и торговых автоматов до бортовых авиационных самописцев.

AVR Знакомство с семейством AVR

&nbsp

&nbsp

&nbsp

Урок 1

 

 

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

Почему именно с этой линейки?

Ну, может кто знает, может кто-то не знает, микроконтроллер AVR – это продукт компании Atmel.

Ну почему же всё-таки именно с линейки AVR?

Во-первых, микроконтроллеры AVR – они повсеместно доступны, они есть в любых магазинах, цена их невысока.

Во-вторых, из-за наличия многочисленного программного обеспечения для их программирования и прошивки, что тоже в наше время немаловажно.

То есть, при написании программ вы не будете нарушать ни чьих авторских прав.

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

Поэтому, будем программировать мы именно под микроконтроллеры AVR.

Начнём мы с такого представителя этой линейки, как микроконтроллер Atmega 8.

ATMEGA 8A

Почему именно с него, с Atmega 8?

Потому что, во-первых, он вполне себе такой полноправный микроконтроллер и недорогой.

Имеет на своём борту три порта ввода-вывода. Мы не будем здесь вдаваться в подробности, что такое порты. Вкратце, порты – это такие шины данных, которые работают в двух направлениях – и на вывод, и на ввод.

 

 

Порт B.

У порта B, он у нас неполный, имеет 6 ножек.

0, 1 ножка, 2, 3, 4 и 5. То есть, 6 ножечек.
Порт C также у нас неполный, от нулевой до шестой ножки.
А вот порт D у нас полноправный порт, имеет все 8 ног, т.е. байт данных от 0 до 7.
Питается микроконтроллер от 5 вольт. Можно питать его также от 3,3 вольта, он также будет отлично работать. Но единственное, частота тактирования может быть выставлена только 8 мегагерц максимально. 16 мы не можем выставить при трёх вольтах, можем только при пяти вольтах. Подается питание на 7 ножку. Общий провод – восьмая.

Ну теперь давайте посмотрим, откуда мы можем взять программное обеспечение для программирования.
У компании Atmel имеется свой сайт www.atmel.com. На главной страничке, далеко ходить не нужно, в правой части страницы под главным баннером находится вот Download Atmel Studio.

Вот эту вот программку мы скачиваем, устанавливаем. Впоследствии мы будем создавать в ней свои проекты. А как создавать проекты, как писать код, мы с вами познакомимся на следующих занятиях. Так что пока, скачивайте, устанавливайте.
Прошивать контроллер мы поначалу будем вот в такой вот программе – avrdude.
Ссылка на скачивание avrdode 3.3    avrdudeprog33
Ну, на этом, с вашего позволения, я пока закончу Продолжение будет в следующих уроках.

 

Программирование МК AVR  Следующий урок

 

Смотреть ВИДЕОУРОК

 

 

Post Views: 21 627

Новые микроконтроллеры AVR от Microchip – преемники Mega

29 декабря 2020

Александр Белов (КОМПЭЛ)

В начале года Microchip анонсировал выход новой линейки 8-битных микроконтроллеров AVR, которая придет на смену контроллерам высокой и средний производительности ATmega. На данный момент в линейку входят серии AVR-DA, AVR-DB и AVR-DD. В статье разобраны отличия новой линейки от ее предшественницы, рассмотрены характеристики новых серий и проведено их сравнение между собой.

Семейство 8-битных микроконтроллеров AVR было создано компанией Atmel в 1996 году. Данные МК имеют гарвардскую архитектуру, то есть исполняемый код и данные находятся в разных адресных пространствах, и систему команд, близкую к идеологии RISC.

В 2016 году компания Microchip – американский производитель электроники, — приобрела компанию Atmel и пополнила свое портфолио 8-битных микроконтроллеров, представленное устройствами с ядром PIC, микроконтроллерами с архитектурой AVR.

Исторически микроконтроллеры с архитектурой AVR делились на три линейки:

ATtiny – это контроллеры начального уровня с небольшим объемом памяти программ – до 32 кбайт в компактных корпусах (до 32-х выводов).

ATmega – контроллеры средней и высокой производительности с объем памяти до 256 кбайт в корпусах до 100 выводов. Последним пополнением этой линейки стала серия ATmega-0 (ее флагман – ATmega4809), выпущенная в 2018 году. Обновление линейки не планируется, дальнейшим развитием линейки ATmega стала новая линейка AVR, с одноименной архитектурой.

ATxmega – устройства с максимальной производительность, до 384 кбайт памяти программ. Последней выпущенной серией стала E5, увидевшая свет в 2013 году. Развитие этой линейки остановлено, поскольку нишу производительных контроллеров заняли 32-битные микроконтроллеры на базе ядер группы ARM Cortex-M.

В начале 2020 года Microchip анонсировал три серии микроконтроллеров, принадлежащих к новой линейке AVR:

Вместе с названием линейки изменилось и обозначение устройств. Маркировка теперь имеет вид «AVRXXYYZZ», где:

  • XX – объем памяти в килобайтах;
  • YY – семейство;
  • ZZ – количество выводов корпуса.

Серия AVR-DA

Серия AVR-DA состоит из 11 устройств с вариантами выбора объема памяти от 32 до 128 кбайт в корпусах 28…64 вывода. Эта серия была выпущена первой, все ее представители уже доступны для заказа. В таблице 1 указан состав серии и параметры микроконтроллеров.

Таблица 1. Состав и характеристики серии AVR-DA

НаименованиеЧастота ядра, МГцFlash, кбайтSRAM, кбайтEEPROM, байтВы-
воды
12 бит АЦП10 бит ЦАПКомпара-
торы
PTCZCDUSART/SPI/I2CТаймеры Корпуса
AVR128DA28241281651228113113/2/15SPDIP, SOIC, SSOP
AVR128DA32241281651232113113/2/25TQFP, VQFN
AVR128DA48241281651248113125/2/27TQFP, VQFN
AVR128DA64241281651264113136/2/28TQFP, VQFN
AVR64DA282464851228
1
13113/2/15SPDIP, SOIC, SSOP
AVR64DA322464851232113113/2/25TQFP, VQFN
AVR64DA482464851248113125/2/27TQFP, VQFN
AVR64DA642464851264113136/2/28TQFP, VQFN
AVR32DA282432451228113113/2/15SPDIP, SOIC, SSOP
AVR32DA3224324512321131
1
3/2/25TQFP, VQFN
AVR32DA482432512448113125/2/26TQFP, VQFN

Изменения коснулись ядра и его системы питания: ядро может функционировать на увеличенной максимальной частоте 24 МГц во всем диапазоне питающего напряжения 1,8…5,5 В.

Впервые в устройствах AVR появился модуль Zero Cross Detector – детектор пересечения переменным током нулевого уровня. Раньше это была периферия, свойственная только PIC-контроллерам.

АЦП было обновлено: новая версия обеспечивает оцифровку аналогового напряжения с частотой до 130 Гц и разрешением 12-бит с возможностью включения дифференциального режима работы. Аккумулятор был увеличен до 128 семплов. Как и в предыдущей версии, поддерживаются следующие режимы работы:

  • единичное преобразование;
  • режим непрерывного преобразования;
  • режим накопления;
  • режим сравнения с порогом;
  • режим запуска по событию;
  • режим измерения температуры (от встроенного датчика температуры).

В устройствах новой линейки появился модуль ЦАП. Напомним, что контроллеры Mega такового не имели. Преобразователь работает на скорости 140 ksps и имеет разрешение 10 бит.

По сравнению с линейкой ATmega, было увеличено количество следующих модулей периферии:

  • количество модулей USART увеличено до шести;
  • количество аналоговых компараторов увеличено до трех.

Обратим внимание на наличие специфической периферии – Peripheral Touch Controller, сенсорного контроллера, позволяющего реализовать емкостные сенсорные элементы управления – кнопки, слайдеры, спиннеры и 2D-поверхности. Благодаря библиотеке QTouch Library настройка этого модуля сводится к нескольким кликам мыши.

Структурная схема устройств серии AVR-DA изображена на рисунке 1.

Рис. 1. Блок-схема устройств семейства AVR-DA

Для оценки возможностей новой серии и быстрого прототипирования устройств на ее базе компания Microchip выпустила отладочную плату AVR128DA48 Curiosity Nano Evaluation kit, которая изображена на рисунке 2.

Линейка отладочных плат Curiosity Nano – это самые простые отладочные платы производства Microchip. Платы линейки Curiosity Nano содержат стандартный набор компонентов:

  • одну пользовательскую кнопку;
  • один пользовательский светодиод;
  • встроенный программатор/дебаггер с USB-портом.

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

Рис. 2. Отладочная плата AVR128DA48 Curiosity Nano Evaluation kit

Платы Curiosity Nano могут подключаться в качестве процессорного модуля в базовую плату Curiosity Nano Base, которая содержит три порта расширения microBUS, используемые для подключения модулей расширения Click Boards производства MikroElektronika, и один порт расширения Xplained Pro для подключения одноименных модулей расширения Microchip. Базовая плата изображена на рисунке 3.

Рис. 3. Плата Curiosity Nano Base

Серия AVR-DB

Серия AVR-DB состоит из 11 устройств с объемом памяти 32…128 кбайт в корпусах, имеющих 28…64 вывода. На момент написания статьи эта серия выпущена частично. Для заказа доступны устройства с 128 кбайт Flash-памяти. Состав серии и основные характеристики указаны в таблице 2.

Таблица 2. Состав и характеристики серии AVR-DB

НаименованиеЧастота ядра, МГцFlash, кбайтSRAM, кбайтEEPROM, байтВы-
воды
12 бит АЦП10 бит ЦАПКомпа-раторыОпер. усил-лиВы-
воды MVIO
ZCDUSART/SPI/I2CТаймерыКорпуса
AVR128DB282412816512281132813/2/15SPDIP, SOIC, SSOP
AVR128DB322412816512321132813/2/25TQFP, VQFN
AVR128DB482412816512481133825/2/27TQFP, VQFN
AVR128DB642412816512641133836/2/28TQFP, VQFN
AVR64DB2824648512281132813/2/15SPDIP, SOIC, SSOP
AVR64DB3224648512321132813/2/25TQFP, VQFN
AVR64DB4824648512481133825/2/27TQFP, VQFN
AVR64DB6424648512641133836/2/28TQFP, VQFN
AVR32DB2824324512281132813/2/15SPDIP, SOIC, SSOP
AVR32DB3224324512321132813/2/25TQFP, VQFN
AVR32DB4824324512481 (18)1 (1)33825/2/25TQFP, VQFN

Серия DB очень похожа на уже рассмотренную серию: те же объемы памяти и корпуса, частота ядра и напряжение питания, схожий набор периферии. Однако есть и различия.

В наборе периферии произошла замена – Peripheral Touch Controller серии DA заменили на операционные усилители. Каждый операционный усилитель имеет в петле обратной связи резистивный делитель с настраиваемым соотношением сопротивлений, позволяющий настроить коэффициент усиления без использования внешних элементов. Для повышения коэффициента усиления операционные усилители могут соединяться каскадом.

Следующее отличие от серии DA – поддержка инновационной технологии MVIO, суть которой заключается в том, что Port C получил независимое питание VDDIO2, что позволяет последовательным интерфейсам, выведенным на этот порт, коммуницировать со внешними устройствами, запитанными от напряжения, отличного от питания микроконтроллера. Структурная схема питания изображена на рисунке 4.

Рис. 4. Домены питания в AVR-DB

Модификации подвергся Clock Controller, поддерживающий не только внешний часовой кварц, но и высокочастотные кварцевые резонаторы с частотой до 32 МГц. Обобщенная структурная схема контроллера тактовой частоты изображена на рисунке 5.

Рис. 5. Блок-схема генератора частоты

Для серии ABR-DB доступна отладочная плата AVR128DB48 Curiosity Nano Evaluation kit. На плату добавили кварц 16 МГц и нераспаянный разъем для подключения отдельного питания для Port C. Общий вид платы изображен на рисунке 6.

Рис. 6. Отладочная плата AVR128DB48 Curiosity Nano Evaluation kit

Серия AVR-DD

Данная серия включает в себя 12 устройств с объемами памяти 16…64 кбайт в корпусах с 14….32 выводами. Выпуск серии запланирован на второй квартал 2021 года. Характеристики устройств, входящих в серию, указаны в таблице 3.

Таблица 3. Состав и характеристики серии AVR-DD

НаименованиеЧастота ядра, МГцFlash, кбайтSRAM, кбайтEEPROM, байтВы-
воды
12 бит АЦП10 бит ЦАПКомпара-
торы
Выводы MVIOZCDUSART/SPI/I2CТаймеры Корпуса
AVR64DD142464825614111812/1/14SOIC
AVR64DD202464825620111812/1/14SOIC, VQFN
AVR64DD282464825628111812/1/15SPDIP, SOIC, SSOP
AVR64DD322464825632111812/1/15TQFP, VQFN
AVR32DD142432425614111812/1/14SOIC
AVR32DD202432425620111812/1/14SOIC, VQFN
AVR32DD282432425628111812/1/15SPDIP, SOIC, SSOP
AVR32DD322432425632111812/1/15TQFP, VQFN
AVR16DD142416225614111812/1/14SOIC
AVR16DD202416225620111812/1/14SOIC, VQFN
AVR16DD282416225628111812/1/15SPDIP, SOIC, SSOP
AVR16DD322416225632111812/1/15TQFP, VQFN

Серия AVR-DD занимает нишу более компактных устройств с уменьшенным объемом памяти. В ней набор периферии больше не содержит таких специфических модулей, как Peripheral Touch Controller или операционные усилители. В остальном качественный состав периферии не изменился, но количество модулей было уменьшено:

  • один модуль Zero Cross Detector;
  • один компаратор;
  • шесть каналов системы событий;
  • два модуля USART, один SPI и один I2C.

Серию DD c серией DB объединяет поддержка технологии MVIO на Port C и поддержка внешнего кварца высокой частоты.

Сравнение серий DA, DB и DD

Рассмотренные серии поддерживают максимальную частоту ядра 24 МГц во всем диапазоне питающего напряжения 1,8…5,5 В. Таблица 4 позволяет наглядно сравнить характеристики рассмотренных серий.

Таблица 4. Сравнение серий DA, DB и DD

НаименованиеAVR-DAAVR-DBAVR-DD
Максимальная частота ядра, МГц242424
Flash-память, кбайт32… 12832… 12816…64
Память SRAM, кбайт4…164…162…8
Память EEPROM, байт512512256
Выводы28…6428…6414…32
Выводы I/O22…5422…5411…27
12 бит АЦП (каналы)1 (10…22)1 (9…22)1 (7…23)
10 бит ЦАП (выходы)1 (1)1 (1)1 (1)
Компараторы331
Сенсорный контроллер (PTC)1
Операционные усилители2…3
Выводы MVIO8
Детектор перенесения нуля (ZCD)1…31…31
Система событий, каналы8…108…106
Оконный сторожевой таймер (WWDT)111
Конфигурируемая логика (CCL), LUT1(4-6)1(4-6)1(4)
USART/SPI/I2C(3/5/6)/2/(1/2)(3/5/6)/2/(1/2)2/1/1
Таймер 16 бит4/6/74/6/73/4
Таймер 12 бит111
Диапазон рабочих температур, °CI = 85, E = 125I = 85, E = 125I = 85, E = 125

AVR-DA и DB занимают нишу производительных 8-битных контролеров с обширным набором периферии. Основное различие в том, что серия DA имеет Peripheral Touch Controller, а серия DB — операционные усилители.

Серия DD занимает нишу более компактных, но менее производительных устройств с урезанным набором периферии. Серии DB и DD схожи в том, что имеют поддержку технологии MVIO и внешнего кварца высокой частоты.

В новых сериях применены и другие проверенные технологии Microchip, повышающие надежность, гибкость системы и уменьшающие энергопотребление:

  • Core Independent Peripherals – независимая от ядра периферия, способная продолжить работу даже при переходе контроллера в энергосберегающий режим и отключении ядра;
  • Cyclic Redundancy Check Memory Scan – модуль, позволяющий выявить повреждение кода программы, хранящейся во Flash-памяти;
  • Configurable Custom Logic – модуль настраиваемой пользовательской логики, дающий возможность реализовать несложные цифровые устройства, функционирующие без привлечения процессора;
  • Event System – система событий, позволяющая модулям периферии взаимодействовать друг с другом без участия процессора, в том числе и в спящем режиме.

Средства разработки

Поддержка новых серий включена в интегрированные среды разработки от Microchip:

  • Atmel Studio (сейчас — Microchip Studio) – родная среда разработки для микроконтроллеров AVR. Поддержка новых устройств доступна после установки пакета поддержки устройств (Device Family Pack) AVR-Dx_DFP.
  • MPLAB X IDE – изначально среда разработки для микроконтроллеров PIC. В данный момент поддерживаются как PIC-микроконтроллеры, так и AVR, включая последние серии. Плагин MPLAB Code Configurator позволяет графическое конфигурирование устройства и генерацию оптимизированного кода.
  • Atmel START – облачная онлайн-среда разработки, которая, как и MPLAB Code Configurator, имеет удобные графические средства для настройки модулей периферии и системы в целом. Отметим, что данная среда не поддерживает PIC-микроконтроллеры.

Применения

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

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

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

•••

Наши информационные каналы

Джон Мортон Микроконтроллеры AVR Вводный курс

Джон Мортон. Микроконтроллеры AVR. Вводный курс

ПРЕДИСЛОВИЕ

Примите мои поздравления! Раз вы читаете эту книгу, значит, вас заинтересовало одно из наиболее производительных и универсальных семейств 8-битных микроконтроллеров в мире – семейство AVR. Прочитав книгу, вы получите общее представление обо всех микроконтроллерах семейства и узнаете, каким образом с их помощью можно упростить разработку своих устройств, а также создавать более сложные изделия.

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

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

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

AVR-микроконтроллеры

Файл формата PDF размером 1,68 МБ
Курс подробно рассказывает, как сделать самые первые шаги, с чего начать не вообще, а конкретно.
Как сделать нужное вам электронное устройство, печатную плату
Как написать первую, простейшую программу для МК
Как запустить эту программу в программе-симуляторе МК и увидеть, как она работает, не покупая МК и радиодеталей, а значит, без риска спалить что-то или испортить порт вашего ПК!
Как загрузить программу в реальный МК
Как отладить реальное устройство – т. е. найти причины неправильной работы и функционирования в соответствии с поставленной задачей.
Цель курса – помочь вам быстро начать использовать микроконтроллеры семейства AVR с абсолютного нуля знаний о микропроцессорах и о программировании вообще.
В курсе даны кратко ключевые моменты устройства МК, и показано как МК взаимодействует с окружающими его в электронном устройстве компонентами и с другими устройствами, например с ПК. Для использования микроконтроллеров, в том числе и МК AVR, вам не нужно досконально знать электронику и языки программирования. Курс поможет вам научится искать и творчески использовать информацию в объеме, необходимом для реализации конкретного проекта, устройства .
Содержание.
Заглавная страница курса – 123avr.COM – вступление и первые эксперименты.
Что такое МК и AVR в частности. Как работает МК.
Возможности МК. Что и как подключать к МК. Регистры и программа. Прерывания в AVR.
Компиляторы и Симуляторы для МК AVR.
Си для МК – очень малая часть языка достаточна для работы с МК.
Задачи-упражнения по курсу – это практические занятия по работе с МК и необходимые
теоретические сведения и комментарии. Макетные платы, изготовление плат, пайка.
Как и чем прошить (прожечь, загрузить) программу в МК AVR, ATmega.
Как сделать программатор проводков или сложнее.
Дополнительные, полезные материалы
О великолепных МК серии PIC12, PIC16, PIC18 от компании MicroChip

Микроконтроллеры Atmel, AVR – Радиотехника и электроника для разработчиков

Информация\Микроконтроллеры\Микроконтроллеры фирмы Atmel

Здесь представлена информация по микроконтроллерам фирмы Atmel, в основном по микроконтроллерам AVR. Представлены для свободного скачивания книги и справочники. Вы можете здесь же заказать бумажный вариант книги.

  1. Микроконтроллеры AVR: от простого к сложному – М. С. Голубцов 2003г. (2522 Кб)
    Прочитав эту книгу, читатели познакомятся с микроконтроллерами семейства AVR, программным обеспечением, необходимым для конструирования и программирования схем на основе этих микроконтроллеров, а при желании познакомятся с их применением на практике, собрав какую-либо из описанных в книге практических конструкций.
    В книге есть опечатка: на странице 113 и 147 у вывода Е элемента D1.2 номер не 9, как напечатано, а 19.
  2. Применение микроконтроллеров AVR: схемы, алгоритмы, программы – В. Н. Баранов 2004г. (3073 Кб)
  3. Микроконтроллеры AVR семейств Tiny и Mega фирмы “Atmel” – А. В. Евстифеев 2004г. том 1 (5100 Кб)
  4. Микроконтроллеры AVR семейств Tiny и Mega фирмы “Atmel” – А. В. Евстифеев 2004г. том 2 (2865 Кб)
  5. Микроконтроллеры семейства AVR фирмы Atmel. Гребнев В. В., 2002г. – 3826 Кб
    Книга предназначена для разработчиков аппаратуры различного назначения, содержащей встроенные однокристальные микро-ЭВМ-микроконтроллеры.
    В книге рассматриваются структура, система команд, периферийные устройства и работа микроконтроллеров, выпускаемых фирмой Atmel и поступающих в продажу по состоянию на конец 2001 г.
    Изложенный материал позволяет выбрать микроконтроллер определенного типа, разработать функциональную схему устройства, содержащего микроконтроллер, и программу работы микроконтроллера на языке AVR Ассемблера фирмы Atmel.
  6. Микроконтроллеры AVR. Вводный курс. Мортон Д., 2006г. – 2201 Кб
    Данное издание представляет собой практическое руководство, с помощью которого вы сможете изучить, а впоследствии и использовать микроконтроллеры AVR компании Atmel.
    Неважно, студент ли вы, собирающийся использовать микроконтроллер AVR в своем проекте или же опытный разработчик встраиваемых систем, впервые столкнувщийся с AVR, — если вам нужно быстро разобраться в этих популярных микроконтроллерах, то эта книга для вас.
    Для демонстрации различных возможностей AVR Джон Мортон использует простые устройства и программы. В отличие от книг, в которых излагается голая теория либо просто воспроизводится фирменная техническая документация, такой подход (обучение в процессе использования) предлагает быстрое и интуитивное изучение возможностей микроконтроллеров AVR.
    В общей сложности, в книге рассмотрены 16 проектов, охватывающих все наиболее популярные микроконтроллеры AVR, включая модели семейства Tiny.
    Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов и радиолюбителей.
  7. Создаём устройства на микроконтроллерах. Белов А.В., 2007г. – 3870 Кб
    Данная книга представляет собой практическое пособие по разработке электронных схем с применением микроконтроллеров и управляющих программ к ним.
    Год выпуска: 2007
    Издательство: Наука и Техника
    Серия: Радиолюбитель
    ISBN: 978-5-94387-364-3
    Формат: DjVu
    Качество: Отсканированные страницы
    Количество страниц: 307
  8. Микроконтроллер AVR в радиолюбительской практике. А. В. Белов, 2007г. – 5691 Кб
    Данная книга представляет собой справочник, в котором представлено полное и подробное описание одной конкретной микросхемы – микроконтроллера ATiny2313 семейства AVR фирмы Atmel. Описание построено на основе оригинальной технической документации на микросхему и содержит описание всех регистров, всех видов памяти и всех внутренних систем микроконтроллера.
    Имеется и практический раздел для радиолюбителей. Книга содержит описание нескольких практических схем, выполненных с применением данного микроконтроллера. Каждая схема снабжена подробным описанием и примером управляющей программы. Программы приведены в двух вариантах: на Ассемблере и языке СИ. Все программы также подробно описаны.
  9. Микроконтроллеры AVR семейства Classic фирмы ATMEL. Евстифеев А.В., 2006г. – 1303 Кб
    Книга является справочным изданием по применению микроконтроллеров AVR семейства Classic фирмы “ATMEL”. Рассмотрена архитектура, ее особенности, приведены основные электрические параметры. Подробно описано внутреннее устройство микроконтроллеров, система команд, периферия, а также способы программирования.
    Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов.
  10. Микроконтроллеры AVR семейства Mega. Руководство пользователя. А. Евстифеев, 2007г. – 10176 Кб
    Книга представляет собой справочное руководство по однокристальным микроконтроллерам AVR семейства Mega фирмы ATMEL. Рассмотрена архитектура микроконтроллеров AVR, ее особенности, приведены основные электрические параметры. Подробно описано внутреннее устройство микроконтроллеров, система команд, периферия, а также способы программирования. Основой данного издания послужила популярная книга «Микроконтроллеры AVR семейств Tiny и Mega», материал которой был существенно переработан и дополнен описаниями новых моделей.
    Предназначена для разработчиков радиоэлектронной аппаратуры, инженеров, студентов технических вузов.
  11. Микропроцессорные устройства систем управления. Иванов. Ю. И., 2005г. – 3256 Кб
    Учебное пособие предназначено для студентов, обучающихся по направлению 657900 “Автоматизированные технологии и производства”, и содержит сведения, необходимые при изучении курсов “Микропроцессорная техника в системах управления”, “Электронные устройства автоматики”, “Технические средства автоматизации”, “Технологические процессы и производства”. В учебном пособии рассмотрены вопросы организации работы микропроцессорных средств, функциональные возможности и характеристики аппаратных средств микроконтроллеров, особенности программирования на ассемблере, приведены примеры программ для выполнения типовых функций, даны краткие рекомендации по технической реализации алгоритмов управления.
  12. 10 практических устройств на AVR-микроконтроллерах. Кравченко А.В., 2008г. – 7496 Кб
    Данная книга открывает серию сборников с практическими примерами применения микроконтроллеров. В ней рассмотрены десять завершенных устройств на базе микроконтроллеров AVR, которые можно легко собрать в домашних условиях и применять в быту или профессиональной деятельности: генератор световых эффектов, счетчик событий, музыкальный звонок, индикатор уровня звука, повышающий преобразователь, схема управления шаговым двигателем, цифровой термометр и др. Благодаря подробному анализу аппаратной и программной части устройств, книга будет интересна и полезна как начинающим, так и опытным радиолюбителям, желающим изучить методы эффективного применения микроконтроллеров.
  13. AVR-RISC микроконтроллеры. Архитектура, аппаратные ресурсы, система команд, программирование, применение. Трамперт В., 2006г. – 13862 Кб
    В книге “AVR-RISC Микроконтроллеры. Архитектура, аппаратные ресурсы, система команд, программирование, применение” дано исчерпывающее описание базовой серии микроконтроллеров семейства АVR от компании Аtmеl, построенных на базе прогрессивной архитектуры RISC с применением программируемой флэш-памяти ЕРROМ. Кроме того, подробно рассматривается программирование микроконтроллеров данной серии на языке ассемблера, а также среда отладки АVR-Studio и программно-аппаратный набор SТК200. Книга предназначена для всех, кто уже обладает основными познаниями в области построения и функционирования микрокомпьютеров, желает изучить однокристальные микроконтроллеры АVR и успешно претворять в жизнь задачи внутриплатного управления.
  14. Измерение, управление и регулирование с помощью AVR-микроконтроллеров. Трамперт В. – 2565 Кб
    Книга описывает особенности применения AVR-микроконтроллеров в технике измерения, управления и регулирования. При этом основной акцент поставлен на измерении напряжения, выводе и отображении результатов измерений, а также на регулировании аналоговых напряжений. Изложенный материал дает возможность поэтапно проследить весь процесс разработки устройства, понять, почему программное и аппаратное обеспечение скомпоновано именно таким, а не каким-либо другим образом, и суметь в случае необходимости выполнить самостоятельную разработку.
  15. Продолжение следует.

AVR® DA | Технология Microchip

емкостный сенсорный
Периферийный сенсорный контроллер (PTC) автономный блок, который принимает и обрабатывает емкостные сенсорные сигналы. Это поддерживает кнопки, ползунки и конфигурации колес в дополнение датчик приближения с одним штырем на датчик, и не требует дополнительных внешние компоненты. Он также поддерживает прикосновение к поверхности 2D. Эта CIP предлагает широкий спектр сенсорных функций, таких как взаимная и самостоятельная емкость, фильтрация шума, устойчивость к влажности, автоматическая калибровка завершена температура и напряжение, а также пробуждение от прикосновения и / или приближения из спящего режима.Все это обеспечивает удобный интерфейс, который улучшает производительность системы и обеспечивает повышенную надежность, меньшее энергопотребление потребление и дифференциация конечных приложений.

Integrated Analog
Встроенный 12-битный дифференциальный аналого-цифровой преобразователь со скоростью 130 тыс. (ADC) функции выбираемых ссылок внутренних напряжений с минимальным температурный дрейф. Его можно использовать для улучшения подавления шума и точность для аналоговых входов – аппаратное усреднение и передискретизация.Его усреднение и обнаружение порога позволяет MCU оставаться в спящем режиме в течение более длительные периоды, что значительно снижает энергопотребление. С использованием Система событий, встроенный аналоговый компаратор (AC) может быть подключен для запуска автономной работы в других периферийные устройства, которые идеально подходят для управления в реальном времени и с обратной связью операции. Выход 10-битный цифро-аналоговый преобразователь (ЦАП) либо может быть направлен на штифт или он может быть использован для создания регулируемого опорного напряжения для переменного тока.

Обнаружение нулевого пересечения (ZCD)
Обнаружение нулевого пересечения Модуль может контролировать напряжение в сети переменного тока и указывать активность пересечения нуля.Эта информация напрямую доступна во встроенной форме волны. Периферийные устройства поколения для использования в приложениях управления TRIAC, в значительной степени снижение потребности как в центральном процессоре (ЦП), так и в целом стоимость разработки за счет снижения стоимости материалов.

Настраиваемая настраиваемая логика (CCL)
Настраиваемая настраиваемая логика (CCL) – это программируемое логическое периферийное устройство, которое может быть подключено к контакты устройства, события или другие внутренние периферийные устройства. Каждая таблица поиска (LUT) состоит из трех входов: таблица истинности, дополнительный синхронизатор. а также фильтр и детектор края.LUT может генерировать вывод, который будет выведен внутри или на вывод ввода / вывода, что устраняет необходимость в внешняя логика и снижает стоимость спецификации.

Система событий
Система событий позволяет периферийным устройствам напрямую общаться друг с другом без с участием ресурсов ЦП или шины. Сеть Event System независимо от традиционных путей шины данных. Это означает, что разные триггеры на периферийном уровне могут привести к событию, например, прерывания таймера запускают действие в другом периферийном устройстве.Событие Система имеет три независимых канала для прямого периферическая передача сигналов. Этот детерминированный метод сигнализации идеально подходит для приложений реального времени. События обрабатываются в периферийный уровень, даже если ЦП занят обработкой прерываний или в спящем режиме.

Безопасность и мониторинг на борту
Вы можете использовать встроенные функции, поддерживающие критически важные для безопасности приложения, чтобы сделайте вашу конструкцию более прочной и надежной. К ним относятся Оконный сторожевой таймер (WDT) для контроля системы, циклический Проверка избыточности (CRC) для сканирования флэш-памяти и системы событий для обнаружения неисправностей.Другие функции включают монитор уровня напряжения. (VLM), детектор пониженного напряжения (BOD) и сброс при включении питания (POR) для контроль напряжения питания.

Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (Циклическая проверка избыточности) (CRC) используется для проверки отсутствия повреждений в приложении. код. Он вычисляет контрольную сумму всей флэш-памяти или ее частей. его и автоматически сравнивает с ожидаемым результатом. Этот позволяет быстро и эффективно обнаруживать ошибки в памяти программ.CRC может сканировать во время выполнения или он может работать во время сброса, чтобы гарантировать, что Флэш-память действительна до того, как ЦП сможет выполнить код. Когда это выполняется во время выполнения, сканирование CRC временно останавливает ЦП, чтобы быстро завершить сканирование.

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

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

Обнаружение перебоев (BOD)

Функция Brown-Out Detect (BOD) контролирует источник питания и сравнивает напряжение относительно программируемого порога. БПК используется для обеспечения ошибочное выполнение кода и запись в память не происходят при проверке что устройство работает в пределах спецификации.Это гарантирует, что напряжения питания достаточно для работы с выбранной частотой процессора. Если напряжение падает ниже установленного порога, БПК выдает сброс системы и будет удерживать устройство в состоянии сброса до тех пор, пока напряжение не поднимется выше снова установить порог.

Контроль уровня напряжения (VLM)

Монитор уровня напряжения (VLM) контролирует источник питания и может быть сконфигурирован для генерации запроса прерывания при прохождении напряжения ниже заданного порога. Это может служить ранним предупреждением для приложение, что напряжение питания превышает порог VLM, поэтому приложение может предпринять необходимые действия для безопасной подготовки к возможна ситуация обесточивания (потеря мощности).Быстрая запись страниц EERPOM и хранить важные параметры системы можно использовать для обеспечения безопасности неисправность. Порог настраивается пользователем и выражается в процент выше настроенного уровня BOD.

AVR® DB | Технология Microchip

Integrated Analog
Встроенный 12-битный дифференциальный аналого-цифровой преобразователь со скоростью 130 тыс. (ADC) функции выбираемых ссылок внутренних напряжений с минимальным температурный дрейф. Его можно использовать для улучшения подавления шума и точность для аналоговых входов – аппаратное усреднение и передискретизация.Его усреднение и обнаружение порога позволяет MCU оставаться в спящем режиме в течение более длительные периоды, что значительно снижает энергопотребление. С использованием Система событий, встроенный аналоговый компаратор (AC) может быть подключен для запуска автономной работы в других периферийные устройства, которые идеально подходят для управления в реальном времени и с обратной связью операции. Выход 10-битный цифро-аналоговый преобразователь (ЦАП) может быть либо отправлен булавкой или он может быть использован для создания регулируемого опорного напряжения для переменного тока

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

Входы / выходы с несколькими напряжениями (MVIO)

Входы / выходы с несколькими напряжениями (MVIO) система питает порт C и позволяет ему работать на другом напряжение, чем остальная часть устройства. Это значительно упрощает связь с другими устройствами, которые могут работать на другом напряжение без необходимости использования дорогостоящих внешних переключателей уровня.Если на выводе VDDIO2 падает напряжение, может быть выдано прерывание уведомление основного приложения о том, что система MVIO в настоящее время обесточен и не может работать. Если вы не хотите использовать MVIO, VDDIO2 должен быть подключен к VDD.

Обнаружение нулевого пересечения (ZCD)

Обнаружение нулевого пересечения Модуль может контролировать напряжение в сети переменного тока и указывать активность пересечения нуля. Эта информация напрямую доступна во встроенной форме волны. Периферийные устройства поколения для использования в приложениях управления TRIAC, в значительной степени снижение потребности как в центральном процессоре (ЦП), так и в целом стоимость разработки за счет снижения стоимости материалов.

Настраиваемая настраиваемая логика (CCL)
Настраиваемая настраиваемая логика (CCL) – это программируемое логическое периферийное устройство, которое может быть подключено к контакты устройства, события или другие внутренние периферийные устройства. Каждая таблица поиска (LUT) состоит из трех входов: таблица истинности, дополнительный синхронизатор. а также фильтр и детектор края. LUT может генерировать вывод, который будет выведен внутри или на вывод ввода / вывода, что устраняет необходимость в внешняя логика и снижает стоимость спецификации.

Система событий
Система событий позволяет периферийным устройствам напрямую общаться друг с другом без с участием ресурсов ЦП или шины.Сеть Event System независимо от традиционных путей шины данных. Это означает, что разные триггеры на периферийном уровне могут привести к событию, например, прерывания таймера запускают действие в другом периферийном устройстве. Событие Система имеет три независимых канала для прямого периферическая передача сигналов. Этот детерминированный метод сигнализации идеально подходит для приложений реального времени. События обрабатываются в периферийный уровень, даже если ЦП занят обработкой прерываний или в спящем режиме.

Безопасность и мониторинг на борту
Вы можете использовать встроенные функции, поддерживающие критически важные для безопасности приложения, чтобы сделайте вашу конструкцию более прочной и надежной. К ним относятся Оконный сторожевой таймер (WDT) для контроля системы, циклический Проверка избыточности (CRC) для сканирования флэш-памяти и системы событий для обнаружения неисправностей. Другие функции включают монитор уровня напряжения. (VLM), детектор пониженного напряжения (BOD) и сброс при включении питания (POR) для контроль напряжения питания.

Cyclic Redundancy Check (CRC)
Cyclic Redundancy Check (Циклическая проверка избыточности) (CRC) используется для проверки отсутствия повреждений в приложении. код. Он вычисляет контрольную сумму всей флэш-памяти или ее частей. его и автоматически сравнивает с ожидаемым результатом. Этот позволяет быстро и эффективно обнаруживать ошибки в памяти программ. CRC может сканировать во время выполнения или он может работать во время сброса, чтобы гарантировать, что Флэш-память действительна до того, как ЦП сможет выполнить код.Когда это выполняется во время выполнения, сканирование CRC временно останавливает ЦП, чтобы быстро завершить сканирование.

Оконный сторожевой таймер (WWDT)
Оконный сторожевой таймер (WWDT) – это схема контроля системы, которая генерирует сброс, если программные аномалии, такие как неконтролируемый или заблокированный код, обнаруживаются внутри настраиваемое критическое окно. При включении WWDT постоянно таймер работы, настроенный на предопределенный период ожидания. Если WWDT не сбрасывается в течение периода тайм-аута, будет произведен сброс системы

Обнаружение сбоя часов (CFD)
Clock Failure Detect (CFD) – это система контроля системы, которая переключитесь на внутренние часы, если внешний кристалл выходит из строя (останавливается).Этот дополнительный уровень безопасности позволяет устройству работать с очень высокой точностью. Часы. Если кристалл выходит из строя, устройство автоматически переключается на вторичный внутренний источник синхронизации и генерирует прерывание для уведомления главное приложение, что внешний кристалл остановился. Пользователь может затем определите, нужно ли приложению останавливаться или переходить в безопасный режим.

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

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

Микроконтроллер AVR – это тип устройства, производимого Atmel, которое имеет особые преимущества по сравнению с другими распространенными микросхемами, но сначала что такое микроконтроллер?

Самый простой способ подумать об этом – сравнить микроконтроллер с вашим ПК, в котором есть материнская плата.На этой материнской плате находится микропроцессор (чипы Intel, AMD), который обеспечивает интеллект, память RAM и EEPROM и интерфейсы для остальной системы, например последовательные порты (в настоящее время в основном порты USB), дисководы и интерфейсы дисплея.

Микроконтроллер имеет все или большинство этих функций, встроенных в один чип, поэтому ему не нужна материнская плата, и многие компоненты, например светодиоды, могут быть подключены непосредственно к AVR. Если вы попробовали это с микропроцессором, бах!

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

AVR выпускаются в разных корпусах, некоторые из которых предназначены для монтажа в сквозное отверстие, а некоторые – для поверхностного монтажа.Доступны AVR с 8-контактными или 100-контактными контактами, хотя все, что имеет 64-контактный разъем или больше, можно устанавливать только на поверхность. Большинство людей начинают с 28-контактного чипа DIL (Dual In Line), такого как ATmega328 или 40-контактный ATmega16 или ATmega32.

Микропроцессоры ПК

всегда как минимум 32-битные, а теперь обычно 64-битные. Это означает, что они могут обрабатывать данные в виде 32-битных или 64-битных фрагментов, поскольку они подключены к шинам данных такой ширины. AVR намного проще и обрабатывает данные в 8-битных порциях, поскольку его шина данных имеет ширину 8-бит, хотя теперь есть AVR32 с 32-битной шиной и семейство ATxmega с 16-битной шиной данных.

На ПК установлена ​​операционная система (Windows или Linux), на которой выполняются программы, такие как Word, Internet Explorer или Chrome, которые выполняют определенные функции. 8-битный микроконтроллер, такой как AVR, обычно не имеет операционной системы, хотя при необходимости он может запускать простую, а вместо этого просто запускает одну программу.

Точно так же, как ваш компьютер был бы бесполезен, если бы вы не устанавливали никаких программ, AVR должен иметь установленную программу для любого использования. Эта программа хранится во встроенной памяти AVR, а не на внешнем диске, таком как ПК.Загрузка этой программы в AVR выполняется с помощью программатора AVR, обычно, когда AVR находится в цепи или системе, следовательно, AVR ISP или AVR In System Programmer.

AVR ISP для программирования микроконтроллеров AVR


Так что же такое программа? Программа – это серия инструкций, каждая из которых очень проста, которые извлекают данные и управляют ими. В большинстве приложений, где вы будете использовать AVR, например, в контроллере стиральной машины, это означает считывание входов, проверку их состояния и соответствующее включение выходов.Иногда вам может потребоваться изменить или обработать данные или передать их на другое устройство, такое как ЖК-дисплей или последовательный порт.

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

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

Чтобы избежать этого, для написания программ для AVR все чаще используются языки высокого уровня, в частности C, но также базовые и производные Java. Высокий уровень означает, что каждую строку кода C (или Basic или Java) можно преобразовать во многие строки языка ассемблера.

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

На мой взгляд, написание программ AVR на C похоже на вождение автомобиля. Да, вы можете сделать это очень легко, но если что-то пойдет не так, вы не знаете, как это исправить, и вы не можете справиться с такими сложными ситуациями, как обледенелые дороги. Начав с языка ассемблера и написав несколько простых программ, вы сможете понять, что происходит «под капотом», чтобы вы знали, как это работает, и могли извлечь из этого максимальную пользу.Затем обязательно переключитесь на C, но, по крайней мере, вы знаете, как микроконтроллер AVR сочетается друг с другом и его ограничения.

Изучение микроконтроллеров AVR

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

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

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

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

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


  • 32 x 8 регистров общего назначения.
  • 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), что позволяет осуществлять доступ к двум независимым регистрам в одной инструкции, выполняемой за один такт.

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

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

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 Кбайт встроенной в систему перепрограммируемой флеш-памяти для хранения программ. Флэш-память организована как 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 части: нижняя часть используется как секция загрузочной флэш-памяти, а верхняя часть используется как секция флэш-памяти приложения. 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 провода вместе с общим заземлением.

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

Он также содержит 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. Он используется как вход, когда разрешен ведомым устройством, и двунаправлен, когда разрешен ведущим устройством. Этот вывод также можно использовать в качестве выхода сравнения сравнения, который служит внешним выходом для сравнения таймера / счетчика.
  • Контакт 16 используется как вход выбора ведомого.Его также можно использовать в качестве сравнения таймера / счетчика1, настроив вывод PB2 как выход.
  • Вывод 15 может использоваться как внешний выход для сравнения таймера / счетчика A.
  • Выводы 23–28 используются для каналов АЦП. Контакт 27 также может использоваться как часы последовательного интерфейса, а контакт 28 может использоваться как данные последовательного интерфейса.
  • Контакты 13 и 12 используются как входы аналогового компаратора.
  • Контакты 11 и 6 используются в качестве источников таймера / счетчика.

Режимы сна микроконтроллера

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

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

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

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

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

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

Фото предоставлено:

Учебники по микроконтроллеру AVR для начинающих

Руководства по микроконтроллерам AVR: В этой статье мы собираемся представить полный список руководств по микроконтроллерам AVR. Прочитав эту статью, вы получите полное представление о микроконтроллерах avr.Этот список содержит более 20 руководств по микроконтроллерам AVR. мы полностью узнаем о микроконтроллере AVR и взаимодействии с другим компонентом с помощью микроконтроллера AVR. Итак, мы обсудили здесь некоторое введение и некоторые важные особенности микроконтроллера AVR. Полный список руководств по микроконтроллерам avr приведен ниже:

  • Начало работы с микроконтроллером AVR : В этом руководстве мы обсудили микроконтроллер AVR, поэтому сначала мы знаем, что такое микроконтроллер? Микроконтроллер AVR был впервые разработан компанией Atmel в 1996 году.Это усовершенствованная версия миникомпьютера, интегрированная в небольшой чип с процессором, памятью и программируемыми периферийными устройствами ввода-вывода. AVR доступны от 8 до 100 контактов; Совсем недавно использовались 40-контактные ATmega16 или ATmega32.

Характеристики микроконтроллера AVR

  • Многофункциональный
  • Несколько внутренних генераторов
  • Флэш-память до 256 КБ
  • Внутренние данные EEPROM до 4 КБ
  • InternalSRAM до 16 КБ
  • Два таймера 8-битные и один 16-битный
  • Микроконтроллер ATmega16: В этом руководстве мы полностью узнали о микроконтроллере Atmega16, а также его описание контактов. It – это 8-битный микроконтроллер Atmel’s. Он основан на улучшенной архитектуре RISC. ATmega16 – это 40-контактный микроконтроллер. Имеется 32 линии ввода / вывода (ввода / вывода), которые разделены на четыре 8-битных порта, обозначенных как PORTA, PORTB, PORTC и PORTD.
  • Руководство по VMLAB для начинающих: В этом разделе мы обсудили «Лаборатория Visual Micro». Это специальный инструмент, который предоставляет виртуальную среду для мягкого моделирования и написания программного обеспечения. Также он используется для компиляции программы микроконтроллера AVR.
  • Учебник PonyProg для начинающих: В этом уроке мы узнали, как программировать микроконтроллер для программирования микроконтроллера AVR, нам нужен мощный программист, которым является PonyProg. Это программное обеспечение для программирования последовательных устройств с удобным графическим интерфейсом, доступное для Windows95 / 98 / ME / NT / 2000 / XP и Intel Linux.
  • Atmel Studio 6 Пошаговое руководство: В этом руководстве мы узнаем об Atmel Studio 6. Как использовать Atmel Studio 6 и что такое Atmel Studio 6? Что такое Atmel Studio 6? Это IDE от Atmel для разработки и отладки микроконтроллера Atmel AVR.Он предоставляет среду для написания, сборки и отладки ваших приложений, написанных на C / C ++ или ассемблерном коде.
  • Начало работы с Atmel Studio 6: В этом проекте мы узнали, как использовать Atmel Studio 6 и как создать первый проект в Atmel Studio 6. Он очень прост в использовании, в котором мы можем создавать любой тип. применения согласно требованию. Для получения полных рекомендаций мы выполняем следующие шаги, чтобы начать работу с Atmel Studio 6;
  • Загрузить Atmel Studio 6 Веб-сайт: www.atmel.com
  • Откройте Atmel Studio
  • После установки. Процесс установки очень простой
  • Создать новый проект
  • Выбор устройства
  • Написать программу
  • Скомпилировать код
  • Выберите программист
  • Программирование устройств
  • Светодиод мигает с использованием микроконтроллера AVR ATMEGA32: В этом руководстве мы узнали об AVR Atmega32 и его программировании, а также о том, как разработать код для мигания светодиода через Atmeg32.Сначала мы напишем код на языке C в Atmel Studio 6. Для программирования Atmega32 мы использовали два регистра DDR и PORT. DDR сообщает нам контакт входа или выхода Atmega32, а ПОРТ сообщает нам, являются ли контакты активным низким или активным высоким. Для кода и моделирования для этого проекта посетите
  • Как использовать кнопку с микроконтроллером ATMEGA32 AVR : Это руководство предназначено для новичков в области программирования Atmel AVR. Я надеюсь, что вы прочитали мой первый учебник «Мигание светодиода» с использованием Atmega32 и Atmel Studio.В этом разделе мы узнаем, что такое кнопка и как мы можем использовать кнопку с микроконтроллером AVR Atmega32. Что такое кнопка? Это небольшое управляющее устройство, которое приводится в действие электрическим устройством путем нажатия. Здесь кнопка используется для переключения с микроконтроллером. Код и моделирование этого проекта можно найти на странице
  • .
  • Интерфейс ЖК-дисплея с микроконтроллером AVR ATMEGA32 : В этом руководстве мы обсудим ЖК-дисплей и взаимодействие с микроконтроллером AVR Atmega32.ЖК-дисплей 16 × 2 – это модуль, который используется для отображения персонажа. Это очень простой модуль, который обычно используется во многих электронных устройствах и проектах. Он может отображать 2 строки по 16 символов. ЖК-дисплей 16 × 2 может быть сопряжен с микроконтроллером в 8-битном или 4-битном режиме. Они отличаются тем, как данные и команды отправляются на ЖК-дисплей. В 8-битном режиме символьные данные (как 8-битный ASCII) и ЖК-команда отправляются по линиям данных с D0 по D7. То есть 8-битные данные отправляются за один раз, а строб данных выдается через E ЖК-дисплея.
  • Двигатель постоянного тока, взаимодействующий с Atmega32 и L293D: В этом руководстве мы узнали о двигателе постоянного тока, о том, как взаимодействовать с микроконтроллером AVR, а также узнали о драйвере двигателя L293D. Непосредственное подключение двигателя постоянного тока к микроконтроллеру нецелесообразно, потому что двигателю требуется больше тока, иначе микроконтроллер будет обеспечивать ток. Итак, чтобы решить эту проблему, мы используем драйвер двигателя для взаимодействия с микроконтроллером. Мы используем микросхемы типа L293D или L298.
  • Интерфейс DS18S20 с микроконтроллером PIC и AVR: В этом руководстве мы обсудим DS18S20 и способ взаимодействия с микроконтроллером PIC и Atmega32.DS18S20 – это 9-битный цифровой термометр, который используется для измерения температуры в градусах Цельсия. Он связывается с микроконтроллерами только одним проводом.
  • Оптопара, взаимодействующая с микроконтроллерами AVR PIC и 8051: В этом разделе мы узнаем об оптопаре, работе оптопары и о том, как взаимодействовать с микроконтроллерами AVR, PIC и 8051. Что такое оптопара? Он также известен как оптоизолятор. Это электрический компонент, который соединяется с двумя отдельными электрическими элементами, которые используются для передачи входного сигнала с помощью светочувствительного элемента.
  • Как использовать таймеры микроконтроллера AVR : В этом разделе мы обсудили таймер AVR и способы использования таймеров AVR в различных проектах по мере необходимости. AVR ATmega32 состоит из трех таймеров Timer0, Timer1 и Timer2 соответственно. Два таймера – это 8-битные регистры, а один – 16-битный регистр.

Учебные руководства по программированию микроконтроллеров Atmel AVR

Микроконтроллер AVR от Atmel (теперь Microchip) – один из наиболее широко используемых 8-битных микроконтроллеров.Arduino Uno основан на микроконтроллере AVR; это недорого и общедоступно во всем мире.

В этой книге авторы используют пошаговый и систематический подход для демонстрации программирования микросхемы AVR. Примеры на языке ассемблера и C объясняют, как программировать многие функции AVR, такие как таймеры, последовательная связь, ADC, SPI, I2C и PWM.

Текст состоит из двух частей:

  1. Первые шесть глав используют программирование на языке ассемблера для изучения внутренней архитектуры AVR.
  2. В главах 7-18 используется как сборка, так и C, чтобы показать периферийные устройства AVR и интерфейс ввода-вывода с реальными устройствами, такими как ЖК-дисплей, двигатель и датчик.

В первом издании этой книги, опубликованном Pearson, использовался ATmega32. Он по-прежнему доступен для покупки на Amazon. Это новое издание основано на Atmega328 и плате Arduino Uno.

Дополнительная информация …


Микроконтроллеры AVR Atmel – это микросхемы, на которых работает Arduino, и они используются многими любителями и хакерскими проектами.В этой книге вы отложите в сторону уровни абстракции, обеспечиваемые средой Arduino, и узнаете, как напрямую программировать микроконтроллеры AVR.

При этом вы приблизитесь к чипу и сможете выжать из него больше мощности и функций.

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

Дополнительная информация…


Используя популярный и экономичный встроенный контроллер Atmel AVR в качестве платформы и приложения для обучения, Embedded C Programming и Atmel AVR являются идеальным выбором для новичков. Эта новаторская книга, содержащая множество полнофункциональных примеров приложений, позволяет пользователям применять подход «учиться на практике» по мере развития знаний и навыков, необходимых для достижения профессиональных навыков.

После знакомства с RISC-процессорами Atmel AVR читатели сразу же переходят к учебному пособию по встроенному языку C.

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

В дополнение к исчерпывающему справочнику по библиотечным функциям, целая глава, посвященная компилятору CodeVision AVR C, содержит подробные пошаговые инструкции по установке и работе IDE, смешиванию ассемблера с C и использованию генератора кода мастера кода. Использование периферийных устройств, таких как клавиатуры, ЖК-дисплеи и другие стандартные устройства, связанные со встроенными микроконтроллерами, также полностью исследуется в этом всеобъемлющем современном практическом и справочном руководстве для программистов.

Дополнительная информация …


STK128 + – это полноценная экономичная плата разработки для ATmega128. Он предназначен для того, чтобы дать разработчикам возможность быстро разрабатывать код для микроконтроллера ATmega128, ускоряя разработку прототипа устройств ATMega 128.

Микросхема ATmega128 установлена ​​на плате устройства, которую можно отделить от материнской платы, что обеспечивает безопасную замену микроконтроллера. Чип ATmega128 поставляется в корпусе TQFP64 и может быть ATmega128-16AU, ATmega128L-8AU или ATmega128A-AU.

В комплект STK128 + входит плата устройства ATmega128, дополнительная запасная плата устройства ATmega128 и набор экспериментальных фитингов.

Дополнительная информация …

Изучите основы контактов ввода / вывода для микроконтроллера AVR | Custom

Разобравшись с нашим регистром DDR, пришло время научиться считывать цифровые значения в наш микроконтроллер из реального мира. Это делается с помощью регистра PINx, где x – это регистр, из которого выполняется чтение. Чтение из порта довольно просто, как показано в следующем примере кода:

dataValue = PINB;

Когда это выполняется, все контакты ПОРТА B считываются в dataValue, и каждый бит в dataValue теперь будет соответствовать цифровым уровням на каждом контакте во время считывания.Хотя это может быть полезно, иногда мы можем захотеть протестировать отдельные биты, а не все биты одновременно. В PIC член .bits может использоваться для доступа к отдельным битам, но это не относится к устройствам AVR. Вместо этого доступ к отдельным битам включает в себя небольшие манипуляции (простите за каламбур), включая использование логических И, ИЛИ и XOR.

Чтобы проверить, установлен ли бит (логическая 1), можно использовать два следующих оператора. Эти функции выполняют логическое И как с регистром PIN, так и с битом (представленным как 8-битное число).Если результат равен нулю, оператор if не будет выполняться, потому что операторы if выполняются только тогда, когда условие не равно нулю. Первый оператор использует двоичное значение для представления того, какой бит тестировать, тогда как второй оператор использует инструкцию логического сдвига для создания битовой маски, которая представляет бит, который нужно проверить. Версия с логическим сдвигом, возможно, более читабельна и, следовательно, легче для понимания. Однако выполнение инструкции может занять больше времени, чем выполнение первой (в зависимости от оптимизации).

if (PINB & (0b00000001))
или
if (PINB & (1 << n)), где n = проверяемый бит (0-7)

Проверка логического 0 легко выполняется с помощью оператора отрицания перед основным тестом (!)

if (! (PINB & (0b00000001)))
или
if (! (PINB & (1 << n))) где n = проверяемый бит (0-7)

Регистр PORTx .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *