МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Реферат: Микросхема ПЗУ в управляющем автомате с МПУ выбрана неверно

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

    Московский Авиационный институт

    (технический университет)


    КАФЕДРА 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) = НЕ 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

    Не Р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, так как микросхемы этой серий обладают наиболее оптимальными параметрами среди современных микросхем.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

    L

    X

    X

    X

    X

    X

    X

    X

    X

    X

    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

    Использованная .литература

    1. Аванесян Г.Р. Лёвшин В.П. «Интегральные микросхемы ТТЛ, ТТЛШ» М93;

    2. Лебедев О.Н. «Применение микросхем памяти в электронных устройствах» М94;

    3. Мельников Б.С. Щеглов А.В. «Методические указания к курсовой работе...» М91;

    4. «Цифровые интегральные микросхемы» М94.

    Для заметок

    1 Необходимые микросхемы регистров и ПЗУ в серии 1533 отсутствуют.



    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.