Микросхема ПЗУ в управляющем автомате с МПУ выбрана неверно

Московский Авиационный институт
(технический университет)
КАФЕДРА 403
Расчетно-пояснительная записка
к курсовой работе по дисциплине
Вычислительные системы и микропроцессорная техника
выполнил: студент гр. 04-417
Левин О.А.
проверил: Герасимов А.Л.
МОСКВА 1997
Содержание
1. Анализ задания - 2
2. Комбинационный вариант - 2
3. Алгоритм работы устройства - 4
4. Микропрограмма - 5
5. Управляющий автомат с жесткой логикой - 5
6. Управляющий автомат с МПУ - 8
7. Выбор элементной базы - 10
8. Составление программы - 12
Задание
ВАРИАНТ №17
Задается входной код D{1:32}. Спроектировать вычислитель, который определяет номер
разряда самой первой и самой последней единиц, стоящих между нулями. Предусмотреть реак-
цию проектируемого устройства в случае отсутствия таких сигналов.
Анализ и уточнение задания
? Так как входной код - тридцатидвухразрядный, то для получения интересующей нас
информации необходимо два выходных шестиразрядных кода. Реакцией устройства в случае
отсутствия интересующих нас кодовых комбинаций будет значение первого и второго выход-
ных кодов соответственно:
Очевидно, что в тридцатидвухразрядном коде единица, стоящая между двумя нулями ни
при каких обстоятельствах не может находится ни в первом ни в тридцать втором разряде кода.
? Тактовая синхронизация будет осуществляться внешним генератором тактовых им-
пульсов с частотой 20 МГц
? По окончании обработки входного кода должен вырабатываться специальный сигнал,
позволяющий следующему устройству считать выходные данные с проектируемого устройства.
? Обобщенная функциональная схема проектируемого устройства может быть представ-
лена в следующем виде:
D{1:32} B{1:6}
F C{1:6}
СТРОБ
УСЧИТ
Рисунок 1
Обобщенная функциональная схема устройства
Комбинационный вариант устройства
Функциональная схема комбинационного устройства, осуществляющего параллельную
обработку входного кода представлена на рисунке 2. Входной код D{1:32} разбивается на пере-
секающиеся элементы по три разряда: D'{1:3}, D'{2:4},...D'{30:32}. Крайние разряды D' про-
ходят через инверторы DD1, DD3, DD4, DD6, DD7, DD9,...DD88, DD90. Проинвертированные
крайние разряды вместе с центральным разрядом элемента поступают на логическую схему И,
на выходе которой в случае если D{i-1, i, i+1}=010 сформируется высокий логический уровень
напряжения, приводящий в действие соответствующий элемент индикации на внешней панели
устройства. При визуальном контроле внешней панели устройства по расположению работаю-
щих элементов индикации можно определить номер разряда первой и последней единиц,
стоящих между нулями.
Для реализации данной схемы потребуется 20 микросхем 1533ЛН1 (6 логических эле-
ментов НЕ), 10 - КР1533 (3 элемента 3И), 4 - КР531ЛЕ7 (2 элемента 5 ИЛИ-НЕ), 1 - 1533ЛИ6 (2
элемента 4И), 1 - 1533ЛИ1 (4 элемента 2И).
Основным недостатком данной схемы является невозможность дальнейшей обработки
выходной информации.
НАЧАЛО
НЕТ
СТРОБ
РЕГ В {1:32}=D{1:32}
РЕГ А{1:32}=РЕГ В{1:32}
СЧЕТ Ц1=2
ДА
РЕГ А{1}=0 & РЕГ А{2}=1 & РЕГ А{3}=0
НЕТ
РЕГ А{1:32}=РЕГ А{2:32}.0
СЧЕТ Ц1=СЧЕТ Ц1 +1
НЕТ
СЧЕТ Ц1=32
ДА
РЕГ А{1:32}=РЕГ В{1:32}
СЧЕТ Ц2=31
ДА
РЕГ А{32}=0 & РЕГ А{31}=1 & РЕГ А{30}=0
НЕТ
РЕГ А{1:32}=РЕГ А{1:31}.0
СЧЕТ Ц=СЧЕТ Ц -1
НЕТ
СЧЕТ Ц=1
B {1:6}=СЧЕТ Ц1; С {1:6}=СЧЕТ Ц2
КОНЕЦ
Рисунок 3
Блок-схема алгоритма работы устройства
Микропрограмма
Переменные:
Входные:
? D{1:32} - входной код
? строб
Выходные:
? В {1:6}, С{1:6} - выходной код
Внутренние:
? РЕГ А{1:32}, РЕГ В{1:32} - регистры
? СЧЕТ Ц1{1:6}, СЧЕТ Ц2{1:6} - счетчики циклов
Признаки:
? Р1 - строб=1
? Р2 - РЕГ А{1}=0 & РЕГ A{2}= 1 & РЕГ А {3}=0
? Р3 - РЕГ А{32}=0 & РЕГ A{31}= 1 & РЕГ А {30}=0
? Р4 - СЧЕТ Ц1 {1:6} = 32
? Р5 - СЧЕТ Ц2 {1:6} = 1
Программа
М1 ЕСЛИ НЕ Р1 ТО М1
(СТРОБ) РЕГ В{1:32}=D {1:32}
(УЗАП1) РЕГ А{1:32}=РЕГ В {1:32}
(УН1) СЧЕТ Ц1 {1:6} =2
М2 ЕСЛИ Р2 ТО М3
(УСДВ1) РЕГ А{1:32}=РЕГ А{2:32}.0 }
(УСЧ1) СЧЕТ Ц1 {1:6}=СЧЕТ Ц1 {1:6}+1 } УЭ1
ЕСЛИ НЕ Р4 ТО М2
М3 (УЗАП1) РЕГ А{1:32}=РЕГ В {1:32}
(УН2) СЧЕТ Ц2 {1:6} =31
М4 ЕСЛИ Р3 ТО М5
(УСДВ2) РЕГ А{1:32}=0.РЕГ А{1:31} }
(УСЧ2) СЧЕТ Ц2 {1:6}=СЧЕТ Ц2 {1:6}-1 } УЭ2
ЕСЛИ НЕ Р5 ТО М4
М5 (УСЧИТ1) В{1:6}=СЧЕТ Ц1 {1:6} }
(УСЧИТ2) С{1:6}=СЧЕТ Ц2 {1:6} } УЭ3
КОНЕЦ (ИДТИ К М1)
Как видно из текста микропрограммы, некоторые сигналы можно объединить и заменить
эквивалентными сигналами. Функциональная схема операционной части устройства приведена
на рисунке 4.
Разработка управляющего автомата с жесткой логикой
Управляющий автомат с жесткой логикой будет реализовываться в виде классического
конечного автомата Мили или Мура. На основании блок-схемы алгоритма работы устройства
определим количество состояний для каждого типа автомата. Обозначим состояния автомата
Мура буквой S, а состояния автомата Мили - S'. Как видно из рисунка 5, у автомата Мура будет
шесть состояний, в то время как у автомата Мили - лишь четыре.
НАЧАЛО S0
S'0
0 Р1
УН 1, УЗАП 1 S1
0 S'1 1
Р2
УЭ 1 S2 УЗАП 1, УН 2 S3
0
Р4 S'2
УЗАП 1 УН 2 S3
0 S'3 1
Р3
УЭ 2 S5 УЗАП 1 УЭ 3 S4
0
Р5 S'4
S6 УЗАП 1 УЭ 3
КОНЕЦ S'0
Рисунок 5.
Состояния конечных автоматов Мили и Мура.
Таким образом, определим, что управляющее устройство необходимо синтезировать в
виде конечного автомата Мили
Р1/—
P1/УН 1, УЗАП 1 Р2/УЭ 1 Р4/УН 2, УЗАП 1 Р3/УЭ 2
S0 S1 S2 S3 S4
Р4/— Р5/—
Р2/УН 2, УЗАП 1
Р3/УЭ 3
Р5/УЭ 3
Граф состояний автомата Мили.
S0
S1
S2
S3
S4
Q1
0
0
0
1
1
Q2
0
0
1
1
0
Q3
0
1
1
1
1
Таблица 1
Кодированная таблица состояний.
ВХОД
S0
S1
S2
S3
S4
P1
S1/УН
1,УЗАП1
НЕ Р1
S0/-
Р2
S3/ УН 2,
УЗАП1
НЕ Р2
S2/УЭ 1
Р3
S0/УЭ 3
НЕ Р3
S4/УЭ 2
Р4
S3/УН 2, УЗАП
1
НЕ Р4
S1/-
P5
S0/УЭ 3
НЕ P5
S3/-
Таблица 2
Таблица переходов и выходов
ВХОД
0 0 0
0 0 1
0 1 1
1 1 1
1 0 1
P1
0 0 1/УН 1, УЗАП 1
НЕ Р1
0 0 0/-
Р2
1 1 1/ УН 2,
УЗАП 1
НЕ Р2
0 1 1/УЭ 1
Р3
0 0 0/УЭ 3
НЕ Р3
1 0 1/УЭ 2
Р4
1 1 1/УН 2,
УЗАП 1
НЕ Р4
0 0 1/-
P5
0 0 0/УЭ 3
НЕ P5
1 1 1/-
Таблица 3
Кодированная таблица переходов и выходов
Если в конечном автомате будет применяться D-триггер, то будут справедливы равенст-
ва:
Q1 (t+1) = IA Q1*IA Q2*Q3*P2 + IA Q1*Q2*Q3*P4 + Q1*Q2*Q3*IA P3+ Q1*IA Q2*Q3*IA P5
[20 входов]
Q2 (t+1) = IA Q1*IA Q2*Q3*P1 + IA Q1*Q2*Q3*IA P4 + Q1*IA Q2*Q3*IA P5 [15 входов]
Q3 (t+1) = IA Q1*IA Q2*IA Q3*P1 + IA Q1*IA Q2*Q3 + IA Q1*Q2*Q3 + Q1*Q2*Q3*IA P3 +
Q1*IA Q2*Q3*IA P5 = =IA Q1*IA Q2*IA Q3*P1 + IA Q1*Q3 + Q1*Q2*Q3*IA P3 + Q1*IA
Q2*Q3*IA P5 [18 входов]
Для реализации автомата на D-триггерах потребуется 43 входа. Если будет использо-
ваться J-K триггер, то уравнения для него можно получить из уравнений для D-триггера:
Q (t+1)=J*Q+K*Q
Q(T+1)=J*HE Q + HE K*Q
J1=IA Q2*Q3*P2+Q2*Q3*P4=Q3*(IA Q2*P2+Q2*P4) [6 входов]
K1=(Q2*Q3*IA P3+IA Q2*Q3*IA P5)=(Q2*Q3*IA P3)*(IA Q2*Q3*IA P5)=(IA Q2+
IA Q3+P3)*(Q2+IA Q3+P5) [8 входов]
J2=(IA Q1*Q3+Q1*Q3*IA P5)=Q3*(IA Q1+Q1*IA P5) [6 входов]
K2=(IA Q1*Q3*P4) = Q1+IA Q3+IA P4 [3 входа]
J3=IA Q1*IA Q2*P1 [3 входа]
K3=(IA Q1*IA Q2+IA Q1*Q2+Q1*Q2*IA P3+Q1*IA Q2*IA P5) = (IA Q1+Q1*(Q2+IA Q2*IA
P5)) =Q1*(IA Q1+(Q2+IA Q2*IA P5)) = Q1*IA Q2*(Q2+P5) = Q1*IA Q2*P5 [3 входа]
Для реализации автомата на J-K-триггерах потребуется 29 входов, поэтому автомат бу-
дет реализовываться на них. Управляющие сигналы на основе таблицы переходов и выходов
будут формироваться следующим образом
УН 1=IA Q1*IA Q2*IA Q3*P1
УЭ 1=IA Q1*IA Q2*Q3*IA P2
УН 2=IA Q1*Q2*Q3*P4+IA Q1*IA Q2*Q3*P2
УЭ 2=Q1*Q2*Q3*IA P3
УЭ 3=Q1*IA Q2*Q3*P5+Q1*Q2*Q3*P3
УЗАП1=УН 1+УН 2
Управляющий автомат с микропрограммным
управлением
Принудительная адресация
Каноническая форма микропрограммы разрабатываемого устройства с учетом эквива-
лентности сигналов представлена в таблице 4:

