Виды триггеров и особенности их работы

Rs-триггер

Практическое использование триггера

Об одном из способов использования триггеров уже было сказано выше. Это устранение дребезга контактов. Тогда использовался RS-триггер. Но это далеко не все области, в которых могут применяться эти устройства.

Создание сигнала

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

В момент прихода сигнала в начало процесса триггер переходит в состояние «единицы». Это оповещает о том, что процесс запустился. Когда происходит стоп-сигнал, триггер получает значение «ноль» и процесс завершается.

Как самый простой вариант можно использовать –S и –R входы. Однако, тут всегда будет возможность получить неопределённость, когда сигналы будут на обоих входах. Избежать этой ситуации можно легко. Нужно взять пары входов –R и С и С и –S. Тогда, используя –R и С, на D нужно подать «1». С и –S в использовании требуют «ноль» на D.

В чём удобство такого способа? В том, что сигналы «Стоп» и «Старт» используются не только как уровни, но и фронт сигнала.

Синхронизация сигналов

Своё применение триггеры так же нашли в области синхронизации сигналов. С помощью устройства можно избавляться от ненужных коротких импульсов. Они возникают на выходе схемы, если вводные сигналы меняют одновременно. Тогда для синхронизации нужен синхросигнал. Он находится в сопровождении у информационных входных сигналов и задержан на время задержки относительно момента, когда изменение входных сигналов только началось. Когда синхросигнал подаётся на вход С, а выходной – на D (у этого же триггера), то сигнал на выходе будет без лишних импульсов.

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

Эту задачу и решает триггер.

Внешний сигнал создаёт разрешение или запрет на прохождение сигнала, который генерируется тактовым генератором. Если речь идёт о RC-триггере, то нужно просто отключать и включать генератор вовремя. Этот способ кажется простейшим. Однако, это заблуждение. Для начала, выключить и выключить генератор не получится в один момент – ему нужно время и качество сигнала в это время будет далеко от идеала.

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

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

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

Самое лёгкое решение – создать процесс запрета и пропуска импульсов, которые генератор создаёт, используя при этом логический элемент 2И. Правда, тут очень большая вероятность, что на выход будут приходить короткие импульсы или с не полной длительностью. Такие сигналы могут оказать плохое влияние на систему в целом, создав неопределённость в функционировании.

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

Создание задержки

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

Другие значения слова «триггер»

Мы с вами разобрали, что такое триггер в психологии, поскольку в этом значении он употребляется чаще всего. Однако, как мы с Вами уже говорили, существует ещё несколько определений слова «триггер», к числу которых относится:

Триггер в медицине

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

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

Триггер в электронике

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

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

Триггер в маркетинге

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

Самые распространенные триггеры в маркетинге:

Триггер что это такое простыми словами у геймеров

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


Простыми словами триггер в игре это кнопочки, которые, например в STANDOFF2 позволят даже новичку стать крутым супер-супер… Триггеры можно продать и, соответственно, купить.

Геймер, в большинстве вариантов, самостоятельно выбирает, когда ввести триггер в игру, то есть сменить ситуацию ― выстрелить, улететь, ввести на поле монстра и пр. Кроме этого в гейминге присутствуют и смежные термины:

  1. Триггер-зона ― участок игрового поля в котором отслеживается объект.
  2. Триггер-точка ― выверенное расстояние, когда можно включать триггер.

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

Двухтактный ( двухступенчатый) D-триггер

D — триггер можно выполнить двухступенчатым.

Первая ступень представляет собой одноступенчатый D-триггер, а вторая — синхронный RS-триггер.

На схемах двухтактный D- триггер обозначается следующим образом.

Рис. 0.21

Принцип действия двухтактного D- триггера основан на принципе действия RS триггера с динамическими входами. Т.е. первая ступень переключается по переднему фронту тактового импульса, вторая по его срезу.

Схема двухтактного D- триггера имеет следующий вид.

Рис. 0.22

Работа двухтактного D- триггера наглядно отражена в описании его принципа работы

