Арифметические и логические инструкции

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

ADD A,7Fh

ADD A,@R0

ADD A,R7

ADD A,#127

Все арифметические инструкции выполняются за 1 машинный цикл за исключением команды INC DPTR, - требующей 2 машинных циклов, а также операций умножения и деления, выполняемых за 4 машинных цикла. Любой байт во внутренней памяти данных может быть инкрементирован и декрементирован без использования аккумулятора.

Инструкция MUL AB производит умножение данных в аккумуляторе на данные, находящиеся в регисте B, помещая поризведение в регистры A (младшая половина) и B (старшая половина).

Инструкция DIV AB делит содержимое аккумулятора на значение в регистре B, оставляяя остаток в B, а частное в аккумуляторе.

Инструкция DA A предназначена для двоично-десятичных арифметических операций. Она не делает преобразования двоичного числа в двоично-десятичное, а лишь обеспечивает правильный результат при сложении 2-х двоично-десятичных чисел.

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

ANL A,7Fh

ANL A,@R1

ANL A,R6

ANL A,#53h

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

Операции циклического сдвига (RL A, RLC A и т.д.) перемещают содержимое аккумулятора на 1 бит вправао или влево. В случае левого циклического сдвига младший бит перемещается в старшую позицию. В случае правого циклического сдвига происходит обратное.

Опреция SWAP A осуществляет обмен младшей и старшей тетрад в аккумуляторе.

Команды передачи данных.

Команда MOV dest,src позволяет пересылать данные между ячейками внутреннего ОЗУ или SFR без использования аккумулятора. При этом работа с верхней половиной внутреннего ОЗУ может осуществляться только в режиме косвенной адресации, а обращение к регистрам SFR - только в режиме прямой адресации.

Во всех микросхкмах MCS-51 стек размещается непосредственно в резидентной памяти данных и увеличивается вверх. Инструкция PUSH вначале увеличиват значение указателя стека SP, а затем записывает в стек байт данных. Команда PUSH и POP используются только в режиме прямой адресации, записывая или восстанавливая байт, но стек является всегда доступным при косвенной адресации чегез регистр SP. Таким образом, стек может использовать и верхние 128 байт памяти данных. Эти же соображения исключают возможность использования стековых команд для адресации регистров SFR.

Инструкции передачи данных включают в себя 16-битовую операцию пересылки MOV DPTR,#data16, которая используется для инициализации регистра указателя данных DPTR, при просмотре таблиц в программной памяти или для доступа к внешней памяти данных.

Операция XCH A,byte применяется для обмена данными между аккумулятором и адресуемым байтом. Команда XCHD A,@Ri аналогична предыдущей, но выполняется только для младших тетрад участвующих в обмене операндов.

Для доступа к внешней памяти данных используется только косвенная адресация. В случае однобайтных адресов используются регистры R0 или R1 текущего регистрового банка, а для 16-разрядных - регистр DPTR. При любом методе доступа в внешней памяти данных аккумулятор играет роль источники либо приемника информации.

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

MOVC A,@A+DPTR

MOVC A,@A+PC

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

Булевы операции.

Микросхемы MCS-51 содержат в своем составе “булевый” процессор. Внутреннее ОЗУ имеет 128 прямоадресуемых бит. Пространство SFR может также поддерживать до 128 битовых полей. Битовые инструкции осущесвляют условные переходы, пересылки, сброс, инверсии, операции “И”, “ИЛИ”. Все указанные биты доступны в режиме прямой адресации.

Бит переноса CF в PSW используется как 1-битный аккумулятор булевого процессора.

Инстукции переходов.

Адреса операций переходов обозначаются на языке ассемблера меткой либо реальным значением в пространстве памяти программ. Адреса условных переходов ассемблируются в в относительное смещение - знаковый байт, прибавляемый к программному счетчику PC в случае выполнения условия перехода. Границы таких переходов лежат в пределах между -128 и +127, относительно первого байта, следующего за инструкцией. В PSW отсутствует флажок нуля, поэтому инструкции JZ и JNZ проверяют условие “равно нулю” тестирование данных в аккумуляторе.