МЕТКА
УПР. СИГНАЛ
ПЕРЕХОД
1
М1
ЕСЛИ НЕ Р1 ТО М1
2
УН 1, УЗАП1
3
М2
ЕСЛИ Р2 ТО М3
4
УЭ 1
5
ЕСЛИ НЕ Р4 ТО М2
6
М3
УН 2, УЗАП1
7
М4
ЕСЛИ Р3 ТО М5
8
УЭ 2
9
ЕСЛИ НЕ Р5 ТО М4
10
М5
УЭ 3
ИДТИ К М1
Таблица 4
Каноническая форма микропрограммы.
Адрес
УН
1
УЭ 1
УН
2
УЭ 2
УЭ 3
УЗАП
1
Не
Р1
Р2
Р3
Не
Р4
Не
Р5
Адрес перехо-
да
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Таблица 5
Кодовые выражения микропрограммы.
Минимальная требуемая емкость ПЗУ - (или 2К*4 Бит)
Естественная адресация

МЕТКА
УПР. СИГНАЛ
ПЕРЕХОД
1
М1
ЕСЛИ НЕ Р1 ТО М1
2
УН 1, УЗАП1
3
М2
ЕСЛИ Р2 ТО М3
4
УЭ 1
5
ЕСЛИ НЕ Р4 ТО М2
6
М3
УН 2, УЗАП1
7
М4
ЕСЛИ Р3 ТО М5
8
УЭ 2
9
ЕСЛИ НЕ Р5 ТО М4
10
М5
УЭ 3
11
ИДТИ К М1
Таблица 6
Каноническая форма микропрограммы.
Адрес
П
УН 1
УЭ 1
УН 2
УЭ 2
УЭ 3
УЗАП 1
П
НЕ P1
P2
P3
НЕ P4
НЕ P5
Адрес перехода
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1



