Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Регистр состояния STATUS микроконтроллера PIC16F877




Регистр STATUS отображается на все 4 банка микроконтроллера и имеет адреса: 03h (банк 0), 83h (банк 1), 103h (банк 2) и 183h (банк 3). В этом регистре находятся флаги состояния АЛУ, флаги причины сброса микроконтроллера и биты управления банками RAM памяти данных микроконтроллера. Если обращение к регистру STATUS выполняется командой, которая воздействует на флаги Z, DC и C, то изменение этих трех битов заблокировано. Эти биты сбрасываются или устанавливаются согласно логике ядра микроконтроллера. Команды изменения регистра STATUS также не воздействуют на биты –TO и –PD, которые доступны только для чтения. Для изменения битов регистра STATUS рекомендуется использовать команды, не влияющие на флаги АЛУ такие, как SWAPF, MOVWF, BCF и BSF. Используются все 8 битов этого регистра. На рисунке №1 показаны обозначения битов регистра и состояние регистра после всех видов сброса.


Рис.1


IRP – бит выбора банка при косвенной адресации. При IRP=1 выбирается банк 2 или 3; при IRP=1 выбирается банк 0 или 1. Бит доступен для чтения и записи.


RP1:RP0 – биты выбора банка при непосредственной адресации (11- банк 3; 10 – банк 2; 01 – банк 1; 00 – банк 0). Биты доступны для чтения и записи.


- TO – флаг переполнения сторожевого таймера. После сброса по включению питания POR или выполнения команд CLRWDT, SLEEP бит установлен в 1. После переполнения сторожевого таймера сбрасывается в 0. Этот бит доступен только для чтения.


- PD – флаг включения питания. После POR или выполнения команды CLRWDT бит установлен в 1. После выполнения команды SLEEP бит сбрасывается в 0. Этот бит доступен только для чтения.

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


DC – флаг десятичного переноса/заема (для команд: ADDWF, ADDWL, SUBWF, SUBWL), заем имеет инверсное значение. В случае переноса из младшего полубайта бит устанавливается в 1. В случае отсутствия переноса из младшего полубайта бит сбрасывается в 0.


C – Флаг переноса/заема (для команд ADDWF, ADDWL, SUBWF, SUBWL), заем имеет инверсное значение. В случае переноса из старшего бита флаг устанавливается в 1. . В случае отсутствия переноса из старшего бита флаг сбрасывается в 0.

 

 













 




Последнее изменение этой страницы: 2018-04-12; просмотров: 455.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...