Краткие теоретические сведения

Цель работы

Контрольные вопросы

Методические указания

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

Краткие теоретические сведения

Цель работы

Ознакомление с интегрированной средой разработки и отладки программ Avr Studio и порядком создания проектов.

 

 

Avr Studio – это интегрированная отладочная среда разработки приложений для микроконтроллеров семейства AVR. Она содержит транслятор языка ассемблера, отладчик и программное обеспечение верхнего уровня для поддержки внутрисхемного программирования.

Отладчик Avr Studio поддерживает все типы микроконтроллеров AVR и может работать в двух режимах: программной симуляции и управления различными внутрисхемными эмуляторами.

Для запуска программы используется файл AvrStudio.exe. После стандартной установке он находится в папке C:\Program Files\Atmel\AVR Studio.

Подробное описание работы с Avr Studio и другими симуляторами находится в отдельном методическом пособии.

 

4.3.1 Выполняется при подготовке к работе.

а) Изучить теоретические сведения;

б) Подготовить текстовый файл на электронном носителе с следующим содержанием:

 

.include "8535def.inc" ; подключить файл описания AT90S8535

.cseg ; определение начала сегмента программы (кода)

.org 0 ; определение вектора прерывания по сбросу и подаче питания

 

rjmp programma ; переход на метку programma

.org $30 ; определение начального адреса программы

 

programma:

ldi r16,$ff

out ddrc,r16 ; настроить порт С на выход

ldi r16,00

out ddra,r16 ; настроить порт А на вход

in r17,pina ; считать данные из порта А

out portc,r17 ; вывести данные в порт С

rjmp programma ; перейти на метку programma

4.3.2 Выполняется на лабораторном занятии.

а) Создать проект в среде AvrStudio, присвоив ему свое имя;

б) Вставить в окно программы текстовый файл, подготовленный в пункте 4.3.1б);

в) Скомпилировать программу;

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

 

Текст программы подготавливается в любом текстовом редакторе. Значение входных (комбинация нулей и единиц) задается в регистре PIN соответствующего порта в окне ввода/вывода (IO). Для установки бита в единицу нужно поставить галочку в соответствующем бите. Отсутствие галочки означает, что бит имеет нулевое значение. Галочка устанавливается или убирается щелчком левой кнопки мыши.

4.5.1. Какое назначение и возможности программы AvrStudio?

4.5.2. Чем отличается эмулятор от симулятора?

4.5.3. Опишите порядок создания проекта в AvrStudio.

4.5.4. Файл с каким расширением содержит машинные коды?

4.5.5. Какие достоинства и недостатки у симулятора по сравнению с эмулятором?

4.5.6. Какие файлы создаются после компиляции программы и какое их назначение?

4.5.7. Как можно установить или сбросить бит в каком либо регистре в процессе работы с симулятором?

4.5.8 Содержимое каких элементов микроконтроллера можно наблюдать в процессе симуляции?

 

5 ЛАБОРАТОРНАЯ РАБОТА

«ПРОГРАММИРОВАНИЕ ПАРАЛЛЕЛЬНЫХ ПОРТОВ ВВОДА/ВЫВОДА»

 

 

Изучение структуры, свойств и программирования двунаправленных портов микроконтроллера АТ90S8535 (ATmega8535) для ввода и вывода дискретной информации.

 

Портами называют отдельные выводы или группы выводов, через которые информация поступает в микроконтроллер и из микроконтроллера. Количество портов ввода/вывода зависит от модели микроконтроллера. Данные через порт передаются и принимаются параллельно. Стандартный параллельный порт микроконтроллера AVR имеет восемь выводов (разрядов, линий). У микроконтроллера АТ90S8535 (ATmega8535) четыре двунаправленных восьмиразрядных параллельных порта ввода/вывода. Они обозначаются латинскими буквами A, B, C, D. Каждой линии (разряду) порта соответствует определенный вывод микроконтроллера.

Любой порт микроконтроллера можно сконфигурировать как вход или как выход. Кроме того, как вход или выход можно сконфигурировать отдельно и независимо от других любую линию (разряд) порта. Линии портов кроме линий общего назначения часто выполняют функции ввода/вывода внутренних устройств микроконтроллера, например, таймера.

При работе с параллельным портом ввода/вывода используются три регистра, которые находятся в пространстве регистров ввода/вывода памяти данных. Это: регистр вывода данных – PORT, регистр выбора направления передачи данных – DDR, регистр входных данных – PIN.

Регистр PIN обеспечивает возможность только чтения, а регистры PORT и DDR – возможность чтения и записи. Регистр PIN не является физическим регистром, а только виртуальным. При обращении к этому регистру на внутреннюю шину данных поступает логическая информация, которая в этот момент находится на выводах порта.

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

Регистры порта А: PORTA, $1B($3B); DDRA, $1A($3A); PINA, $19($39).

Регистры порта B: PORTB, $18($38); DDRB, $17($37); PINB, $16($36).

Регистры порта C: PORTC, $15($35); DDRC, $14($34); PINC, $13($33).
Регистры порта D: PORTD, $12($32); DDRD, $11($31); PIND, $10($30).

После обозначения порта указан относительный адрес порта в пространстве регистров ввода/вывода памяти программ, а в скобках указан физический адрес порта в общем пространстве памяти программ.

Для программирования определенной линии порта на вход необходимо в регистре направления передачи данных порта DDR установить в 0 бит с номером этой линии. Для программирования определенной линии порта на выход необходимо в регистре направления передачи данных порта DDR установить в 1 бит с номером этой линии.

При включении питания микроконтроллера по умолчанию все линии автоматически программируются на вход.

Исходное состояние битов 7…0 всех регистров PORT и DDR после включения питания – 0. Исходное состояние битов 7…0 всех регистров PIN после включения питания определяется внешними сигналами (входы отключены от питания и нуля).