Ранее я рассказал о “трёх китах” цифровой электроники. И на этих “трёх китах” основана вся цифровая электроника, в том числе и микроконтроллеры.
Сегодня двинемся чуть дальше, и разберёмся с триггерами. Точнее, с одним из самых простых триггеров - RS-триггером.
Вообще триггер - это устройство, которое может находиться в двух устойчивых состояниях (точнее, в одном из двух). А одно из самых любопытных свойств триггера - это возможность сохранения установившегося уровня сигнала на выходе даже при снятии управляющего сигнала на входе. То есть триггеры обладают памятью! И это свойство, конечно, можно использовать для запоминания каких-то двоичных комбинаций (чисел). Правда, хранить данные триггер может только при наличии питания. То есть триггеры можно использовать только в ОЗУ.
Переключение триггера из одного состояния в другое выполняется управляющими сигналами. Управляющим сигналом может быть, например, определённый уровень напряжения или определённая комбинация сигналов на входе. К такому виду триггеров относится и наш RS-триггер.
Почему RS? Это сокращение от Reset (сброс) и Set (установка). S-сигнал устанавливает триггер в нужное состояние. R-сигнал сбрасывает триггер в исходное состояние. Ну а какое состояние является исходным, какое - установленным, это уже зависит от конкретного триггера.
RS-триггер обычно имеет два выхода - прямой (Q) и инверсный (Q с чертой над буквой - см. рис.). Читается это как “кью” (прямой выход) и “не кью” (инверсный выход). Черта над любым обозначением (будь то вход или выход) означает инверсию. То есть на инверсном входе или выходе имеется сигнал, противоположный сигналу на прямом входе/выходе. Например, если на прямом выходе логическая единица, то на инверсном выходе, обозначенном той же буквой, но с чертой сверху, будет логический ноль.
Как видите, RS-триггер можно собрать на двух элементах И-НЕ (это логические элементы И с инверсным выходом, то, что выходы инверсные, означает кружок у выхода элемента). Вот здесь я приводил таблицу истинности элемента И. Элемент И-НЕ является инверсным по отношению к элементу И. То есть когда у элемента И на выходе 1, то у элемента И-НЕ на выходе 0. Это означает, что у элемента И-НЕ будет ноль на выходе только в том случае, когда оба входа установлены в 1. В остальных случаях там будет единица.
Обратите внимание, что входы триггера тоже инверсные. Это означает, что управляющими сигналами такого триггера являются логические нули, а не единицы. А теперь таблица истинности такого триггера:
Работает RS-триггер так:
Ну и, как вы наверняка догадались, такой триггер можно считать одноразрядной ячейкой памяти. Да-да. Он может хранить одно двоичное число (один бит данных). Ну а чтобы, например, хранить байт (8-разрядное число от 0 до 255), нам потребуется восемь таких триггеров.
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить…