Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Регистры общего назначения




Статическое ОЗУ

Память данных

Память данных микроконтроллеров семейства Mega разделена на три части:

- регистровая память;

- оперативная память (статическое ОЗУ);

- энергонезависимое ЭСППЗУ (EEPROM).

Регистровая память включает 32 регистра общего назначения (РОН), объединенных в файл, и служебные регистры ввода/вывода (РВВ). В сложных моделях с развитой периферией имеется также область дополнительных регистров ввода/вывода (ДРВВ). Под РВВ в памяти микроконтроллера отводится 64 байта, а под ДРВВ — 160 или 416 байт (в зависимости от модели). В обеих областях регистров ввода/вывода располагаются различные служебные регистры (регистр управления микроконтроллера, регистр состояния и т. п.), а также регистры управления периферийными устройствами, входящими в состав микроконтроллера. Общее количество РВВ и ДРВВ зависит от конкретной модели микроконтроллера. Для хранения переменных помимо регистров общего назначения также используется статическое ОЗУ объемом от 512 байт до 8 Кбайт. Ряд микроконтроллеров семейства, кроме того, имеют возможность подключения внешнего статического ОЗУ объемом до 64 Кбайт. Для долговременного хранения различной информации, которая может изменяться в процессе функционирования готовой системы (калибровочные константы, серийные номера, ключи и т. п.), в микроконтроллерах семейства может использоваться встроенная EEPROM-память. Ее объем составляет для различных моделей от 256 байт до 4 Кбайт. Эта память расположена в отдельном адресном пространстве, а доступ к ней осуществляется с помощью определенных РВВ.

 

 

В микроконтроллерах AVR семейства Mega используется линейная организация памяти. Объем статического ОЗУ для различных моделей семейства составляет от 512 байт до 8 Кбайт. В адресном пространстве ОЗУ также расположены все регистры микроконтроллеров, под них отведены младшие 96 (256) адресов. Остальные адреса отведены под 512/1К/2К/4К...64К ячеек статического ОЗУ.

Все регистры общего назначения объединены в регистровый файл

быстрого доступа. В микроконтроллерах AVR все 32 РОН непосредственно доступны АЛУ. Благодаря этому любой РОН может использоваться практически во всех командах и как операнд-источник, и как операнд-приемник. Такое решение позволяет АЛУ выполнять одну операцию (извлечение операндов из регистрового файла, выполнение команды и запись результата обратно в регистровый файл) за один такт.

Каждый регистр файла имеет свой собственный адрес в пространстве памяти данных. Поэтому к ним можно обращаться двумя способами — как к регистрам и как к памяти, несмотря на то, что физически эти регистры не являются ячейками ОЗУ. Такое решение является еще одной отличительной особенностью архитектуры AVR, повышающей эффективность работы микроконтроллера и его производительность.

 

Регистры ввода/вывода

Все регистры ввода/вывода условно можно разделить на две группы:

- служебные регистры микроконтроллера;

- регистры, относящиеся к конкретным периферийным устройствам (в том числе регистры портов ввода/вывода).

Во всех микроконтроллерах AVR регистры ввода/вывода располагаются в так называемом пространстве ввода/вывода размером 64 байта.

К регистрам ввода/вывода, расположенным в основном пространстве ввода/вывода, можно напрямую обратиться с помощью команд IN и OUT, выполняющих пересылку данных между одним из 32-х РОН и пространством ввода/вывода.

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

- команды установки/сброса отдельного бита (SBI и CBI);

- команды проверки состояния отдельного бита (SBIS и SBIC).

К сожалению, эти команды могут обращаться только к 1-й половине основного пространства ввода/вывода (адреса $00...$1F). Помимо непосредственной адресации (с помощью команд IN и OUT), к РВВ можно обращаться и как к ячейкам ОЗУ с помощью соответствующих команд ST/SD/SDD и LD/LDS/LDD (для дополнительных РВВ этот способ является единственно возможным).

Среди РВВ есть один регистр, используемый наиболее часто в процессе выполнения программ. Это регистр состояния SREG. Он располагается по адресу $3F ($5F) и содержит набор флагов, показывающих текущее состояние микроконтроллера. Большинство флагов автоматически устанавливаются в 1 или сбрасываются в 0 при наступлении определенных событий (в соответствии с результатом выполнения команд). Все биты этого регистра доступны как для чтения, так и для записи; после сброса микроконтроллера все биты регистра сбрасываются в 0. Формат этого регистра показан на рис. 3.1, а его описание приведено в табл. 3.1.

 

 

7 6 5 4 3 2 1 0

I T H S V N Z C

Чтение(R)/ R/W R/W R/W R/W R/W R/W R/W R/W

Запись(W)

Начальное 0 0 0 0 0 0 0 0

значение

 

Рис. 3.1 Формат регистра состояния SREG

 

Таблица 3.1 Биты регистра состояния SREG

 

Бит Название Описание
  I Общее разрешение прерываний. Для разрешения прерываний этот флаг должен быть установлен в 1. Разрешение/запрещение отдельных прерываний производится установкой или сбросом соответствующих битов регистров масок прерываний (регистров управления прерываниями). Если флаг сброшен, то прерывания запрещены независимо от состояния битов этих регистров. Флаг сбрасывается аппаратно после входа в прерывание и восстанавливается командой RETI для разрешения обработки следующих прерываний.
  T Хранение копируемого бита. Этот бит регистра используется в качестве источника или приемника командами копирования битов BLD (Bit LoaD) и BST (Bit STore). Заданный бит любого РОН может быть скопирован в этот бит командой BST или установлен в соответствии с содержимым данного бита командой BLD.
  H Флаг половинного переноса. Этот флаг устанавливается в 1, если произошел перенос из младшей половины байта (из 3-го бита в 4-й) или заем из старшей половины байта при выполнении некоторых арифметических операций.
  S Флаг знака. Этот флаг равен результату операции «Исключающее ИЛИ» (XOR) между флагами N (отрицательный результат) и V (переполнение числа в дополнительном коде). Соответственно, этот флаг устанавливается в 1, если результат выполнения арифметической операции меньше нуля.
  V Флаг переполнения дополнительного кода. Этот флаг устанавливается в 1 при переполнении разрядной сетки знакового результата. Используется при работе со знаковыми числами (представленными в дополнительном коде). Подробнее — см. описание системы команд.
  N Флаг отрицательного значения. Этот флаг устанавливается в 1, если старший бит G-й) результата операции равен 1. В противном случае флаг равен 0.
  Z Флаг нуля. Этот флаг устанавливается в 1, если результат выполнения операции равен нулю.
  C Флаг переноса. Этот флаг устанавливается в 1, если в результате выполнения операции произошел выход за границы байта.

 

 




Поделиться с друзьями:


Дата добавления: 2015-07-13; Просмотров: 1662; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.