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

книги / Вычислительная техника и информационные технологии. Цифровые автоматы и микроконтролеры. Руководство к лабораторным работам в системе PROTEUS 7.2 SP6

.pdf
Скачиваний:
15
Добавлен:
12.11.2023
Размер:
4.8 Mб
Скачать

Нажимаем и отпускаем «Синхро» (CLOK) (рис. 4.17). Формируется согласно ГСА – z4.

Рис. 4.17. Формирование состояния z4

Нажимаем и отпускаем «Синхро» (CLOK) (рис. 4.18). Возвращаемся в исходное состояние z1.

Рис. 4.18. Возвращение в исходное состояние z1

Изменяем логические условия: х1 = 1 (рис. 4.19). «Крутимся» в петле – состояние z2.

61

Рис. 4.19. Сохранение состояния z2 при х1 = 1

Устанавливаем х2 = 1, получаем z1, z2, z3, z5 (рис. 4.20).

Рис. 4.20. Смена состояний при x2 = 1

4.2. Синтез микропрограммного устройства управления на основе ПЗУ и мультиплексора

Недостатком МПУУ на базе ПЗУ является большой объем памяти, необходимой при большом количестве логических условий. Сократить объем памяти ПЗУ можно путем использо-

62

вания так называемых мультиплексоров, или коммутаторов каналов, позволяющих в каждом состоянии проверять только одно или несколько (не все сразу) логических условий. В этом случае будут особенности отметки ГСА (при получении ОГСА). Если за условной вершиной следует условие, с целью проверки только одного условия метка ставится после данной условной вершины. В остальном разметка ГСА не отличается от разметки для автомата без мультиплексора. Эти особенности обуславливаются требованиями проверки в каждом такте (на каждом переходе) не более одного логического условия.

Пусть задана ГСА:

Y0

x1

Y1

x2

z1

Y2 z2 z3

Y3

x3

z4

 

z5

Y0

Рис. 4.21. Графическая схема алгоритма

63

4.2.1. ОГСА для автомата на ПЗУ и мультиплексоре

Видно, что переход от метки к метке осуществляется с проверкой не более одного логического условия. Далее обычным образом строится граф автомата (рис. 4.22).

 

00

 

x1

 

 

01

 

x2

 

11

 

 

10

 

 

 

 

 

 

 

 

 

 

z4

 

z1

 

x1

 

 

 

 

 

 

z2 z3

x3

Y

 

 

 

 

 

Y

 

 

 

Y

 

 

 

Y

z4

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

z4

 

 

 

x3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z5

 

 

 

 

 

 

 

Рис. 4.22. Граф автомата

4.2.2. Граф переходов автомата на ПЗУ и мультиплексоре

Получим таблицу программирования ПЗУ, где х – псевдопеременная (табл. 4.3).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 4.3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Адрес

 

 

 

 

 

 

 

Данные

 

 

 

 

 

x1

y2

 

y1

 

x

z1

z2

 

z3

z4

z5

 

 

y2(t+1)

y1(t+1)

 

Y0Y1

0

 

0

 

0

0

0

0

0

 

0

 

 

0

1

 

 

 

0

 

0

 

1

0

0

0

1

 

0

 

 

0

0

 

 

Y0Y0

x2

0

 

1

 

0

0

0

0

1

 

0

 

 

0

0

 

 

Y1Y0

 

0

 

1

 

1

1

0

0

0

 

0

 

 

1

1

 

 

Y1Y2

~

1

 

1

 

0

0

1

1

0

 

0

 

 

1

0

 

 

Y2Y3

x3

1

 

0

 

1

0

0

0

0

 

1

 

 

0

0

 

 

Y3Y0

 

1

 

0

 

0

0

0

0

0

 

0

 

 

1

0

 

 

Y3Y3

 

 

Изменим порядок данных, чтобы соответствовать преды-

дущей схеме (табл. 4.4).

 

 

 

 

 

 

 

 

 

 

Таблица 4.4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Адрес

 

 

 

 

 

 

 

 

 

 

 

Данные

 

 

 

 

 

