Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Исследование принципов работы различных типов триггеров



 

Цель работы: Ознакомление с различными типами триггеров. Построение различных типов триггеров на логических элементах и других универсальных триггерах и их исследование.

 

Теоретическая часть

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

В общем виде триггер может содержать следующие входы и выходы:

Триггер имеет два выхода: прямой, обозначаемый Q и инверсный, обозначаемый как Q. Состояние триггера определяется по прямому вы­ходу. Триггер находится в состоянии «1» если на прямом выходе уро­вень логической единицы и в состоянии «0» если на прямом выходе уровень логического нуля. Состояние выходов всегда противоположно: (Q=1 Q=0) и (Q=0 Q=1). Запрещенной комбинацией является Q =Q. В этом случае состояние триггера не определено.

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

1. RS-триггеры с раздельной установкой в 1 и 0.

2. D-триггеры (другие названия - триггер задержки, триггер данных)

3. Универсальные JK-триггера 4 Т-триггера (счетные триггеры)

Важным методом, используемым для описания функционирования RS- триггера, является метод таблиц состояний (таблиц переходов). Таблица состояний (рис. 3.3.а) RS-триггера в сокращенной форме (эту таблицу называют также управляющей таблицей, таблицей функционирования) содержит два входных сигнала (сигналы R и S) и один выходной сигнал Q (функция). Хотя триггеры имеют два выхода - один прямой Q, а другой - инверсный `Q, в описании триггера и в таблице состояний указывают лишь состояние прямого выхода Q.

Из таблицы состояний триггера видно, что при подаче на вход R уровня лог. «1» триггер принимает состояние логического «0», а при подаче управляющего сигнала «1» на вход S - состояние «1». Следует отметить также, что если до подачи управляющего сигнала, например, на вход R, триггер находился в состоянии логического «0», его состояние не изменится и после подачи сигнала «1» на вход R. Если на обоих входах триггера имеются уровни логического «0»- это состояние соответствует режиму хранения и триггер сохраняет предыдущее состояние. В таблице это состояние обозначено условно Q0. При подаче на входы R и S одновременно уровня «1» триггер будет находиться в неопределенном (или неправильном) состоянии, поэтому такое сочетание сигналов R и S называется запрещенной комбинацией управляющих сигналов и в таблице состояний обозначается буквой a.

Сокращенная таблица состояний триггера отражает лишь динамику изменения состояния триггера и не учитывает свойство триггера запоминать единицу информации. Полная таблица состояний триггера должна учитывать влияние (на процесс управления) значения предыдущего состояния триггера Q0. Причем Q0 представляется как входная переменная. Полная таблица состояний RS -триггера приведена на рис. 1, б.

Таблицу состояний строят так же, как и таблицу истинности.

Анализ таблицы показывает, что только в ситуациях, описываемых строками 4 и 5, происходит изменение состояния триггера.

Здесь Q’’ – состояние триггера до поступления управляющего сигнала;

Q – состояние триггера после поступления управляющего сигнала;

α – неопределенное состояние триггера, соответствующее запрещенным комбинациям входных (управляющих) переменных.

Рис. 1. RS - триггер: а) - упрощенная таблица состояний; б) полная таблица переходов;

в) Карта Карно; г) RS - триггер, управляемый сигналом низкого уровня (RS триггер); д) RS - триггер на элементах базиса ИЛИ-НЕ

 

Рассмотрим строку 4. После того, как подается сигнал на вход R, триггер сбрасывается, т.е. переходит из состояния “1” в состояние “0”.

Рассмотрим строку 5. Триггер устанавливается, т.е. переходит из состояния “0” в состояние “1”, в результате подачи сигнала “1” на вход S. Для строк 1 и 2 сигналы S =01* и R=0, и, следовательно, никаких изменений в состоянии триггера не происходит. Для строки 3 сигнал R=1, и этот сигнал в нормальных условиях должен сбросить триггер, но так как триггер уже “сброшен” и Q = 0, то сигнал R = 1 не изменяет его состояние.

Аналогично для строки 6 сигнал S = 1, и этот сигнал в обычных условиях будет устанавливать триггер в “1”, но Q = 1, и, следовательно, состояние триггера останется без изменений до поступления следующего сигнала R.

Особенность RS-триггера заключается в том, что при подаче одновременно на входы R и S сигнала, соответствующего логической 1, состояние триггера становится неопределенным: на обоих выходах Q и `Q установится уровень “1”, а после снятия со входов управляющих сигналов, в силу случайных причин, триггер может установиться в состояние “0” либо “1”. Очевидно, что для нормальной работы триггера необходимо исключить указанное сочетание входных сигналов, приводящее к неопределенному состоянию, что можно осуществить, предусмотрев выполнения запрещающего условия R × S=0.

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

Для получения упрощенного аналитического выражения, описывающего поведение RS-триггера, построим карту Карно и проведем соответствующие контуры (рис. 1, в). Полученное характеристическое уравнение триггера имеет вид

Применив закон де Моргана преобразуем полученные выражение в базис И-НЕ:

Схема RS- триггера, реализованного в выбранном базисе, приведена на рис. 1, г.

Из формулы RS - триггера видно, что при реализации его в базисе И-НЕ, триггер управляется сигналами низкого уровня, т.е. уровня лог. " 0" (если не предусмотрены инверторы). Для приведения поведения триггера, выполненного на элементах И-HE, в соответствие с таблицей состояний сигналы S и R необходимо инвертировать.

Из анализа схемы рис. 1, г очевидно, что простой RS триггер можно сконструировать, соединив “крест-накрест” два элемента И-НЕ.

Входные линии триггера обозначены как и , поскольку триггер устанавливается при =0 и сбрасывается при =0. Такой триггер иногда называют RS-триггер с инверсными входами или конъюнктивной бистабильной ячейкой.

Схема RS-триггера, реализованная в базисе И-HЕ в соответствии с таблицей состояний, приведена на рис. 1, д.

Для построения RS -триггера на элементах ИЛИ-НЕ приведем формулу триггера в базис ИЛИ-НЕ

Схема RS -триггера, выполненная на элементах базиса ИЛИ-HЕ, приведена на рис. 2, а. Временные диаграммы, поясняющие работу RS-триггера, приведены на рис. 2, б.

Из временных диаграмм (рис. 2, б) следует, что рассмотренные выше RS-триггеры опрокидываются, т.е. управляются сигналами R и S, в любой момент времени. В тех случаях, когда длительности управляющих сигналов не синхронизированы (не согласованы), триггер может находиться в неопределенном состоянии (интервалы времени t4, t5), и поэтому такие триггеры называют асинхронными.

Рис. 2. Схема RS – триггера, выполненная на элементах ИЛИ-НЕ(а)

и его временные диаграммы (б)

 

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

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

 

Рис. 3. Временные диаграммы, поясняющие работу синхронного триггера (а),

схема реализации (б) и условное обозначение (в)

 

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

Двухступенчатый RS - триггер. Рассмотренные схемы RS-триггеров являются одноступенчатыми. Применение одноступенчатых RS-триггеров в качестве самостоятельных запоминающих элементов ограничено. Это связано с неустойчивой работой последовательностной схемы (цифрового автомата), память которой выполнена на одноступенчатых RS-триггерах. Сигналы переключения триггера S(t), R(t) формируются в цифровом автомате комбинационной схемой, в их формировании участвуют, наряду с внешними логическими сигналами, сигналы Q(t) и (t). Переключение одноступенчатого триггера под действием сигналов S(t) и R(t) вызывает изменение значений сигналов Q(t) и (t), а их изменение может привести к изменениям сигналов S(t) или R(t) в том же такте времени t и, как следствие, к ложному срабатыванию триггера. Для устойчивой работы триггера необходимо, чтобы сигналы Q(t) и (t) изменялись только после прекращения действия входного сигнала S(t) или R(t). Это требование выполняется в двухступенчатых триггерах (MS-триггерах). Базовыми схемами для построения двухступенчатых триггеров являются одноступенчатые RS-триггеры.

Двухступенчатый триггер состоит из двух секций (ступеней), соединенных каскадно, как показано на рис. 4 а, причем, каждая секция содержит по синхронному RS-триггеру. Первая секция, ведущая или М-секция (М происходит от английского MASTER) принимает информацию со входных линий S и R. Состояние выходов ведущей секции подается на вторую секцию, ведомую, или S-секцию (S происходит от английского SLAVE).

Для ведущего триггера используется обычная синхронизация, в то время как для ведомого триггера импульс синхронизации инвертируется. Изменение состояния выхода ведущего триггера будет происходить в момент появления положительного импульса синхронизации, и эти изменения будут переданы на входы ведомого триггера. Однако, никакие изменения на выходе ведомого триггера не будут происходить до тех пор, пока не появится положительный сигнал инвертированного импульса синхронизации, т.е. отрицательный (задний фронт) фронт исходного синхроимпульса. Следовательно, изменения на выходах Q и не произойдет до тех пор, пока не завершится импульс синхронизации. На рис. 4, б показаны временные диаграммы работы триггера.

