Регистры специального назначения

К области РПД примыкает область регистров специального назначения, адреса которых расположены в интервале от 128 (80H) до 255 (0FFH). К регистрам специального назначения относятся регистры-защелки портов, регистры таймеров, регистры управления периферийными устройствами, аккумулятор и т.д.

Из распределения адресов области регистров специального назначения (таблица 4.1) видно, что не все адреса заняты. Не используемые адреса физически отсутствуют на кристалле. Чтение по этим адресам возвращает случайные значения, а запись не результативна. Пользователю не рекомендуется производить запись по незанятым адресам, так как эти адреса могут быть задействованы в новых версиях MCS-51.

Таблица 4.1 - Блок регистров специального назначения

       
Битовая адресация Обозначение Наименование Адрес
+ ACC Аккумулятор 0E0H
+ B Регистр-расширитель аккумулятора 0F0H
+ PSW Слово состояния процессора 0D0H
- SP Регистр-указатель стека 81H
- DPTR Регистр-указатель данных (старший -DPH) 83H
- DPTR Регистр-указатель данных (младший -DPL) 82H
+ P0 Порт 0 80H
+ P1 Порт 1 90H
+ P2 Порт 2 0A0H
+ P3 Порт 3 0B0H
+ IP Регистр приоритетов 0B8H
+ IE Регистр маски прерываний 0A8H
- TMOD Регистр режима таймера/счетчика 89H
+ TCON Регистр управления/статуса таймера 88H
- TH0 Таймер 0 (старший байт) 8CH
- TL0 Таймер 0 (младший байт) 8AH
- TH1 Таймер 1 (старший байт) 8DH
- TL1 Таймер 1 (младший байт) 8BH
+ SCON Регистр управления приемопередатчиком 98H
- SBUF Буфер приемопередатчика 99H
- PCON Регистр управления энергопотреблением 87H

Среди SFR есть несколько регистров, допускающих как байтовую, так и битовую адресацию. Двоичные адреса этих регистров оканчиваются на три нуля, т. е. имеют в конце цифру 0 или 8Н. К отдельным битам этих регистров можно обращаться при использовании прямого 8-битового адреса (bit) в диапазоне 128 (80H) - 255(0FFH) (рисунок 4.3).

Назначением данных битов, чаще всего, является управление режимами и контроль состояния периферийных устройств и микроконтроллера. Назначение и выполняемые этими битами функции будут показаны ниже, при рассмотрении периферийных устройств.

Рассмотрим функции регистров, входящих в блок SFR.

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

Регистр В.Используется в операциях умножения и деления. В других случаях можно использовать как обычный сверхоперативный регистр.

Указатель стека (SP). 8-разрядный регистр SP увеличивается на 1 (инкрементируется) перед записью информации в память при выполнении операций, связанных со стеком, типа PUSH и CALL. Стек может занимать любое место в РПД. После сброса указателю SP присваивается значение 07Н, означая, что по умолчанию стек начинается с адреса 08Н.

Регистры специального назначения - student2.ru

Рисунок 4.3 - Карта адресуемых бит в SFR

Указатель данных (DPTR). Указатель данных состоит из старшего байта (DPH) и младшего (DPL). Предназначен для задания 16-битного адреса в операциях с обращением к внешней памяти ВПД, но может использоваться как рабочий 16-разрядный регистр или как два независимых 8-битных регистра.

Регистры портов (Р0 - Р3). Р0, Р1, Р2 и Р3 являются регистрами-защелками портов 0 - 3.

Регистры таймеров. Регистровые пары (TH0, TL0), (TH1, TL1) - это 16-битные счетные регистры для таймеров/счетчиков 0 и 1. Для управления таймерами используется регистр состояния (TCON) и регистр управления (TMOD).

Регистры последовательного порта. Регистр последовательных данных (SBUF) - в действительности это два раздельных регистра: передающий и принимающий буферные регистры. Для управления и контроля состояниями последовательного порта используется регистр (SCON).

Регистры прерываний. В регистре (IE) находятся биты индивидуального разрешения прерываний. Для управления приоритетами используется регистр (IP).

Регистр управления энергопотреблением (PCON). Управляет скоростью последовательного порта, режимом пониженной мощности и режимом холостого хода.

Слово состояния процессора (PSW).Регистр содержит информацию о состоянии процессора (таблица 4.2) в виде битов признаков (флагов). Часть флагов изменяется только программно, другая часть флагов изменяется при выполнении большинства команд, использующих арифметико-логическое устройство.

Таблица 4.2 - Регистр PSW

Регистры специального назначения - student2.ru

Наиболее «активный» флаг - это флаг переноса C, участвующий в арифметических, логических операциях и сдвигах, некоторых битовых операциях. Флаг переполнения (OV) используется при выполнении арифметических операций со знаковыми числами. Флаг вспомогательного переноса (АС) нужен при десятичной коррекции результата сложения или вычитания.

Наши рекомендации