Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lab_pr_MP_14

.pdf
Скачиваний:
43
Добавлен:
06.03.2016
Размер:
509.67 Кб
Скачать

31

На рис. 2.1, а, б показаны схемы подключения МБР при работе его в качестве устройства ввода-вывода и осуществлении обмена ин- формацией с ним по сигналам, формируемым микро-ЭВМ.

На рис. 2.1, в, г приведены схемы подключения МБР к микро- ЭВМ для обмена информацией по сигналам прерывания. В этом слу- чае внешнее устройство записывает данные во входное устройство (рис. 2.1, в) по сигналу, подаваемому на вход STB многорежимного буферного регистра. Этим же сигналом формируется сигнал преры- вания на выходе INT схемы, подаваемый на вход прерывания МП БИС. Вызванная подпрограмма обслуживания прерывания заставляет микро-ЭВМ обратиться ко входному устройству для получения дан- ных. Схема подключения МБР и микро-ЭВМ для вывода данных во внешнее устройство приведена на рис. 2.1, г. При поступлении сигна- ла запроса от внешнего устройства (ВУ) на вход STB многорежимный буферный регистр вырабатывает сигнал низкого уровня на выходе INT, который может подаваться на вход прерывания МП БИС.

Подпрограмма обслуживания этого прерывания записывает данные в МБР по сигналам выборки. Этими же сигналами сбрасыва- ется внутренний триггер запроса прерывания МБР, что приводит к появлению сигнала единичного уровня на выходе INT, который со- общает внешнему устройству о приеме данных от микро-ЭВМ в МБР.

Вкачестве устройств ввода - вывода могут применяться и более сложные схемы. На рис. 2.2 приведена схема подключения к микро- ЭВМ входного устройства, выполненного на базе МБР К589ИР12. В этом устройстве входной код задается переключателями S1..S8, управление записью осуществляется с магистрали управления. При замкнутом переключателе на вход регистра подается "0", а при ра- зомкнутом - "1". Переключатели используются для имитации переда- чи данных от внешнего устройства. К регистру можно подключить светодиоды (HL1-HL8) для индикации чисел, записанных в нем.

Вкаждый конкретный момент времени МП обменивается дан- ными только с одним устройством, имеющим свой уникальный адрес. Для формирования адресного пространства предназначена схема де- шифрации адреса (СхДшА). Она состоит из одной или нескольких микросхем дешифраторов, преобразующих код на шине адреса в сиг- нал выбора микросхем Chip Select (CS). для обеспечения уникально- сти адресов устройств дешифратор подключается к шине таким обра- зом, чтобы линии адреса подключенные к его входам не были под-

 

 

 

 

 

 

 

32

 

 

 

ключены к входам устройств для которых формируется сигнал CS. В

примерах на рис. 2.2 и 2.3 предполагается, что в микропроцессорной

системе кроме указанных регистров имеются и более сложные уст-

ройства ввода-вывода к которым подключено по две адресных линии

(например программируемые параллельные интерфейсы КР580ВВ55,

таймеры КР580ВИ53 и т.д.). Поэтому дешифратор СхДшА может

быть подключен к любым трем разрядам адреса из А0…

А7 кроме А0

и А1, подключенных ко входам устройств ввода-вывода не указанных

на схеме.

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

3

4

5

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

+5 В

 

 

7

 

+5 В

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

SB1..SB8

HL1..HL8

 

 

 

МД

1

 

 

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

2

2

 

 

 

 

D0

RG

1

 

 

 

 

 

2

 

 

3

 

 

 

 

D1

Q0

 

3

 

 

 

 

3

 

 

 

 

 

 

D2

 

 

 

4

 

 

 

 

4

 

2

 

4

 

 

 

 

D3

Q1

 

 

 

 

 

5

 

 

5

 

 

 

 

D4

 

3

 

 

 

 

 

 

6

 

 

5

 

 

 

 

D5

Q2

 

 

6

 

 

 

 

7

D6

 

4

 

6

 

 

 

 

8

 

 

 

 

 

 

D7

Q3

 

 

7

 

 

 

 

 

 

 

7

 

 

 

 

 

STB

Q4

5

 

8 8

 

 

 

 

 

R

 

 

 

 

 

 

 

MD

Q5

6

 

 

МУ 1

 

 

 

 

МА

 

 

 

 

 

 

 

 

 

 

CS2

 

7

3

 

 

 

I/OR

 

 

