Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование AVR-микроконтроллеров на ассемблере.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.91 Mб
Скачать

Министертво образования и науки Российской Федерации

Федеральное госудаственное бюджетное образовательное учреждение высшего профессионального образования «Мордовский государственный университет им. Н. П. Огарева»

А.Ю.Бальзамов

ПРОГРАММИРОВАНИЕ НА АССЕМБЛЕРЕ ДЛЯ AVR-МИКРОКОНТРОЛЛЕРОВ

ЛАБОРАТОРНЫЙ ПРАКТИКУМ по основам микропроцессорной техники

Саранск

Издательство Мордовского университета

2012

УДК [004.42:621.316.544.1](075.8)

ББК 397

Б211

Рецензенты:

кафедра информационно-вычислительных систем Саранского кооперативного института АНО ВПО Центросоюза РФ «Московский университет кооперации»;

кандидат физико-математических наук старший научный сотрудник ЗАО НПК «Электровыпрямитель» Б. П. Сурин

Бальзамов А. Ю.

Б211 Программирование на ассемблере для AVR-микроконтроллеров : Лаб. практикум по основам микропроцессорной техники / А. Ю. Бальзамов. – Саранск : Изд-во Мордов. ун-та, 2012. – 108 с.

ISBN 978=5=7103=

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

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

Учебное издание

Бальзамов Александр Юрьевич программирование на ассемблере для avr-микроконтроллеров Лабораторный практикум по основам микропроцессорной техники

Печатается в авторской редакции в соответствии с представленным оригинал-макетом

Дизайн обложки Е. Н. Моисеевой

Подписано в печать 00.11.12. Формат 64 x 84 1/16.

Усл. печ. л. 6,28. Тираж 200 экз. Заказ № _____.

Издательство Мордовского университета

Типография Издательства Мордовского университета

430005, Г. Саранск, ул. Советская, 24

ISBN 978=5=7103= © Бальзамов А.Ю., 2012

© Оформление. Издательство

Мордовского университета, 2012

Предисловие

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

Микроконтроллерные системы изучаются на примере одних из наиболее популярных в настоящее время в мире микроконтроллеров AVR фирмы «Atmel». Для обучения используется лабораторный комплекс «Микроконтроллеры и автоматизация» разработки научно-производственного предприятия «Учебная техника – Профи» (г. Челябинск), а также интегрированная отладочная среда разработки программ AVR-Studio. Дается краткое описание архитектуры и системы команд AVR-микроконтроллеров, ассемблерных директив и особенностей построения ассемблерных программ, структуры лабораторного комплекса и основных возможностей AVR-Studio.

Лабораторные работы по программированию AVR-микроконтроллеров рассчитаны на освоение их основных программно-аппаратных средств: системы команд, портов ввода-вывода, системы прерываний, таймеров/счетчиков, аналого-цифрового преобразователя, а также особенностей построения микроконтроллерных систем автоматизации производства. В каждой лабораторной работе дается необходимый теоретический материал и предлагается 16 различных вариантов индивидуальных заданий. Для облегчения процесса написания студентами индивидуальных программ приводится ряд примеров составления аналогичных программ.

  1. Архитектура микроконтроллеров avr семейства mega фирмы «atmel»

    1. Общие сведения

Микроконтроллеры AVR появились на рынке в конце 1990-х годов и в короткие сроки завоевали высокую популярность. С каждым годом они захватывают все новые и новые ниши на рынке. Не последнюю роль в этом играет соотношение показателей цена/быстродействие/энергопотребление, до сих пор являющееся едва ли не лучшим на рынке 8-битных микроконтроллеров. Кроме того, постоянно растет число выпускаемых сторонними производителями разнообразных программных и аппаратных средств поддержки разработок устройств на их основе. Все это позволяет говорить о микроконтроллерах AVR как об индустриальном стандарте среди 8-битных микроконтроллеров.

В настоящее время в рамках единой базовой архитектуры микроконтроллеры AVR подразделяются на несколько семейств, среди которых основными являются:

• Classic AVR (снимается с производства);

• Tiny AVR;

• Mega AVR;

• Mega AVR для специальных применений.

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

Микроконтроллеры семейства Mega имеют наиболее развитую периферию, наибольшие среди всех микроконтроллеров AVR объемы памяти программ и данных. Они предназначены для использования в мобильных телефонах, в контроллерах различного периферийного оборудования (такого как принтеры, сканеры, современные дисковые накопители, приводы CD-ROM/DVD-ROM и т. п.), в сложной офисной технике и т. д.

Процессорное ядро (CPU) AVR-микроконтроллеров (рис. 1) выполнено по усовершенствованной RISC-архитектуре (enhanced RISC), в которой используется ряд решений, направленных на повышение быстродействия микроконтроллеров.

Арифметико-логическое устройство (АЛУ), выполняющее все вычисления, подключено непосредственно к 32 рабочим регистрам, объединенным в регистровый файл. Благодаря этому АЛУ может выполнять одну операцию (чтение содержимого регистров, выполнение операции и запись результата обратно в регистровый файл) за такт. Кроме того, практически каждая из команд (за исключением команд, у которых одним из операндов является 16-битный адрес) занимает одну ячейку памяти программ.

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

Рис.1. Архитектура процессорного ядра AVR-микроконтроллера

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

AVR-микроконтроллеры изготавливаются по малопотребляющей КМОП-технологии и имеют полностью статическую архитектуру, минимальная тактовая частота равна нулю.

Основные параметры и характеристики микроконтроллеров AVR семейства Mega:

• FLASH-память программ объемом от 8 до 256 Кбайт (число циклов стирания/записи не менее 10 000);

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

• память данных на основе ЭСППЗУ (EEPROM) объемом от 256 байт до 4 Кбайт (число циклов стирания/записи не менее 100 000);

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

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

• возможность самопрограммирования;

• возможность внутрисхемной отладки в соответствии со стандартом IEEE 1149.1 (JTAG), а также наличие собственного однопроводного интерфейса внутрисхемной отладки (debugWire1);

• разнообразные способы синхронизации: встроенный RС-генератор с внутренней или внешней времязадающей RС-цепочкой, встроенный генератор с внешним кварцевым или пьезокерамическим резонатором, внешний сигнал синхронизации;

• наличие нескольких режимов пониженного энергопотребления;

• наличие сторожевого таймера;

• наличие детектора пониженного напряжения питания (Brown-Out Detector-BOD);

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

• векторная система прерываний, поддержка очереди прерываний;

• большое число источников прерываний (до 45 внутренних и до 32 внешних);

• наличие аппаратного умножителя.