Ikea73.ru

IKEA Стиль
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Исключающее или с выключателями

Исключающее или с выключателями

Основные параметры микросхем типа ЛП приведены в табл. 2.10.

Логический элемент «исключающее ИЛИ» применяется как сумматор по модулю 2 или используется для задержки импульсов. Такой элемент включают как фазовый компаратор. С помощью элементов «исключающее ИЛИ» можно проектировать генераторы строго сфазированных многофазных последовательностей.

На практике наиболее часто используют двухвходовые элементы «исключающее ИЛИ» — это микросхемы ЛП5 и ЛП12, содержащие по четыре таких элемента, причем ЛП12 содержит элементы с открытым коллекторным выходом.

Условное обозначение и таблица состояний элемента «Исключающее ИЛИ»

ВходВыход
ABQ
11
11
11

Выходной сигнал элемента соответствует логическому уравнению Q = А xor В = НЕ(В)A + НЕ(A)В где xor — обозначение суммирования по модулю 2. Нижняя и верхняя строки таблицы отображают эквивалентность входных уровней, т. е. А = В = О и А = В = 1. Когда А = В = О, выходной сигнал Q=0 (так называемый тривиальный нуль). Если А = B= 1, выходной сигнал Q=0.

Если к рассмотренному элементу «исключающее ИЛИ» добавить двухвходовый элемент И, являющийся формирователем единицы старшего разряда (генератором переноса, он образует выход С), то получится двухразрядный полусумматор (рис. 2.26).

Рис. 2.27. Схема полусумматора.

Так при А = В = 1 результат Q = 0 (младший разряд суммы), а C = 1 (старший разряд). В итоге на обоих выходах полусумматора появляется двухразрядное двоичное выходное число: A + B = 1 + 1 = 10, его десятичный эквивалент 1 + 1 = 2.

Рис. 2.27. Условное обозначение и цоколевка микросхем ЛП5 и ЛП12.

Иногда появляется необходимость получить элемент «исключающее ИЛИ» из отдельных стандартных логических элементов. На рис. 2.28 приведены схемы таких устройств без инверсии и с инверсией.

Рис. 2.28. Варианты схем «исключающее ИЛИ» из простейших логических элементов

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

Рис. 2.29. Многовходовые элементы «исключающее ИЛИ»

Микросхемы ЛП4, ЛП9 аналогичные микросхеме ЛН4, состоят из шести буферных элементов без инверсии с открытыми коллекторами (см. рис. 2.17). Кроме того, ЛП9 допускает подключение к источнику повышенного напряжения. Цоколевка микросхем аналогична цоколевке микросхемы ЛН4.

Микросхема ЛП7 представляет собой два логических элемента И-НЕ с общим входом разрешения /EI и двумя мощными транзисторами. Цоколевка микросхемы ЛП7 приведена на рис. 2.30.а.

Рис. 2.30.a. Условное обозначение и цоколевка микросхемы ЛП7

Цоколевка, условное обозначение ЛП1 на рис. 2.30,б, а состояния одного элемента из микросхемы ЛП1 — в табл. 2.13.

Рис. 2.30.a. Условное обозначение и цоколевка микросхемы ЛП1.
Нарисован один элемент ЛП1, цоколовека второго элемента приведена в скобках.

Таблица 2.13. Таблица состояний элемента микросхемы ЛП1

ВходыВыходы
I1(I5)I2(I4)Y1(Y2)/Y1(/Y2)
Y/Y
11
11
11Y/Y

Примечание: При подаче на оба входа синфазного сигнала происходит хранение информации.

Микросхемы ЛП8, ЛП10, ЛП11 представляют собой буферные элементы с тремя состояниями на выходе. ЛП8 содержит четыре буферных элемента с общим выводом /ЕIO для входа и выхода каждого из элементов. При подаче напряжения высокого уровня В на вход /ЕIO действие входа I инвертора запрещается, а выход переходит в состояние Z. Цоколевка микросхемы ЛП8, а также принципиальная схема одного канала приведены на рис. 2.31, управляющие сигналы для одного канала в табл. 2.14.

Читайте так же:
Автоматические выключатели под дин рейку

Рис. 2.30.a. Принципиальная схема элемента микросхемы ЛП8

Таблица 2.14. Условное обозначение, цоколевка и таблица состояний элемента микросхемы ЛП8

ВходыВыход
/EIOIY
11
1Z
11Z

Микросхемы ЛП10 и ЛП11 содержат по шесть буферных элементов с тремя состояниями на выходе. Причем ЛП11 имеет раздельные входы разрешения /EO1 и /ЕО2. При подаче напряжения высокого уровня -В на вход /ЕО2 размыкаются выходы Y5 и Y6; при /EO1 -В соответственно YI. Y4. ЛП10 отличается от ЛН6 тем, что буферные элементы неинвертирующие, а логика управления И-НЕ для входов разрешения /EO1 и /ЕО2 у них одинакова. Цоколевки микросхем ЛП10 и ЛП11 приведены на рис. 2.32, а состояния элемента в табл. 2.15.

Рис. 2.32. Условные обозначения и цоколевки микросхем ЛП10 и ЛП11.

Таблица 2.15. Состояния элемента ЛП10.

ВходыВыход
/E01/E02IY
11
X1XZ
1XXZ

Микросхема ЛП3 представляет собой три логических элемента мажоритарной логики 2 из 3. При подаче на любые два входа из трех напряжения высокого уровня В на выходе ИС устанавливается напряжение низкого уровня — Н. Цоколевка микросхемы и условное графическое обозначение приведены на рис. 2.33. Для 1533ЛП3 цоколевка, структура микросхемы приведены на рис. 2.33.б, а состояния элементов приведены в табл. 2.16, 2.17 соответственно.

