Сравн. младш. частей, если старшие равны 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Сравн. младш. частей, если старшие равны

Поиск

 Этап 4. Определим,что должно быть предусмотрено в МПС для организации взаимодействия с периферийными устройствами, выбор которых сделан на этапе 2, а форматы данных для которых определены на этапе 3.

В принципе, ядро МПС может выполнять обмен с ПУ одним из трех способов:

 – программно-управляемый ввод / вывод,

 – ввод / вывод в режиме прерываний,

 – ввод / вывод в режиме ПДП.

Проще и дешевле других первый из них. Поэтому, если нет очень жестких требований из условий задачи (на объемы передаваемых данных, на скорость обслуживания ПУ ввода – вывода), то можно реализовать обслуживание ПУ в режиме программно-управляемого ввода/вывода. А это значит, что ПУ должны подключаться через порты, и МП будет взаимодействовать с ПУ, обращаясь к ним с помощью команд IN или ОUТ с указанием адреса порта соответствующего ПУ.

Учитывая сказанное в этапе 3, в МПС следует предусмотреть наличие таких портов:

Порт 01h –порт ввода для сигналаQ.

Порт 02h – порт вывода BCD–кода для ССИ1, выдающего «десятки секунд».

Порт Ø 3 – для вывода на ССИ BCD–кодов цифр «единиц секунд» и «десятых долей секунды» (ССИ2, ССИ3).

Порт Ø4 – для вывода сигналов на реле Р1 и Р2 включения ламп Л1 и Л2 под соответствующими транспарантами.

Нарисуем МПС как «черный ящик» и отметим наличие в нем буферных схем (портов) с адресами Ø1, Ø 2, Ø3, Ø4 и соответствующие им ПУ.

 

 


 

Этап 5. Функциональная схема МПС.

Изобразим подсистему ввода/вывода в виде набора портов (автономных либо в составе интерфейсных БИС) в общей шинной структуре МПС наряду с подсистемами ЦП и ОП. Рисунок для случая автономных (отдельных) портов:

 

 


Распределение бит в портах принимаем такое. Сигнал Q – размещается в бите Ø порта Ø1.

Этап 6. Определение структуры данных, требуемых при решении задачи МПС.

Для нашей простой МПС надо оговорить:

а) в каком виде будет учитываться текущее значение Тз при забеге;

б) в каком виде должно храниться значение Трек. в памяти.

Принимаем такие решения:

 Значения Тз и Трек. будем представлять в BCD – коде.

 Для Тз отведем 16 – разрядный регистр (например, регистровую пару BC), в котором 12 младших бит будут отображать 3 десятичных цифры значения Тз. Старшая тетрада заполняется нулями:

Для значения прежнего рекорда (Трек.) используем две однобайтовые константы:

 

 

(Значения констант вместе отображают значение рекорда Ø9, 9 сек.).

Таким образом, учет времени в десятичной форме потребует применения десятичной коррекции результата в МП.

Этап 7. Построение блок-схемы алгоритма.

Укрупненная (содержательная) блок-схема изображена на рисунке ниже. Она показывает общую последовательность взаимодействия МПС с портами ПУ ввода и вывода, иначе говоря, порядок взаимодействия МПС с внешней средой. Переменная “Счетчик времени забега” CTZ увеличивается на 1 каждые 0,1 сек в интервале времени, пока  Q = 1. Используется процедура временной программной задержки на 0,1 сек “TIME_0,1SEC”.

 

 

 


В подпрограмме временной задержки используется внутренний вложенный цикл с фиксированным (максимально возможным) числом повторений (256 раз). Число повторений внешнего цикла определяется из уравнения, соответствующего условию «время задержки = 0,1 сек».

 

Этап 8. Построение принципиальной схемы отдельных блоков и МПС в целом.

При выполнении этого этапа - за полезной информацией о типовых решениях по схемам блоков МПС рекомендуется обратиться к литературе / 12, 10, 2, 6 и др./.

 

Этап 9.Составление программы, реализующей алгоритм работы данной МПС.

 

Программа на языке ассемблера  -для МП і8086 - приведена ниже.              

 

               

           .DATA

           t_old_rec         dw     ?

           .STACK 100h

           .CODE

           L0:    mov  dx, 0

           L1:    in       al, 01

                          and    al, 01b  

                          jz       L1

           L2:    call    TIME_1_10SEC

                          inc     dx

                          mov  ax,dx

                          daa

                          mov  ax,dx

                          in       al,01

                          and    al,al

                          jnz     L2

                          mov  al,dl

                          out     03,al

                          mov  ah,dh

                          out     02,al

                          cmp   dx, t_old_rec

                          jb       L3

                          mov  al,01h

                          jmp   L4

           L3:    mov  al,02h

           L4:    out     04,al

                          jmp   L0

                                          ; dalshe – procedura vremenn. zaderzhki na 0,1 sec

Time_0_1sec  proc   near

                          mov  bh,38h

           vnesh: mov  bl,00      

           vnutr: dec    bl

                          jnz     vnutr

                          dec    bh

                          jnz     vnesh

Time_0_1sec  endp

                          end

 

В случае использования 8-разрядного МП - (i8080) - подробности реализации на уровне регистровых операций может отразить следующая более детальная блок-схема.

 

 

 

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 43; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.007 с.)