Рис. 4. Двухступенчатый RS – триггер (а), его временные диаграммы (б) и обозначение (в)

 

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

Среди триггеров особое место занимают JK-триггеры, имеющие более широкие функциональные возможности. Упрощенная таблица (таблица управления) состояний JK-триггера содержит четыре строки (рис. 2, а).

Из таблицы состояний видно, что для первых трех строк (наборов переменных) входы J и K играют роль входов S и R RS - триггера. Однако, для четвертого набора переменных, когда J=K=1 состояние триггера сильно отличается от состояния RS-триггера. Для RS-триггера - это запрещенная комбинация входных переменных, а в JK-триггере меняется (инвертируется) предыдущее состояние. JK-триггер можно синтезировать (построить) на базе двухступенчатого RS-триггера, для чего следует представить функциональную схему JK-триггера как совокупность КУ и синхронного RS-триггера (рис. 2, б).

Рис. 2. Упрощенная таблица состояний а) и функциональная схема б) JK- триггера

 

Для получения логических выражений (характеристических уравнений) функций R и S комбинационного устройства необходимо построить совмещенную таблицу состояний JK и RS - триггеров (рис. 3 а).

Из полученных выражений для S и R (рис. 3, б) следует, что для построения JK-триггера из двухступенчатого RS-триггера потребуется два элемента конъюнкции (на два входа каждый). Схема, полученная путем синтеза JK-триггера, приведена на рис. 4, а. Обозначение JK-триггера на функциональных схемах приведено на рис.4, б.

Рис. 3. Таблица состояний а) и карты Карно б) JK-триггера

Рис.4. Синтезируемая схема а) и графическое обозначение б) JK - триггера

 

Выпускаемые промышленностью ИМС JK-триггеры могут иметь несколько входов (до трех) J и такое же количество входов K, объединенных схемами конъюнкций.

D-триггер (от английского DELAY) называют информационным триггером, также триггером задержки. D - триггер бывает только синхронным. Он может управляться (переключаться) как уровнем тактирующего импульса, так и его фронтом. Для триггера типа D, состояние в интервале времени между сигналом на входной линии и следующим состоянием триггера формируется проще, чем для любого другого типа.

Рис. 5. Таблица управления (а) и временные диаграммы (б) D-триггера

По синхроимпульсу D-триггер принимает то состояние, которое имеет входная линия, согласно управляющей таблице состояний, приведенной на рис. 1, а. На рис. 1, б приведены временные диаграммы, поясняющие его работу.

Как следует из управляющей таблицы, D-триггер имеет как минимум две входные линии: одна - для подачи синхроимпульсов; другая- информационных сигналов. Схемное обозначение D - триггера приведено на рис. 6.

Для получения характеристической формулы воспользуемся полной таблицей состояния (рис. 7).

Рис. 6. Схемное обозначение D-триггера, синхронизируемого передним фронтом тактируемого сигнала Рис. 7. Таблица состояний D-триггера; знаком безразличного состояния (~) обозначены зна-чения Q для двух наборов переменных, т.к. изменение состояния триггера при нулевом значении сигнала «С» не происходит

 

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

Из рис. 8, а следует, что характеристическое уравнение D-триггера содержит всего одну конъюнкцию, т.е. Q = СD.

Рис. 8. Карты Карно, составленные по таблице состояний (а), управления (б) и функциональная схемы (в) D-триггера

Если учитывать, что при отсутствии синхроимпульсов состояние D-триггера не меняется, то можно упростить таблицу состояния, оставив в ней только переменные D и Q. Тогда карта Карно будет выглядеть как на рис. 8, б. Сокращенное уравнение D-триггера имеет всего один сигнал – сигнал D.

Это выражение подразумевает наличие сигнала C, т.к. в его отсутствии переключение состояния D-триггера не происходит.

Отметим, что D-триггеры могут переключаться как уровнем синхроимпульса, так и его фронтом. В технической литературе D-триггер, управляемый уровнем синхроимпульса, известен также как триггер-защелка.

