В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > AVR
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


3.14. Описание регистров

3.14.1. Регистр защиты от изменения конфигурации CCP

Бит 7 6 5 4 3 2 1 0 CCP
+0х04
CCP[7:0]
Чтение/запись Зап. Зап. Зап. Зап. Зап. Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Биты 7:0 - CCP[7:0] - защита от изменения конфигурации

Чтобы разрешить изменение защищенного регистра ввода-вывода или выполнить защищенную инструкцию в течение интервала времени, составляющего не более 4 циклов инструкции ЦПУ, в регистр CCP необходимо записать корректную сигнатуру. Все прерывания, возникшие по ходу этого интервала времени, игнорируются, а по его истечении - обрабатываются с учетом уровня и приоритета.

После записи сигнатуры защищенного регистра ввода-вывода, в течение всего интервала активности защищенной записи, бит CCP[0] при чтении будет иметь единичное значение. По аналогии с этим, после записи сигнатуры защищенных инструкций SPM/LPM и в течение всего интервала, когда могут быть выполнены данные инструкции, бит CCP[1] при чтении будет иметь единичное значение. Биты CCP[7:2] всегда считываются с нулевым значением. В таблице 13.1 представлены сигнатуры для различных режимов.

Таблица 3.1. Режимы защиты ЦПУ от изменений

Сигнатура Групповая конфигурация Описание
0x9D SPM Защищенная инструкция SPM/LPM
0xD8 IOREG Защищенный регистр ввода-вывода

3.14.2. RAMPD - регистр расширенной прямой адресации

Данный регистр объединятся с операндом для прямой адресации с помощью инструкций LDS/STS в пределах всего пространства памяти МК с объемом памяти данных более 64 кбайт. Доступ к данным в пределах первых 64 кбайт адресного пространства выполняется без использования данного регистра. В МК с размером памяти данных, в т.ч. внешней, менее 64 кбайт рассматриваемый регистр недоступен.

Бит 7 6 5 4 3 2 1 0 RAMPD
+0х08
RAMPD[7:0]
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Биты 7:0 - RAMPD[7:0]: биты расширенной прямой адресации

В данных битах хранится старший байт 24-битного адреса, который образуется содержимым регистра RAMPD и 16-битным операндом. Количество бит, использующихся для адресации к памяти данных, зависит от фактического ее объема в каждом конкретном микроконтроллере. Неиспользуемые биты всегда считываются с нулевыми значениями.

3.14.3. RAMPX - регистр расширения X-указателя

Данный регистр совмещается с X-регистром для косвенной адресации с помощью инструкций LD/LDD/ST/STD в пределах всего пространства памяти данных объемом более 64 кбайт. Доступ к первым 64 килобайтам адресного пространства осуществляется без использования этого регистра. В МК с объемом памяти данных, в т.ч. внешней, менее 64 кбайт рассматриваемый регистр недоступен.

Бит 7 6 5 4 3 2 1 0 RAMPX
+0х09
RAMPX[7:0]
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Бит 7:0 - RAMPX[7:0]: биты расширения X-указателя

В данных битах хранится старший байт 24-битного адреса, который образуется содержимым регистра RAMPX и 16-битным X-регистром. Количество бит, использующихся для адресации к памяти данных, зависит от фактического ее объема в каждом конкретном микроконтроллере. Неиспользуемые биты всегда считываются с нулевыми значениями.

3.14.4. RAMPY - регистр расширения Y-указателя

Данный регистр совмещается с Y-регистром для косвенной адресации с помощью инструкций LD/LDD/ST/STD в пределах всего пространства памяти данных объемом более 64 кбайт. Доступ к первым 64 килобайтам адресного пространства осуществляется без использования этого регистра. В МК с объемом памяти данных, в т.ч. внешней, менее 64 кбайт рассматриваемый регистр недоступен.

Бит 7 6 5 4 3 2 1 0 RAMPY
+0х0A
RAMPY[7:0]
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Бит 7:0 - RAMPY[7:0]: биты расширения Y-указателя

В данных битах хранится старший байт 24-битного адреса, который образуется содержимым регистра RAMPY и 16-битным Y-регистром. Количество бит, использующихся для адресации к памяти данных, зависит от фактического ее объема в каждом конкретном микроконтроллере. Неиспользуемые биты всегда считываются с нулевыми значениями.

3.14.5. RAMPZ - регистр расширения Z-указателя

Данный регистр совмещается с Z-регистром для косвенной адресации с помощью инструкций LD/LDD/ST/STD в пределах всего пространства памяти данных объемом более 64 кбайт. RAMPZ также совмещается с Z-регистром при считывании содержимого ячеек памяти программ (ELPM) за пределами первых 64 кбайт адресного пространства и записи в ячейки памяти программ (SPM) за пределами первых 128 кбайт памяти программ.

Доступ к первым 64 килобайтам адресного пространства памяти данных, чтение первых 64 кбайт ячеек памяти программ, а также запись первых ее 128 кбайт осуществляются без использования рассматриваемого регистра. В МК с объемом памяти данных, в т.ч. внешней, и памяти программ менее 64 кбайт регистр RAMPZ недоступен.

Бит 7 6 5 4 3 2 1 0 RAMPZ
+0х0B
RAMPZ[7:0]
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Бит 7:0 - RAMPZ[7:0]: биты расширения Z-указателя

В данных битах хранится старший байт 24-битного адреса, который образуется содержимым регистра RAMPZ и 16-битным Z-регистром. Количество бит, использующихся для адресации к памяти данных, зависит от фактического ее объема в каждом конкретном микроконтроллере. Неиспользуемые биты всегда считываются с нулевыми значениями.

3.14.6. EIND - регистр расширенной косвенной адресации

Данный регистр совмещается с Z-регистром при необходимости выполнения расширенного косвенного перехода (EIJMP) или вызова подпрограммы (ECALL) в пределах всего адресного пространства в МК с памятью программ размером более 128 кбайт. Переход или вызов подпрограммы по адресу из первых 128 кбайт адресного пространства выполняется без использования данного регистра. В МК с размером памяти программ менее 128 кбайт данный регистр недоступен.

Бит 7 6 5 4 3 2 1 0 EIND
+0х0C
EIND[7:0]
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Биты 7:0 - EIND[7:0]: биты расширенной косвенной адресации

В данных битах хранится старший байт 24-битного адреса, который образован регистром EIND и 16-битным Z-регистром. Количество использующихся бит данного регистра зависит от фактического размера памяти программы МК. Неиспользуемые биты считываются с нулевыми значениями.

3.14.7. SPL -регистр младшего байта указателя стека

Пара регистров SPH и SPL представляет 16-битное значение указателя стека SP. В SP хранится значение адреса вершины стека. Сразу после сброса, в указатель стека записывается последний адрес внутреннего SRAM.

Количество используемых бит в данных регистрах зависит от фактического объема памяти данных (до 64 кбайт), в т.ч. внешней, каждого конкретного МК. Неиспользуемые биты всегда считываются с нулевыми значениями.

Бит 7 6 5 4 3 2 1 0 SPL
+0х0D
SP[7:0]
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение(1) 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1

Прим.: 1. Точное начальное значение необходимо выяснить в документации на МК.

  • Биты 7:0 - SP[7:0]: младший байт указателя стека

В данных битах хранится значение младшего байта 16-битного указателя стека (SP).

3.14.8. SPH - регистр старшего байта указателя стека

Бит 7 6 5 4 3 2 1 0 SPH
+0х0E
SP[7:0]
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение(1) 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1

Прим.: 1. Точное начальное значение необходимо выяснить в документации на МК.

  • Биты 7:0 - SP[15:8]: старший байт указателя стека

В данных битах хранится значение старшего байта 16-битного указателя стека (SP).

3.14.9. SREG - регистр статуса

Регистр статуса (SREG) хранит информацию о результате выполнения арифметической или логической инструкции.

Бит 7 6 5 4 3 2 1 0 SREG
+0х0F
I T H S V N Z C
Чтение/запись Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап. Чт./Зап.
Начальное значение 0 0 0 0 0 0 0 0
  • Бит 7 - I: Общее разрешение прерываний

Бит общего разрешения прерываний управляет активностью всех прерываний. Если этот бит будет равен нулю, то ни одно из прерываний, даже если их работа разрешена в отдельных регистрах управления, не будет функционировать. При возникновении прерываний какие-либо действия над битом I на аппаратном уровне не выполняются. Установка и сброс бита I выполняется только программно с помощью инструкций SEI и CLI, соответственно (см. "Описание набора инструкций").

  • Бит 6 - T: битовый аккумулятор

В инструкциях копирования бит, в т.ч. инструкции чтения бита BLD и записи бита BST, бит T выступает в роли битового аккумулятора, т.е. источника и получателя, соответственно. С помощью инструкции BST можно скопировать бит из регистрового файла в бит T, а с помощью BLD, наоборот, бит T копируется в бит регистрового файла.

  • Бит 5 - H: флаг полупереноса

Флаг полупереноса (H) сигнализирует о возникновении в результате выполнения арифметической операции полупереноса. Данный флаг используется в двоично-десятичной арифметике. Подробное описание данного флага см. в разделе "Описание набора инструкций ".

  • Бит 4 - S: бит знака, S = N V

Бит знака всегда равен исключающему ИЛИ между флагом отрицательного значения N и флага переполнения дополнения до двух. Подробное описание данного флага см. в разделе "Описание набора инструкций ".

  • Бит 3 - V: флаг переполнения дополнения до двух

Флаг переполнения дополнения до двух (V) используется в арифметике кодов с дополнением до двух. Подробное описание данного флага см. в разделе "Описание набора инструкций ".

  • Бит 2 - N: флаг отрицательного значения

Флаг отрицательного значения (N) сигнализирует, что результатом выполнения арифметической или логической операции является отрицательное значение. Подробное описание данного флага см. в разделе "Описание набора инструкций ".

  • Бит 1 - Z: флаг нулевого значения

Флаг нулевого значения (Z) сигнализирует, что результатом арифметической или логической операции является нулевое значение. Подробное описание данного флага см. в разделе "Описание набора инструкций ".

  • Бит 0 - C: флаг переноса

Флаг переноса (C) сигнализирует, что в результате выполнения арифметической или логической операции возник перенос. Подробное описание данного флага см. в разделе "Описание набора инструкций ".



<-- Предыдущая страница Оглавление Следующая страница -->