Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Указания по организации самостоятельной работы. Цель работы: изучить архитектуру и принципы программирования микроконтроллера AVR АТMEGA128 на примере разработки программы для управления блоком светодиодов;




ИЗУЧЕНИЕ СИСТЕМЫ КОМАНД И ОСНОВНЫХ ПРИНЦИПОВ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРОВ

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

Цель работы: изучить архитектуру и принципы программирования микроконтроллера AVR АТMEGA128 на примере разработки программы для управления блоком светодиодов; структурную организацию, состав и возможности компонентов лабораторного макета, освоить пользовательский интерфейс среды программирования C Code Vision AVR.

 

Указания по организации самостоятельной работы

Перед работой необходимо проработать теоретический материал по литературе [1, 2] и конспект лекций, ознакомиться со структурой и принципами функционирования микроконтроллера AVR АТMEGA128, системой команд и основами программирования на языках Assembler и С. При подготовке к лабораторной работе необходимо составить предварительные варианты листингов программ, указываемых в пунктах практического выполнения работы.

 

1.1.1 Основные характеристики микроконтроллера AVR АТMEGA128 AVR-архитектура объединяет высокопроизводительный RISC-процессор с раздельным доступом к памяти программ и данных, 32 регистра общего назначения, каждый из которых может работать как регистр- аккумулятор, и развитую систему команд с фиксированной (16-бит) длиной. Конвейерная архитектура с одновременным исполнением текущей и выборкой следующей команды позволяет выполнять большинство команд за один машинный цикл, что обеспечивает производительность до 1 MIPS на каждый МГц тактовой частоты.

Ниже приводятся основные характеристики микроконтроллера
AVR АТMEGA128:

– производство по КМОП–технологии с низким энергопотреблением;

– тактовая частота может изменяться в широких пределах от 0 до 16 МГц (полностью статическая архитектура);

– ядро микроконтроллера основано на RISC архитектуре с двухступенчатым конвейером, обеспечивающим выполнение одной команды за один машинный цикл;

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

– регистровый файл содержит 32 регистра общего назначения;

– все регистры общего назначения непосредственно подключены к АЛУ;

– совмещенная архитектура ввода/вывода (регистры общего назначения и порты ввода/вывода находятся в адресном пространстве ОЗУ данных);

– наличие программного стека;

– наличие в составе АЛУ аппаратного умножителя;

– 19 источников внутренних прерываний, 8 источников внешних прерываний;

– объем FLASH–памяти программ: 128 кБт;

– объем статической оперативной памяти (ОЗУ): 4 кБт;

– объем памяти данных на основе электрически-стираемого ПЗУ
(ЕЕРROM): 4 кБт;

– интерфейсы программирования: SPI и JTAG;

– напряжение питания: 4.5–5.5 В.

– Периферийные устройства:

– 8-разрядные параллельные порты ввода/вывода;

– 8 и 16-разрядные таймеры/счётчики;

– широтно-импульсные модуляторы;

– аналоговые компараторы,

– десятиразрядный 8–канальный АЦП.

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

Высокая производительность, наличие развитой подсистемы ввода/вывода и широкого спектра встроенных периферийных устройств позволяют отнести микроконтроллеры AVR АТMEGA128 к классу наиболее функциональных
микроконтроллеров для встроенных систем управления, применяемых в бытовой и офисной технике, мобильных телефонах, контроллерах периферийного оборудования (принтеры, сканеры, приводы СD-ROM), портативных медицинских приборах, интеллектуальных датчиках (охранных, пожарных) и др.

 

1.1.2 Программная модель микроконтроллера AVR MEGA128.
Механизм работы с регистрами, памятью и портами ввода/вывода

В микроконтроллере AVR АТMEGA128 реализована гарвардская архитектура, в соответствие с которой адресные пространства памяти программ и данных физически разделены (доступ к этим областям памяти осуществляется по раздельным шинам). Такая организация позволяет ядру процессора одновременно работать с памятью программ и данных, что повышает быстродействие. Карта распределения памяти в микроконтроллере AVR АТMEGA128 приведена на рисунке 1.1. Память программ представляет собой электрически стираемое перепрограммируемое постоянное запоминающее устройство ППЗУ объемом 128 кБт, выполненное по технологии FLASH – памяти, и предназначена для хранения команд, управляющих функционированием микроконтроллера, а также для хранения констант, не меняющих своих значений в ходе выполнения программы. Так как длина команды составляет 16 бит, то память программ имеет 16-разрядную организацию. Для адресации памяти программ используется 16-разрядный регистр – программный счетчик PС (Program Counter). Программа исполняется последовательно. Для управления ходом выполнения программы существуют команды перехода, изменяющие соответствующим образом значение РС.

 

