Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мп мпс №114-15.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
474 Кб
Скачать
☆

2.8. Регистр состояния – sreg

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

Бит 7 – I: Общее разрешение прерываний. Для разрешения прерываний этот бит должен быть установлен в единицу. Управление отдельными преры-ваниями производится регистрами маски прерываний -GIMSK и TIMSK. Если флаг сброшен (0), независимо от состояния GIMSK/TIMSK прерывания за-прещены. Бит I очищается аппаратно после входа в прерывание и восстанавли-вается командой RETI, для разрешения обработки последующих прерываний.

Бит 6 – T: Хранение копируемого бита. Команды копирования битов BLD (Bit LoaD) и BST (Bit STore) используют этот бит как источник и при-емник обрабатываемого бита. Бит из регистра регистрового файла может

быть скопирован в T командой BST, бит T может быть скопирован в бит ре-гистрового файла командой BLD.

Бит 5 – H: Флаг половинного переноса. Этот флаг индицирует пере-нос из младшей половины байта при некоторых арифметических операциях.

Бит 4 – S: бит знака, S = N XOR V. Бит S всегда равен исключающе-му ИЛИ между флагами N (отрицательный результат) и V (переполнение дополнения до двух).

Бит 3 – V: Флаг переполнения дополнения до двух. Этот флаг под-держивает арифметику с дополнением до двух.

Бит 2 – N: Флаг отрицательного результата. Этот флаг индицирует от-рицательный результат различных арифметических и логических операций.

Бит 1 – Z: Флаг нулевого результата. Этот флаг индицирует нулевой результат различных арифметических и логических операций.

Бит 0 – C: Флаг переноса. Этот флаг индицирует перенос в арифме-тических и логических операциях.

Более подробно об этом можно прочитать в описании системы команд.

2.9. Ук а з ат е л ь стека spl

Этот 8-разрядный регистр с адресом $3D ($5D) хранит указатель сте-ка процессора AT90S2313. Восьми разрядов достаточно, для адресации ОЗУ в пределах $60-$DF.

Указ ат е л ь стека указывает на область памяти, в которой расположен стек вызова подпрограмм и прерываний. Область стека в ОЗУ должна быть задана до того, как произойдет любой вызов подпрограммы или будут раз-решены прерывания. Ука з ат е л ь стека уменьшается на 1 при записи данных в стек командой PUSH и уменьшается на 2 при вызове подпрограммы ко-мандой CALL или обработке прерывания. Указатель стека увеличивается на 1 при выборе данных из стека командой POP и увеличивается на 2 при выполнении команд возврата из подпрограммы или обработчика прерыва-ния (RET или RETI).

2.10. Регистр управления микроконтроллером - mcucr

Этот регистр содержит биты общего управления микроконтроллером.

Биты 7,6 – зарезервированы и всегда читаются как 0.

Бит 5 – SE: Разрешение режима Sleep: Этот бит должен быть установ-лен в 1, чтобы при выполнении команды SLEEP процессор переходил в ре-жим пониженного энергопотребления. Этот бит должен быть установлен в 1 до исполнения команды SLEEP.

Бит 4 – SM: Режим Sleep: Этот бит выбирает один из двух режимов пониженного энергопотребления. Если бит сброшен (0), в качестве режима Sleep выбирается холостой режим (Idle mode). Если бит установлен, – выби-рается экономичный режим (Power down). Особенности каждого из режимов будут рассмотрены далее.

Биты 3,2 – ISC11, ISC10: биты управления срабатыванием прерывания 1: Внешнее прерывание активируется выводом INT1, если установлен флаг (I) регистра состояния SREG и установлена соответствующая маска в регистре GIMSK. Срабатывание по уровню и фронтам задается следующим образом:

Примечание. При изменении битов ISC11/ISC10 прерывание INT1 должно быть за-прещено очисткой соответствующего бита в регистре GIMSK. Иначе прерывание мо-жет возникнуть во время изменения битов.

Примечание. При изменении битов ISC01 и ISC00, прерывания по входу INT0 должны быть запрещены сбросом бита разрешения прерывания в регистре GIMSK. Иначе пре-рывание может произойти при изменении значения битов.

Биты 1,0 – ISC01, ISC00: биты управления срабатыванием прерыва-ния 0. Внешнее прерывание активируется выводом INT0, если установлен

флаг (I) регистра состояния SREG и установлена соответствующая маска в регистре GIMSK. В таблице 3 приведена установка битов для задания сра­батывания по уровню и фронтам.