0
0
1
0
1
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
1
0
0
0
0



0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
1



0
1
1
0
1
0
0
1
0
0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
0



1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
0
0
1
0
-


1
0
1
0
1
0
0
0
0
0
0
0
0
0
Таблица 7
Кодовые выражения микропрограммы
Необходимый объем ПЗУ может быть уменьшен путем шифрации маски признаков.
П
УН 1
УЭ 1
УН 2
УЭ 2
УЭ 3
УЗАП 1
Адрес
П
Маска признаков
Адрес перехода
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
1

0
0
1
0
1
0
1
0
0
0
0
1
0
0
1
1
0
0
1
0
0
0
0

0
1
0
0
1
0
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
0
1

0
1
1
0
1
1
0
0
0
0
1
0
0
1
1
1
0
0
0
0
1
0
0

1
0
0
0
1
1
0
1
0
1
0
1
1
0
0
1
0
0
0
0
0
1
0
-
1
0
1
0
1
1
1
0
0
0
0
0
Таблица 8
Минимизированные кодовые выражения микропрограммы
Минимальная требуемая емкость ПЗУ - (или 256*4 Бит), что меньше, чем
требуется для принудительной адресации, поэтому будем применять естественную адресацию.
Функциональная схема управляющего автомата с микропрограммным управлением показана на
рисунке 7.
Выбор элементной базы
Устройство будем реализовывать на интегральных микросхемах серий 1533, так как
микросхемы этой серий обладают наиболее оптимальными параметрами среди современных
микросхем.
Время задержки, нс
Потребляемая мощ-
ность, мВт
531
3,2
20
533
10
2
1531
3
4
1533
4
2
Таблица 9
Основные электрические параметры микросхем серии 1533
? Выходное напряжение низкого уровня - не более 0,5 В
? Выходное напряжение высокого уровня - не менее 2 В
? Выходной ток - не менее -30 мА и не более -112 мА
? Входной ток - не более 0,1 мА
? Входной ток высокого уровня - не более 20 мкА
? Входной ток низкого уровня - не более 0,2 мкА
? Работа переключения - 4 пДж
? Коэффициент разветвления по выходу - 40
Предельно допустимые режимы эксплуатации
? Напряжение питания - не менее 4,7 В и не более 5,5 В
? Входное напряжение высокого уровня - не менее 2 В и не более 5,5 В
? Входное напряжение низкого уровня - не менее 0 В и не более 0,8 В
Основными элементами устройства являются счетчики и регистры. Счетчик будет реа-
лизован на двух микросхемах 1533ИЕ7 - четырехразрядном синхронном реверсивном счетчике.
Он имеет три основных режима: параллельная асинхронная загрузка кода по входам Di при по-
ступлении отрицательного ипульса на вход С, режим суммирования и режим вычитания. В двух
последних режимах счетные импульсы подают на различные входы: суммирования и вычита-
ния.
Входной код будет записываться в восемь четырехразрядных универсальных регистра
сдвига на микросхемах КР531ИР11. Регистр функционирует в одном из четырех режимов, ко-
торые задаются двухразрядным кодом на входе S. Параллельный ввод информации со входа D
происходит синхронно, по положительному фронту тактового импульса.
R
S1
S0
C
DR
DL
D0
D1
D2
D3
Q0
Q1
Q2
Q3
Уст.
L
L
X
X
X
X
X
X
X
X
X
L
L
L
L
Пок-
ой
H
X
X
L
X
X
X
X
X
X
QA
0
QB0
QC0
QD
0
Зап-
ись
H
H
H
X
X
a
b
c
d
a
b
c
d
Сдв.
H
L
H
L
L
X
X
X
X
L
QA
n
QBn
QCn
впр-
аво
H
L
H
H
H
X
X
X
X
H
QA
n
QBn
QCn
Сдв.
H
H
L
X
X
X
X
X
X
QB
QC
QD
L
вле-
во
H
H
L
X
X
X
X
X
X
QB
QC
QD
H
Пок-
ой
H
L
L
X
X
X
X
X
X
X
QA
0
QB0
QC0
QD
0
Таблица 10
Таблица истинности регистра КР531ИР11
Характеристики ППЗУ КР556РТ4
? Емкость - 256х4 Бит
? Время задержки - 70 нс
? Потребляемая мощность - 690 мВт
? Тип выхода - ТТЛ-ОК
? Исходное состояние - 0
Составление программы
Программа на ассемблере
НАЧАЛО
СЧЕТЧИК=02Н
АККУМУЛЯТОР=
=1-ый справа байт кода
Маскирование последних
3 бит АККУМУЛЯТОРА
АККУМУЛЯТОР= 010В
НЕТ
Сдвиг кода на разряд вправо
СЧЕТЧИК=СЧЕТЧИК+1
СЧЕТЧИК=32
Запись значения счетчика в память
СЧЕТЧИК=02Н
АККУМУЛЯТОР=
=1-ый слева байт кода
Маскирование первых
3 бит АККУМУЛЯТОРА
ДА
АККУМУЛЯТОР= 01000000В
2 3
1
1 2 3
Сдвиг кода на разряд влево
СЧЕТЧИК=СЧЕТЧИК-1
НЕТ
СЧЕТЧИК=1
Запись значения счетчика в память
КОНЕЦ
Для нормального функционирования программы необходимо предварительно занести
входной код, предварительно поделенный на байты в следующие ячейки памяти: 0800Н - 0803Н
(в 0800Н - крайний левый байт кода и т.д.) и 0804Н - 0807Н (в 0804Н - крайний левый байт
кода и т.д.)
Адрес
Код
Метка
Команда
Комментарий
0809
16
MVI D,O2H
Счетчик = 2
080A
02
080B
3A
M1
LDA 0803H
Загрузка первого справа байта кода в
аккумулятор
080C
03
080D
08
080F
E6
ANI 07H
Маскирование 3 последних бит акку-
мулятора
0810
07
0811
FE
CPI 02H
Сравнение аккумулятора с 010В
0812
02
0813
CA
JZ M2
0814
37
0815
08
0816
A7
ANA A
Обнуление флага переноса
0817
3A
LDA 0800H
0818
00
0819
08
081A
1F
RAR
081B
32
STA 0800H
081C
00
081D
08
081E
3A
LDA 0801H
0820
01
0821
08
0822
1F
RAR
0823
32
STA 0801H
0824
01
0825
08
0826
3A
LDA 0802H
0827
02
0829
08
Последовательный сдвиг
082A
1F
RAR
байтов кода вправо
082B
32
STA 0802H
082C
02
082D
08
082E
3A
LDA 0803H
082F
03
0830
08
0831
1F
RAR
0832
32
STA 0803H
0833
03
0834
08
0835
14
INR D
Прибавление к счетчику единицы
0836
7A
MOV A, D
0837
FE
CPI 20H
Сравнение значения счетчика с 32D
0838
20
083A
7A
M2
MOV A, D
083B
32
STA 0808H
Запись первого результата в память
083C
08
083D
08
083E
16
MVI D,1FH
Счетчик = 31
083F
1F
0840
3A
M3
LDA 0803H
Загрузка первого слева байта кода в ак-
кумулятор
0841
03
0842
08
0843
E6
ANI E0H
Маскирование 3 первых разрядов кода
0844
E0
0845
FE
CPI 40H
Сравнение аккумулятора с 0100 0000В
0846
40
0847
CA
JZ M4
0848
6B
0849
08
084A
A7
ANA A
Обнуление флага переноса
084B
3A
LDA 0804H
084C
04
084D
08
084E
1F
RAL
084F
32
STA 0804H
0850
04
0851
08
0852
3A
LDA 0805H
0853
05
0854
08
0855
17
RAL
0856
32
STA 0805H
0857
05
0858
08
0859
3A
LDA 0806H
085A
02
085B
08
Последовательный сдвиг
085C
17
RAL
байтов кода влево
085D
32
STA 0806H
085E
06
085F
08
0860
3A
LDA 0807H
0861
07
0862
08
0863
17
RAL
0864
32
STA 0807H
0865
07
0866
08
0867
15
DCR D
Вычитание из счетчика единицы
0868
7A
MOV A, D
0869
FE
CPI 02H
Сравнение значения счетчика с 1D
086A
02
086B
7A
M4
MOV A, D
086C
32
STA 0809H
Запись второго результата в память
086D
08
086E
09
086F
76
HLT
Останов программы
Программа на языке BASIC
Программа была составлена на языке BASIC и отлажена на IBM-совместимом компью-
тере.
Текст программы
REM Программа по курсовой работе (каф 403).
REM Список переменных:
REM SCHET% - счетчик циклов.
REM D% - входной код.
REM B%, C% - выходные коды.
CLS
REM Задается размерность входного кода.
DIM D%(32)
REM Установка списка данных в начальное положение.
RESTORE
REM Запись входного кода. Цикл.
FOR I%=1 TO 32
REM Чтение I-го элемента входного кода.
READ D%(I%)
NEXT I%
REM Поиск первой комбинации 010. Цикл.
FOR SCHET%=2 TO 31
REM Проверка совпадения.
IF D%(SCHET%-1)=0 AND D%(SCHET%)=1 AND D%(SCHET%+1)=0 THEN GOTO 1
REM Сдвиг "окна".
NEXT SCHET%
REM Запись и вывод результата.
1 B%=SCHET%: PRINT "Номер первой единицы, стоящей между нулями: ";B%
REM Поиск последней комбинации 010. Цикл.
FOR SCHET%=31 TO 2 STEP -1
REM Проверка совпадения и запись результата.
IF D%(SCHET%-1)=0 AND D%(SCHET%)=1 AND D
%(SCHET%+1)=0 THEN GOTO 2
NEXT SCHET%
REM Запись и вывод результата.
2 C%=SCHET%: PRINT "Номер последней единицы, стоящей между нулями: ";C%
REM Входной код.
DATA 0,0,0,1,1,0,1,0,1,1,0,0,0,0,0,1,0,1,1,1,1,1,1,1,0,1,1,0,0,1,0,1
В результате работы программы, на экран было выведено сообщение:
Номер первой единицы, стоящей между нулями: 7
Номер последней единицы, стоящей между нулями: 30
Использованная .литература
1. Аванесян Г.Р. Лёвшин В.П. «Интегральные микросхемы ТТЛ, ТТЛШ» М93;
2. Лебедев О.Н. «Применение микросхем памяти в электронных устройствах» М94;
3. Мельников Б.С. Щеглов А.В. «Методические указания к курсовой работе...» М91;
4. «Цифровые интегральные микросхемы» М94.
Для заметок
Необходимые микросхемы регистров и ПЗУ в серии 1533 отсутствуют.
4
5