RNZ RZ RNC RC RPE RPO RP RM




JNZ JZ JNC JC JPE JPO JP JM

Команда безусловного перехода, имеющая формат JMP Adr осуществляет безусловный переход по указанному адресу.

Команды условного вызова подпрограмм имеют следующий формат:

Ccond Adr

где cond - одно из условий перехода, перечисленных в таблице;

Adr - адрес перехода, расположенный в последующих двух байтах команды.

Выполнение команд условных вызовов подпрограмм происходит следующим образом: если условие истинно, то управление передается по указанному в команде адресу перехода, а содержимое PC загружается в стек, в противоположном случае выполняется следующая команда.

В соответствии с приведенными в таблице условиями перехода в систему команд МП входят следующие команды условного вызова подпрограмм:

CNZ CZ CNC СС СРЕ СРО СР СМ

Команда безусловного вызова, подпрограммы, имеющая формат CALL Adr осуществляет безусловный вызов подпрограммы по указанному адресу.

Команды условного возврата из подпрограммы имеют следующий формат:

Rcond

где cond - одно из условий перехода, перечисленных в таблице.

Команда возврата из под программы выполняется следующим образом: если условие возврата истинно, то в PC заносится содержимое вершины стека - адрес возврата, в противоположном случае выполняется следующая команда подпрограммы.

В соответствии с приведенными в таблице условиями перехода в систему команд МП входят следующие команды условного возврата из под программы:

RNZ RZ RNC RC RPE RPO RP RM

По команде RET осуществляется безусловный возврат из под программы.

Команда перезапуска имеет формат RST n

При выполнении этой команды происходит прерывание работы процессора и текущее состояние счетчика команд записывается в стек.

Управление передается команде, адрес которой определяется как произведения числа n на 8.

Команды управления работой МП предназначены для управления работой МП. К ним относятся:

HLT - останов процессоров. Выполнение текущей программы приостанавливается до появления запроса прерывания от устройства ввода-вывода. Состояние РОН и счетчика команд не изменяется;

DI - выключение системы прерывания;

El - включение системы прерываний;

NOP - отсутствие операции.Никаких действий по команде не производится и управление передается следующей команде.

Команды этой группы не изменяют значения битов условий.

Команды работы со стеком предназначены для выполнения следующих операций со стеком:

PUSH RP- запись содержимого регистровой пары в стек (регистровая пара SP не может быть использована в данной команде);

POP RP -восстановление содержимого регистровой пары из стека (регистровая пара SP не может быть использована в данной команде);

XTHL - обмен содержимого регистровой пары (Н, L) с вершиной стека;

SPHL - запись содержимого регистровой пары (Н, L) в указателе стека.

Состояние битов условия не изменяется командами этой группы, за исключением команды POP PSW, которая изменяет все биты.

Специальные команды выполняют операции установки, инверсии бита CY и инверсию содержимого аккумулятора. К ним относятся следующие команды:

СМА - инверсия содержимого аккумулятора, т. е. разряды, имеющие значение 1, принимают значение 0, и наоборот. Эта команда не изменяет значение битов условий;

CMC - инверсия бита CY;

STC - установка бита CY в единичное состояние.

Команды ввода-вывода используются для обмена информацией с периферийными устройствами. К ним относятся следующие команды:

IN port - прием данных из порта, определяемого адресом port;

OUT port - выдача содержимого аккумулятора в порт, указанный адресом port.

Команды ввода-вывода не изменяют состояние битов условий.

Организация подпрограмм. Подпрограмма записывается как последовательность операторов на ассемблере и вызывается по метке первой команды подпрограммы, определяющей адрес начала подпрограммы.

Основной задачей при организации подпрограмм является передача в них параметров.

В простейшем случае передача данных в подпрограмму осуществляется с использованием РОН. В других случаях целесообразно передавать данные в подпрограмму, используя для этого список параметров.

При использовании списка параметров все передаваемые подпрограмме параметры записываются в определенную область памяти, адрес которой загружается в пару (Н, L) и впоследствии используется в подпрограмме.

В качестве примера рассмотрим программу, в которой используется подпрограмма, вычисляющаясумму первых двух параметров и возвращая результат в третьем параметре.

1. Передача параметров через регистры:

