Проектирование микропроцессорной системы
Реферат, 15 Мая 2014, автор: пользователь скрыл имя
Краткое описание
1. Привести тематический обзор по материалам научно-технической литературы изданий 90-х годов, согласно своему варианту.
2. Выполнить проектирование микропроцессорной системы с разработкой аппаратной части, согласно своему варианту.
3. Разработать программный модуль инициализации (начальной установки) аппаратной части спроектированной микропроцессорной системы.
Вложенные файлы: 1 файл
Документ Microsoft Word.docx
— 433.33 Кб (Скачать файл)
Рис. 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