Q6

Сх

 

 

 

 

CS1

4

 

 

 

 

 

 

 

ДшА

 

 

 

 

 

 

 

 

5

1

 

 

 

 

 

Q7

8

 

 

 

 

 

 

 

 

 

 

Рис. 2.2. Подключение входного устройства к микро-ЭВМ

33

На рис. 2.3 приведена схема подключения выходного устройства к микро-ЭВМ, построенная на базе МБР К589ИР12. Светодиоды HL1-HL8 указывают число, записанное в выходном устройстве.

 

 

 

 

 

 

+5 В

 

МД

 

 

 

 

 

HL1..HL8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D0

RG

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D1

 

 

Q0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D3

 

 

Q1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D5

 

 

Q2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D7

 

 

Q3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

STB

 

 

Q4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

МА

 

 

 

 

МУ

 

1

 

 

 

 

 

 

 

 

MD

 

 

Q5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CS2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

I/OW

 

 

 

 

 

 

Q6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сх

 

 

 

 

CS1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ДшА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.3. Подключение выходного устройства к микро-ЭВМ

Простейшая программа (программа 2.1) перезаписи числа со входного устройства (P_IN) с адресом 20h в выходное устройство (P_OUT) с адресом 30h записана для стендов в варианте исполнения А (для стендов в варианте исполнения Б адреса внешних устройств как ввода, так и вывода - 05h) и имеет следующий вид:

34

Программа 2.1.

Адрес

Машинный

Мет-

Мнемокод

Комментарий

 

код

ка

 

 

0800

DB 20

CNT

IN P_IN

записать число из входного

 

 

 

 

устройства с адресом 20h в ак-

 

 

 

 

кумулятор

0802

2F

 

CMA

инвертировать содержимое ак-

 

 

 

 

кумулятора

0803

D3 30

 

OUT

записать результат из аккуму-

 

 

 

P_OUT

лятора в выходное устройство

 

 

 

 

с адресом 30h

0805

C3 00 08

 

JMP CNT

повторить цикл CNT

При выполнении команд с прямой адресацией с обращением по 16-разрядному адресу в формате команды в системе ВМ80 содержит- ся три байта - первый байт - код команды, второй байт - младший байт задаваемого адреса, третий байт - старший байт того же адреса (последняя строка программы 2.1).

2.3.2 Организация условных переходов.

Организация условных переходов в микро-ЭВМ осуществляется с помощью регистра признаков (флагов) МП БИС.

Регистр признаков имеет пять разрядов, каждый из которых ус- танавливается по определенному правилу в соответствии с выполне- нием МП БИС последней команды.

Этими разрядами являются:

1) разряд переполнения С - CARRY. В него записывается 1, ес- ли при выполнении арифметической команды или команды сдвига было переполнение аккумулятора, в противном случае в разряд запи-

сывается 0.

2) разряд знака S - SIGN. В него записывается 1, если при вы- полнении арифметической или логической команды в старшем, седь- мом, разряде аккумулятора записана 1, в противном случае в разряд

записывается 0.

3) разряд нулевого результата Z - ZERO. В него записывается

1, если при выполнении арифметической или логической команды во

35

всех разрядах числа в аккумуляторе имеются 0, в противном случае в

разряд записывается 0.

4) дополнительный разряд переполнения АС - АUXILIARY CARRY. В него записывается 1, если при выполнении команд в акку-

муляторе возникает единица переноса из третьего разряда числа.

5) разряд четности Р-РАRITY. В него записывается 1, если при выполнении команды количество единиц в разрядах аккумулятора будет четным.

Условные переходы организуются в программах с помощью ко- манд условных переходов. Мнемоники всех таких команды начина- ются с символа J, начальной буквы слова Jump (прыгнуть) - (JC, JNC, JZ, JNZ, JP, JM, JPE, JPO).

При выполнении этих команд МП БИС проверяет состояние со- ответствующего разряда регистра состояния. Если при проверке со- стояния разряда регистра состояния условие не подтверждается, то выполняется следующая по порядку команда программы. Все коман- ды условных переходов - трехбайтные: первый байт содержит код команды, второй и третий байты - адрес передачи управления. Таким образом, команды условных переходов позволяют строить ветвящие- ся алгоритмы и, в зависимости от текущего значения результата вы- полнения программы, переходить на различные участки программы.

2.3.3 Программно организуемые задержки.