START:

LDA SECOND;прием второго

MOV В; А;параметра

LDA FIRST;прием первого параметра

CALL ADDPAR;определение результата

STA REZULT;запись результата

...........;продолжение программы

 

ADDPAR: ADD В;вычисление суммы

RET;возврат из подпрограммы

 

FIRST: DB 23;первый параметр - слагаемое

SECOND: DB 15;второй параметр - слагаемое

REZULT: DB 0;третий параметр - результат

2. Передача параметров списком параметров:

START: LXI Н, FIRST;занесение адреса списка параметров

CALL ADDPAR;определение результата

...............;продолжение программы

 

ADDPAR:

MOV A.M;выбор первого параметра

INX Н;переход к след. параметру

ADD М;вычисление суммы

INX Н;переход к результату

MOV М.А;запись результата

RET;возврат из подпрограммы

..............;продолжение программы

FIRST: DB 23;первый параметр-слагаемое

SECOND: DB 15;второй параметр-слагаемое

REZULT: DB 0;третий параметр-результат

2. Порядок выполнения работы.

А. Составить вызывающую программу и подпрограмму, выполняющие действие согласно варианту задания:

1. Умножение восьмиразрядных двоичных чисел, выполняемое по следующему алгоритму:

1) установить частичнуюсумму равной 0;

2) установить счетчик циклов равным числу разрядов множимого;

3) если младший разряд множителя равен 1, то прибавить множимое к частичнойсумме;

4) сдвинуть множимое арифметически на один разряд влево, а множитель - на один разряд вправо;

5) вычесть 1 из счетчика циклов;

6) если счетчик циклов не равен 0, перейти к п.3; иначе -закончить выполнение программы.

2. Умножение 8-разрядных чисел со знаком.

3. Деление 8-разрядного двоичного числа на 4-разрядное двоичное число, выполняемое по следующему алгоритму:

1) установить счетчик циклов равным числу разрядов делителя

n;

2) установить частное равным 0;

3) сдвинуть делитель арифметически на N разрядов влева;

4) сравнить делимое и модефицированный делитель: если делимое больше, то деление невозможно (частное имеет длину больше N разрядов); иначе

5) сдвинуть делитель арифметически на один разряд вправо, а частное - на один разряд влево;

6) вычесть делитель из делимого; если результат вычитания положителен, то установить младший разряд частного в 1 и перейти к п.8; иначе

7) восстановить делимое, т. е. прибавить к полученному в п. 6 отрицательному остатку делитель; установить младший разряд частного в 0;

8) вычесть 1 из счетчика циклов. Если счетчик циклов не равен О, перейти к п. 5; иначе закончить программу.

Б. Произвести ассемблирование программы вручную и загрузить ее в ОЗУ контроллера.

В. Произвести отладку программы.

3. Содержание отчета.

 

Отчет по работе должен содержать:

- краткие сведения о командах;

- структурнуюсхему алгоритма программы;

- текст программы с указанием адресов ячеек и кодов программы;

- результаты выполнения программы.


Лабораторная работа № 5

 

ПРОГРАММИРУЕМЫЙ АДАПТЕР ПАРАЛЛЕЛЬНОГО ИНТЕРФЕЙСА КР580ВВ55

Цель работы: изучение структуры, режимов работы и управления программируемого адаптера параллельного интерфейса КР580ВВ55.

 

1. Общие сведения.

Для реализации ЭВМ необходимы средства обмена данными в параллельном коде с различными периферийными устройствами. Общность функций ввода-вывода стимулировала разработку БИС периферийных адаптеров, представляющих собой гибкие программные приборы, ориентированные на ввод-вывод. Типичным примером адаптера является БИС программируемого адаптера параллельного интерфейса КР580ВВ55 (в дальнейшем - адаптер).

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

Порт А и старшие 4 разряда порта С образуют группу А, порт В и младшие 4 разряда порта С - группу В.

Структурная схема адаптера на рис. 1. Чтобы запрограммировать адаптер, достаточно загрузить управляющее слово в регистр управляющего слова (РУС). Управляющее слово задает один из трех режимов работы портов:

режим 0 - нестробируемый однонаправленный ввод-вывод (основнойрежим);

