Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Регистровый файл





Все микроконтроллеры семейства MSP430 имеют в своем составе регистровый файл, состоящий из 16 16–ти разрядных регистров. Регистровый файл не отображается на общее адресное пространство, поэтому к регистрам можно обращаться только по их именам – R0, R1, … R15. Большинство регистров из регистрового файла могут выступать как источник или приемник данных, или использоваться в качестве указателей. Регистры с индексами от R0 до R3 имеют специальные предназначения, в то время как регистры R4–R15 являются регистрами общего назначения.

Регистр R0 является программным счетчиком (Program Counter) и к нему можно также обращаться по имени PC. Регистр PC содержит адрес команды, которую должен выполнить процессор в данный момент. Так как все команды процессора имеют четное количество байт, младший бит этого регистра всегда имеет значение 0.

Регистр R1 является указателем стека (Stack Pointer) и к нему можно обращаться по имени SP. Стек – это область памяти ОЗУ, предназначенная, главным образом, для хранения адресов возврата из подпрограмм. Стек также может использоваться для временного хранения содержимого регистров и ячеек памяти. В MSP контроллерах используется падающая модель стека, т. е. ячейки памяти стека заполняются от старших адресов к младшим. Регистр SP всегда содержит адрес последней (с младшим адресом) ячейки стека, в которую производилась запись. В начале прикладной программы необходимо инициализировать регистр SP. Т. к. при сохранении данных на стеке, например с помощью команды PUSH, содержимое SP всегда уменьшается на 2, необходимо чтобы его начальное значение было бы четным. Обычно SP настраивают так, чтобы он указывал на самую верхнюю область ОЗУ. Для моделей, содержащих 2 килобайта памяти данных, в регистр SP записывается значение, равное 0A00h.

Регистр R2 является статусным регистром (Status Register) и к нему можно обращаться по имени SR. Регистр SR содержит, во–первых, биты управления режимами работы центрального процессора и, во–вторых, флаги, сигнализирующие о результате последней операции. Структура регистра SR представлена в таблице 1.1 ниже.

 

Таблица 1.1 – Cтруктура регистра STATUS

15 9                  
Зарезервировано V SCG1 SCG0 OSCOFF CPUOFF GIE N Z C

 

Регистр SR содержит следующие биты:

– бит 8, V (oVerflow) – переполнение, устанавливается аппаратно если в результате последней операции зарегистрировано арифметическое переполнение, т. е. произошел перенос в старший, знаковый бит, если переполнения не было, бит аппаратно сбрасывается;

– биты 7 и 6, SCG1, SCG0 – (System Clock Generator) – предназначены для управления системным тактовым генератором;

– бит 5, OSCOFF – выключение осциллятора, устанавливается программно для отключения тактового генератора. В этом случае останавливается центральный процессор и вся тактируемая периферия. Уровень электрического потребления падает до долей микроампер;

– бит 4, CPUOFF – выключение центрального процессора, программная установка этого бита отключает тактирование центрального процессора, при этом периферийные устройства могут находиться в активном режиме;

– бит 3, GIE (Global Interrupt Enable) – глобальное разрешение прерываний, устанавливается/сбрасывается программно для разрешения/запрещения всех прерываний процессора;

– бит 2, N (Negative) – бит фиксации отрицательного результата, устанавливается аппаратно, если в качестве результата последней операции было получено отрицательное значение, в противном случае – сбрасывается, фактически в бит N переписывается старший значащий бит результата, 15–й бит для словной формы или 7–й бит для байтовой формы данных;

– бит 1, Z (Zero) – бит фиксации нулевого результата, устанавливается аппаратно, если в качестве результата последней операции было получено нулевое значение, в противном случае – сбрасывается;

– бит 0, С (Carry) – бит переноса, устанавливается аппаратно, если результат последней операции не умещается в разрядной сетке операции (16 бит для словной формы или 8 бит для байтовой данных), в противном случае сбрасывается.

Все биты флагов в регистре SR также могут устанавливаться/сбрасываться программно.

Date: 2015-06-06; view: 693; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.008 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию