
- •25 Методические указания к курсовой роботе “Микропроцессорная система м68000”
- •Цель курсовой работы
- •Задание к курсовой работе
- •Оформление курсовой работы
- •Структурная схема микропроцессорной системы (мпс) м68000
- •Логическая структура мпс
- •5.1 Блок микропроцессора
- •5.2 Блок основной памяти
- •5.3 Блоки периферийных устройств
- •5.3.1 Блок пи/т
- •5.3.2 Блок сап/п
- •5.4 Контроллер шины
- •Логическая структура (схема) мпс
- •7 Программирование режимов пи/т (мс68230)
- •7.1 Пример инициализации регистров пи/t
- •Move.B d1, (a1) ; Пересылка кода инициализации к регистру
- •Для вывода 16 битового операнда через 8 битовый пу используется специальная команда
- •Ввод слова данных происходит при выполнении команды movep (0, An), Dn,.
7.1 Пример инициализации регистров пи/t
Пусть МПС состоит из двух сегментов ОП, вместительностью 32 Кбайт каждый, и сегмента ПУ, в котором содержатся один ПИ/T и два САП/П. Надо настроить ПИ/T на подрежим Х0 режима 1 обмена данными. Указанный подрежим предусматривает двубуферизованный ввод или однобуферизованный вывод 16 битовых данных через объединенный порт А и В [2].
Таблица 7.2 - Коды инициализации PGCR (00000)
Б и т ы |
7 |
Режим |
|
|
|
|
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Н