Цифровые устройства и микропроцессорные системы. Задачи и упражнения: Учебное пособие (Представление чисел и арифметические операции в цифровых устройствах. Микропроцессорные устройства и системы на базе МП КР580ВМ80), страница 67

МК

Адрес МК

BR

P

MS2

КПР

MS1

КИС

C0

КОП

A

B

D

Примечание

МК1

1000

0010

011

101

1

001

0000

0001

0101

(РОН1)¬(РОН0) – 5

МК2

1001

1101

1100

001

К 1101 при F = 0

В MK1 используется операция вычитания с загрузкой разности в POH1, в MK2 обеспечивается переход к адресу 1101 при условии (POH1) = 0, т.е. (РОН0) – 5 = 0.

Р6.107. Один из возможных вариантов микропрограммы представлен в табл. Р6.8.

Микрокоманда МК0 обеспечивает выполнение операции F = (R) + (S) + C0 = (POH0) + (POH1), загрузку результата в POH1 и выдачу его на выходную шину данных ЦПЭ Y. Код Р = 0010 обеспечивает последовательный переход к микрокоманде МК1 результатом выполнения которой является загрузка полученной суммы в регистр Q.

Таблица Р6.8

МК

Адрес МК

BR

P

MS2

КПР

MS1

КИС

C0

КОП

A

B

D

Примечание

МК0

0000

0010

011

001

0

000

0000

0001

(РОН1)¬(РОН0) + (РОН1)

МК1

0001

0010

000

011

0

000

0001

(Q)¬(РОН1)

Р6.108. Микропрограмма для схемы алгоритма рис. 6.5 представлена в табл. Р6.9. Для организации счета используется POH15. Принято k = 10.

Таблица Р6.9

МК

Адрес МК

BR

P

MS2

КПР

MS1

КИС

C0

КОП

A

B

D

Примечание

МК0

0000

0010

011

111

0

000

1111

1010

(РОН15)¬10

МК1

0001

0010

010

011

0

001

1111

(РОН15)¬F=(РОН15)-1

МК2

0010

0001

0100

001

К МК1 при F ¹ 0

Р6.109. Микропрограмма двоичного суммирующего счетчика с модулем счета k = 16 представлена в табл. Р6.10. Поскольку счетчик должен иметь 16 состояний, а РОНы МП К1804 имеют по четыре двоичных разряда, для фиксации состояний счетчика достаточно использовать один РОН, например РОН0.

Таблица Р6.10

МК

Адрес МК

BR

P

MS2

КПР

MS1

КИС

C0

КОП

A

B

D

Примечание

МК0

0000

0000

0001

011

011

1

000

0000

(РОН0)¬(РОН0) + 1; повтор МК0

МК0 обеспечивает инкрементирование (прибавление единицы) с помощью операции F = (R) + (S) + C0 (КОП АЛУ 000). Принято С0 = 1, источники операндов: R = 0, S = В (код источника КИС = 011); при коде приемника КПР = 011 и В = 0000 результат F = (B)+1 поступает в РОН0 и в выходную шину данных ЦПЭ.

Код Р = 0001 обеспечивает безусловный переход к адресу BR = 0000, т. е. повторение МК0. Таким образом, микропрограмма состоит из одной микрокоманды, которая циклически повторяется.

Рис. Р6.7. Схема алгоритма счетчика с модулем счета А: = 256

Р6.110. Решение аналогично решению задачи 6.109. (Можно использовать КОП АЛУ 001 пои С0 = 0).

Р6.111. а) Поскольку k = 256 = 28 = (24)2 для фиксации состояний счетчика необходимо использовать два РОНа МП, например РОН0 и РОН1. Схема алгоритма показана на рис. Р6.7. Младшие разряды кода состояний счетчика фиксируются в РОН0, старшие – в РОН1. Пока (РОН0) ≤ 15, новое состояние формируемая инкрементированием РОН0. При (РОН0) = 16, или, что то же самое, (РОН0) = 0, инкрементируется РОН1. После заполнения РОН1и РОН0 цикл повторяется.