ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.01.2025
Просмотров: 3652
Скачиваний: 8
СОДЕРЖАНИЕ
1. Структура и функционирование микроконтроллера aTmega128
Регистр управления делением частоты кварцевого генератора – xdiv
2. Интегрированная система программирования avr Studio v4.12
3.Описание лабораторного стенда лс-2.
Работа №1 микроконтроллер aTmega128: методы адресации, команды передачи данных и управления
Работа №2 микроконтроллер aTmega128: команды обработки данных
Работа №3 цифровые системы на базе микроконтроллерa aTmega128:
Регистр управления внешними прерываниями – eicra и eicrb
16-Разрядные таймеры/счетчики t/c1 и t/c3
Регистры сравнения а таймеров/счетчиков - ocRxA
Работа №6 цифровые системы на базе микроконтроллера aTmega128:
Передача данных - Передатчик usart.
Прием данных - Приемник usart.
Работа №7 цифровые системы на базе микроконтроллера aTmega128:
|
Министерство образования и науки Российской Федерации Федеральное государственное унитарное предприятие «Российское научно-производственное объединение «Росучприбор»
ЗАО НПК «КОМПЬЮТЕРЛИНК» ________________________________________________
ОКП
ЛАБОРАТОРНЫЙ ПРАКТИКУМ "АРХИТЕКТУРА, ПРОГРАММИРОВАНИЕ И ПРИМЕНЕНИЕ 8-РАЗРЯДНЫХ МИКРОКОНТРОЛЛЕРОВ семейства ATMEL ATmega"
|
Оглавление
|
Введение |
3 |
|
1. Структура и функционирование микроконтроллера ATmega128 |
4 |
|
2. ИНТЕГРИРОВАННАЯ СИСТЕМА ПРОГРАММИРОВАНИЯ AVR Studio V4.12 |
13 |
|
2.1. СОЗДАНИЕ ПРОЕКТА |
13 |
|
2.2. КОМПИЛЯЦИЯ ПРОЕКТА. |
15 |
|
2.3. СИМУЛЯЦИЯ ПРОЕКТА. |
16 |
|
2.4. ЗАПИСЬ ПРОГРАММЫ В МИКРОКОНТРОЛЛЕР. |
17 |
|
3. ОПИСАНИЕ ЛАБОРАТОРНОГО СТЕНДА ЛС-2. |
18 |
|
Работа 1. Методы адресации, команды передачи данных и управления |
21 |
|
Работа 2. Команды обработки данных |
29 |
|
Работа 3. Реализация и обслуживание подсистемы прерываний |
34 |
|
Работа 4. РАБОТА с внешними устройствами через параллельные порты. работа с клавиатурой И светодиодным ИНДИКАТОРОМ. |
43 |
|
Работа 5. Реализация таймерных функций |
52 |
|
Работа 6. Организация последовательного обмена данными |
65 |
|
Работа 7. Обслуживание Аналогового компаратора |
75 |
|
Работа 8. Обслуживание АЦП |
79 |
|
ПРИЛОЖЕНИЕ 1. Схема электрическая принипиальная |
86 |
|
ПРИЛОЖЕНИЕ 2. Схема расположения элементов на печатной плате |
88 |
Введение
В цикле работ данного практикума студенты знакомятся с архитектурой 8-разрядного микроконтроллера AVR mega128, изучают систему его команд и методы адресации, осваивают интегрированную систему программирования, получают практические навыки программирования микроконтроллерных систем на языке Ассемблер.
Микроконтроллер ATmega128 является старшей моделью семейства ATmega фирмы Atmel. Cемейство AVR (AT) удачно воплощает современные тенденции архитектуры RISC микроконтроллеров, что в сочетании с достижениями фирмы Atmel в области создания Flash-памяти, сделало его весьма популярным на мировом рынке 8-разрядных микроконтроллеров.
Семейство AVR включает около двух десятков типов 8-разрядных микроконтроллеров трех основных линий:
- Tiny AVR представляют собой низкостоимостные микроконтроллеры в 8-выводном корпусе.
- Classic AVR являются устаревшей линией семейства. Быстродействие некоторых моделей достигает 16 MIPS, Flash ROM программ 2-8 Кбайт, EEPROM данных 64-512 байт, ОЗУ данных 128-512 байт;
- Mega AVR представляет собой основную модель, ориентированную на высокопроизводительную работу со сложными задачами, требующими больших ресурсов памяти. Flash ROM программ составляет 8-128 Кбайт, EEPROM данных 64-512 байт, ОЗУ данных 2-4 Кбайт. Имеются 10-разрядный АЦП и аналоговый компаратор.
В составе семейства существуют модификации с низковольтным питанием. Благодаря универсальности, широкому набору функциональных возможностей, высоким техническим характеристикам микроконтроллеры семейства AVR находят все более широкое применение в системах управления различными объектами.
Все микроконтроллеры семейства AVR имеют общие принципы функционирования, реализуют единую систему команд, используют одинаковые методы адресации. Изучаемый в данном практикуме микроконтроллер ATmega128 является типичным представителем семейства AVR. Знакомство с ним позволит освоить основные методы проектирования, программирования и применения систем управления на базе современных RISC микроконтроллеров.
1. Структура и функционирование микроконтроллера aTmega128
Структура микроконтроллера ATmega128 включает следующие функциональные блоки:
- 8-разрядное арифметическо-логическое устройство ( АЛУ );
- внутреннюю flash-память программ объемом 128 Кбайт с возможностью внутрисистемного программирования через последовательный интерфейс;
- 32 регистра общего назначения;
- внутреннюю EEPROM память данных объемом 4 Кбайт;
- внутреннее ОЗУ данных объемом 4 Кбайт;
- 6 параллельных 8-разрядных портов;
- 4 программируемых таймера-счетчика;
- 10-разрядный 8-канальный АЦП и аналоговый компаратор;
- последовательные интерфейсы UART0, UART1, TWI и SPI;
- блоки прерывания и управления (включая сторожевой таймер).

