ЯЗЫК АССЕМБЛЕРА ДЛЯ МИКРОКОНТРОЛЛЕРОВ ATMEGA8535

Nov 02, 2021 23:19


УДК 004
Л 69

Логинова Л. Н., Сафронов А. И. Язык Ассемблера для микроконтроллеров ATmega8535: Методические указания к лабораторной работе по дисциплине «Машинно-ориентированные языки». - М.: МИИТ, 2011. - 84 с.

В методических указаниях рассмотрена система команд микроконтроллеров ATmega8535. Рассмотрена AVR Studio - интегрированное отладочное средство для микроконтроллеров фирмы Atmel семейства AVR, включающее в себя компилятор с языка ассемблер.

Краткие "выжимки" из методических указаний:

Введение

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

Одним из самых распространённых в настоящее время является микроконтроллер фирмы «Atmel» из семейства AVR [1]. При том, что они появились на рынке в 1996 году, их популярность до сих пор невероятно высока. С каждым годом они захватывают всё новые и новые ниши на рынке микропроцессорной техники. Не последнюю роль в этом играет соотношение показателей цена / быстродействие / энергопотребление. AVR до сих пор является едва ли не лучшим на рынке 8-битных микроконтроллеров.

1. Описание и характерные особенности микроконтроллеров ATmega8535

Как и все микроконтроллеры AVR фирмы «Atmel», микроконтроллеры семейства Mega, в частности, ATmega8535, являются 8-разрядными микроконтроллерами, предназначенными для встраиваемых приложений. Они изготавливаются по малопотребляющей КМОП-технологии, которая в сочетании с усовершенствованной RISC-архитектурой позволяет достичь наилучшего соотношения быстродействие / энергопотребление [2]. Контроллеры описываемого семейства являются наиболее развитыми представителями микроконтроллеров AVR.

К некоторым особенностям микроконтроллера ATmega8535 относятся [2]:

- FLASH-память программ объемом 8 Кбайт с возможностью внутрисистемного перепрограммирования и загрузки через последовательный канал SPI (число циклов стирания / записи не менее 1000);

- оперативная память (статическое ОЗУ - далее СОЗУ) объемом 512 байт;

- энергонезависимая память данных (EEPROM) объёмом 512 байт с возможностью внутрисистемного перепрограммирования и загрузки через последовательный канал SPI (число циклов стирания / записи не менее 100000);

- возможность защиты от чтения и модификации памяти программ и данных;

- возможность программирования непосредственно в системе через последовательные интерфейсы SPI и JTAG;

- возможность программного снижения частоты тактового генератора;

- 130 команд, большинство из которых выполняются за один машинный цикл;

- 17 внутренних + 3 внешних источников прерываний;

- наличие программного стека;

- наличие аппаратного умножителя;

- 32 8-битных регистра общего назначения (далее РОН);

- 32 программируемые линии ввода / вывода;

- диапазон напряжений питания от 4,5 В до 5,5 В;

- производительность до 8 MIPS при частоте 8 МГц;

- и т.д.

1.1. Устройства ввода / вывода ATmega8535

Микроконтроллеры семейства Mega имеют наиболее богатый набор периферийных устройств (ПУ). При этом в большинстве моделей имеются все ПУ, которые вообще встречаются в составе микроконтроллеров AVR. У микроконтроллера ATmega8535 имеются в наличии [2]:

1. Многофункциональные, двунаправленные GPIO порты ввода-вывода с встроенными нагрузочными резисторами. Конфигурация портов ввода / вывода задаётся программным способом.

2. Два 8-разрядных таймера / счётчика (таймеры ТО и Т2).

3. 16-разрядный таймер / счётчик (таймер Т1).

4. 4 канала ШИМ-модулятора разрядностью 8 бит (один из режимов работы 8-разрядных таймеров / счётчиков ТО и Т2).

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

6. Восьмиканальный 10-разрядный АЦП с дифференциальными входами:

а) программируемый коэффициент усиления перед АЦП 1, 10 и 200;

б) опорное напряжение 2,56 В.

7. Полнодуплексный универсальный асинхронный приемопередатчик UART.

8. Последовательный синхронный интерфейс SPI.

9. Последовательный двухпроводный интерфейс TWI (аналог интерфейса I2С).

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

Микроконтроллер ATmega8535 имеет Гарвардскую архитектуру (программа и данные находятся в разных адресных пространствах) и систему команд, близкую к идеологии RISC. Процессор имеет 32 8-битных регистров общего назначения (РОН) (r0 - r31), объединённых в регистровый файл. В отличие от «идеального» RISC, регистры не абсолютно ортогональны [2]:

- три «сдвоенных» 16-битных регистра-указателя X (r26:r27), Y (r28:r29) и Z (r30:r31);

- некоторые команды работают только с регистрами r16…r31;

- результат умножения (в тех моделях, в которых есть модуль умножения) всегда помещается в r0:r1.

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

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

Библиографическая ссылка:

Логинова, Л. Н. Язык Ассемблера для микроконтроллеров ATmega8535: Методические указания к лабораторной работе по дисциплине «Машинно-ориентированные языки» / Л. Н. Логинова, А. И. Сафронов. - М.: МИИТ. - 2011. - 84 с.

Ссылка на elibrary.ru:

https://www.elibrary.ru/item.asp?id=17571618


Вложение: 13419956_metod_ukazaniya_atmega.pdf

алгоритмизация, ассемблер, программирование, atmega, микроконтроллеры, система команд, лабораторные работы, avr, assembler

Previous post Next post
Up