НПО Системы Безопасности
(499)340-94-73 График работы:
ПН-ПТ: 10:00-19:00
СБ-ВС: выходной

Главная » Периодика » Безопасность

0 ... 25262728293031 ... 159


Регистры

Операции

ТЫПРК

Обращение к регистру, заданному с помощью регистра FSRtt

Обращение к регистру, заданному с помощью регистра FSRtt,

с последующим инкрементированием содержимого регистра FSRtt

Tosmctt

Обращение к регистру, заданному с помощью регистра FSRtt,

с последующим декрементировапием содержимого регистра FSRtt

Инкрементирование содержимого регистра FSRtt и обращение к регистру, заданному с помощью регистра FSR#

PLUSWK

Обращение к регистру, определяемому результатом сложения содержимого регистра WREG и содержимого регистра FSRtt

Произвольные позиции стека могут быть доступны с помощью двух команд:

WREG = 3 , WREG = PLUSWO ,

Регистры состояния

в микроконтроллерах PIC 18Схх применяются два регистра, которые содержат информацию о состоянии микроконтроллера и обеспечивают управление его работой (табл. 5.17, 5.18).

Таблица 5.17

Назначение разрядов региара состояния STATUS микроконтроллеров PIC 18Схх

Функция

Не используются

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

0V - флаг переполнения, устанавливается при переполнении в результате выполнения арифметических операций

Z - флаг нуля, устанавливается при равенстве результата нулю

ОС - флаг десятичного переноса, устанавливается при переносе из младшего полубайта в старший при выполнении арифметических операций

С - флаг переноса, устанавливается при переносе во время выполнения арифметических операций, используется также в командах циклического сдвига

Счетчик команд

Счетчик команд и стек счетчика команд (стек программного счетчика) микроконтроллеров PIC 18Схх в целом аналогичны средствам PIC-Микроконтроллеров других подсемейств, за исключением двух существенных отличий. Первое - возможность адресации программной памяти объемом до 1 Мб. Вследствие этого программный счетчик включает в себя три регистра: регистр младших разрядов PCL, регистр средних разрядов PCLATH и регистр старших разрядов PCLATU. второе отличие связано с использованием так называемого быстрого



Функция

IPEN - при его уаановке разрешается задание соответавующих уровней приоритета прерываний

LWRT - при его уаановке разрешается запись во внутреннюю программную память

Не используется

RI - флаг операции сброса (если равен 0 - была выполнена операция сброса); должен уаанавливаться в 1 программно

Т0 - сбрасывается после сброса аорожевого таймера

..PD - флаг режима пониженного энергопотребления; сбрасывается после исполнения команды sleep

POR - флаг сброса при включении питания; обнуляется при сбросе после включения питания (power on); должен уаанавливаться в 1 программно

BOR - фпаг сброса при Вrown out; обнуляется во время сброса при понижении напряжения питания; должен уаанавливаться в 1 программно

стека (fast stack), который позволяет сохранять и восстанавливать регистры контекстабез написания специальных подпрограмм. И наконец, в PIC 18Схх допускается считывание данных из стека и запись в него.

Указанные отличия дают ряд дополнительных возможностей при использовании микроконтроллеров PIC 18Схх, в частности позволяют разрабатывать с их помощью эффективные программные приложения, которые не могут быть реализованы в рамках архитектур других подсемейств PIC-микроконтроллеров.

Каждая команда микроконтроллера PIC IBCxx располагается по четному адресу. Первая команда начинается с нулевого адреса, вторая - с адреса «два», третья - с адреса «четыре» и т.д. Если задать для счетчика команд нечетные адреса, это может привести к останову программы-снм)лятора пакета MPLAB и непредсказуемому поведению микроконтроллеров PIC 18Схх. Изменение принятого (для первых подсемейств PIC-микроконтроллеров) подхода означает, что некоторые ранее разработанные правила, которые предусматривают адресацию каждого байта, для микроконтроллеров PIC IBCxx должны быть кардинально пересмотрены.

Глубина стека программного счетчика составляет 31, что вдвое превосходит стек подсемейства PIC 17Схх и в четыре раза - стек микроконтроллеров среднего подсемейства. Кроме того, микроконтроллеры PIC 18Схх предусматривают возможность мониторинга состояния стека с помощью соответствующих аппаратных средств и регистра STKPTR. Структурная схема стека показана на рис. 5.10.

Спецификация разрядов регистра STKPTR приведена в табл. 5.19-

Биты STKUNF (стек не полон) и STKFUL (стек полон) устанавливаются в случае реализации соответствующих условий. Если в слове



Стек счетчика команд

Элементе

Элемент 1

Элемент 2

Элемент 13

tosu

tosh

tosl

21 бит

StkRr

5 бит

21 бит-

Рис. 5.10

Структура аека счетчика команд Таблица 5.19

Назначение разрядов региара STKPTR

Функция

STKFUL - признак заполнения стека; устанавливается при заполнении или переполнении стека

STKUNF - признак неполного стека

Не используется

SP4 - SPO - указатель стека

конфигурации установлен бит STVREN, то при установке битов STKFUL и STKUNF должен произойти перезапуск (сброс) микроконтроллера.

Быстродействующий стек позволяет упростить процедуру обращения к подпрограммам в приложениях, в которых не разрешены прерывания, а также в приложениях, где допускается применение программы обработки прерываний. Чтобы использовать быстродействующий стек совместно с командами call и return, в конце этих Команд следует добавлять параметр 1; в противном случае необходимо добавить параметр 0.

Быстродействующий стек имеет размер три байта, что позволяет автоматически запоминать содержимое регистров WREG, STATUS И BSR (то есть контекст) при распознавании запроса на прерывание И выполнении программного перехода по вектору прерывания.



0 ... 25262728293031 ... 159