При выводе во внешнее устройство обычно бывает необходимо программно организовывать временную задержку, в течение которой состояние внешнего устройства является неизменным (до следующе- го вывода). При разработке таких программных блоков удобно ис- пользовать команды условных переходов. Задание начальных усло- вий в таких блоках позволяет организовывать блоки программных за- держек различной длительности.

Алгоритм работы простого программного блока временной за- держки приведен на рис. 2.4, а программа 2.2 является примером такого блока.

36

Рис. 2.4. - Алгоритм простого программного блока временной задержки.

Общее время задержки вычисляется по формуле

TD = t1+(t2+t3+t4N1,

где N1 - число, первоначально записанное в счетчике. В качестве счетчика выбран регистр C (Counter), в который записывается число

N1 из регистра B (Base Register).

Команда NOP нужна для увеличения времени выполнения цик- ла, а следовательно, и общей задержки. Вместо команды NOP мо-

жет быть записана любая последовательность команд, выполнение которых не изменяет содержимого регистров микропроцессора.

Время записи числа N1 в регистр C t1 фиксировано и в цикл не вхо- дит. Минимальная задержка для приведенного программного блока определяется при N1 = 01 и равна TDмin=t1+t2+t3+t4. Максимальная за- держка имеет место при N1=00 и вычисляется по формуле

TDмах=t1+(t2+t3+t4)·256.

Программа 2.2.

рес

ный код

Метка

Ад-

Машин-

 

0900

48

 

0901

00

DLY

 

 

0902

0D

 

0903

С2 01 09

 

37

 

 

Длитель-

Мнемокод

Комментарий

ность

 

 

(в так-

 

 

тах)

 

MOV С,B

записать число из базово-

7

 

го регистра B в регистр-

 

 

NOP

счетчик C

 

4

нет операции

 

DCR C

Уменьшить число в реги-

5

 

стре счетчике Сна 1

 

 

JNZ DLY

Если число, записанное в

10

 

регистре Сне равно 0, то

 

 

вернуться на метку DLY

 

Максимальная длительность задержки, обеспечиваемая таким блоком составляет 7+(4+5+10)·256 = 4871 такт. При тактовой частоте Ft=2 МГц максимальное время задержки составляет 4871/Ft = 2435.5 мкс, то есть порядка 2.4 миллисекунды. Во многих случаях этой дли- тельности бывает недостаточно (например, при последовательном выводе через выходной порт на светодиодные индикаторы или иные инерционные устройства).

Увеличить задержку можно либо дополнительными оператора- ми, либо подстановкой на место оператора NOP дополнительных циклов задержек, организованных аналогично уже приведенному. Тем самым реализуется алгоритм вложенных циклов. Пример про- граммного блока, выполненного в соответствии с этим алгоритмом - программа 2.3.

В этом фрагменте во внешний цикл, образованный декременти- рованием регистра С, вложены еще два внутренних цикла с про- граммно фиксированной длительностью, образованных декременти- рованием регистров D и E. Внутренние циклы также являются вло- женными друг в друга. Таким образом, изменение состояния регистра любого внешнего цикла приводит к повторной начальной загрузке регистра внутреннего цикла и полному повторению этого внутренне- го цикла. Тем самым происходит умножение времен выполнения всех

38

циклов, как внешнего, так и внутренних. Длительность внешнего цикла определяется содержанием регистра B, который может быть первоначально инициализирован либо программно (из внешней про- граммы, либо через входной порт), либо средствами отладки стенда УМПК-80 вручную (через клавишу ОтРг).

 

Программа 2.3.

Адрес

Машин-

Метка

 

 

ный

 

 

код

 

0900

48

 

0901

16 FF

L3

 

 

0903

1E FF

L2:

 

 

0905

1D

L1

 

 

0906

C2 05 09

 

0909

15

 

090A

C2 03 09

 

090D

0D

 

090E

С2 01 09

 

 

Длитель-

Мнемокод

Комментарий

ность

 

(в тактах)

MOV С,B

записать число из базово-

7

 

го регистра B в регистр-

 

MVI D,FF

счетчик C

7

записать фиксированное

MVI E,FF

число в регистр D

7

записать фиксированное

 

число в регистр E

 

DCR E

уменьшить число в реги-

5

 

стре E на 1

 

JNZ L1

если число, в регистре E,

10

 

не равно нулю, перейти

 

 

по метке L1 (повторить

 

 

цикл)

 

DCR D

Уменьшить число в реги-

5

 

стре счетчике D на 1

 

JNZ L2

если число, в регистре D,

10

 

не равно нулю, перейти

 

 

по метке L2 (повторить

 

 

цикл)

 

DCR C

Уменьшить число в реги-

5

 

стре счетчике C на 1

 

JNZ L3

если число в регистре D,

10

 

не равно нулю, перейти

 

 

по метке L3 (повторить

 

 

цикл)

 

39

2.4.ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ

2.4.1.Исследовать программу 2.1.

2.4.2.Разработать программу 2.4, включающую светодиоды вы- ходного устройства, если число, записанное во входном устройстве, больше 3.

2.4.3.Разработать программу 2.5 (модифицировать 2.4), вклю- чающую светодиоды выходного устройства, если число, записанное во входном устройстве, больше 3, но меньше 8.

2.4.4Нарисовать блок-схему программы 2.3 и рассчитать дли- тельность задержки в тактах и миллисекундах для данного фрагмен- та.

2.4.5.Разработать программу 2.6, поочередно зажигающую и га- сящую светодиоды выходного порта от младшего разряда к старшему ("бегущий огонек"). Длительность горения отдельного светодиода - не менее 1 с.

2.4.6.Модифицировать программу 2.6 таким образом, чтобы скорость перемещения "бегущего огонька" зависела от состояния пе- реключателей входного порта P_IN.

2.5.ПОРЯДОК ВЫПОЛНЕНИЯ ЗАДАНИЯ

2.5.1. Пункт 2.4.1 выполнить следующим образом:

1)у стенда А подключить шнур питания к сети, у стенда Б - подключить разъем внешнего блока питания к гнезду на задней пане- ли стенда Б, подключить шнур питания внешнего блока питания к се- ти;

