Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микроконтроллеры семейства MCS-196.DOC
Скачиваний:
67
Добавлен:
02.05.2014
Размер:
1.09 Mб
Скачать

2.3.3. Горизонтальные окна

8XC196KC/KD использует технологию Horizontal Windowing (создания

горизонтальных окон), которая переключает три 24-байтных блока памяти (HWindow 0, 1 и 15) внутри младших 24 байтов в нижнем регистровом файле (смотрите рисунок 1). Каждое HWindow (горизонтальное окно) обеспечивает чтение или запись в определенные SFR. Некоторые регистры доступны как отдельный байт; другие как слово (два байта). Некоторые регистры, такие как регистр выбора окна (WSR, 14h), доступны во всех 3-х окнах, другие могут быть доступны для записи в одном окне, а для считывания в другом.

Организация горизонтальных окон показано на рисунке 3.

0FFh

018h

017h

0h

Рисунок 3

Регистр выбора окна (WSR,14h) обеспечивает доступ к горизонтальным и вертикальным окнам. Для выбора HWindow занесите номер желаемого окна в WSR.0 - WSR.3 и очистите WSR.4 - WSR.6. Доступны только окна HWindows 0, 1 и 15. Все другие HWindow зарезервированы. Таблица 2 показывает необходимое содержимое WSR для выбора каждого HWimdow. Смотрите приложение С, где подробно описаны WSR.

Таблица 2

Hwindow

Содержимое WSR

0

X000 0000B = 00h

1

X000 0001B = 01h

15

X000 1111B = 0Fh

Горизонтальное окно 0 (HWindow 0)

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

Горизонтальное окно 1 (HWindow 1)

HWindow 1 обеспечивает доступ для чтения и для записи в 12 регистров. Эти свойства отличают 8XC196KC и 8XC196KD от других, ранее созданных членов семейства MCS-96. Некоторые регистры также доступны в обоих окнах - HWindow 0 и HWindow 15. Распределение HWindow 0 и HWindow 1 приведено в таблице 3.

Таблица 3

Адрес регистра в окне

Hwindow 0

Чтение

Hwindow 0

запись

Hwindow 1

чтение/запись

00h

01h

02h

Reserved

03h

04h

PTSSEL(LO)

05h

PTSSEL(HI)

06h

PTSSRV(LO)

07h

SBUF(RX)

SBUF(TX)

PTSSRV(HI)

08h

09h

0Ah

TIMER1(LO)

Reserved

0Bh

TIMER1(HI)

Reserved

0Ch

TIMER2(LO)

IOC3

0Dh

TIMER2(HI)

Reserved

0Eh

IOPORT0

Reserved

0Fh

IOPORT1

IOPORT1

Reserved

10h

IOPORT2

IOPORT2

Reserved

11h

Reserved

12h

13h

14h

WSR

WSR

WSR

15h

IOS0

IOC0

Reserved

16h

IOS1

IOC1

17h

IOS2

Горизонтальное окно 15 (HWindow 15)

HWindow 15 обеспечивает доступ к тем же регистрам, что и HWindow 0, кроме байтов 0Ch - 10h. Через байты 0Ch - 0Dh в HWindow 0 осуществляется доступ к 16-битному регистру Timer 2, а в Hwindow 15 к 16-битному регистру T2CAPTURE. Через байты 0Eh - 10h в Hwindow 0 осуществляется доступ к регистрам IOPORT0, IOPORT1, IOPORT2, а в HWindow 15 они зарезервированы. Регистры, доступные только для чтения в HWindow 0, доступны только для записи в HWindow 15, и наоборот.

Создание горизонтальных окон

Создание вертикальных окон преобразует области верхнего Регистрового Файла в блоки старших ячеек нижнего Регистрового Файла, размером в 32, 64 или 128 байт, известные как вертикальные окна - VWindows. 8XC196KC имеет 16 32-байтных VWindows, 8 64-байтных VWindows и 4 128-байтных VWindows. Так как 8XC196KD имеет вдвое большее RAM (ОЗУ), чем 8XC196KC, то он также имеет вдвое больше вертикальных окон. Пример 128-байтного окна показан на рисунке 4.