режим 1 - стробируемый однонаправленный ввод-вывод;

режим 2 - стробируемый двунаправленный ввод-вывод. Формат управляющего слова, определяющего режим работы адаптера (слово режима), приведен на рис. 2.


 


Если в управляющем слове старший бит равен 0, то оно используется для установки или сброса битов порта С. В этом случае разряды 1-3 управляющего слова определяют номер бита порта С, над которым производится операция установки, а бит 0 указывает на тип операции:

0 - очистка бита, указанного разрядами 1-3;

1 - установка бита, указанного разрядами 1-3;

Если нужно изменить значение бита в портах А и В, то эта операция производится в следующей последовательности:

- содержание порта вводится в аккумулятор;

- модифицируется нужный бит;

- слово с модифицированным битом выводится в тот же порт. Рассмотрим подробнее режимы работы адаптера. Основной режим (режим 0). В этом режиме могут работать все 3 порта, причем порт С разделяется на 2 независимых 4-битных порта. В итоге получается четыре порта параллельного ввода или вывода, два из которых 8-битные, а два - 4-битные.Таким образом, адаптер в режиме 0 может иметь одну из 16 возможных конфигураций, определяемых управляющим словом таб. 1.

Таблица 1

Состояние разрядов РУС Направление передачи данных в портах
        А С(7:4) в С(3:0)
        вывод вывод вывод вывод
        вывод вывод вывод ввод
        вывод вывод ввод вывод
        вывод вывод ввод ввод
        вывод Ввод вывод вывод
        вывод Ввод вывод ввод
        вывод Ввод ввод вывод
        вывод Ввод ввод ввод
        ввод вывод вывод вывод
        ввод вывод вывод ввод
        ввод вывод ввод вывод
        ввод вывод ввод ввод
        ввод Ввод вывод вывод
  I     ввод Ввод вывод ввод
        ввод Ввод ввод вывод
    I   ввод Ввод ввод ввод

Режим стробируемого однонаправленного ввода-вывода (режим1). Этот режим предназначен для однонаправленных передач данных, инициируемых прерываниями. Передача данных осуществляется через поты А и В, а линии порта С используются для управления обменом, причем в этомрежиме порты А и В могут работать как на ввод, так и на вывод.

Режим стробируемого двунаправленного ввода-вывода (режим 2). В этом режиме порт А используется как 8-разрядная двунаправленная шина данных. Порт В может программироваться для работы врежимах 0 и 1. Разряды порта С используются для управления обменом.

Порядок работы с модулем зависит от конкретных задач, реализующихся на основе функционирования составных частей модуля, описанных в соответствующем разделе.Ниже приводятся возможные направления работы с модулем.

Ввод-вывод информации в режиме 0. Возможен простой (нестробируемый) побитный ввод данных с помощью переключателей устройства ввода канала В или канала А и отображение информации, выводимой в канале А или С, с помощью светодиодов.

Примечание. При выводе информации в канал А необходимо переключить буферы D9, D10 на вывод удерживанием кнопки SA2 или записью " 1 " в разряд D0 канала В.

В качестве примера предлагается программа 1, выполняющая следующие действия:

- программирование канала А на простой вывод, канала В на ввод информации;

- циклический опрос состояния переключателей устройства ввода канала В и вывод считанной из канала В информации в канал А.

Переключатель SA2 в положении "РАБ", SA21 - в положении "АВТ".



Программа 1.

Работа в режиме 2.

 

0С00 ЗЕОВ LOAD MYI A, CW0;запись управляющего

0C02 D3B3 OUT RGCW;слова в регистр

0C04 D3B1 LOOP IN KB;чтение данных из KB

0С06 D3B0 OUT КА;запись данных в КА

ОС08 СЗ000С IMP LOOP;зацикливание

В результате работы программы 1 данные, задаваемые с помощью переключателей устройства ввода канала В, отображаются на светодиодах HL7...HL24.

Ввод-вывод информации в режиме 1. Ввод информации осуществляется через канал В, входные данные задаются с помощью переключателей SA12...SA19 устройства ввода канала В. Вывод информации осуществляется через канал А и отображается на светодиодах HL17...HL24.

В качестве примера работы в режиме 1 предлагается программа 2, выполняющая следующие действия:

