Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Гарвардская RISC-архитектура в микроконтроллерах AVR. Средства ввода-вывода, хранения и обработки цифровой и аналоговой информации в микроконтроллерах

.pdf
Скачиваний:
0
Добавлен:
09.08.2026
Размер:
406 Кб
Скачать

2.Когда START-условие выдано, устанавливается флаг TWINT и обновляется регистр TWSR.

3.Приложение проверяет значение статуса в TWSR, чтобы удостовериться,

что START-условие выдано корректно. Если это не так, может быть вызвана подпрограмма обработки ошибочной ситуации. Если статус правильный, в TWDR записывается SLA+W и сбрасывается TWINT.

4. Когда пакет SLA+W выдан, устанавливается флаг TWINT и обновляется ре-

гистр TWSR.

5. Приложение проверяет статус, а затем, если все нормально, записывает в

TWDR данные и сбрасывает TWINT.

6. Сразу после сброса TWINT передаются данные, TWINT снова устанавлива-

ется и обновляется регистр TWSR.

7. Приложение проверяет статус и в случае успеха записывает TWCR для вы-

дачи повторного START-условия (REPEATED START condition) или STOP-

условия. После выдачи STOP-условия TWINT не устанавливается.

Пример реализации режима MT:

ldi r16, (1<<TWINT)|(1<<TWSTA)|(1<<TWEN) out TWCR, r16

wait1:in r16,TWCR sbrs r16,TWINT rjmp wait1

in r16,TWSR andi r16, 0xF8 cpi r16, START brne ERROR ldi r16, SLA_W out TWDR, r16

ldi r16, (1<<TWINT) | (1<<TWEN) out TWCR, r16

wait2:in r16,TWCR sbrs r16,TWINT

31

rjmp wait2 in r16,TWSR

andi r16, 0xF8

cpi r16, MT_SLA_ACK brne ERROR

ldi r16, DATA out TWDR, r16

ldi r16, (1<<TWINT) | (1<<TWEN) out TWCR, r16

wait3:in r16,TWCR sbrs r16,TWINT rjmp wait3

in r16,TWSR andi r16, 0xF8

cpi r16, MT_DATA_ACK brne ERROR

ldi r16, (1<<TWINT)|(1<<TWEN)|(1<<TWSTO) out TWCR, r16

Аналоговые средства микроконтроллера ATmega8535

Аналоговый компаратор (AC) сравнивает напряжения на входах AIN0 и

AIN1. Если напряжение на положительном входе AIN0 больше, чем на отрица-

тельном входе AIN1, устанавливается выход ACO (Analog Comparator Output) и

генерируется прерывание. Аналоговый компаратор может быть источником со-

бытия для захвата таймера T1.

C аналоговым компаратором связан бит 3 регистра SFIOR — ACME (Analog Comparator Multiplexer Enable). Если ACME=1 и аналого-цифровой преобразователь выключен, его мультиплексор выбирает отрицательный вход аналогового компаратора. Если ACME=0, отрицательным входом компаратора является AIN1.

32

Аналого-цифровой преобразователь имеет разрешение 10 бит. Могут быть использованы восемь одиночных мультиплексируемых входных каналов,

семь дифференциальных входных каналов или два дифференциальных входных канала с опциональным усилением 10x и 200x. Существует два режима преоб-

разования: одиночное преобразование (Single Conversion) или непрерывное

(Free Running). Старт преобразования осуществляется по нескольким источни-

кам прерываний. По завершению преобразования генерируется прерывание.

Аналого-цифровой преобразователь содержит следующие регистры:

1.ADMUX, ADC Multiplexer Selection Register, осуществляет выбор опорного напряжения, аналогового канала, порядок выравнивания результата.

2.ADCSRA, ADC Control and Status Register A, регистр управления и состоя-

ния, включает преобразователь, содержит флаг и маску прерывания и т.д.

3.ADCH и ADCL — ADC Data Register, регистр данных.

КАЦП также имеют отношение биты 7-5 регистра SFIOR (Special Function IO Register) — ADTS2:0 — ADC Auto Trigger Source, источник автозапуска преобразования.