Память данных организована по принципу совмещенной архитектуры ввода/вывода и разделена на 3 части: регистровая память, память портов (регистров) ввода/вывода и статическое ОЗУ (SRAM), расположенные в едином адресном пространстве.

 

 

Рисунок 1.1 – Распределение памяти в микроконтроллере AVR АТMEGA128

 

Регистровая память (см. рисунок 1.2) включает тридцать два 8-разрядных регистра общего назначения (R0 - R31), объединенных в регистровый файл.
Каждый из регистров общего назначения непосредственно связан с АЛУ. АЛУ поддерживает арифметические и логические операции с регистрами, между регистром и константой или непосредственно с регистром. При исполнении арифметической или логической команды за один такт из регистрового файла выбираются два операнда, выполняется действие, и результат возвращается в регистровый файл. Регистровый файл отображается на младшие 32 адреса 0000h-001Fh памяти данных и к его регистрам можно обращаться как к ячейкам памяти. Шесть 8 - разрядных регистров (R26 - R31) могут использоваться как три
16-разрядных регистра-указателя для косвенной адресации (см. рисунок 1.3).

 

 

 

Рисунок 1.2 – Иллюстрация отображения регистров общего назначения и
портов ввода/вывода на адресное пространство памяти данных

X Y Z
           

Рисунок 1.3 – 16-разрядные регистры Х, Y, Z, использующиеся для косвенной адресации памяти

 

Пространство ввода/вывода состоит из 64 адресов портов 0000h-003Fh, предназначенных для взаимодействия с внутренними и внешними устройствами по отношению к микроконтроллеру. Порты ввода/вывода отображаются на область памяти данных с адресами 0020h-005Fh и допускают возможность обращения к ним как к ячейкам памяти. При доступе к порту ввода/вывода как к ячейке памяти к адресу порта необходимо добавить 20h. Адрес порта ввода/вывода в пространстве памяти часто указывается в скобках после адреса в пространстве портов ввода/вывода. Ввиду того, что основной функцией микроконтроллера является управление внешними устройствами, в таблице 1.1. приводятся названия и адреса (в пространстве портов ввода/вывода) основных интерфейсных портов с указанием режима работы и функций отдельных
регистров.

По адресам памяти 0060h-00FFh расположены 160 дополнительных регистров ввода/вывода.

Непосредственно память данных представляет собой статическое ОЗУ (SRAM) объемом 4 кБт, занимающее диапазон адресов 0100h-10FFh.

Таблица 1.1 – Порты ввода/вывода микроконтроллера AVR MEGA128 для подключения внешних устройств

 

Название порта ввода/вывода Идентификаторы отдельных регистров Адрес Режим / функция
PORTA PINA 19h IN
DDRA 1Ah OUT / DIRECTION
PORTA 1Bh OUT
PORTB PINB 16h IN
  DDRB 17h OUT / DIRECTION
  PORTB 18h OUT
PORTC PINC 13h IN
  DDRC 14h OUT / DIRECTION
  PORTC 15h OUT
PORTD PIND 10h IN
  DDRD 11h OUT / DIRECTION
  PORTD 12h OUT
PORTE PINE 01h IN
  DDRE 02h OUT / DIRECTION
  PORTE 03h OUT
PORTF PINF 00h IN
  DDRF 61h OUT / DIRECTION
  PORTF 62h OUT
PORTG PING 63h IN
  DDRG 64h OUT / DIRECTION
  PORTG 65h OUT

 

Регистр состояния SREG расположен в области ввода/вывода по адресу 3Fh (5Fh) и содержит информацию о текущем состоянии микроконтроллера. Расположение флаговых битов регистра состояния приведено на рисунке 1.4.

 

№ бита
3Fh (5Fh) I T H S V N Z C

 

Рисунок 1.4 – Регистр состояния SREG

 

Назначение отдельных битов регистра состояния приведено ниже:

– C – флаг переноса, устанавливается в 1 при наличии переноса в арифметических операциях;

– Z – флаг нуля, устанавливается в 1, если результат операции равен 0;

– N – флаг отрицательного результата, устанавливается в 1 при получении отрицательного результата;

– V – флаг переполнения, фиксирует выход результата за пределы допустимого диапазона значений;

– S – флаг знака, S = N xor V;

– H – флаг дополнительного переноса (из младшей тетрады байта в старшую);

– T – флаг для временного хранения бита из регистров общего назначения;

– I – управляющий флаг разрешения прерываний, разрешает (1) или
запрещает (0) процессору реагировать на аппаратные прерывания.

 







Дата добавления: 2015-09-07; просмотров: 572. Нарушение авторских прав


Рекомендуемые страницы:


Studopedia.info - Студопедия - 2014-2020 год . (0.005 сек.) русская версия | украинская версия