Скачиваний:
33
Добавлен:
01.05.2014
Размер:
7.32 Mб
Скачать

3.1.4.2 Регистры Специальных Функций

Ячейки 00H-17H обеспечивают доступ к Регистрам Специальных Функций ЦП(SFRs) через три горизонтальных окна

( HWindow 0, 1, и 15 ). Через SFRs RALU может непосредственно управлять всеми периферийными модулями, за исключением Портов 3 и 4 .

При использовании SFR в качестве базового или индексного регистра для косвенных или индексных операций, следует сознавать, что содержимое SFRs не всегда предсказуемо. Внешние события могут изменять содержание SFRs,

а некоторые SFRs очищаются при чтении.

Функции большинства SFRs изменяются в зависимости от того читают ли из них или записывают в них. По этой причине, никогда не используйте SFR как операнд в командах типа чтение-модификация-запись ( например,XORB AD_RESULT).

Не используйте зарезервированные SFRs; запишите в них нули или оставьте их в состоянии по умолчанию. При чтении, зарезервированные биты и SFRs будут возвращать неопределенные значения.

3.2. Работа через горизонтальное окно

8XC196KC использует горизонтальную схему работы с окнами которая меняет три 24-байтовых блока памяти

( HWindow 0, 1, и 15 ) внутри младших 24 байт Нижнего Регистрового Файла ( см. рис.5 ). Каждое HWindow обеспечивает доступ для чтения или доступ для записи к уникальной комбинации SFRs. Некоторые регистры доступны как одиночный байт; другие доступны как слово ( два байта ).

Некоторые регистры, типа Регистра Выбора Окна

( WSR,14H ), являются доступными во всех трех HWindows. Другие могут быть записываемы в одном HWindow,а читаемы в другом.

Для работы с регистрами через Hwindow используются команды с прямой адресацией.

Рис.5 Горизонтальные окна

3.2.1. Выбор hWindow

Регистр Выбора Окна ( Window Select Register; WSR,14H ) обеспечивает доступ к HWindows и VWindows (см. Работа с Вертикальным окном ). Чтобы выбрать HWindow, запишите номер желаемого окна в WSR.0-WSR.3 и очиcтите WSR.4-WSR.6. Доступны только HWindows 0, 1, и 15 .

Все другие HWindows зарезервированы. Ниже приведено содержимое WSR для выбора каждого HWindow.

Выбор HWindow

HWindow Содержимое WSR

0 X000 0000B = 00H

1 X000 0001B = 01H

15 X000 1111B = 0FH

3.2.1. HWindow 0

HWindow 0 - окно по умолчанию. Оно обеспечивает доступ для чтения к 19 регистрам и доступ для записи к 21 регистру . Некоторые регистры ( например, INT_MASK1 ) могут и читаться и записываться внутри HWindow 0. Другие ( например, IOS1 ) могут или читаться или записываться.

Для таких регистров, выберите HWindow 15 чтобы выполнить

обе функции .

3.2.2. HWindow 1

Hwindow1 обеспечивает чтение/запись для 12 регистров. Некоторые регистры также доступны и в HWindow 0 и

HWindow 15.

3.2.3 HWindow 15

HWindow 15 обеспечивает доступ к тем же самым регистрам что и HWindow 0, кроме байтов 0ch-10h. Те регистры, которые являются только для чтения в HWindow 0 становятся только для записи в HWindow 15, и наоборот.

3.3. Работа c Вертикальнами окнами (VWindows)

Для обращения к регистрам, адрес которых составляет 2 байта (0100H-01FFH), должны использоваться команды с косвенной или индексной адресацией.

Вместе с тем, у микроконтроллеров I80C196KC имеется возможность обращаться по адресам 0100H-01FFH, используя прямую регистровую адресацию, что позволяет сократить объем памяти для хранения команд и время их выполнения.

Обращение по адресу, представленному двумя байтами, с использованием прямой регистровой адресации осуществляется через “вертикальное окно” .

Работа с вертикальными окнами отображает разделы верхнего Регистрового Файла в верхние области Нижнего Регистрового Файла , в 32-, 64-, или 128-байтовые области, известные как VWindows. 8XC196KC имеет шестнадцать 32-байтовых VWindows, восемь 64-байтовых VWindows, и четыре 128-байтовых Vwindows.

Рис.6 Пример 128-байтового Vwindow .

Соседние файлы в папке Лабораторные работы по МПС