Главная страница
Навигация по странице:

  • IN Адрес А  (входные данные)

  • OUT Адрес Шина данных  (А)

  • SP  (SP) -2 7 0 PC  00000000 00AAA000

  • 0_МПиИСТС_Все главы. Микропроцессоры и интерфейсные средства транспортных средств


    Скачать 10.01 Mb.
    НазваниеМикропроцессоры и интерфейсные средства транспортных средств
    Анкор0_МПиИСТС_Все главы.doc
    Дата18.12.2017
    Размер10.01 Mb.
    Формат файлаdoc
    Имя файла0_МПиИСТС_Все главы.doc
    ТипУчебное пособие
    #11960
    страница20 из 47
    1   ...   16   17   18   19   20   21   22   23   ...   47

    4.9 Команды ввода – вывода



    Эти команды обеспечивают передачу данных между аккумулятором МП и внешним устройством, 8-ми разрядный адрес которого приводится во втором байте команды. Таким образом, с помощью команд ввода-вывода можно передавать данные к 256=28 портам вывода и принимать данные от 256 портов ввода.

    После того, как команда будет выбрана полностью, адрес внешнего устройства передается из МП на ША по восьми младшим линиям и таким образом обеспечивает передачу данных между МП и адресуемым внешним устройством. Следует иметь в виду, что 8-раз­рядный адрес внешнего устройства дублируется и передается также по восьми старшим линиям ША.

    Команды выполняются за три машинных цикла (10 тактов). При выполнении команд значения триггеров признаков не изменяется.

    4.9.1 Ввод данных из входного порта





    IN Адрес

    А  (входные данные)

    11011011





    Адрес (7-0)







    7 0



    4.9.2 Вывод данных в выходной порт


    OUT Адрес

    Шина данных  (А)

    11010011





    Адрес (7-0)







    7 0



    4.10 Команды управления




    4.10.1 Рестарт (повторный запуск)





    RST

    [SP-1] [SP-2]  (PC)

    11

    AAA

    111



    SP  (SP) -2

    7 0




    PC  00000000 00AAA000





    Так же, как и команда CALL , эта команда обеспечивает безусловный переход к подпрограмме, начальный адрес которой задается с помощью разрядов 3-5 команды. Команда рестарт может быть подана как внешним прерывающим устройством в ответ на сигнал разрешения прерывания, также может присутствовать в программе. По этой команде управление передается одной из восьми подпрограмм с векторами (указателями областей памяти): 0000, 0008, 0010, 0018, 0020, 0028, 0030, 0038.

    Значения соседних векторов отличаются на 8 байт. Области памяти, указываемые векторами, могут содержать либо короткие 8-байтовые программы обработки прерываний, либо 3-х байтовые команды безусловного перехода к некоторой программе обработки прерывания.

    Команда выполняется за 3 машинных цикла (11тактов). Значения триггеров признаков не изменяется.

    4.10.2 Изменение (Тс)


    а) Установка переноса

    STC

    Тс  1 B1

    00110111







    7 0


    б) Дополнение переноса

    CMC

    Тс  () B1

    00111111







    7 0


    Команды этой группы изменяют значение триггера переноса. При этом остальные триггеры флажков остаются без изменения. Каждая команда выполняется за один машинный цикл (4 такта).

    Примеры:
    0800) STC

    Адрес/ регистр

    Код до выполнения операции

    Код после выполнения операции

    0800

    37

    37

    FL

    02(TC=0)

    03 (TC=1)

    PC

    0800

    0801


    0800) CMC

    Адрес/ регистр

    Код до выполнения операции

    Код после выполнения операции

    0800

    3F

    3F

    FL

    13(TC=1)

    12 (TC=0)

    PC

    0800

    0801

    4.10.3 Управление прерываниями



    а) Разрешение прерывания

    EI

    INTE  1 B1

    11111011







    7 0


    б) Блокировка прерываний

    DI

    INTE  0 B1

    11110011







    7 0


    Команды этой группы позволяют программно защитить от прерываний некоторые участки программы. С помощью этих команд производится установка (а) или сброс (б) триггера прерываний INTE МП. Если прерывания запрещены, то МП не будет реагировать на сигналы запроса прерываний до тех пор, пока программно этот запрет не будет снят с помощью команды EI. Если прерывания разрешены, то с приходом сигнала запроса на прерывание триггер INTE автоматически сбросится при переходе к прерывающей программе и установить его можно лишь командой EI. Это делается обычно на том этапе выполнения подпрограммы обслуживания прерывания, когда уже могут быть разрешены другие прерывания.

    Каждая команда выполняется за один машинный цикл (4 такта). Значения триггеров признаков при этом не изменяются.

    4.10.4 Двоично-десятичная коррекция





    DAA

    B1

    00100111







    7 0


    С помощью этой команды производится коррекция содержимого аккумулятора, которое получено в результате арифметического сложения 2/10 чисел на предыдущем шаге выполнения программы. Коррекция заключается в прибавлении числа 0110В к каждой двоичной тетраде 8-разрядного числа, записанного в аккумулятор, и производится в том случае, если число в тетраде не меньше 10 или имел место перенос из этой тетрады, или число в старшей тетраде равно 9 и был перенос из младшей тетрады (полуперенос).

    Команда выполняется за один цикл (4 такта). Признаки принимают значения в соответствие с полученным после коррекции результатом.

    4.10.5 Пустая операция





    NOP

    B1

    00000000






    7 0


    Эта команда ничего не изменяет, кроме того, что содержимое программного счетчика увеличивается на единицу. Команда выполняется за один цикл (4 такта) и используется для организации временных задержек в программе.

    4.10.6 Останов





    HLT

    B1

    01110110







    7 0


    Эта команда вызывает прекращение выполнения программы и переводит МП в состояние останова. При этом ША и ШД переводятся в высокоимпедансное состояние, а на линии ожидания (WAIT) устанавливается высокий уровень. В этом состоянии МП может находиться в течение любого временного интервала. Из состояния останова МП можно вывести двумя способами:

    - подачей сигнала сброса на вход RESEТ, при котором выполнение программы начинается с адреса 0000 H;

    -подачей сигнала на вход прерывания INT . При этом триггер разрешения прерывания должен быть установлен; в противном случае при INTE=0 единственным способом запуска оказывается сигнал RESET.

    1   ...   16   17   18   19   20   21   22   23   ...   47


    написать администратору сайта