Автор работы: Пользователь скрыл имя, 15 Мая 2014 в 13:41, реферат
1. Привести тематический обзор по материалам научно-технической литературы изданий 90-х годов, согласно своему варианту.
2. Выполнить проектирование микропроцессорной системы с разработкой аппаратной части, согласно своему варианту.
3. Разработать программный модуль инициализации (начальной установки) аппаратной части спроектированной микропроцессорной системы.
Рис. 20
Команда “Сброс” предназначена для осуществления программного сброса микросхемы, сброса слова состояния и сигнала INT, а также сброса ОЗУ отображения и выходов DSPA3-DSPA0, DSPB3-DSPB0 в код, определяемый разрядами D2, D3. (рис. 21 ).
|
1 |
1 |
0 |
D4 |
D3 |
D2 |
D1 |
D0 |
DSPA(3-0) |
DSPB(3-0) |
D4 |
D3 |
D2 |
||
0 0 0 0 |
0 0 0 0 |
0 |
0 |
X |
||
0 0 1 0 |
0 0 0 0 |
0 |
1 |
0 |
||
1 1 1 1 |
1 1 1 1 |
0 |
1 |
1 |
Код в ОЗУ отображения |
D4 |
D3 |
D2 |
|||
0 0 0 0 0 0 0 0 |
1 |
0 |
X |
1 |
Программный сброс | |
0 0 1 0 0 0 0 0 |
1 |
1 |
0 |
|||
1 1 1 1 1 1 1 1 |
1 |
1 |
1 |
1 |
Сброс регистра слова состояния и сигнала прерывания |
Рис. 21
С помощью описанных выше команд можно составить программу инициализации модуля интерфейса пользователя.
SWKD EQU 08h ; установка режима работы
RSTRD EQU D3h ; программный сброс
SINKD EQU 34h ; синхронизация, N=20
СТРОКА EQU 0230h ; нач. адрес сообщения
WDKD EQU 90h ; запись в ОЗУ дисплея
PORTKD EQU 18h ; адрес контроллера в адресном
пространстве УВВ
ORG хххх
INKKD: DI ; запрет прерывания
MVI A, RSTKD ; программный сброс
OUT PORTKD+1
MVI A, SWKD ; задание режима работы
OUT PORTKD+1
MVI A, SINKD ; синхронизация
OUT PORTKD+1
MVI A, WDKD ; запись в ОЗУ дисплея
OUT PORTKD+1
MVI C, 10h ; в HL - указатель на сообщение
LXI H, СТРОКА
NEXT: MOV A, M ; запись кода символа в ОЗУ дисплея
OUT PORTKD
INX H
DCR C
JNZ NEXT
EI ; разрешение прерываний
RET ; возврат из подпрограммы
3.3. Программа инициализации модуля интерфейса связи
Для инициализации интерфейса ИРПР-М необходимо в порт управления по адресу FEh записать следующую последовательность сигналов:
ххххх0хх
ххххх1хх Сигнал INIT
ххххх0хх
ххх01000
ххх01001 Программная задержка и сигнал STROBE
ххх01000
Таким образом программа инициализации интерфейса примет вид:
ORG xxxx
DI ; запрет прерываний
MVI A,00 ; сигнал INIT
OUT 0FEh
MVI A,04
OUT 0FEh
MVI A,00
OUT 0FEh
MVI A,08 ; сигнал STROBE
OUT 0FEh
MVI A,09
OUT 0FEh
MVI A,08
OUT 0FEh
EI ; разрешение прерываний
RET ; возврат из подпрограммы
3.4. Программная инициализация модуля контроллера ПДП
Для начальной установки контроллера ПДП необходимо записать соответствующую информацию в 16-разрядный регистр адреса канала, в 16-разрядный счетчик циклов канала. Запись информации в 16-разрядные регистры осуществляется двумя командами, начиная с младшего байта. Два старших разряда счетчика циклов определяют операцию обмена следующим образом: запись в память - 01, чтение из памяти - 10, контроль - 00 (комбинация 11 запрещена).
Формат управляющего слова, записываемого в регистр режима, приведен на рис. 22.
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
||||||||
|
AL |
TCS |
EW |
RP |
EN3 |
EN2 |
EN1 |
EN0 |
Разрешение CH1 Разрешение CH2
Разрешение CH3
Разрешение CH4
Циклический сдвиг
Расширенная запись
Отключение канала
Автозагрузка
Рис. 22
Разряды D3-D0 задают разрешение обмена по соответствующему каналу, запись нуля в разряд запрещает обмен. Остальные разряды определяют режим работы канала.
Разряд D4 устанавливает порядок обслуживания запросов от каналов. При RP=0 задается фиксированный приоритет каналов и канал 0 имеет высший приоритет. В режиме циклического приоритета (RP=1) после обслуживания канала ему присваивается низший приоритет, а следующему за ним по номеру каналу - высший.
При TCS=1 появление сигнала ТС в одном из каналов сбрасывает соответствующий разряд D3-D0, в результате чего канал отключается. Дальнейшая работа этого канала возможна после перезагрузки регистра режима. Если TCS=0, то появление сигнала ТС не воздействует на разряд разрешения работы канала и заканчивать передачу должно ВУ за счет прекращения выработки сигнала DRQ.
В режиме автозагрузки (AL=1) может работать только второй канал, используя содержимое своих внутренних регистров и внутренних регистров третьего канала.
Если два старших разряда счетчика циклов канала устанавливают режим контроля, то передача данных не производится, так как не генерируются сигналы управления записью и чтением, все остальные функции прямого доступа сохраняются. Этот режим может использоваться ВУ для контроля принятых данных.
Контроллер ПДП занимает адреса 00h-0Fh в адресном пространстве УВВ. Таким образом получаем программу инициализации контроллера ПДП.
PORT EQU 00h ; адрес контроллера в адресном пространстве УВВ
ORG xxxx
DI ; запрет прерываний
MVI A, 00h ; загрузка младшего байта адреса массива
OUT PORT
MVI A, 50h ; загрузка старшего байта адреса массива
OUT PORT
MVI A, 01h ; загрузка младшего байта количества циклов
OUT PORT+1
MVI A, 80h ; загрузка 6-ти старших разрядов количества циклов
и кода операции обмена
OUT PORT+1
MVI A, 4Fh ; запись управляющего слова в регистр режима
OUT PORT+8
EI
3.5. Программная инициализация модуля контроллера прерываний
Для программирования контроллера прерываний используется последовательность из двух (при одном контроллере) управляющих слов (УС).
В процессе работы контроллера можно изменять алгоритмы обслуживания прерываний, но прежде всего микросхема должна быть установлена в исходное состояние. Установка контроллера прерываний в исходное состояние и настройка его на определенный режим обслуживания прерываний программируется двумя типами команд: командами инициализации (ICW) и командами управления операциями (OCW). Для инициализации в контроллер последовательно вводятся команды ICW1 и ICW2. Форматы команд инициализации приведены на рис. 23.
А0 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
|||||||
|
0 |
A7 |
A6 |
A5 |
1 |
0 |
F |
S |
0 |
ICW1 |
4 байта |
1 |
Один ПКП |
1 |
||||||||||
8 байт |
0 |
Несколько ПКП |
0 |
Рис. 23,а
А0 |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
|||||||
1 |
A15 |
A14 |
A13 |
А12 |
А11 |
А10 |
А9 |
А8 |
ICW2 |
Рис. 23,б
Команда ICW1 (рис. 23,а) сбрасывает внутренние регистры и присваивает низший приоритет входу IRQ7. Разряд S этой команды определяет наличие одного или нескольких ПКП в системе, а разряд F - адресный интервал в 4 или 8 байт между начальными адресами подпрограмм обслуживания прерываний. Разряды А7-А5 команды ICW1 используются для формирования младшего байта адресов подпрограмм обслуживания прерываний. Команда ICW2 представляет собой старший байт адреса подпрограмм обслуживания прерываний, выдаваемых контроллером на шину данных в качестве третьего байта команды CALL.
Команды инициализации загружаются в ПКП из микропроцессора по команде OUT с учетом определенного значения младшего разряда адреса А0. После записи команд инициализации контроллер готов к приему запросов прерывания и может работать с фиксированными приоритетами запросов. Вэтом режиме запросы упорядочены по приоритетам. Для задания других режимов функционирования ПКП необходимо использовать команды OCW, которые загружаются после команд инициализации в любой текущий момент времени.
Исходные данные для программирования ПКП:
Источники прерывания: IRQ0 - клавиатура, IRQ1 - интерфейс связи.
Блок векторов прерываний расположен с адреса 400h.
ПКП занимает адреса 14-15h в адресном пространстве УВВ.
При инициализации ПКП необходимо расположить в адресном пространстве программы обслуживания прерываний. Затем нужно сформировать блок векторов прерываний по адресу 400h.
С учетом вышесказанного программа инициализации контроллера прерываний примет вид:
ICW1 EQU 16h
ICW2 EQU 4h
MASK EQU 3Fh ; маска - 00111111
PORT EQU 14h
Информация о работе Проектирование микропроцессорной системы