Проектирование микропроцессорной системы

Автор работы: Пользователь скрыл имя, 15 Мая 2014 в 13:41, реферат

Краткое описание

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

Информация о работе Проектирование микропроцессорной системы