Так же как и в одноступенчатом D-триггере в 2-х ступенчатой схеме возможно реализовать функцию valve. В результате получим универсальный 2-х ступенчатый DV-триггер.

Рис. 0.23

Условное обозначение такого триггера имеет следующий вид:

Рис. 0.24

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

Рис. 0.25

Кроме того, на базе таких триггеров можно реализовать и другие виды триггеров.

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

Реальные микросхемы функционально являющиеся D -триггерами обозначаются следующим образом: ТМ. Так, например, микросхема 155ТМ2 является D-триггером.

Итак D-триггеры, цифровые устройства со счётным запуском, и не имеющие запрещённых комбинаций сигналов, подаваемых на их информационные входы.

JK-триггеры.

JK-триггер –это триггер с двумя сигнальными и одним синхронным входами.

Такие триггеры часто называются универсальными, так как на их основе можно получить RS- и T-триггеры.

Название выводов у таких триггеров пошло от английских слов jerh -резкий толчок, kill — убить

Назначение- JK-триггеров универсальное.

Выполняется JK-триггер по двухступенчатой схеме с использованием основного и вспомогательного RS-триггера соединённых последовательно и имеющих обратную связь..

JK-триггеры получили следующее условное обозначение:

Рис. 0.26

Микросхемы JK-триггеров имеют обозначение ТВ. Например JK-триггер исполненный в комплекте микросхем 555 серии имеет обозначение — 555ТВ9.

Информационные входы J и K аналогичны входам S и R тактируемого RSC- триггера.

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

Схема JK-триггеров.


Рис. 0.27

На схеме, представленной выше, входы J, K являются информационными входами. Они аналогичны S и R входам тактируемого RSC-триггера (R эквивалентен K входу, S — J входу).

Работу (изменение состояний) JK — триггера при С=1 можно представить в виде следующей таблицы.

Jn Kn Qn+1
Qn

При J=1, К=0 по срезу тактового импульса триггер устанавливается в единичное состояние, т.е. Q=1.

При J=0, К=1 — переключается в нулевое состояние, т.е. Q=0.

При J=0, К=0 — хранит раннее записанную информацию.

В данном триггере так же возможно осуществление счётного режима. Сказанное происходит при J=К=1. Триггер переключается каждым счетным импульсом приходящим на вход С..

Рассмотрим работу JK — триггера более подробно.

При J=K=0 на выходах DD1 и DD2 устанавливаются 1, которые для триггеров с инверсными входами являются пассивными сигналами. Следовательно, триггер Т1 и JK — триггер в целом своего состояния не изменяет.

Чтобы на выходе DD1 появился 0, необходимо чтобы J=1, C=1, =1. Тогда триггер Т1 переходит в 1 состояние, а по срезу тактового импульса и триггер Т2 переходит в 1. Следовательно, Q2=1.

При К=1, С=1, Q=1 на выходе DD2 появляется 0, переводящая триггер Т1 в нулевое состояние, а по срезу триггер Т2 в 0 и, следовательно, JK — триггер в целом переходит в нулевое состояние (Q=0, =1).

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

На базе JК — триггеров можно построить любой из ранее рассмотренных.

Универсальный триггер

JK-триггер

JK-триггером называют автомат Мура с двумя устойчивыми состояниями и двумя входами J и K, который при условии J * K = 1 осуществляет инверсию предыдущего состояния (т.е. при J*K=1, Q(t+1) = Q(t)), а в остальных случаях функционируют в соответствии с таблицей истинности RS триггера, при этом вход J эквивалентен входу S, а вход K — входу R. Этот триггер уже не имеет запрещенной комбинации входных сигналов и его таблица истинности, то есть зависимость Q(t+1) = f имеет вид:

Таблица истинности JK-триггера:

J K Q(t) Q(t+1)

По этой таблице можно построить диаграмму Вейча для Q(t+1), которую можно использовать для минимизации, и матрицу переходов:

KQ(t)
J

Матрица переходов JK-триггера:

J K Q(t) Q(t+1)
b1
b2
b3
b4
____ _
Q(t+1) = J* Q(t) v K *Q(t)

В интегральной схемотехнике применяются только тактируемые (синхронные) JK триггера, которые при C=0 сохраняют свое состояние, а при C=1 работают как асинхронные JK триггера.

Триггер JK относится к разряду универсальных триггеров, поскольку на его основе путем несложной внешней коммутации можно построить RS-, D— и T— триггера. RS-триггер получается из триггера JK простым наложением ограничения на комбинацию входных сигналов J=K=1, так как эта комбинация является запрещенной для RS триггера.

Счетный триггер на основе JK триггера получается путем объединения входов J и K.

Триггер задержки (D-триггер) строится путем подключения к входу K инвертора, на который подается тот же сигнал, что и на вход J. В этом случае вход J выполняет функцию входа D, а все устройство в целом реализует таблицу переходов D-триггера.

Лекция 6. Структурная схема конечного автомата

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

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

Каждое состояние абстрактного автомата ai, где i={0, n}, кодируется в структурных автоматах набором состояний элементов памяти Qi, r={1,R}. Поскольку в качестве элементов памяти используются обычные триггера, то каждое состояние можно закодировать двоичным числом ai = Q1a1Q2a2… Qrar. Здесь аi={0, 1}, a Q – состояние автомата . Отсюда:

__
Qa = Q ,еслиa=0
Q ,еслиa=1

Общее число необходимых элементов памяти можно определить из следующего неравенства . Здесь (n+1) – число состояний. Логарифмируя неравенство получим . Здесь ]C [ — означает, что необходимо взять ближайшее целое число, большее или равное C.

В отличии от абстрактного автомата, имеющего один входной и один выходной каналы, на которые поступают сигналы во входном X={x1,x2,…,xm} и выходном Y={y1,y2,…,yk} алфавитах, структурный автомат имеет L входных и Nвыходных каналов. Каждый входной xj и выходной yj сигналы абстрактного автомата могут быть закодированы двоичным набором состояний входных и выходных каналов структурного автомата.

xi = o1a1 o2a2… oLaL
yg = Z1a1Z2a2… ZNaN

Здесь ofи Zh– состояния входных и выходных каналов соответственно.

Очевидно число каналов L и N можно определить по формулам ; , аналогичным формуле для определения R.

Изменение состояния элементов памяти происходит под действием сигналов U=(U1,U2,…,Ur), поступающих на их входы. Эти сигналы формируются комбинационной схемой II и называются сигналами возбуждения элементарных автоматов. На вход комбинационной схемы II, кроме входного сигнала xj, по цепи обратной связи поступают сигналы Q=(Q1, Q2, …, QR), называемые функцией обратной связи от памяти автомата к комбинационной схеме. Комбинационная схема I служит для формирования выходного сигнала yg, причем в случае автомата Мили на вход этой схемы поступает входной сигнал xj, а в случае автомата Мура – сигнал xj не поступает, так как yg не зависит от xj.

Краткие теоретические сведения

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

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

RS-триггер

Основным триггером, на котором базируются все остальные триггеры является RS-триггер. RS-триггер имеет два логических входа:

  • R – установка 0 (от слова reset);
  • S – установка 1 (от слова set).

RS-триггер имеет два выхода:

  • Q – прямой;
  • Q- обратный (инверсный).

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

Рассмотрим работу триггера:

Пусть R=0, S=1. Нижний логический элемент выполняет логическую функцию ИЛИ-НЕ, т.е. 1 на любом его входе приводит к тому, что на его выходе будет логический ноль Q=0. На выходе Q будет 1 (Q=1), т.к. на оба входа верхнего элемента поданы нули (один ноль – со входа R, другой – с выхода ). Триггер находится в единичном состоянии. Если теперь убрать сигнал установки (R=0, S=0), на выходе ситуация не изменится, т.к. несмотря на то, что на нижний вход нижнего логического элемента будет поступать 0, на его верхний вход поступает 1 с выхода верхнего логического элемента.

Будет интересно Что такое статическое электричество и как от него избавиться

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

  • Q(t) – состояние триггера до поступления управляющих сигналов (изменения на входах R и S);
  • Q(t+1) – состояние триггера после изменения на входах R и S.

Таблица переходов RS триггера в базисе ИЛИ-НЕ

R S Q(t) Q(t+1) Пояснения
Режим хранения информации R=S=0
1 1
1 1 Режим установки единицы S=1
1 1 1
1 Режим установки нуля R=1
1 1
1 1 * R=S=1 запрещённая комбинация
1 1 1 *

RS-триггер можно построить и на элементах “И-НЕ” (рисунок 2.2).

Входы R и S инверсные (активный уровень “0”). Переход (переключение) этого триггера из одного состояния в другое происходит при установке на одном из входов “0”. Комбинация R=S=0 является запрещённой.

Таблица переходов RS триггера в базисе “2И-НЕ”

R S Q(t) Q(t+1) Пояснения
* R=S=0 запрещённая комбинация
1 *
1 Режим установки нуля R=0
1 1
1 1 Режим установки единицы S=0
1 1 1
1 1 Режим хранения информации R=S=1
1 1 1 1

Синхронный RS-триггер

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

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

Таблица переходов синхронного RS-триггера

R S C Q(t) Q(t+1) Пояснения
1 Режим хранения информации R = S = 0
1 1 1
1 1 1 Режим установки единицы S =1
1 1 1 1
1 1 Режим установки нуля R=1
1 1 1
1 1 1 * R = S = 1 запрещённая комбинация
1 1 1 1 *

В таблице 2.3. под сигналом С подразумевается синхроимпульс. Без синхроимпульса синхронный RS триггер сохраняет своё состояние.

Регистры на триггерах

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


Схема 4-х разрядного регистра сдвига на триггерах

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

Практическое использование

Чаще всего триггер используется для генерации сигнала, длительность которого соответствует продолжительности процесса в системе, которую он контролирует. Он может как непосредственно разрешать его начало и конец, так и передавать другим элементам информацию о том, что процесс запустился. Таким образом достигается контроль системы, далее нужно только позаботиться о разрешении ситуации неопределённости.

Вторая важная функция триггера — синхронизация процессов. Это помогает избавиться от лишних и случайных импульсов, возникающих, например, когда несколько входных сигналов изменились в течение очень короткого промежутка времени. Кроме того, с помощью триггеров можно «пропустить» в систему только полные по длительности импульсы или задержать поступающую информацию.

Реализация триггеров и их применение на практике происходит в различных устройствах для запоминания и хранения памяти. Именно этот элемент представляет собой базовую ячейку ОЗУ, способную хранить 1 бит информации в статическом состоянии. Кроме того, его используют для следующих целей:

  • в качестве компонентов для создания микросхем различного назначения;
  • как организатор вычислительных систем;
  • в регистрах сдвига и хранения;
  • для изготовления полупроводниковых систем, например, транзисторов и реле.

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

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

Триггер — это оружие маркетологов

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

Реально хорошо работающие триггеры в маркетинге это:

Видеоролик, от начала до конца переполненный маркетинговыми триггерами:

Противостоять таким уловкам сложно, но возможно. Рекомендации из предыдущего раздела актуальны и здесь. Знайте «врага в лицо», прислушивайтесь к своим ощущениям, чтобы не допускать спонтанных действий.

Классификация

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

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

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

3. Триггер по п.2 с динамическим управлением, работа которого синхронизирована с моментами появления фронтов (или спадов) тактового сигнала.

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

Как избавиться от триггера?

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

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

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

Анализируйте свои эмоции. Каждый раз, испытывая сильные переживания, отслеживайте, чем они были вызваны.

Работайте над внутренней гармонией. Это важный аспект самосовершенствования. Если человек здоров, спокоен и уравновешен, триггер не сможет подтолкнуть его к импульсивным поступкам

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

Анализируйте прошлое. Подавленные болезненные воспоминания – главная причина появления опасных триггеров

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

Понравилась статья? Поделиться с друзьями:
Зинг-Электро
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: