Реферат по предмету "Радиоэлектроника"


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

Московский Авиационный институт
(технический университет)
КАФЕДРА 403
Расчетно-пояснительная записка
к курсовой работе по дисциплине
Вычислительные системы и микропроцессорная техника
выполнил: студент гр. 04-417
Левин О.А.
проверил: Герасимов А.Л.
МОСКВА 1997
Содержание
1. Анализ задания - 2
2. Комбинационный вариант - 2
3. Алгоритм работы устройства - 4
4. Микропрограмма - 5
5. Управляющий автомат с жесткой логикой - 5
6. Управляющий автомат с МПУ - 8
7. Выбор элементной базы - 10
8. Составление программы - 12
Задание
ВАРИАНТ №17
Задается входной код D{1:32}. Спроектировать вычислитель, который определяет номер разряда самой первой и самой последней единиц, стоящих между нулями. Предусмотреть реакцию проектируемого устройства в случае отсутствия таких сигналов.
Анализ и уточнение задания
Так как входной код - тридцатидвухразрядный, то для получения интересующей нас информации необходимо два выходных шестиразрядных кода. Реакцией устройства в случае отсутствия интересующих нас кодовых комбинаций будет значение первого и второго выходных кодов соответственно:
[pic]
[pic]
Очевидно, что в тридцатидвухразрядном коде единица, стоящая между двумя нулями ни при каких обстоятельствах не может находится ни в первом ни в тридцать втором разряде кода. Тактовая синхронизация будет осуществляться внешним генератором тактовых импульсов с частотой 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) = НЕ Q1*НЕ Q2*Q3*P2 + НЕ Q1*Q2*Q3*P4 + Q1*Q2*Q3*НЕ P3+ Q1*НЕ Q2*Q3*НЕ P5 [20 входов] Q2 (t+1) = НЕ Q1*НЕ Q2*Q3*P1 + НЕ Q1*Q2*Q3*НЕ P4 + Q1*НЕ Q2*Q3*НЕ P5
[15 входов] Q3 (t+1) = НЕ Q1*НЕ Q2*НЕ Q3*P1 + НЕ Q1*НЕ Q2*Q3 + НЕ Q1*Q2*Q3 + Q1*Q2*Q3*НЕ P3 + Q1*НЕ Q2*Q3*НЕ P5 = =НЕ Q1*НЕ Q2*НЕ Q3*P1 + НЕ Q1*Q3 + Q1*Q2*Q3*НЕ P3 + Q1*НЕ Q2*Q3*НЕ P5 [18 входов]
Для реализации автомата на D-триггерах потребуется 43 входа. Если будет использоваться J-K триггер, то уравнения для него можно получить из уравнений для D-триггера:
Q (t+1)=J*Q+K*Q
Q(T+1)=J*HE Q + HE K*Q J1=НЕ Q2*Q3*P2+Q2*Q3*P4=Q3*(НЕ Q2*P2+Q2*P4) [6 входов]
K1=(Q2*Q3*НЕ P3+НЕ Q2*Q3*НЕ P5)=(Q2*Q3*НЕ P3)*(НЕ Q2*Q3*НЕ P5)=(НЕ Q2+ НЕ Q3+P3)*(Q2+НЕ Q3+P5) [8 входов]
J2=(НЕ Q1*Q3+Q1*Q3*НЕ P5)=Q3*(НЕ Q1+Q1*НЕ P5) [6 входов]
K2=(НЕ Q1*Q3*P4) = Q1+НЕ Q3+НЕ P4 [3 входа]
J3=НЕ Q1*НЕ Q2*P1 [3 входа]
K3=(НЕ Q1*НЕ Q2+НЕ Q1*Q2+Q1*Q2*НЕ P3+Q1*НЕ Q2*НЕ P5) = (НЕ Q1+Q1*(Q2+НЕ Q2*НЕ
P5)) =Q1*(НЕ Q1+(Q2+НЕ Q2*НЕ P5)) = Q1*НЕ Q2*(Q2+P5) = Q1*НЕ Q2*P5 [3 входа]
Для реализации автомата на J-K-триггерах потребуется 29 входов, поэтому автомат будет реализовываться на них. Управляющие сигналы на основе таблицы переходов и выходов будут формироваться следующим образом
УН 1=НЕ Q1*НЕ Q2*НЕ Q3*P1
УЭ 1=НЕ Q1*НЕ Q2*Q3*НЕ P2
УН 2=НЕ Q1*Q2*Q3*P4+НЕ Q1*НЕ Q2*Q3*P2
УЭ 2=Q1*Q2*Q3*НЕ P3
УЭ 3=Q1*НЕ 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|Не|Р2|Р3|Не|Не|Адрес | | | | | | | | |Р1| | |Р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
Кодовые выражения микропрограммы.
Минимальная требуемая емкость ПЗУ - [pic] (или 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
Минимизированные кодовые выражения микропрограммы
Минимальная требуемая емкость ПЗУ - [pic] (или 256*4 Бит), что меньше, чем требуется для принудительной адресации, поэтому будем применять естественную адресацию. Функциональная схема управляющего автомата с микропрограммным управлением показана на рисунке 7.
Выбор элементной базы
Устройство будем реализовывать на интегральных микросхемах серий 1533, так как микросхемы этой серий обладают наиболее оптимальными параметрами среди современных микросхем.[1] | |Время задержки, |Потребляемая | | |нс |мощность, мВт | |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 |X |X |X |X |X |X |X |X |X |L |L |L |L | |L | | | | | | | | | | | | | | | |Пок-|H |X |X |L |X |X |X |X |X |X |QA0 |QB0 |QC0 |QD0 | |ой | | | | | | | | | | | | | | | |Зап-|H |H |H | |X |X |a |b |c |d |a |b |c |d | |ись | | | | | | | | | | | | | | | |Сдв.|H |L |H | |L |L |X |X |X |X |L |QAn |QBn |QCn | |впр-|H |L |H | |H |H |X |X |X |X |H |QAn |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 |QA0 |QB0 |QC0 |QD0 | |ой | | | | | | | | | | | | | | |
Таблица 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 Использованная .литература Аванесян Г.Р. Лёвшин В.П. «Интегральные микросхемы ТТЛ, ТТЛШ» М93; Лебедев О.Н. «Применение микросхем памяти в электронных устройствах» М94; Мельников Б.С. Щеглов А.В. «Методические указания к курсовой работе...» М91; «Цифровые интегральные микросхемы» М94.
Для заметок
----------------------- [1] Необходимые микросхемы регистров и ПЗУ в серии 1533 отсутствуют.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.