- программирование канала В на вывод данных в режиме 1, канала А на вывод данных в режиме 1;

- установка триггеров разрешения прерывания каналовА и В;

- опрос сигналаIRQ.В и ввод данных по каналу В при наличии логической " 1 " этого сигнала;

- вывод считанной информации в канал А и ожидание установки сигналаIRQ.A;

- зацикливание.

Переключатель SA20 в положении "РАБ", переключатель SA21 - в положение"РУЧ".

Программа 2

Работа в режиме 1.

 

080В 3EAF LOAD: MVI A.CW1;запись управляющего

080D D3B3 OUT RGCW;слова в регистр

080F ЗЕ05 MVI A.SEN0;остановка триггера

0811 D3B3 OUT RGCW;INTEO

0813 3E0D MVI A,CW2;остановка триггера

0815 D3B3 OUT RGCW;INTE2

0817 DBB2 WAIT1:IN КС;ожидание установки

0819 Е601 ANI 1;сигнала IRQ.B

081В СА1708 JZ WAIT1;

081E DBB1 IN KB;чтение данных из KB

0820 D3BO OUT КА;запись данных в КА

0822 DBB2 WAIT2:IN КС;ожидание установки

0824 Е608 ANIВ;сигнала IRQ.A

0826 СА2208 JZ WAIT2;

0829 С31708JMP WAIT1;зацикливание

После запуска программы необходимо установить какую-либо кодовую комбинацию с помощью переключателей устройства ввода канала В, далее, в соответствии с временной диаграммой обмена в режиме 1, нажать кнопку SA1 (сигнал STB RC/.B), после чего нажать кнопку SA3 (сигнал АСК WR/.A). На светодиодах HL17...HL24 должна отобразиться установленная кодовая комбинация. Программу полезно выполнять по шагам машинных циклов.

Ввод-вывод информации в режиме 2. В этомрежиме в качестве входной информации используется кодовая комбинация, задаваемая с помощью переключателей устройства ввода канала А или В. Информация выводится через устройство индикации канала А.

В качестве примера работы в режиме 2 предлагается программа 3, выполняющая следующие действия:

- программирование канала А на работу в режиме 2 и канала В для ввода данных в режиме 1;

- установка триггеров разрешение прерываний;

- анализ сигналов запроса прерывания IRQ.A и IRQ.B. Ввод данных из канала А по сигналу IRQ.A или из канала В по сигналу IRQ.B;

- запись полученных данных в канал А и ожидание снятия сигнала IRQ.A;

- зацикливание.

Переключатель SA20 в положении "РАБ".переключатель SA21 в положении "РУЧ".

 

Программа 3.

Работа в режиме 2.

 

085Е ЗЕС6 LOAD: MVI A,CW;запись управляющего

085C D3B3 OUT RGCW;слова в регистр

085Е ЗЕ05MVI A, SET0;установка триггера

0860 D3B3 OUT RGCW;INTEO

0862 3E09 MVI A,SET1;установка триггера

0864 D3B3 OUT RGCW;INTE1

0866 3EOD MVI A.SET2;установка триггера

0868 D3B3 OUT RGCW;INTE2

086A DBB2 TESTB: IN КС;ожидание установки

086C E601 ANI 1;сигнала IRQ.B

086Е СА7608 JC TESTA;

0871 DBB1 IN KB;чтение данных из KB

0873 C37F08 JMP WRITE;переход к записи в КА

0876 DBB2 TESTA: IN КС;ожидание установки

0878 Е620 ANI 20H;сигнала IRQ.A

087А СА6А08, JZ TESTB;

087D DBB0 IN KA;чтение данных из КА

087F D3B0 WRITE: OUT KA;запись данных в КА

0881 DBB2 WAIT2: IN RC;ожидание снятия

0883 Е608 ANI 8; сигнала IRQ.A

0885 СА8108 JZ WAIT;

0888 C36A08 JMP TESTB зацикливание

После запуска программы необходимо установить 2 различных кодовых комбинации с помощью переключателей устройства ввода каналов А и В. Нажатием кнопки SA1 (сигнал STB RC/.B) считывается комбинация УВ канала В, после чего считанную информацию можно ввести в канал А с помощью кнопки SA3 (сигнал АСК WR/.A). Нажатием кнопки SA2 (сигнал STB RC/.A) считывается комбинация УВ канала А, которая также может быть выведена в канал А с помощью кнопки SA3.

 