Существует три вида команды безусловного перехода: SJMP, LJMP, AJMP, различающиеся форматомадреса назначения. Инструкция SJMP кодирует адрес как относительное смещение, и занимает 2 байта. Дальность перехода ограничена диапазоном от -128 до +127 байт относительно инструкции, следующей за SJMP. В инструкции LJMP используется адрес назначения в виде 16-битной константы. Длина команды составляет 3 байта. Адрес назначения может располагаться в любом месте памяти программ. Команда AJMP использует 11-битную константу адреса. Команда состоит из 2-х байт. При выполнении этой инструкции младшие 11 бит адресного счетчика замещаются 11-битным адресом из команды. 5 старших бит PC остаются неизменными. Т.о., переход может производиться внутри 2К-байтного блока, в котором располагается инструкция, следующая за командой AJMP.

Существует два вида команды вызовы подпрограммы: LCALL и ACALL. Инструкция LCALL использует 16-битный адрес вызываемой подпрограммы. В данном случае подпрограмма может быть расположена в любом месте памяти программ. Инструкция ACALL использует 11-битный адрес подпрограммы. В этом случае вызываемая подпрограмма должна быть расположена в одном 2К-байтном блоке с инструкцией, следующей за ACALL. Оба варианта команды кладут на стек адрес следующей команды и загружают в PC соответствующее новое значение.

Подпрограмма завершается инструкцией RET, позволяющей вернуться на инструкцию, следующую за командой CALL. Эта инструкция снимает со стека адрес возврата и загружает его в PC. Инструкция RETI используется для возврата из подпрограмм обработки прерываний. Единственное отличие RETI от RET состоит в том, чтоRETI информирует систему о том, что обработка прерывания завершилась. Если в момент выполнения RETI нет других прерываний, то она идентична RET.

Инструкция DJNZ предназначена для управления циклами. Для выполнения цикла N раз надо загрузить в счетчик байт со значением N и закрыть тело цикла командой DJNZ, указывающей на начало цикла.

Команда CJNE сравнивает два своих операнда как беззнаковые целые и производит переход по указанному в ней адресе, если сравниваемые операнды не равны. Если первый операнд меньше, чем второй, то бит переноса CF устанавливается в “1”.

Все команды в ассемблированном виде занимают 1, 2 или3 байта. Структура кода команды может иметь один из следующих видов:

  Арифметические и логические инструкции - student2.ru Арифметические и логические инструкции - student2.ru Арифметические и логические инструкции - student2.ru
КОП    
КОП #data8  
КОП adr8  
КОП bitadr  
КОП reladr  
Арифметические и логические инструкции - student2.ru КОП Арифметические и логические инструкции - student2.ru  
КОП adr8 #data8
КОП adr8 reladr
КОП adr8s adr8d
КОП #data8 reladr
КОП bitadr reladr
КОП adr16h adr16l
КОП #data16h #data16l

Лекция № 10

“Порты ввода-вывода. Параллельный интерфейс.”

Порты ввода-вывода предназначены для обмена логической информацией между процессором и периферийными устройствами. Они могут быть однонаправленными (т.е. осуществлять обмен информацией в одну сторону) или двунаправленными. Большинство микроконтроллеров семейства MCS-51 имеют четыре 8-битных квази-двунаправленных порта ввода-вывода P0-P4. Они называются квазидвунаправленными потому, что каждый бит данных портов может индивидуально быть настроен на работу как на ввод так и на вывод информации. Со стороны процессора эти порты представляются в виде соответствующих регистров специальных функций P0-P3. В эти регистры процессор может записывать выходную информацию порта либо считывать из них входные данные. Данные регистры могут адресоваться как побайтно, так и побитно, что облегчает манипуляцию информацией на отдельных выводах портов.

Помимо работы в качестве обычных портов ввода-вывода, линии портов могут выполнять ряд альтернативных функций:

Вывод порта Альтернативная функция
P0.0/AD0-P0.7/AD7 Мультиплексная шина адреса-данных для доступа к внешней памяти
P1.0/T2 Внешний счетный вход-выход таймера T2
P1.1/T2EX Управляющий ввод таймера T2
P1.2/ECI Внешний счетный вход массива PCA
P1.3/CEX0 Вход-выход модуля PCA0
P1.4/CEX1 Вход-выход модуля PCA1
P1.5/CEX2 Вход-выход модуля PCA2
P1.6/CEX3 Вход-выход модуля PCA3
P1.7/CEX4 Вход-выход модуля PCA4
P2.0/A8-P2.7/A15 Старший байт шины адреса для доступа к внешней памяти
P3.0/RXD Вход последовательного порта
P3.1/TXD Выход последовательного порта
P3.2/ Арифметические и логические инструкции - student2.ru Арифметические и логические инструкции - student2.ru Внешний вход запроса прерывания 0
P3.3/ Арифметические и логические инструкции - student2.ru Внешний вход запроса прерывания 1
P3.4/T0 Внешний счетный вход таймера 0
P3.5/T1 Внешний счетный вход таймера 1
P3.6/ Арифметические и логические инструкции - student2.ru Строб записи во внешнюю память данных
P3.7/ Арифметические и логические инструкции - student2.ru Строб чтения во внешнюю память данных

Внутренняя структура портов ввода-вывода микроконтроллера имеет вид.

Арифметические и логические инструкции - student2.ru

Арифметические и логические инструкции - student2.ru

Арифметические и логические инструкции - student2.ru

Выходная информация порта фиксируется в триггере-защелке при записи в него соответствующего значения по внутренней шине данных. Входная информация порта интерпретируется либо как содержимое триггера-защелки порта, либо как состояние на соответствующем выводе микросхемы в зависимости от типа используемой команды. Выходные цепи портов P0 и P2 переключаются либо выход своего тригера-защелки либо на внутреннюю шину адреса и данных в зависимости от текущего режима работы. Во время доступа к внешней памяти содержимое тригеров-защелок порта P2 не изменяется, а тригеры-защелки порта P0 устанавливаются в 1. Выводы портов P1, P2, P3 имеют внутренние резисторы-подпорки. Выводы порта P0 имеют выходы с открытым стоком. Если требуется использование выводов этого порта в качестве выходов, то необходимы внешние резисторы подпорки на соответствующие выводы. Для того чтобы отдельные выводы порта могли использоваться как входы либо выполнять альтернативные функции, в их триггеры защелки должна быть записана 1. После системного сброса триггеры всех выводов всех портов содержат 1, т.е. все выводы портов настроены на работу в качестве входов либо на выполнение альтернативных функций. Если выполняемая команда записывает новое значение в порт, т.е. изменяет содержимое внутреннего триггера-защелки, новое значение поступает на вход триггера-защелки в фазе S6P2 последнего цикла инструкции. Однако новая информация действительно появится на выходе порта лишь в фазе S1P1 следующего машинного цикла. Входные данные, считываемые с выводов портов фиксируются в моменты S5P1 каждого машинного цикла.

Различные инструкции, осуществляющие чтение порта по разному выполняют эту операцию. Некоторые инструкции считывают информацию с соответствующих выводов портов. К ним относятся команды:

MOV A,Pj (j=0-3) ;

MOV Rn,Pj ;

MOV @Ri,Pj ;

MOV C,portbitadr.

Например инструкция MOV A,P3 записывает в аккумулятор информацию, находящуюся на выводах порта P3. Однако, некоторые инструкции, такие как: ANL Pj,source ;

ORL Pj,source ;

XRL Pj,source ;

JBC portbitadr,addr ;

CPL portbitadr ;

INC Pj ;

DEC Pj ;

DJNZ Pj,addr ;

MOV portbitadr,C ;

CLR portbitadr ;

SETB portbitadr

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

Выводы портов могут быть различным образом подключены к управляющим (или управляемым) устройствам. Входные линии портов могут управляться непосредственно от ТТЛ или КМОП или других устройств, уровни выходных сигналов которых соответствуют входным уровням линий портов. В случаях, когда необходимо подключить выходы нескольких устройств к одной линии порта, они могут быть объединены в т.н. “шину с открытым коллектором”. В качестве выходных элементов таких устройств могут использоваться транзисторы, компараторы или логические элементы с открытым коллекторным выходом.

Арифметические и логические инструкции - student2.ru

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

Арифметические и логические инструкции - student2.ru

Если требуемый уровень выходных коммутируемых сигналов не соответствует ТТЛ уровню, то вывод порта должен быть подключен к нагрузке через согласовывающий ключ.

Арифметические и логические инструкции - student2.ru

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

Арифметические и логические инструкции - student2.ru

Арифметические и логические инструкции - student2.ru

