Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсов v2 МС68000 рус Никифоров-Николенко.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
601.6 Кб
Скачать

7.1 Пример инициализации регистров пи/t

Пусть МПС состоит из двух сегментов ОП, вместительностью 32 Кбайт каждый, и сегмента ПУ, в котором содержатся один ПИ/T и два САП/П. Надо настроить ПИ/T на подрежим Х0 режима 1 обмена данными. Указанный подрежим предусматривает двубуферизованный ввод или однобуферизованный вывод 16 битовых данных через объединенный порт А и В [2].

Таблица 7.2 - Коды инициализации PGCR (00000)

Б и т ы

7

Режим

(0)

(1)

(2)

(3)

6

5

Разрешение (1) Н3, 4

1(0;1Х)

1

1

1

4

Разрешение (1) Н2, 1

1(0;1Х)

1

1

1

3

Активный уровень Н4

1(0)

1(0)

1(0)

1(0)

2

Активный уровень Н3

1(0)

1(0)

1(0)

1(0)

1

Активный уровень Н2

1(0)

1(0)

1(0)

1(0)

0

Активный уровень Н1

1(0)

1(0)

1(0)

1(0)

1(0) – или 1, или 0. (0;1Х) – 0 в подрежим 1Х.

Таблица 7.3 - Коды инициализации PACR и PВCR

Регистр

PACR

PBCR

Бит

Режим

0

1

2

3

0

1

2

3

7

Подрежим

0

0

1

Х(0)

Х(0)

Х(0)

Х(0)

0

0

1

Х(0)

Х(0)

Х(0)

Х(0)

6

0

1

Х

0(0)

1(0)

Х(0)

Х(0)

0

1

Х

0(0)

1(0)

Х(0)

Х(0)

5

Управление Н2(Н4)*

1

1

0

0

1

Х

Х

1

1

0

1

1

Х

Х

4

1

1

Х

Х

1

Х

Х

1

1

Х

1

1

Х

Х

3

0

0

Х

Х

0

0

0

0

0

Х

0

0

0

0

2

Разрешение на

прерывание по Н2(Н4)

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

Управление Н1(Н3)**

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Х

1

Х

Х

Х

0

0

Х

1

Х

Х

Х

Х

Х

* Н2 – для PACR и Н4 – для PВCR

** Н1 – для PACR и Н3 – для PВCR

Х - неопределенное значение бита

В скобках представлены значения битов 7 и 6 в соответствующих подрежимах.

Из табл. 7.2 определяется код инициализации 00000000 регистра PGCR в двоичной системе исчисления. Коды инициализации регистров PACR и PBCR соответственно будут 00000000 и 00110000 (табл. 7.3). Для вывода данных код инициализации регистров PADDR и PBDDR будет 00000000, вывод - 11111111.

Используемые адреса регистров, которые подлежат инициализации, состоят из совокупности групп бит N5N4N3N2N1A0. Для рассматриваемого примера A0 = 1 (передача младшего байта при инициализации регистров ПИ/Т); N1 состоит из бит А5…А1, которые определяются из табл. 7.1; N2 состоит из бит А7А6 (три ПУ) и определяет двоичный номер ПИ/Т – 00; N3 – биты А14…А8, значения которых фиксируются равными 0; N4 состоит из бит А16 А15 (три сегмента) и определяет номер сегмента ПУ – 10; N5 состоит из бит А23…А17, которые имеют фиксированное значение – 0.

В случае передачи 8 битовых данных исполнительные адреса регистров PADR и PBDR определяются аналогичным способом. При передаче 16 битовых данных адресом регистра данных объединенного порта А и В будет парный адрес (A0 = 0) регистра PBDR.

Определенные таким образом используемые адреса регистров ПИ/Т для рассматриваемого примера приведены в табл. 7.4.

Таблица 7.4 - Используемые адреса регистров ПИ/Т

Регистр

АДРЕСА

В

Н

PGCR

0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 (0 0 0 0 0) 1

1 0 0 0 1

PACR

0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 (0 0 1 1 0) 1

1 0 0 0 D

PBCR

0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 (0 0 1 1 1) 1

1 0 0 0 F

PADDR

0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 (0 0 0 1 0) 1

1 0 0 0 5

PBDDR

0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 (0 0 0 1 1) 1

1 0 0 0 6

PВDR

0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 (0 1 0 0 1) 0

1 0 0 1 2

B - двоичная, H - шестнадцатиричная системы исчисления

В скобках – адресуемый код А5...А1 регистра

Последовательность команд программного инициализации регистра PGCR может быть такая:

MOVEQ #$00, D1 ; Загрузка регистра D1 кодом инициализации 0

MOVEA.L #$10001, A1 ; Загрузка регистра А1 адресом 10001Н