В регистр данных ADCH и ADCL записывается 10-битный результат пре-

образования.

Порядок выполнения работы

Задание 1. Общая структура и CPU микроконтроллера

Написать на языке ассемблера программу, выполняющую определенную задачу в соответствии с вариантом. При этом главная программа должна осу-

ществлять необходимую инициализацию, ввод исходных данных и вывод ре-

зультатов через заданные порты микроконтроллера, а основную задачу должна выполнять подпрограмма.

Исследовать основные элементы структуры микроконтроллера

ATmega8535: CPU, запоминающие устройства, порты ввода-вывода — в про-

цессе выполнения программы. Детально исследовать структуру и функциони-

рование CPU и стека микроконтроллера, варьируя исходные данные, фиксируя

33

состояние стека и регистров, в том числе счетчика программы, указателя стека и регистра флагов.

Результаты исследования оформить в виде таблицы (табл.2).

 

 

 

 

 

Таблица 2

 

Формат таблицы с результатами исследования

 

 

 

 

 

 

 

Адрес коман-

Машинный

Ассемблер-

Эффект

Характеристи-

 

ды (PC)

код

ный код

 

ки команды

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

В графе "Характеристики команды" отметить влияние на флаги, размер команды, число тактов, требуемых для ее выполнения.

Проанализировать результаты исследования, выполнить необходимые сравнения, сделать выводы.

Общие признаки всех вариантов:

1.Наличие подпрограммы.

2.Ввод и вывод через параллельные порты микроконтроллера.

Частные признаки:

s1. Задача, выполняемая подпрограммой.

s2. Порты ввода-вывода.

s3. Расположение стека.

Внешние сравнения (Гарвардская RISC AVR — Принстонская CISC x86):

1.Система команд.

2.Размер и формат команд.

3.Время выполнения команд.

4.Порядок изменения (счетчика программы) указателя команд.

5.Порядок изменения указателя стека.

34

6.Порядок хранения слов в памяти.

7.Регистр флагов.

Внутренние сравнения:

1.Доступность и использование регистров общего назначения и ввода-вывода.

2.Размер и время выполнения команд.

Задание 2. Запоминающие устройства микроконтроллера

Исследовать запоминающие устройства микроконтроллера ATmega8535:

постоянную память команд (Flash-ROM), постоянную память данных

(EEPROM), оперативную память данных (SRAM). Изучить характеристики за-

поминающих устройств, их организацию, порядок чтения и записи, используе-

мые для доступа к ним регистры, команды и способы адресации.

Для проведения исследования написать программу или несколько про-

грамм на языке ассемблера, выполняющих чтение и запись каждого запомина-

ющего устройства микроконтроллера. Общая схема программы должна быть следующей:

— ввод исходных данных через порт и размещение в виде массива в оператив-

ной памяти;

обработка массива и размещение результатов в постоянной памяти данных;

чтение данных из постоянной памяти и вывод через порт;

чтение памяти команд для поиска данной команды, запись команды.

Общие признаки вариантов:

1. Наличие в тексте программы сегмента кода и сегментов данных в опера-

тивной и постоянной памяти.

2.Чтение и запись каждого запоминающего устройства микроконтроллера.

3.Доступ к элементам массива в обоих направлениях — от меньших индексов

кбольшим и наоборот.

4.Использование всех способов адресации памяти данных.

Частные признаки:

s1. Задача по обработке массива.

35

s2. Порты ввода-вывода.

Внешние сравнения (Гарвардская RISC AVR — Принстонская CISC x86):

1.Размещение команд и данных в памяти.

2.Структура адресного пространства.

3.Команды передачи данных.

4.Способы адресации.

Внутренние сравнения — организация и доступ к различным запомина-

ющим устройствам микроконтроллера:

1.Регистры.

2.Команды.

3.Способы адресации.

4.Адресное пространство.

5.Порядок хранения слов.

Задание 3. Подсистема прерываний и таймеры

Исследовать порядок обработки прерываний и работы таймеров. Разо-

брать последовательность инициализирующих действий для использования прерываний. Подробно рассмотреть последовательность действий микро-

контроллера при возникновении прерывания для перехода к его обработчику, а

также при возврате из обработчика.

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

Для проведения исследования написать программу на языке ассемблера,

выполняющую основную задачу в обработчике прерывания таймера. Общая схема программы:

— в начале памяти команд расположена таблица векторов прерываний, в ко-

торой, по крайней мере, имеются Reset-вектор и вектор заданного прерыва-

ния таймера;

— Reset-обработчик проводит необходимую инициализацию и вводит процес-

сор в бесконечный цикл;

36

— ввод-обработка-вывод выполняются в обработчике прерывания.

Общие признаки вариантов:

1.Наличие в программе таблицы векторов прерываний.

2.Внутренний источник тактовых импульсов для таймеров.

Частные признаки и их значения:

s1. Задача, выполняемая в обработчике прерывания.

s2. Прерывание таймера:

1.Совпадение T2.

2.Переполнение T2.

3.Захват Т1.

4.Совпадение регистра A T1.

5.Совпадение регистра B T1.

6.Переполнение T1.

7.Совпадение T0.

8.Переполнение T0.

s3. Режим работы таймера.

Внешние сравнения (Гарвардская RISC AVR — Принстонская CISC x86):

1.Виды и источники прерываний.

2.Структура и расположение таблицы векторов прерываний.

3.Структура вектора прерывания.

4.Переход и возврат из обработчика прерывания.

Внутренние сравнения:

1.Reset-обработчик и другие обработчики.

2.Таймеры T0, T1, T2.

3.Виды прерываний таймеров: по совпадению, переполнению и захвату.

4.Источник тактового сигнала: внутренний, внешний.

37

Задание 4. Последовательные интерфейсы и аналоговые средства

микроконтроллеров

Изучить последовательные интерфейсы (TWI, SPI, USART), аналоговый компаратор и аналого-цифровой преобразователь.

Исследовать работу заданного интерфейса. Для этого написать на языке ассемблера программы для двух микроконтроллеров, связанных по данному интерфейсу.

Общие признаки вариантов:

1.Каждый из двух интерфейсов (микроконтроллеров) осуществляет и прием,

ипередачу.

2.Использование прерываний и их обработчиков.

3.Первый микроконтроллер вводит данные с аналого-цифрового преобразо-

вателя и передает их второму микроконтроллеру, который их принимает и выводит через параллельный порт.

4. Второй микроконтроллер вводит данные с использованием аналогового компаратора и передает их первому микроконтроллеру, который также их принимает и выводит через параллельный порт.

Частные признаки:

s1. Последовательный интерфейс и его режим работы.

s2. Режимы работы аналогового компаратора и аналого-цифрового преобразо-

вателя.

Библиографический список

1.8-bit AVR Instruction Set. 0856I–AVR–07/10 [Электронный ресурс] / Atmel Corporation. – Режим доступа : www. URL: http://www.atmel.com/images/doc0856.pdf. – 2010.

2.8-bit AVR Microcontroller with 8K Bytes In-System Programmable Flash. ATmega8535/ATmega8535L. 2502K–AVR–10/06 [Электронный ресурс] / Atmel Corporation. – Режим доступа : www. URL:

http://www.atmel.com/images/doc2502.pdf. – 2006.

38

Гарвардская RISC-архитектура в микроконтроллерах AVR. Средства ввода-вывода, хранения и обработки цифровой и аналоговой информации в микроконтроллерах AVR для построения микропроцессорных систем управления

Методические указания к лабораторной работе по дисциплине "Микропроцессорные системы"

Болдырихин Олег Владимирович

Редактор Г. В. Казьмина.

Подписано в печать . Формат 60x84 1/16. Бумага офсетная. Ризография. Печ. л. 2,3. Тираж 100 экз. Заказ №

Издательство Липецкого государственного технического университета. Полиграфическое подразделение Издательства ЛГТУ.

398600 Липецк, ул. Московская, 30.

39

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]