- •4. Архитектура мк aTmega16
- •Пространство ввода/вывода avr-мк
- •Регистр статуса
- •Указатель стека
- •Регистр управления/статуса приемопередатчика scon
- •Прерывания и их обработка
- •10. Внешние прерывания
- •12.Таймеры/счетчики мк aTmega16
- •Регистр управления таймером/счетчиком 0
- •Таймер/счетчик 0
- •Регистр совпадения таймера/счетчика 0
- •Регистр масок прерываний от таймеров/ счетчиков
- •Регистр флагов прерываний от т аймеров/счетчиков
- •Общий регистр управления прерываниями
- •Регистр флагов внешних прерыван ий
- •14.Таймер/счетчик 2
- •Регистр статуса асинхронного режима
- •Дополнение: Таймер-счетчик тс/2 с расширенными возможностями Таймер счетчик т/с2 микроконтроллера 8052
- •Регистр управление таймера/счетчика 2 t2com
- •Режимы работы таймера/счетчика 2
- •Регистр режима таймера/счетчика 2 т2моd
- •Дополнительный регистр приоритетов прерываний iрн
- •16.Особенности подключения датчиков с механическими контактами к мк
- •2. Классификация.
- •18. Аналоговый компаратор avr-мк
- •20. Двоично-десятичные коды
- •1. Форматы представления десятичных чисел
- •2. Преобразование целых 16-битных чисел в двоично-десятичные числа
- •3. Преобразование двоичной дроби в двоично-десятичную дробь
Пространство ввода/вывода 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 указывает на перенос в арифметических и логических операциях.
