Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы Мазур.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆
  1. Пространство ввода/вывода avr-мк

Как уже упоминалось, ОЗУ AVR-МК, начиная с адреса $0020, содержит специальные регистры управления МК и периферией. Эта область памяти называется пространством ввода/вывода МК. Для МК ATmega16 пространство ввода/вывода определено в виде, представленном в табл. П.А.1 (см. приложение А).

Зарезервированные и неиспользуемые ячейки в таблице не показаны. Для команд работы с регистрами пространства ввода/вывода используются их адреса в пространстве ввода/вывода (с $00 по $3F). Поскольку пространство ввода/вывода представлено в адресном пространстве ОЗУ, то к его регистрам можно адресоваться так же, как и к обычным ячейкам ОЗУ с адресами с $20 по $5F. Адрес регистра пространства ввода/вывода как ячейки ОЗУ

получается простым добавлением $20 к непосредственному адресу пространства ввода/вывода. В таблице адрес ОЗУ приводится в круглых скобках после непосредственного адреса пространства ввода/вывода. Два основных регистра ЦПУ – регистр статуса результата и указатель стека – также размещаются в пространстве ввода/вывода.

Регистр статуса

Регистр статуса (SREG – Status Register) размещен в пространстве ввода/вывода по адресу $3F ($5F) и его биты определены следующим образом:

Адрес: $3F ($5F)

7

6

5

4

3

2

1

0

SREG Биты

I

T

H

S

V

N

Z

C

Чтение/запись

R/W

R/W

R/W

R/W

R/W

R/W

R/W

R/W

Начальное состояние

0

0

0

0

0

0

0

0

  • Bit 7 - I: Global Interrupt Enable - разрешение глобального прерывания. Для разрешения использования прерываний бит должен быть установлен в состояние лог. 1. Разрешение конкретного прерывания выполняется регистром масок соответствующего прерывания. Если бит глобального прерывания очищен (в состоянии лог. 0), то ни одно из разрешений конкретных прерываний, установленных в регистрах масок прерываний, не действует. Бит I аппаратно очищается после возникновения прерывания и устанавливается для последующего разрешения глобального прерывания командой выхода из подпрограммы обработки прерывания (RETI).

  • Bit 6 - T: Bit Copy Storage - бит сохранения копии.

Бит T используют для временного хранения битов. Командой BST бит регистра регистрового файла копируется в бит T, командой BLD бит T копируется в регистр регистрового файла.

  • Bit 5 - H: Half Carry Flag – флаг полупереноса.

Флаг полупереноса указывает на полуперенос в ряде арифметических операций.

  • Bit 4 - S: Sign Bit, S = NV - бит знака.

Бит S всегда находится в состоянии, определяемом логическим ИСКЛЮЧАЮЩЕЕ ИЛИ (exclusive OR) между флагом отрицательного значения N и дополнением до двух флага переполнения V.

  • Bit 3 - V: Two’s Complement Overflow Flag - дополнение до двух флага переполнения.

Дополнение до двух флага V поддерживает арифметику дополнения до двух.

  • Bit 2 - N: Negative Flag - флаг* отрицательного значения.

Флаг отрицательного значения N указывает на отрицательный результат арифметических и логических операций.

  • Bit 1 - Z: Zero Flag - флаг нулевого значения.

Флаг нулевого значения Z указывает на нулевой результат арифметических и логических операций.

  • Bit 0 - C: Carry Flag - флаг переноса.

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