|
Регистры специальных функцийDate: 2015-10-07; view: 443. Регистры микроконтроллера за исключением регистров общего назначения и регистра программного счётчика называются регистрами специальных функций. Рассмотрим назначение регистров специальных функций. Обозначение регистров специальных функций приведено в таблице 1. Звёздочкой помечены регистры, допускающие наряду с адресацией байтов адресацию отдельных битов регистра. Таблица 1
Аккумулятор. АСС – регистр аккумулятора. Аккумулятор является источником операнда и местом фиксации результата при выполнении арифметических, логических операций и ряда операций передачи данных. Кроме того, только с использованием аккумулятора могут быть выполнены операции сдвига, проверки на нуль, формирование флага паритета. Команды, предназначенные для работы с аккумулятором, используют мнемонику “А”. Регистр В. Используется во время операций умножения и деления. При умножении в регистр В помещается старший байт 16-битового произведения, а младший в аккумулятор. При делении остаток помещается в регистр В, а частное – в аккумулятор. Для других инструкций регистр В может использоваться, как дополнительный регистр. Регистр состояния программыPSW.хранит информацию о состоянии программы. Этот регистр вместе с аккумулятором содержит признаки результата выполнения команды.
PSW
Указатель стека SP. 8-ми битовый регистр, содержимое которого инкрементируется перед записью данных в стек при выполнении команд PUSH и CALL. При начальном сбросе указатель стека устанавливается в 07H, а область стека в ОЗУ начинается с адреса 08Н. При необходимости путём переопределения стека может быть расположена в любом месте внутреннего ОЗУ. Например, mov SP,#30H. Команда определяет, что стек начинается с ячейки ОЗУ с адресом 31H. Стеком обозначается область ОЗУ, в которой располагаются данные, которые могут быть утеряны при переходе к выполнению подпрограммы. При переходе к выполнению подпрограммы автоматически в стек заносится только содержимое программного счётчика. Это необходимо для сохранения адреса возврата в прерванную программу. После окончания подпрограммы в программный счётчик заносится адрес возврата из стека. Необходимые для сохранения значения остальных регистров помещаются в стек командой PUSH, а извлекаются из стека командой POP. Указатель данных. DPTR – указатель данных состоит из старшего байта DPH и младшего DPL. Содержит 16-ти битовый адрес ячейки внешней памяти данных при обращении к внешней памяти данных. Может использоваться, как 16-ти битовый регистр или два независимых 8-ми битовых регистров. Порт 0 – Порт 3. Регистрами специальных функций являются 8-разрядные порты Р0, Р1, Р2, Р3. Порты необходимы для обмена данными с внешними устройствами. Буфер последовательного порта. Последовательный порт микроконтроллера выполняет функцию обмена данными с внешними устройствами в последовательном коде. В последовательном коде биты каждого, поступившего в порт байта, передаются и принимаются по очереди бит за битом. Буфер последовательного порта (SBUF) – представляет собой два отдельных 8-разрядных регистра: буфер передатчика и буфер приёмника. Когда данные записываются в SBUF, они поступают в буфер передатчика, причём запись байта в SBUF автоматически инициирует его передачу через последовательный порт. Когда данные читаются из SBUF, они выбираются из буфера приёмника. Регистры таймера. Регистровые пары (TH0, TL0) и (TH1, TL1) образуют 16-ти битовые счётные регистры соответственно T/C0 и T/C1. В эти регистры может быть помещён результат счёта машинных циклов при работе Т\С в режиме таймера, либо результат счёта перепадов из 1 в 0 на соответствующий внешних вводах микроконтроллера, если Т\С работает в режиме счётчика. Регистры управления.IP, IE, SCON, TMOD, TCON, PCON – содержат биты состояния системы управления прерываниями, таймеров/счётчиков, последовательного порта и энергопотребления. Установка комбинаций битов в этих регистрах задаёт режим работы данных функциональных узлов микроконтроллера.
|