2)включить тумблер СЕТЬ (для стендов Б - на корпусе внешне- го блока питания);

3)после завершения выполнения тестовых программ и появле- ния Сообщения НАЧАЛО, ввести в микро-ЭВМ программу 1. Учесть, что адреса портов стендов А и Б отличаются (для А - адреса входного

ивыходного регистров соответственно 20h и 30h, для Б - для обоих регистров адрес 05h);

4)манипулируя позиционными переключателями входного пор- та, убедиться, что данные со входного порта P_IN переписываются в выходной P_OUT (линейка светодиодов).

2.5.2. Пункт 2.4.2 выполнить следующим образом:

40

1)используя команды условных и безусловного переходов, а также арифметические команды, разработать программу 2.4;

2)ввести в микро-ЭВМ программу 2.4. Осуществить пуск про- граммы;

3)убедиться, что при выполнении программы если на входном устройстве будет записываться число больше 3, то микро-ЭВМ вклю- чает светодиоды выходного устройства. При равенстве числа трем светодиоды гореть не должны.

2.5.3.Пункт 2.4.3 выполнить следующим образом: 1) используя команды условных и безусловного переходов, а также арифметиче- ские команды, разработать программу 2.5;

2) ввести в микро-ЭВМ программу 2.5 и осуществить ее пуск; 3) убедиться, что при выполнении программы если во входное

устройство будет записываться число больше 3, но меньше 8, то мик- ро-ЭВМ включает светодиоды выходного устройства.

2.5.4.Пункт 2.4.4 выполнить следующим образом:

1)используя в качестве примера рис. 2.3, разработать и отразить

вотчете блок-схему программы 2.3;

2)используя в качестве примера расчет длительности выполне- ния программы 2.2, рассчитать длительность выполнения программы

2.3;

3)модифицировать программу таким образом, чтобы длитель- ность ее выполнения составляла 1 с.

2.5.5. Пункт 2.4.5 выполнить следующим образом:

1)используя команды условных и безусловного переходов, раз- работать предложенную программу 2.5. Для организации цикличе- ского сдвига "огонька" рекомендуется использовать команду RLC.;

2)ввести в микро-ЭВМ программу 2.5. Осуществить пуск про- граммы;

3)убедиться, что "огонек" перемещается в соответствии с зада-

нием.

2.5.6. Пункт 2.4.6 выполнить следующим образом:

1)используя команды ввода данных в аккумулятор с входного порта и пересылки данных между внутренними регистрами процес- сора, модифицировать программу 6 в соответствии с заданием 3.6;

2)ввести в микро-ЭВМ программу 6. Осуществить пуск про- граммы;

3)убедиться в работоспособности программы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]