В случае, когда внутренних портов ввода-вывода микроконтроллера недостаточно для организации полного взаимодействия в системе, приходится использовать внешние порты ввода-вывода. Примером такого устройства может служить микросхема программируемого периферийного адаптера КР580ВВ55.

Арифметические и логические инструкции - student2.ru

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

В состав микросхемы входят три двунаправленных 8-разрядных порта, разбитых на две группы, два устройства управления группами портов и интерфейсная логика для согласования с системной магистралью. Схема управления содержит регистр управляющего слова CW, который доступен только для записи по системной магистрали.

Обмен информацией между процессором и внутренними регистрами микросхемы обеспечивается ее подключением к магистрали микропроцессора и управляется сигналами Арифметические и логические инструкции - student2.ru , A0, A1, Арифметические и логические инструкции - student2.ru , Арифметические и логические инструкции - student2.ru в соответствии с требованиями к шине Microbus. Адресные сигналы выбирают один из внутренних регистров, а стробы Арифметические и логические инструкции - student2.ru и Арифметические и логические инструкции - student2.ru управляют направлением передачи. Сигнал Арифметические и логические инструкции - student2.ru необходим для выбора кристалла.

A1 A0 Арифметические и логические инструкции - student2.ru Арифметические и логические инструкции - student2.ru Арифметические и логические инструкции - student2.ru Операция
D Арифметические и логические инструкции - student2.ru Порт A Арифметические и логические инструкции - student2.ru
D Арифметические и логические инструкции - student2.ru Порт B Арифметические и логические инструкции - student2.ru
D Арифметические и логические инструкции - student2.ru Порт C Арифметические и логические инструкции - student2.ru
Недопустимо
Порт A Арифметические и логические инструкции - student2.ru D Арифметические и логические инструкции - student2.ru
Порт B Арифметические и логические инструкции - student2.ru D Арифметические и логические инструкции - student2.ru
Порт C Арифметические и логические инструкции - student2.ru D Арифметические и логические инструкции - student2.ru
Управление Арифметические и логические инструкции - student2.ru D Арифметические и логические инструкции - student2.ru
X X Нет операции
X X X X Нет операции

Вход RESET служит для аппаратного сброса микросхемы в исходное состояние. При этом все внутренние регистры микросхемы устанавливаются в нулевое состояние. Сброс CW соответствует переводу всех портов в режим прямого ввода без квитирования.

Дальнейшая настройка выполняется программно с помощью специального управляющего слова MS (Mode Select), которое назначает режим работы каждому каналу. Эти режимы могут быть изменены в любое время. Для хранения MS используется регистр CW.

Регистр управляющего слова 7-разрядный. Запись в него осуществляется только при передаче управляющего слова с D7=1 (признак слова MS), которое определяет режим работы каждого канала ввода-вывода в соответствии со следующим форматом:

D7 D6 D5 D4 D3 D2 D1 D0
  Управление группой A Управление группой B
Режим PA7-PA0: 00 - режим 0 01 - режим 1 1x - режим 2 PA7-PA0 1 - ввод 0 - вывод PC7-PC4 1 - ввод 0 - вывод Режим PB7-PB0: 0 - режим 0 1 - режим 1 PB7-PB0 1 - ввод 0 - вывод PC3-PC0 1 - ввод 0 - вывод

При записи нового управляющего слова все буферные регистры портов устанавливаются в 0.

При D7=0 управляющее слово применяется для независимой установки (сброса) разрядов выходного порта C и носит название BST (Bit Set/Reset). Формат управляющего слова BST имеет вид:

D7 D6 D5 D4 D3 D2 D1 D0
Не используются Номер бита 1/0

Микросхема поддерживает три режима работы портов:

- режим 0 - однонаправленный ввод-вывод без квитирования (применим к любому из трех портов);

- режим 1 - однонаправленный ввод-вывод с квитированием (применим к портам A и B);

- режим 2 - двунаправленный ввод-вывод с квитированием (допустим только для порта A).

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

Режим 1 обеспечивает организацию однонаправленного ввода-вывода с квитированием через порты A и B. Входные и выходные данные фиксируются во внутренних регистрах микросхемы. Управление вводом осуществляется сигналами:

- Арифметические и логические инструкции - student2.ru (Strobe) - Строб записи данных во входной регистр защелку. Загрузка данных осуществляется по фронту Арифметические и логические инструкции - student2.ru ;

- IBF (Input Buffer Full) - Подтверждение загрузки данных. Сигнал устанавливается по срезу Арифметические и логические инструкции - student2.ru и сбрасывается по фронту Арифметические и логические инструкции - student2.ru ;

- INT (Interrupt) - Запрос на прерывание. Сигнал устанавливается по фронту Арифметические и логические инструкции - student2.ru и сбрасывается по срезу Арифметические и логические инструкции - student2.ru . Используется для организации ввода по прерываниям.

Другой набор сигналов управления применяется при выводе данных:

- Арифметические и логические инструкции - student2.ru (Output Buffer Full) - Строб вывода данных. Низкий уровень сигнала информирует о выводе новых данных. Сигнал устанавливается по фронту Арифметические и логические инструкции - student2.ru и сбрасывается по срезу Арифметические и логические инструкции - student2.ru ;

- Арифметические и логические инструкции - student2.ru (Acknowledge) - Подтверждение приема выходных данных со стороны внешнего устройства. Низкий уровень сигнала сообщает микросхеме о том, что данные приняты;

- INT (Inerrupt) - Запрос на прерывание. Сигнал устанавливается по фронту Арифметические и логические инструкции - student2.ru и сбрасывается по срезу Арифметические и логические инструкции - student2.ru . Используется для организации вывода по прерываниям.

Временная диаграмма ввода данных имеет вид

Арифметические и логические инструкции - student2.ru

Временная диаграмма вывода данных имеет вид

Арифметические и логические инструкции - student2.ru

Для генерации вышеуказанных сигналов управления применяются отдельные линии порта C.

  Ввод Вывод
PA PC3 - INT PC4 - Арифметические и логические инструкции - student2.ru PC5 - IBF PC6 - I/O PC7 - I/O PC3 - INT PC4 - I/O PC5 - I/O PC6 - Арифметические и логические инструкции - student2.ru PC7 - Арифметические и логические инструкции - student2.ru
PB PC0 - INT PC1 - IBF PC2 - Арифметические и логические инструкции - student2.ru PC0 - INT PC1 - Арифметические и логические инструкции - student2.ru PC2 - Арифметические и логические инструкции - student2.ru

Свободная от управления часть порта C может выполнять свою стандартную функцию ввода-вывода в режиме 0.

Для управления обменом в режиме 1 со стороны процессора предусмотрен программный доступ к линиям INT, IBF, Арифметические и логические инструкции - student2.ru . Доступ организован через операцию чтения порта C. При этом отдельные разряды считанных данных интерпретируются следующим образом. Они составляют слово состояния адаптера SW.

  Ввод Вывод
PA D3 - INT D4 - INTE D5 - IBF D6 - I/O D7 - I/O D3 - INT D4 - I/O D5 - I/O D6 - INTE D7 - Арифметические и логические инструкции - student2.ru
PB D0 - INT D1 - IBF D2 - INTE D0 - INT D1 - Арифметические и логические инструкции - student2.ru D2 - INTE

В состав SW входят флажки разрешения прерывания INTE, управление состоянием которых может быть выполнено с помощью команды BSR с соответствующим параметром. Генерация запроса на прерывание INT и установка одноименного флажка в SW возможна только при установленном флажке INTE.

В режиме 2 (возможном только для порта A) организуется двунаправленный ввод-вывод с квитированием. В данном режиме линии порта A выполняют роль двунаправленной трехстабильной шины, управляемой сигналами Арифметические и логические инструкции - student2.ru , IBF, Арифметические и логические инструкции - student2.ru , Арифметические и логические инструкции - student2.ru и INT. Правила их формирования тождественны правилам режима 1. В соответствии с состоянием IBF и Арифметические и логические инструкции - student2.ru внешнее устройство либо генерирует очередные данные, сопровождая их стробом Арифметические и логические инструкции - student2.ru , либо формирует сигнал подтверждения приема Арифметические и логические инструкции - student2.ru , готовясь к приему данных. Низкий уровень напряжения сигнала Арифметические и логические инструкции - student2.ru открывает выходные буферы порта A, разрешая выдачу данных на шину. В остальных случаях шина PA находится в высокоимпедансном состоянии. Сигнал INT используется для организации ввода-вывода по прерываниям. При получении очередного запроса на прерывание процессор читает слово состояния SW и по флажкам IBF и Арифметические и логические инструкции - student2.ru уточняет статус порта A, выполняя ввод или вывод очередных данных.

D3 INT
D4 INTE (ввод)
D5 IBF
D6 INTE (вывод)
D7 Арифметические и логические инструкции - student2.ru

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

Порты A, B и C (обе его половины) для работы в том или ином режиме программируются независимо друг от друга.

Для унификации способов соединения периферийных устройств были разработаны стандарты параллельных интерфейсов. Один из них, стандарт BS 4421 (разработан Британским комитетом по стандартизации промышленных средств обработки информации в 1969 г.) в нашей стране известен как интерфейс радиальный параллельный (ИРПР). Базовый вариант интерфейса предусматривает одностороннюю асинхронную передачу информации по параллельной 16/8-разрядной шине от источника к приемнику на расстояние до 15 м. Передача байта данных сопровождается двумя управляющими сигналами AC (Acceptance Control) или запрос приемника (ЗП) и управление источника SC (Source Control) или строб источника (СТР). Данные на шине истинны, когда AC=1 и SC=1. Однако циклы передачи данных могут начинаться и выполняться только при условии, что сигналы готовности приемника A0 (ГП) и источника S0 (ГИ) активны. В состав интерфейса входят ряд необязательных вспомогательных линий.

Скорость передачи данных не регламентирована и зависит от быстродействия обеих сторон. Уровни активности сигналов зависят от конкретной модификации интерфейса.

Арифметические и логические инструкции - student2.ru

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

Модифицированный интерфейс ИРПР (ИРПР-М), международным аналогом которого является интерфейс Centronics, широко применяется в настоящее время для подключения печатающих устройств к компьютеру. Процесс передачи данных по этому интерфейсу сопровождается двумя основными управляющими сигналами: строб источника Арифметические и логические инструкции - student2.ru (СТР) и подтверждение приемника Арифметические и логические инструкции - student2.ru (ПТВ). Основное отличие этого интерфейса от ИРПР заключается в том, что указанные сигналы являются импульсными, а не потенциальными. Перед началом передачи источник анализирует состояние сигнала занятости приемника BUSY (ЗАН). При пассивном уровне этого сигнала источник выставляет данные на свою внешнюю шину и формирует импульс сигнала Арифметические и логические инструкции - student2.ru (СТР), длительностью около 0.5 мкс. Обнаружив активный уровень сигнала Арифметические и логические инструкции - student2.ru , приемник выставляет сигнал занятости BUSY (ЗАН) и принимает данные по заднему фронту сигнала Арифметические и логические инструкции - student2.ru (СТР). После приема данных приемник формирует импульс подтверждения приема данных Арифметические и логические инструкции - student2.ru (ПТВ) длительностью 2.5-5 мкс. По заднему фронту сигнала подтверждения приемник снимает сигнал занятости BUSY (ЗАН), после чего источник может снова передавать данные.

Арифметические и логические инструкции - student2.ru

В состав интерфейса входит ряд вспомогательных сигналов, таких как:

- Сброс Арифметические и логические инструкции - student2.ru (СБР);

- Выбор Арифметические и логические инструкции - student2.ru (ВЫБОР);

- Ошибка Арифметические и логические инструкции - student2.ru (ОШ);

- Конец бумаги Арифметические и логические инструкции - student2.ru (КБМ);

- Автоматический перевод строки Арифметические и логические инструкции - student2.ru (АПС);

- Готовность приемника SLCT (ГП).

Подобный интерфейс также легко реализуется с помощью микросхемы КР580ВВ55. Необходимо лишь добавить одновибраторы на выходы строба Арифметические и логические инструкции - student2.ru и подтверждения приема IBF.

Для реализации интерфейса применяется 25-контактный разъем следующей конфигурации:

Арифметические и логические инструкции - student2.ru BUSY GND
D0 Арифметические и логические инструкции - student2.ru GND
D1 SLCT GND
D2 Арифметические и логические инструкции - student2.ru GND
D3 Арифметические и логические инструкции - student2.ru GND
D4 Арифметические и логические инструкции - student2.ru    
D5 Арифметические и логические инструкции - student2.ru    
D6 GND    
D7 GND    
Арифметические и логические инструкции - student2.ru GND    

Длина кабеля не более 1.8 м.

Наши рекомендации