AVR это 8-битная серия микроконтроллеров RISC, производимая компанией Atmel. Микроконтроллер AVR имеет Гарвардскую архитектуру и соответственно отдельно программную память, и память данных. Для программы имеется внутрисистемная перезаписываемая Flash память, для данных статическая (SRAM) и EEPROM память. Тактовая частота достигает, как правило, до 16 MHz и производительность приблизительно 1 MIPS. Производство микроконтроллеров AVR начали в 1997 году и на данный момент они являются наиболее распространенными среди любителей электроники. Изначальными преимуществами были дешевые средства разработки, разнообразная периферия в одном корпусе и малое потребление тока. Сейчас преимуществом можно считать большое количество учебных материалов, создаваемое на протяжении многих лет.
В зависимости от типов применения микроконтроллеры AVR имеются с различной конфигурацией Большую часть AVR-ов образует серия megaAVR, которая имеет больший объем программной памяти. В противоположность микроконтроллерам megaAVR имеется серия tinyAVR с меньшим размером корпуса и урезанными возможностями. Вдобавок имеются ещё серии микроконтроллеров созданных специально для USB, CAN, LCD, ZigBee, автоматики, управления светом и устройств с аккумуляторным питанием.
Далее описаны основные возможности микроконтроллеров серии megaAVR на примере наиболее распространенного контроллера - ATmega128, который используется в комплекте Домашней Лаборатории. В общем, у всех микроконтроллеров серии AVR имена, обозначения и правила использования регламентированы так, чтобы примеры можно было использовать и в других контроллерах, внося только не большие изменения. Основные отличия проявляются в периферии (совокупность внешних устройств). Ознакомительные примеры кодов приведены в ассемблере и языке Си (C) при помощью AVR LibC.
Как и все другие чипы, микроконтроллер AVR упакован внутрь стандартного корпуса. Традиционным корпусом является DIP (называется так же DIL). DIP это корпус прямоугольной формы с двумя рядами выводов по длинным сторонам. Длина выводов примерно 5мм. DIP корпус разумно использовать в хобби и прототипах, т.к. для этого имеются дешевые гнезда, откуда можно достать микроконтроллер в случае сгорания и заменить на новый. С другой стороны ножки DIP корпуса имеют минус, т.к. для них необходимо сверлить отверстия в печатных платах.
Намного компактнее SMT корпуса (называют так же SMD), т.к. у них ножки предусмотрены не для прохождения через плату, а напрямую для припаивания к дорожкам. Чипы в SMT корпусах тоненькие, примерно, с монету, имеют четырехугольную форму с длиной ножек, примерно, 1мм и окрашены в черный цвет. Для припаивания чипов в SMT корпусе необходимо иметь точную руку и более лучшие рабочие инструменты.
Микроконтроллеры AVR имеются как в DIP так и в SMT корпусах. Выводы расположены логически и электрически одинаково. Цифровые выводы AVR согласованы со стандартным TTL/CMOS уровнем напряжения. При питающем напряжении 5 В, напряжение от 0 до 1 В означает логический ноль, который называют и пишут как: ноль, 0, низкий, земля, ground или GND. При питающем напряжении в 5 В, напряжение от 3 до 5,5 В означает логический ноль, названия которого могут быть: единица, 1, высокий, high. Такая же шкала с напряжением действует и у входов микроконтроллера - выходное напряжение без нагрузки у выводов AVR 0 В, в зависимости от состояния или близкое к напряжению питания. Имеются так же аналоговое напряжение (ADC каналы) значение которых допустимо в пределах от 0 до 5,5 В.
Ниже приведена схема расположения вывод микроконтроллера ATmega128 в корпусе SMT. Рядом с каждым выводом приведен номер, основная функция и в скобках альтернативная функция. Питающие концы - GND и VCC. Выводы AVCC - аналогово-дигитальный преобразователь и AREF - сравниваемое напряжение. Выводы XTAL1 и XTAL2 для внешнего кварцевого осциллятора, резонатора или тактового генератора. Выводы от PB0 до PG4 обозначают биты входных-выходных шин. О выводах альтернативных функций будет рассказано в соответствующих главах.