Пример синтеза D-триггера, управляемого уровнем синхроимпульса из асинхронного одноступенчатого RS-триггера. Для этого D-триггер представляют как совокупность RS-триггера и комбинационного входного устройства, т.е. представляется так, что входными линиями RS-триггера управляет комбинационное устройство (КУ), согласно характеристической формуле D-триггера (см. рис. 9, в). Входными переменными КУ являются сигналы Q0 , C, D, а выходными (функциями) - S и R. Если учесть, что сигналы R и S являются для RS-триггера управляющими сигналами, то таблица состояний синтезируемого триггера будет содержать пять столбцов: два столбца - для переменных D-триггера - D и Q 0, один - для функции Q (выходной сигнал синтезируемого триггера, он же является выходным сигналом базового RS-триггера) и два столбца - для переменных R и S RS-триггера

 

Рис. 9. Комбинированная таблица состояний (а), карты Карно (б) и (в) и функциональная схема синтезируемого D-триггера

 

Столбцы 1, 2, 3 соответствуют таблице состояний D-триггера, а в столбцы 4, 5 записываются значения сигналов R и S, при подаче которых на входы RS-триггера, последний должен принимать такие же состояния, что и D-триггер. Это обусловлено тем, что RS-триггер является выходным узлом D-триггера.

Из таблицы (рис.9, а, первая строка) следует: если триггер находился в состоянии “0” (Q0 =0), чтобы он сохранил это состояние и после поступления очередного синхроимпульса (отметим, что переключение состояния триггера происходит только при наличии синхроимпульса, а каждая строка таблицы состояний соответствует новому синхроимпульсу) на входе S (RS-триггера) необходимо поддерживать уровень “0”, а на входе R - любой уровень, т.к. когда триггер находится в состоянии”0”, он сохраняет это состояние независимо от состояния сигнала R.

Для второй строки таблицы состояний Q0=1, а новое состояние триггера “0” (Q=0), следовательно, необходимо подать на вход R - уровень логической 1 и т.д. Для каждой строки, где Q0=1, это состояние триггера сохранится независимо от значения сигнала S (т.к. при S=0 - режим хранения, а при S=1 - запись единицы).

После заполнения таблицы состояний, используя карты Карно (рис. 9, б и в), записывают логические выражения для функций комбинационного устройства S и R (следует помнить, что эти сигналы являются функциями аргументов Q0, D и входными переменными для RS-триггера.

По полученным логическим выражениям (см. рис. 9, б и в) можно построить схему D-триггера (рис. 9, г).

Рассмотренный выше D-триггер синтезирован на базе синхронного RS-триггера. Его можно синтезировать и на базе двухступенчатого, а также - простого, асинхронного RS-триггера. Как уже было отмечено выше, переключение D-триггера происходит только при наличии (поступлении) синхроимпульса. С учетом этого, логические функции S и R можно записать в виде

S = C D;

Схема, реализующая эти функции, содержит два элемента конъюнкции и один инвертор. На рис. 10 приведена схема D-триггера, построенного на базе асинхронного RS-триггера.

 

Рис. 10. D-триггер, управляемый уровнем синхроимпульса, построенный на базе асинхронного RS-триггера

 

Экспериментальная часть

1. Исследование RS-триггера на элементах И-НЕ.

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

S=1, R=0;

S=1, R=1;

S=0, R=1;

S=1, R=1;

S=0, R=0.

Убедитесь в том, что:

• при S=1, R=0 триггер устанавливается в состояние, при котором выход Q=0;

• при переходе к S=К=1 триггер сохраняет прежнее значение выхода Q=0;

• при S=0, R=1, триггер устанавливается в состояние, при котором Q=1;

• при переходе к S=1, R=1 прежнее значение выхода Q=1 сохраняется.

б.) По результатам эксперимента заполните таблицу состояний.

2. Исследование RS-триггера на элементах ИЛИ-НЕ.

а Соберите схему, изображенною на рис. 6. Включите схему.

Последовательно подайте на схему следующие сигналы:

S=0, R=1;

S=0, R=0;

S=1, R=0;

S=0, R=0;

S=1, R=1.

Убедитесь в том, что:

• при S=0, R=1 триггер устанавливается в состояние Q=0;

• при переходе к S=0, R=0 триггер сохраняет прежнее состояние выхода (Q=0);

• при S=1, R=0 триггер устанавливается в состояние Q=1;

• при переходе к S=0, R=0 триггер сохраняет прежнее состояние выхода Q=1.

б) По результатам эксперимента заполните таблицу состояний.

3. Исследование JK-триггера

а) Соберите схему, изображенною на рис.7.

Включите схему. Убедитесь в том, что:

при R=1, S=0 триггер устанавливается в Q=1 независимо от состояния остальных входов;

• при R=0, S=1 триггер устанавливается в Q=0 независимо от состояния остальных входов.

• укажите какому RS-триггеру соответствует таблица состояний JK-триггера для RS-входов.

б) Установите S=R=1 и составьте таблицу состояний для входов J, K и С.

Указание: начальное состояние триггера Q=1 установить кратковременной подачей сигнала S=0 и сигнала R = 0 для получения Q=0. Переход триггера в состояние, определяемом входами J и K происходит только по отрицательному фронту импульса на счетном входе С, сформированном соответствующим ключом.

в) Составьте и зарисуйте временные диаграммы работы триггера для всех возможных комбинаций Q, J, K.

4. Исследование JK-триггера в счетном режиме

а. Соберите схему, изображенную на рис. 6. Включите схему. Изменяя состояние входа [С] соответствующим ключом, зарисуйте диаграммы работы триггера в счетном режиме.

 

4. Исследование D-триггера

а) Соберите схему, изображенную на рис. 9. Включите схему. Убедитесь в том, что:

• при R=1, S=0 триггер устанавливается в Q=1 независимо от состояния остальных входов;

• при R=0, S=1 триггер устанавливается в Q=0 независимо от состояния остальных входов.

б) Установите S=R=1, составьте таблицу состояний для входов D и С. в). Составьте временные диаграммы работы триггера для всех возможных комбинаций Q, D, C.

 

5. Исследование работы D-триггера в счетном режиме

 

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

 


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

Исследование регистров

Цель работы: изучение структуры и работы регистров.

 

Теоретическая часть

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

По способу приема информации регистры делят на:

параллельные (статические), в которых информация записывается и считывается только в параллельной форме;

последовательные (сдвигающие), в которых информация записывается и считывается только в последовательной форме;

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

Регистры выполняют ряд микроопераций над словами:

1. Прием слова в регистр в прямом и обратном коде, данные хранятся в регистре пока не появится команда на их смену.

2. Выдача слова из регистра в прямом и обратном коде.

3. Выполнение поразрядных логических операций над несколькими словами.

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

Параллельный регистр.В параллельных регистрах операции записи и считывания информации осуществляются во всех разрядах одновременно. Схема трехразрядного регистра на D-триггерах, построенного в пакете Electronics Workbench, приведена на рис.1. Информация поступает в виде параллельного кода, т.е. все разряда одновременно по n (n=3) проводам. Таким образом информация в параллельном регистре хранится в параллельном коде, поэтому параллельный регистр называют регистром памяти. Информация, считываемая с выходов триггеров, проиллюстрирована на временной диаграмме (см. рис. 3).


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

Рис. 2. Диаграмма работы параллельного регистра

 

Последовательный регистр. В последовательных регистрах запись кода числа начинается с первого разряда путем последовательного продвижения информации с помощью тактовых импульсов. Схема трехразрядного последовательного регистра, выполненного на D-триггерах, приведена на рис. 3. Временная диаграмма, иллюстрирующая работу регистра показана на рис. 4. Записываемое число поступает по одному входу в виде последовательного кода, т.е. значение разрядов передаются последовательно тому как мы прочитываем много разрядное число, например: “тысяча триста сорок два” - 1342. В общем виде: n-разрядный регистр запоминает n-разрядное число за n-тактовых импульсов. Поступивший на вход последовательный код преобразуется в регистре в параллельный код: число может быть считано с выходов триггеров. С поступлением каждого тактового импульса записанная информация сдвигается в регистре (движение от входа к выходу), поэтому последовательный регистр называют регистром сдвига.

 

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

 

Рис. 4. Диаграмма работы последовательного регистра

 

Сдвиг информации на один разряд равнозначен умножению кода на 2. Например, записано число 101 (в десятичном коде 5), сдвигаем его на один разряд влево и получаем 1010 (десятичном коде 10). Информация, записанная в последовательном регистре, может быть считана с выхода его старшего разряда в виде последовательного кода: если после записи в регистр числа вновь подать тактовые импульсы, число поразрядно будет прочитываться на выходе старшего разряда и оттуда может быть передано к другим считывающим цепям.

Для хранения и обработки информации в микро-Эвм широко используются сдвиговые регистры. Сдвиговые регистры обычно реализуются на СИС-устройствах, выполненных с применением RS-, JK- или D – триггеров, и различия между ними связаны главным образом с методом обработки входных и выходных данных.

 

Экспериментальная часть

 


Поделиться:



Последнее изменение этой страницы: 2017-04-12; Просмотров: 1448; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.095 с.)
Главная | Случайная страница | Обратная связь