y2

 

 

y1

 

x

 

y2(t+1)

y1(t+1)

 

z1

 

z2

z3

z4

 

z5

0

 

 

0

 

 

0

 

 

0

 

 

1

 

 

 

0

 

0

0

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

 

1

 

 

0

 

 

0

 

 

 

0

 

0

0

1

 

0

0

 

 

1

 

 

0

 

 

0

 

 

0

 

 

 

0

 

0

0

1

 

0

0

 

 

1

 

 

1

 

 

1

 

 

1

 

 

 

1

 

0

0

0

 

0

1

 

 

0

 

 

0

 

 

1

 

 

0

 

 

 

0

 

0

0

0

 

0

1

 

 

0

 

 

1

 

 

0

 

 

0

 

 

 

0

 

0

0

0

 

1

1

 

 

1

 

 

0

 

 

1

 

 

0

 

 

 

0

 

1

1

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

64

 

 

 

 

 

 

 

 

 

 

Таблица программирования в шестнадцатеричном коде:

20H, 02H, 02H, 70H, 40H, 01H, 4CH.

Получим таблицу подключения информационных входов мультиплексора. Ее можно составить по графу автомата.

Номер информационного входа

Переменная (константа)

 

010

х1

 

110

х2

 

210

х3

 

310

0

 

Мультиплексор адресуется элементами памяти, поэтому на его выходе присутствуют некоторые переменные или заранее оговоренная константа. Сигнал на выходе мультиплексора назовем псевдопеременной (х), причем договоримся сопоставлять с безусловным переходом константу нуля (на соответствующий вход мультиплексора подаем константу нуля). Приведем схему такого МПУУ с тремя входными переменными, двумя переменными состояния и пятью микрооперациями (рис. 4.23).

 

 

x

A

D

 

 

 

z1

 

 

 

 

 

 

 

 

z2

 

A

 

 

z3

y1(t)

 

y1(t)

z4

 

 

z5

y2(t)

 

 

y2(t)

y2(t+1)

 

 

 

 

 

 

 

 

y1(t+1)

c

D1 D2

 

 

 

 

 

 

y1(t)

y2(t)

 

 

Рис. 23. МПУУ на основе ПЗУ и мультиплексора

Выполним моделирование МПУУ на основе ПЗУ и мультиплексора в системе Proteus.

Установим мультиплексор 74150 и сформируем три переменных (рис. 4.24). На выходе 16-канального мультиплексора установлен инвертор, поскольку мультиплексор имеет инверсию по выходу. Входы A, B, C, D – адресные. Вход E – разрешение, активный сигнал – нулевой.

65

Рис. 4.24. Схема с мультиплексором

Получим файл программы (рис. 4.25).

Рис. 4.25. Файл программы

66

Назовем файл PLA17. Ассемблируем его и получи HEX-

файл:

:100000002002027040014C000000000000000000CF

:10001000000000000000000000E5905403F9EB49E7

:10002000F97A00900000E493F8E859F8E4A39368A3

:10003000A37004E4934AFAE4A393F870ECEA540C36

:10004000FB8AA080D4000000000000000000000037

:080050000000000000000000A8

:00000001FF

Загружаем его в ПЗУ. Запускаем моделирование (рис. 4.26).

Рис. 4.26. Моделирование работы программы

Проверяем работу по ГСА:

х1 = х2 = х3 = 0 (рис. 4.27). Периодически формируется состояние z4.

Установим х1 = 1 (рис. 4.28). Всегда формируется состояние z4.

67

Рис. 4.27. Моделирование для х1 = х2 = х3 = 0

Рис. 4.28. Моделирование для х1 = 1

Далее: х2 = 1, получаем z1, z2 и z3 (рис. 4.29), затем – нули, петля (рис. 4.30).

68

Рис. 4.29. Моделирование для х2 = 1

Рис. 4.30. Моделирование при возникновении петли

Если установить х3 = 1, то получим (рис. 4.31).

69

Рис. 4.31. Моделирование при х3 = 1

70

Соседние файлы в папке книги