2. Порядок выполнения работы:

1. Составить схемы алгоритмов приведенных программ.

2. Набрать программы на УПМК-80.

3. Продемонстрировать работу интерфейса преподавателю и объяснить алгоритм функционирования.

3. Содержание отчета:

1. Краткие сведения о параллельном интерфейсе.

2. Программы, схемы алгоритмов.

3. Выводы и пояснения.


Лабораторная работа № 6

 

ПРОГРАММИРУЕМЫЙ ПОСЛЕДОВАТЕЛЬНЫЙ ИНТЕРФЕЙС КР580ВВ51

 

Цель работы: изучение структуры, режимов работы и принципов программирования универсального синхронно-асинхронного приемопередатчика КР580ВВ51.

 

1. Общие сведения.

В некоторых случаях обмен данными междумини- и микро ЭВМ осуществляется в последовательном формате. Для реализации интерфейса паралльного процессорамини- или микро ЭВМ с периферийным оборудованием, имеющим последовательный интерфейс, используются программируемые БИС, которые называются программируемым связным интерфейсом, универсальным приемопередатчиком или адаптером последовательной связи.

На практике для последовательного обмена информацией может быть использован один из двух режимов: асинхронный или синхронный.

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

Передача заканчивается одним или двумя битами. Скорость передачи измеряется либо числом символов в секунду, либо числом битовых посылок в секунду.

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

В обоих режимах передачи необходимо контролировать правильность передачи символа по битам паритета, если они есть, выдерживать необходимые временные соотношения, а для асинхронного режима, кроме этого необходимо выдерживать установленный формат символа.

Наиболее широкое распростропспис для реализации последовательного интерфейса получили универсальные синхронно-асинхронные приемопередатчики (УСАПП), примером которых может служить БИС КР580ВВ51, называемая - для краткости адаптером последовательнного интерфейса.

Адаптер предназначен для автоматического параллельно-последовательного при передаче и последовательно-параллельного при приеме преобразования форматов символов. Адаптер обеспечивает одновременную одностороннюю связь процессора с периферийными устройствами за счет возможности работы как в полудуплексном, так и дуплексномрежимах; кроме этого, адаптер формирует и воспринимает сигналы управления модемом.

Рис. 1. Функциональнаясхема последовательного интерфейса.

Рассмотрим подробно отдельные узлы и сигналы адаптера КР580ВВ51.

Параллельный 8-битный двунаправленный буфер шины данных.

- предназначен для передачи собственно данных, управляющих слов и информации состояния. Обмен с буфером, а следовательно, прием или передачаинформации проиходит по командам ввода IN или вывода OUT.

Схема управления.

- воспринимает сигналы с шины управления и вырабатывает внутренние управляющие сигналы. В состав схемы управления входят регистры слова команды, в которых хранятся управляющие слова, определяющие режим работы ада1 пера.

Узел передатчика.

- включает собственнуюсхему управления и предназначен для выполнения функций, определяющих передачу данных в последовательном коде. Передатчик принимает от процессора данные в параллельном коде, автоматически формирует служебные биты и символы синхронизации и выдает информацию в последовательном коде на выход.

Узел приемника.

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

Программирование адаптера сводится к загрузке в него нескольких управляющих слов, которые определяют:

- скорость передачи;

- длину символа;

- число стоповых бит;

- режим работы;

- наличие контроля и его вид.

Кроме этого, при синхронном режиме адаптера необходимо задать тип синхронизации (внутренняя или внешняя) и один или два символа синхронизации.После программирования адаптер готов к работе.

Управляющие слова, определяющие режим работы адаптера, должны загружаться в него сразу после операции сброса.

Два формата управляющего слова: формат слова режима и формат слова команды.

Слово режима задает общие характеристики адаптера и загружается первым. После слова режима для случая синхронной работы загружается один или два символа синхронизации. Последним в адаптер загружается слово команды, определяющее конкретные действия адаптера. Слово режима имеет четыре поля и загружается во внутренний регистр слова режима.

Следует отметить, что биты 6 и 7 слова в зависимости от режима работы имеют различный смысл. В асинхронном режиме они определяют число стоповых бит, а в синхронном режиме управляют процессом синхронизации.

Слово команды задает операцию, выполняемую адаптером и содержит информацию о разрешении передачи или приема символа, сброс ошибок, управление модемом и т.д.

При работе адаптера в некоторых случаях возникает необходимость проанализировать его состояние. Состояние адаптера фиксируется в слове состояния и может быть считано в любой момент времени с помощью команда IN.



Бит Функция Название и содержание бита
  TxEN - разрешение передачи TxRDY - готовность передатчика
  DIR- готовность RxRDY - готовность приемника
  RxE- разрешение приема ТхЕ- передатчик пуст
  SBRK - разрыв РЕ- ошибка паритета
  ER - сброс ошибок ОЕ- ошибка переполнения
  RTS - запрос передачи FE- ошибка кадра
  IR - внутренний сброс SYNDEN
  EX - поиск символа синхронизации DSR

 

Бит ОЕ устанавливается в единицу, если процессор вовремя не считал символ из адаптера.

Бит FE устанавливается в единицу, если в асинхронномрежиме в конце символа не обнаружен стоп-бит.

Все биты ошибок сбрасываются, если бит ER слова команды установлен в единицу. Возникновение любой ошибки не вызывает останова адаптера.

 

2. Порядок выполнения работы.

Для того, чтобы визуально наблюдать передачу данных на индикаторах(HL6 и HL1), требуется низкая частота (желательно ниже10 Гц). Поэтому нужно запрограммировать интервальный таймер так, чтобы он делил входную тактовую частоту - 2,5МГц. Интервальный таймер имеет 6 режимов. Для делителя частоты прямоугольных импульсов используем 3-й режим - генераторный. Программа, осуществляющая деление частоты будет выглядеть следующим образом:

0800 MVI А, 96 ЗЕ; Ввод управляющего

0801 96; слова в аккумулятор

0802 OUT 9В D3; Пересылка управляю-

08039В; щего слова в регистр

0804 MVI А, 00 ЗЕ; Ввод числа в

0805 00; аккумулятор

0806OUT 9A D3; Пересылка числа в

08079А; счетчик

0808END CF; Конец программы

Эта программа позволяет снизить частоту до 17 Гц. Таймер программируется на передатчике.

