- •Оглавление
- •Введение
- •1. Структура и функционирование микроконтроллера aTmega128
- •Указатель стека – sp.
- •Регистр управления делением частоты кварцевого генератора – xdiv
- •2. Интегрированная система программирования avr Studio v4.12
- •2.1. Создание проекта.
- •2.2. Компиляция проекта.
- •3.Описание лабораторного стенда лс-2.
- •Работа №1 микроконтроллер aTmega128: методы адресации, команды передачи данных и управления
- •Введение
- •Команды передачи данных приведены в Табл.1.1. Из таблицы видно, что набор этих команд представляет собой сочетание восьми операций с различными методами адресации.
- •Из табл.1.1 и табл.1.2 видно, что команды пересылки данных и команды переходов значения флагов регистра sreg не изменяют.
- •Работа №2 микроконтроллер aTmega128: команды обработки данных
- •Введение
- •Задания
- •Работа №3 цифровые системы на базе микроконтроллерa aTmega128:
- •Введение
- •Регистр управления внешними прерываниями – eicra и eicrb
- •Выполнение основного задания
- •Задания
- •Работа №4 цифровые системы на базе микроконтроллера aTmega128: работа с внешними устройствами через параллельные порты ввода вывода – работа с клавиатурой и светодиодным индикатором
- •Введение
- •Выполнение основного задания
- •Задания
- •Работа №5
- •16-Разрядные таймеры/счетчики t/c1 и t/c3
- •Регистры сравнения а таймеров/счетчиков - ocRxA
- •Выполнение основного задания
- •Задания
- •Работа №6 цифровые системы на базе микроконтроллера aTmega128:
- •Введение
- •Универсальный синхронный и асинхронный приемопередатчик usart предназначен для организации последовательной связи.
- •Инициализация usart.
- •Передача данных - Передатчик usart.
- •Прием данных - Приемник usart.
- •Описание регистров usart.
- •Задания
- •Работа №7 цифровые системы на базе микроконтроллера aTmega128:
- •Аналоговый компаратор.
- •Задания
- •Задания
- •Приложение 1.
- •Приложение 2.
Регистр управления делением частоты кварцевого генератора – xdiv
|
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
$3С ($5С) |
XDIVEN |
XDIV6 |
XDIV5 |
XDIV4 |
XDIV3 |
XDIV2 |
XDIV1 |
XDIV0 |
XDIV |
Исходное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Регистр XDIV используется для установки коэффициента деления частоты кварцевого генератора в диапазоне от 1 до 129. Эта возможность может быть использована для уменьшения энергопотребления.
Bit 7 – Разрешение деления частоты XTAL. При установленном ( =1) бите XDIVEN тактовая частота CPU и всей периферии делится в соответствии с установленным битами XDIV6 - XDIV0 коэффициентом деления.
Bit 6..0 – Биты выбора коэффициента деления. Эти биты устанавливают коэффициент деления тактовой частоты при установленном бите XDIVEN. Если десятичное значение этих семи битов обозначить через d, то результирующая тактовая частота CPU будет определяться по формуле:
FCLK = XTAL/(129-d)
Состояния этих битов можно изменить только при сброшенном бите XDIVEN. При установленном бите XDIVEN, записанное единовременно в биты XDIV6..XDIV0 значение будет определять коэффициент деления. При сбросе бита XDIVEN записанные в биты XDIV6..XDIV0 значения игнорируются. Поскольку делитель делит тактовую частоту поступающую на MCU, то и на периферийные устройства поступает тактовая частота с тем же коэффициентом деления.
За регистрами ввода-вывода следуют 4096 адресов внутреннего ОЗУ данных. При использовании внешней памяти данных адресуются оставшиеся 60 Кбайт. Таким образом, при использовании микросхем памяти объемом 64К будут потеряны 4Кбайт. При обращении к внешней и внутренней памяти данных используются одни и те же команды, но во втором случае сигналы RD# и WR# не активизируются.
Работа с внешней памятью данных разрешается установкой бита SRE регистра MCUCR. По сравнению с обращением к внутренней памяти, обращение к внешней требует дополнительно одного цикла на каждый байт. Это означает, что для выполнения команд LD, ST, LDS, STS, PUSH и POP требуется дополнительно машинный цикл. Если стек размещен во внешней памяти данных, то прерывания, вызов процедур и возвраты требуют по два дополнительных цикла, поскольку в стеке перемещается содержимое двухбайтного счетчика команд. Если при обмене с внешней памятью данных используется состояние ожидания, то на каждый байт необходимо еще два цикла. Поэтому командам пересылки данных необходимы два дополнительных цикла, тогда как при обработке прерываний, вызове процедур и возвратах требуется на четыре цикла больше, чем указано в описании системы команд.
Практическое освоение системы команд и программирования на языке Ассемблер осуществляется в работах №1-3. Программирование ввода-вывода и подсистемы прерываний изучается в работах №4 – 8.
2. Интегрированная система программирования avr Studio v4.12
Интегрированная система программирования включает редактор текста, макроассемблер, редактор связей и символический отладчик. Система позволяет разрабатывать целевую программу и отлаживать ее в реальном масштабе времени с использованием аппаратных ресурсов платы контроллера. После создания рабочей программы разработчик имеет возможность, загрузить программу в память микроконтроллера. Отладка программ производится в исходном тексте, причем на каждом шаге можно наблюдать за изменениями внутренних ресурсов микроконтроллера и модифицировать их.
При программировании в среде AVRStudioнадо выполнить стандартную последовательность действий:
- создание проекта
- создание файла программы
- компиляция
- симуляция
- загрузка hex-кода в микроконтроллер