Рис.1.1. Структурная схема микроконтроллера.
На рис.1.2 изображен корпус и приведено назначение выводов микроконтроллера ATmega128. В скобках указана альтернативная функция вывода, если она существует.
Рис.1.2 Вид корпуса и назначение выводов микроконтроллера ATmega128
Port A (PA7..PA). 8-разрядный двунаправленный порт. К выводам порта могут быть подключены встроенные нагрузочные резисторы (отдельно к каждому разряду). Выходные буферы обеспечивают ток 20 мА и способность прямо управлять светодиодным индикатором. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. Порт А при наличии внешней памяти данных используется для организации мультиплексируемой шины адреса/данных.
Port B (PB7..PB0). 8-разрядный двунаправленный порт со встроенными нагрузочными резисторами. Выходные буферы обеспечивают ток 20 мА. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. Порт В используется также при реализации специальных функций.
Port C (PC7..PC0). Порт С является 8-разрядным выходным портом. Выходные буферы обеспечивают ток 20 мА. Порт C при наличии внешней памяти данных используется для организации шины адреса.
Port D (PD7..PD0). 8-разрядный двунаправленный порт со встроенными нагрузочными резисторами. Выходные буферы обеспечивают ток 20 мА. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, ток будет вытекать только при подключенных встроенных нагрузочных резисторах. Порт D используется также при реализации специальных функций.
Port Е (PЕ7..PЕ0). 8-разрядный двунаправленный порт со встроенными нагрузочными резисторами. Выходные буферы обеспечивают ток 20 мА. При использовании выводов порта в качестве входов и установке внешнего сигнала в низкое состояние, вытекающий через них ток обеспечивается только при подключенных встроенных нагрузочных резисторах. Порт E используется также при реализации специальных функций.
Port F (PF7..PF0). 8-разрядный входной порт. Входы порта используются также как аналоговые входы аналого-цифрового преобразователя.
RESET. Вход сброса. Для выполнения сброса необходимо удерживать низкий уровень на входе более 50 нс.
XTAL1, XTAL2. Вход и выход инвертирующего усилителя генератора тактовой частоты.
TOSC1, TOSC2. Вход и выход инвертирующего усилителя генератора таймера/счетчика.
WR, RD. Стробы записи и чтения внешней памяти данных.
ALE. Строб разрешения фиксации адреса внешней памяти. Строб ALE используется для фиксации младшего байта адреса с выводов AD0-AD7 в защелке адреса в течение первого цикла обращения. В течение второго цикла обращения выводы AD0-AD7 используются для передачи данных.
AVCC. Напряжение питания аналого-цифрового преобразователя. Вывод подсоединяется к VCC через низкочастотный фильтр.
AREF. Вход опорного напряжения для аналого-цифрового преобразователя. На этот вывод подается напряжение в диапазоне между AGND и AVCC.
AGND. Это вывод должен быть подсоединен к отдельной аналоговой земле, если она есть на плате. В ином случае вывод подсоединяется к общей земле.
PEN. Вывод разрешения программирования через последовательный интерфейс. При удержании сигнала на этом выводе на низком уровне после включения питания, прибор переходит в режим программирования по последовательному каналу.
VСС, GND. Напряжение питания и земля
Микроконтроллеры AVR имеют раздельные пространства адресов памяти программ и данных (гарвардская архитектура). Организация памяти показана на рис. 1.3.
Рис.1.3. Организация памяти микроконтроллера ATmega128
Высокие характеристики семейства AVR обеспечиваются следующими особенностями архитектуры:
В качестве памяти программ используется внутренняя flash-память. Она организована в виде матрицы 16-разрядных ячеек и может загружаться программатором, либо через порт SPI;
Система команд включает 133 инструкций;
16-разрядные память программ и шина команд вместе с одноуровневым конвейером позволяют выполнить большинство инструкций за один такт синхрогенератора (50 нс при частоте FOSC=20 МГц);
память данных имеет 8-разрядную организацию. Младшие 32 адреса пространства занимают регистры общего назначения, далее следуют 64 адреса регистров ввода-вывода, затем внутреннее ОЗУ данных объемом до 4096 ячеек. Возможно применение внешнего ОЗУ данных объемом до 60 Кбайт;
внутренняя энергонезависимая память типа EEPROM объемом до 4 Кбайт представляет собой самостоятельную матрицу, обращение к которой осуществляется через специальные регистры ввода-вывода;
Как видно из рис.1.4, 32 регистра общего назначения включены в сквозное адресное пространство ОЗУ данных и занимают младшие адреса. Хотя физически регистры выделены из памяти данных, такая организация обеспечивает гибкость в работе. Файл регистров общего назначения прямо связан с АЛУ, каждый из регистров способен работать как аккумулятор. Большинство команд выполняются за один такт, при этом из регистров файла могут быть выбраны два операнда, выполнена операция и результат возвращен в регистровый файл. Старшие шесть регистров файла могут использоваться как три 16-разрядных регистра, и выполнять роль, например, указателей при косвенной адресации.
Рис.1.4. Регистры общего назначения микроконтроллера ATmega128
Следующие 64 адреса за регистрами общего назначения занимают регистры ввода-вывода. В этой области сгруппированы все регистры данных, управления и статуса внутренних программируемых блоков ввода-вывода. При использовании команд IN и OUT используются адреса ввода-вывода с $00 по $3F. Но к регистрам ввода-вывода можно обращаться и как к ячейкам внутреннего ОЗУ. При этом к непосредственному адресу ввода-вывода прибавляется $20. Адрес регистра как ячейки ОЗУ приводится далее в круглых скобках. Регистры ввода-вывода с $00 ($20) по $1F ($3F) имеют программно доступные биты. Обращение к ним осуществляется командами SBI и CBI, а проверка состояния – командами SBIS и SBIC. В таблице B1 приведен список регистров ввода-вывода.