и
МИКРОКОНТРОЛЛЕРЫ
11
Описание микроконтроллера АТМеда128 фирмы ATMEL хотелось бы начать с того, чтобы прояснить
вопрос - “почему именно он?” В ряду микроконтроллеров Серии АТМеда это - один из самых “наворо-
ченных” микроконтроллеров как по ресурсам, так и по возможностям. Если реально смотреть на вещи,
в радиолюбительской практике найдется от силы пара-тройка задач, которые потребуют применения
именно этого монстра. Тем не менее, автор решил выбрать для рассмотрения серии АТМеда именно
этот микроконтроллер. Причина проста - на этом микроконтроллере можно реализовывать задачи,
которые являются, в некотором роде, пограничными между радиолюбительскими “изделиями" и серь-
езными профессиональными конструкциями. Вопрос состоит в том, что с годами граница между двумя
этими областями стремительно отодвигается в профессиональные дебри. Лет тридцать назад частото-
мер на микросхемах был шедевром радиолюбительского творчества. Сейчас это - конструкция “выход-
ного дня”. Молодое поколение как сказку воспринимает время, когда не было сотовых телефонов, ком-
пьютеров, Интернета. Но ведь радиолюбители всегда были на переднем крае науки и техники. Хочет
того радиолюбитель, или не хочет - ему нужно и в нынешних условиях уметь оставаться “на плаву".
Поэтому разобрав и освоив работу с таким серьезным микроконтроллером, он получит солидный запас
знаний и навыков, которые ему безусловно пригодятся на практике.
Александр Черномырдин
г. Магнитогорск
E-mail:
chav1961 @ radioliga.com
микроконтроллером. Автор хочет явным образом заявить,
что он категорически против использования при програм-
мировании АТМеда128 языка ассемблера. Для микрокон-
троллеров серии АТМеда существует масса компиляторов
с языков высокого уровня, в первую очередь - языка С.
Именно на этом языке и будут написаны все рассмотрен-
ные в статьях примеры. В качестве инструмента разработ-
чика автор использовал WiпAVR вСС, скачать который
можно с сайта фирмы АТМЕ1_. Выбор именно этого компи-
лятора - плод пристрастий автора, читатели вольны выб-
рать в качестве среды разработки любой другой программ-
ный продукт. Ассемблер (точнее, ассемблерные вставки)
в программах для АТМеда128 - это редкое исключение,
которое ни в коем случае не должно стать правилом: ре-
сурсы микроконтроллера вполне позволяют некоторую не-
эффективную вольность в их использовании, но зато при-
менение языков высокого уровня на несколько порядков
упрощает разработку и отладку приложений. Нужно ува-
жать не только ресурсы микроконтроллера, но и свой труд.
Микроконтроллер
АТМЕОА128
Микроконтроллер АТМеда128 обладает следующими
техническими характеристиками:
• объем памяти программ -1 2 8 Кбайт
• объем ОЗУ - 4 Кбайт
• объем ЭСППЗУ - 4 Кбайт
• число портов ввода-вывода - 7 (из них 6 - 8-битовых)
• число таймеров - 4 (из них 2 - 1 6-битовых)
• число линий внешних прерываний - 8
• число устройств последовательного обмена (иЗА(ТГ) - 2
Кроме этого, в микроконтроллере имеются встроенные
средства обмена данными по интерфейсу ЭР1, Т\ЛЛ (12С),
8-входовый 10-разрядный АЦП, аналоговый компаратор и
ряд других устройств. Уже только перечисление аппарат-
ных возможностей показывает, что этот микроконтроллер
- весьма серьезное устройство, требующее для работы
соответствующих знаний.
Прежде чем приступать к собственно описанию мик-
роконтроллера, следует сказать о том, какие средства про-
граммирования можно использовать при работе с данным
УСТРОЙСТВО ПАМЯТИ М ИКРО КО НТРО ЛЛЕРА
По своему внутреннему устройству микроконтроллер
ATMegal 28, как и большинство других, является микроконт-
роллером с Гарвардской архитектурой (отличительная ее осо-
бенность - раздельное адресное пространство памяти про-
грамм и памяти данных). Кроме указанных двух пространств,
в микроконтроллере имеется пространство регистров вво-
да/вывода, а также “типовой набор” из 32-х рабочих регист-
ров. Любопытно, что пространство регистров ввода/вывода
и пространство рабочих регистров являются в микроконтрол-
лере ATMegal 28 подмножеством адресного пространства па-
мяти данных, т.е. к регистрам ввода/вывода и рабочим реги-
страм можно обращаться и как к ячейкам ОЗУ, например,
командами LDS (а к некоторым регистрам ввода/вывода -
только как к ячейкам ОЗУ). Таким образом, в микроконт-
роллере частично устранен один из недостатков, о котором
говорилось в предыдущих статьях (разделение адресных про-
странств заметно усложняет программы). В отличие от пре-
дыдущих статей, “разрисовывать" адресное пространство
микроконтроллера мы не будем - язык С позволяет обой-
тись при программировании без этого знания. Интересую-
щихся этим вопросом отсылаем к соответствующим разде-
лам документации.
В микроконтроллере АТМеда128, как и во всех микро-
контроллерах, присутствует аппаратный стек. В отличие от
микроконтроллера АТТ1пу15, этот стек не использует какие-
то внутренние ресурсы процессора, а записывает и считы-
вает данные непосредственно в ячейки ОЗУ. Для управле-
ния стеком в списке регистров процессора имеется регистр
указателя стека ЭР, состоящий из двух регистров - ЭРН и
ЭР!, (соответственно, для хранения старшего и младшего
38
У
Р ад и о л ю б и тел ь - 0 8 / 2 0 0 8
предыдущая страница 38 Радиолюбитель 2008-08 читать онлайн следующая страница 40 Радиолюбитель 2008-08 читать онлайн Домой Выключить/включить текст