Для того чтобы данные передать с одной машины на другую, одну из двух машин нужно запрограммировать на передачу. Программируется та машина, на которой до этого был запрограммирован таймер. Программа, осуществляющая передачу данных (в данном случае передается число АА16=10101010 будет

выглядеть следующим образом:

0809 MVI A, 40 ЗЕ; Сброс микросхемы в

080А 40; исходное состояние

080В OUT 9DD3;

080С 9D;

080D MVI A, 4E ЗЕ; Ввод слова режима в

080Е 4E; аккумулятор

080FOUT9D D3; Пересылка слова

08109D; режима в регистр

0811 MVIA.01 ЗЕ; Ввод слова команды в

0812 01; аккумулятор

0813 OUT9D D3; Пересылка слова

08149D; команды в аккумулятор

0815 MVIA,AA ЗЕ; Ввод передаваемого

0816АА; байта в аккумулятор

0817OUT9C D3; Пересылка передава-

08189С; емого байта в регистр

0819 END CF; Конец программы

После программирования передатчика нужно включить следующие ключи:

- SA1.1 и SA1.2 в положение вкл. (вверх);

- SA2.2 в положение вкл.;

- SA4.1 и SA4.2 в положение выкл.

Затем запускаем таймер. Индикатор HL2 должен моргать с частотой 17Гц. Потом запускаем передатчик. Включаем ключ SA4.1. Индикатор HL6 должен сигнализировать о работе передатчика.

Включаем вторую машину. Соединяем обе машины шнуром через разъемы Х2.

На второй машине должна моргать лампочка HL2, сигнализирующая о том, что обе машины синхронизированы частотой 17 Гц.

Далее программируем УСАПП второй машины на прием.При этом ключи должны находиться в следующем положении:

- SA 2.1 и SA 2.2 в положении выкл.

- SA4.1 и SA4.2в положение выкл.

- SA1.1 и SA 1.2 в положение вкл.:

Программа, осуществляющая прием:

0800 MVI А, 40 ЗЕ; Сброс микросхемы в

0801 40; исходное состояние

0802 OUT 9D D3;

0803 9D;

0804 MVI A, 4E ЗЕ; Ввод слова режима в

0805 4E; аккумулятор

0806 OUT9D D3; Пересылка слова

08079D; режима в регистр

0808 MVI.A,04 3E; Ввод слова команды в

0809 04; аккумулятор

080А OUT9C D3; Пересылка слова

080В 9С; команды в регистр

080С END CF; Конец программы

Далее УСАПП программируется на считывание информации. Программа выглядит следующим образом:

080D IN 9С DB; Считывание переданного

080Е 9С; байта в аккумулятор

080С END CF; Конец программы

После того как УСАПП будет запрограммирован на прием и на считывание, на первой машине запускается программа на передачу. Индикаторы HL1 и HL6 синхронно моргают, сигнализируя о том, что информация передается и принимается. HL6 - на передатчике, HL1 -на приемнике.

Затем на приемнике просматриваем аккумулятор, там должен находиться переданный байт.

 

3. Содержание отчета.

1. Краткие сведения о последовательном интерфейсе.

2. Программы, схемы алгоритмов.

3. Выводы и пояснения.


Лабораторная работа № 7

 

ПРОГРАММИРУЕМЫЙ ИНТЕРВАЛЬНЫЙ ТАЙМЕР КР580ВИ53

Цель работы: изучение структуры и режимов работы программируемого интервального таймера КР580ВИ53.

 

1. Общие сведения.

Программируеммый интервальный таймер КР580ВИ53 предназначен для реализации таких распространенных управляющих функциймикроЭВМ, как формирование временных интервалов, подсчет числа внешних событий, генерации сигналов переменной частоты, и т. п.

В состав БИС КР580ВИ53 входят три независимых 16-разрядных счетчика, работающих на вычитание в двоичном или двоично-десятичном коде. Сигналы тактового генератора или подсчитываемые сигналы из ВУ подаются на вход счетчиков CLK0, CLK1, CLK2. Прием сигналов разрешается внешними управляющими сигналами GATE0, GATE1, GATE2 соответственно. Как только содержимое какого-либо счетчика становится равным нулю, вырабатывается один из выходных сигналов OUT0, OUT1 или OUT3, которые используются как запросы на прерывание.

Инициализация каждого счетчика производится записью управляющего слова в регистр приказа. При этом устанавливаются начальное значение счетчика и один из ниже следующих шести режимов его работы - условий формирования входного сигнала OUT.

Режим 0 - сигнал на выходеOUT формируется по окончании счета (программируемая задержка),

Режим 1 - программируемый одновибратор, т.е. формирование на выходе OUT сигнала длительностью N периодов сигнала CLK.

Режим 2 - генератор программируемой частоты, т. е. на выходе OUT формируется периодический сигнал с высоким уровнем в течении N-1 периодов сигнала CLK и с низким - в один период сигнала CLK.

Режим 3 - генератор прямоугольных импульсов со скважностью 2, т. е. на выходе OUT формируется сигнал высокого уровня в

течении — N+1 (N - четное) или (N+1)/2 (N - нечетное) периодов сигнала

CLK.

Режим 4 - формирование одиночного строба с программным запуском, т. е. на выходе OUT формируется одиночный сигнал длительностью в один период сигнала CLK. Начало счета инициируется загрузкой в счетчик N.

Режим 5 - формирование одиночного строба с программным запуском аналогично режиму 4, по начало счета инициируется фронтом сигнала GATE.

Обмен информацией между системным интерфейсом микроЭВМ и регистрами БИС осуществляется по шине данных D7-DO с помощью управляющих сигналов RW, WR, CS. При этом внутренние регистры БИС адресуются по линиям АО и А1.

Считывание содержимого любого счетчика для его последующего анализа осуществляется двумя способами.

Первый - реализуется обычными командами IN, в которых указывается порт, соответствующего счетчика. Считывание содержимого счетчика осуществляется в соответствии с операцией, указанной в разрядах 4-5 управляющего слова. Недостаток этого способа заключается в том, что на время считывания необходимо прекращать работу счетчика.

Второй - "считывание на ленту", не нарушает работы счетчика, но требует для своей реализации предварительной загрузки в регистр режима соответствующего управляющего слова.


Ре­жим Состояние входа GATE  
    Низкий уровень от­рицательный фронт Положительный фронт Высокий уровень
  Запрещает счет   Разрешает счет
    Инициирует счет сбрасывает OUT в следующем такте  
  Запрещает счет ус­танавливает OUT=1 Инициирует счет Разрешает счет
  Запрещает счет ус­танавливает OUT= 1 Инициирует счет Разрешает счет
  Запрещает счет   Разрешает счет
    Инициирует счет  

 

2. Порядок выполнения работы.

Для запуска таймера необходимо загрузить в регистр режима управляющее слово и дописать в него начальное значение n.Приработе с КР580ВИ53 используются следующие адреса:

- таймер 0 - 98;

- таймер 1 - 99;

- таймер 2 -9А;

- рус - 9В.

Для того, чтобы запрограммировать 0-ой счетчик на работу в режиме 0 с n=4, необходимо записать следующую программу:

0800 MVI А, 10; Запись управляющего слова в РУС

0802 OUT, 9B;

0804 MVI A, 04; Загрузить в таймер 0 начальное

0806 OUT 98; значение n

0808 KST1;

Для выполнения работы использовать карту параллельного интерфейса МИ - 1, (см. лабораторную работу №6) на которой:

SB1 - кнопка подачи входных импульсов;

HL5 - индикатор OUT;

HL3 - индикатор входных импульсов;

HL4 - индикатор сигнала GATE;

SA31 - включение сигналаGATE.

 

3. Задание на выполнение работы.

1. Режим 1, n=7;

2. Режим 2, n=ll;

3. Режим 3, n=5;

4. Режим 4, n=3;

 

4. Содержание отчета.

Отчет должен содержать:

1. Краткие характеристики, назначение и устройство программируемого интервального таймера.

2. Программа задания режима.

3. Графики работы таймера по программам.


Лабораторная работа № 8

 

ПРОГРАММИРУЕМЫЙ КОНТРОЛЛЕР ПРЯМОГО ДОСТУПА К ПАМЯТИ КР580ВТ57

Цель работы: изучение структуры и режимов работы программируемого контроллера прямого доступа к памяти КР580ВТ57.

Программируемый контроллер прямого доступа к памяти КР580ВТ57 предназначен для управления обменом данными между ВУ и основной памятью микроЭВМ в режиме прямого доступа к памяти (ПДП). Контроллер управляет процессом предоставления прямого доступа к памяти, формирует в процессе обмена последовательность адресов ячеек памяти и сигналы управления обменом.

В БИС КР580ВТ57 реализованы четыре независимых канала ПДП К0,..., K3. Управление работой каждого канала ПДП осуществляется с помощью двух 16-разрядных регистров: регистра начального адреса и регистра управления. В регистр начального адреса при программировании БИС заносится начальный адрес передаваемого массива данных. В 14 младших разрядах регистра управления размещается счетчик, в который заносится число на единицу меньше длины передаваемого массива данных, т. е. размер массива не может превышать 16Кбайт. 15-й и 14-й разряды регистра управления определяют тип операции обмена:

00 - контроль;

01 - запись в память;

10 - чтение из памяти;

11 - запрещенное состояние.

Связь контроллера с системным интерфейсоммикроЭВМ осуществляется по шине данных D7...DO через двунаправленный буфер шины данных. Запись информации в регистры начального адреса и управления каналов контроллера производится программным путем. Адресуются внутренние регистры контроллера по ли­ниям A3...АО.

Помимо указанных регистров в состав контроллера входят: регистр режима, определяющий общие функции контроллера, в т. ч. и приоритеты каналов ПДП; регистр состояния, отображающий состояние окончания счета (сигнал ТС), т. е. окончание передачи массива данных по соответствующим каналам ПДП.

Приоритеты входных запросов на предоставление прямого доступа устанавливаются программно записью информации в регистр приказов: либо фиксированные (DRQ0 - высший, DRQ3 -низший), либо циклические, т. е. последнему обслуженном



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-11-19 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: