Рефераты - Афоризмы - Словари
Русские, белорусские и английские сочинения
Русские и белорусские изложения
 

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

Работа из раздела: «Радиоэлектроника»


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


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


                                 КАФЕДРА 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 отсутствуют.


ref.by 2006—2022
contextus@mail.ru