Рис. 2.33. Микросхема ЛП3: а — условное обозначение;
б — структура и цоколевка микросхемы 1533ЛП3.

Поразрядные операторы И, ИЛИ, исключающее ИЛИ и НЕ

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

С точки зрения наиболее распространенного применения поразрядную операцию И можно рассматривать как способ подавления отдельных двоичных разрядов. Это означает, что если какой-нибудь бит в любом из операндов равен 0, то соответствующий бит результата будет сброшен в 0. Например:

В приведенном ниже примере программы демонстрируется применение поразрядного оператора & для преобразования нечетных чисел в четные. Для этой цели достаточно сбросить младший разряд числа. Например, число 9 имеет следующий двоичный вид: 0000 1001. Если сбросить младший разряд этого числа, то оно станет числом 8, а в двоичной форме — 0000 1000.

Результат выполнения этой программы приведен ниже.

Шестнадцатеричное значение 0xFFFE , используемое в поразрядном операторе И, имеет следующую двоичную форму: 1111 1111 1111 1110. Таким образом, поразрядная операция И оставляет без изменения все двоичные разряды в числовом значении переменной num , кроме младшего разряда, который сбрасывается в нуль. В итоге четные числа не претерпевают никаких изменений, а нечетные уменьшаются на 1 и становятся четными.

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

Вот как выглядит результат выполнения этой программы.

11 — нечетное число.

В обоих операторах if из приведенной выше программы выполняется поразрядная операция И над числовыми значениями переменной num и 1. Если младший двоичный разряд числового значения переменной num установлен, т.е. содержит двоичную 1, то результат поразрядной операции num & 1 оказывается равным 1. В противном случае он равен нулю. Поэтому оператор if может быть выполнен успешно лишь в том случае, если проверяемое число оказывается нечетным.

Читайте так же:
Беспроводной пульт дистанционного управления розетка выключатель розетка

Возможностью проверять состояние отдельных двоичных разрядов с помощью поразрядного оператора & можно воспользоваться для написания программы, в которой отдельные двоичные разряды проверяемого значения типа byte приводятся в двоичной форме. Ниже показан один из способов написания такой программы.

Выполнение этой программы дает следующий результат.

В цикле for из приведенной выше программы каждый бит значения переменной val проверяется с помощью поразрядного оператора И, чтобы выяснить, установлен ли этот бит или сброшен. Если он установлен, то выводится цифра 1, а если сброшен, то выводится цифра 0.

Поразрядный оператор ИЛИ может быть использован для установки отдельных двоичных разрядов. Если в 1 установлен какой-нибудь бит в любом из операндов этого оператора, то в 1 будет установлен и соответствующий бит в другом операнде. Например:

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

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

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

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

У поразрядного оператора исключающее ИЛИ имеется одно интересное свойство, которое оказывается полезным в самых разных ситуациях. Так, если выполнить сначала поразрядную операцию исключающее ИЛИ одного значения X с другим значением Y , а затем такую же операцию над результатом предыдущей операции и значением Y , то вновь получится первоначальное значение X . Это означает, что в приведенном ниже фрагменте кода

значение переменной R2 оказывается в итоге таким же, как и значение переменной X . Следовательно, в результате двух последовательно выполняемых поразрядных операций исключающее ИЛИ , в которых используется одно и то же значение, получается первоначальное значение. Этим свойством данной операции можно воспользоваться для написания простой программы шифрования, в которой некоторое целое значение служит в качестве ключа для кодирования и декодирования сообщения с помощью операции исключающее ИЛИ над символами этого сообщения. В первый раз операция исключающее ИЛИ выполняется для кодирования открытого текста в зашифрованный, а второй раз — для декодирования зашифрованного текста в открытый. Разумеется, такое шифрование не представляет никакой практической ценности, поскольку оно может быть легко разгадано. Тем не менее оно служит интересным примером для демонстрации результатов применения поразрядных операторов исключающее ИЛИ , как в приведенной ниже программе.

Читайте так же:
Выключатель путевой впк 2110б у2 660в

Ниже приведен результат выполнения этой программы.

Как видите, в результате выполнения двух последовательностей поразрядных операций исключающее ИЛИ получается расшифрованное сообщение. (Еще раз напомним, что такое шифрование не имеет никакой практической ценности, поскольку оно, в сущности, ненадежно.)

Поразрядный унарный оператор НЕ (или оператор дополнения до 1) изменяет на обратное состояние всех двоичных разрядов операнда. Так, если некоторое целое значение А имеет комбинацию двоичных разрядов 1001 0110 , то в результате поразрядной операции

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

В следующем примере программы демонстрируется применение поразрядного оператора НЕ с выводом некоторого числа и его дополнения до 1 в двоичном коде.

Пример решения задачи XOR — исключающего ИЛИ

Часто, для того чтобы продемонстрировать ограниченные возможности однослойных персептронов при решении задач прибегают к рассмотрению так называемой проблемы XOR – исключающего ИЛИ.

Суть задачи заключаются в следующем. Дана логическая функция XOR – исключающее ИЛИ. Это функция от двух аргументов, каждый из которых может быть нулем или единицей. Она принимает значение 1, когда один из аргументов равен единице, но не оба, иначе 0. Проблему можно проиллюстрировать с помощью однослойной однонейронной системы с двумя входами, показанной на рисунке ниже.

Однонейронная система

Обозначим один вход через x_<1 data-lazy-src=

Проблема XOR -исключающего ИЛИ

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

Двухслойная нейронная сеть

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

Функция активации. Единичный скачок

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

ТочкиЗначение x_<1 data-lazy-src=OUT_<1 data-lazy-src=