Модуль с D-триггером. Данный триггер имеет четыре входа и два выхода, - прямой и инверсный (инверсный отмечен кружочком). Состояния выходов противоположны (если на одном ноль, то на другом единица, и наоборот). Для изучения логики работы D-триггера соберем схему, показанную на рисунке 2. Кнопки S1-S4 служат для изменения логических уровней на входах. Когда кнопка нажата на вход поступает единица.
Светодиоды HL1-HL4 служат для индикации уровней на входах (когда горит - единица). Светодиоды HL5 и HL6 служат для индикации уровней на выходах (когда горит - единица). Ключи на транзисторах VT1 и VT2 разгружают выходы триггера и позволяют светодиодам гореть ярче.
По входам R и S триггер работает как уже знакомый RS-триггер. Если вы нажмете на кнопку S1 единица поступит на вход S и триггер установится в единичное состояние (на прямом выходе единица, на инверсном - ноль, горит HL5). Это состояние сохранится и после отпускания S1. Нажатие на S4 приводит к подаче единицы на вход R и триггер установится в нулевое состояние (HL5 погаснет, зажжется HL6).
Входы R и S у D-триггера являются входами предустановки, с их помощью триггер в любой момент можно установить в единичное или нулевое состояние, они обладают приоритетом над его другими входами.
А вот входы D и С работают куда интереснее. Вход D служит для приема данных, а вход С для их записи в триггер. Если мы нажмем и отпустим кнопку S3 триггер установится в такое состояние, как логический уровень на входе D.
Предположим триггер находится в нулевом состоянии (горит HL6). Если вы нажмете S2 состояние триггера не изменится, хотя на его вход D поступает единица. Но, если вы, продолжая удерживать нажатой кнопку S2, нажмете и отпустите S3 - триггер перейдет в единичное состояние (загорится HL5, погаснет HL6), и останется в нем.
Таким образом, чтобы D-триггер принял логический уровень, поданный на его вход D, нужно разрешить ему это сделать, подав импульс на вход С.
А теперь подумайте что произойдет, если соединить между собой вход D и инверсный выход D-триггера. Ведь состояние инверсного выхода противоположно состоянию триггера, поэтому каждый импульс, поданный на вход С будет менять состояние триггера на противоположное. Получится простейший одноразрядный счетчик импульсов, или делитель частоты импульсов на два.
Рис.3
Соберите схему, показанную на рис. 3. Здесь на модуле D1 сделан мультивибратор, а у D-триггера (модуль D2) соединены D-вход и инверсный выход. Импульсы от мультивибратора поступают на вход С.
Обратите внимание, как мигают светодиоды. Светодиод HL2 мигает в два раза медленней чем HL1. Практически происходит деление частоты импульсов, которые вырабатывает мультивибратор, на два. D-триггер, включенный по такой схеме, считает импульсы, поступающие на его вход С, но один D-триггер может считать только до двух.
Рис.4
Вот если включить два D-триггера, так как это показано на рисунке 4, получится двухразрядный двоичный счетчик, который будет считать до четырех. Логические состояния выходов счетчика индицируются светодиодами HL2 и HL3 (горение светодиода показывает логическую единицу). Кнопка S1 служит для сброса в нуль нашего счетчика.
Выходом двоичного счетчика, показанного на рисунке 4 является двухразрядный двоичный код, разряд «1» - светодиод HL2, разряд «2» - светодиод HL3. Вот таблица кодов: «1» «2»
0 0 - число 0 0 1 - число 1 1 0 - число 2 1 1 - число 3
Итак, сбрасываем счетчик в нуль кнопкой S1, отпускаем кнопку и следим за светодиодами. Сначала HL2 и HL3 не горят (код «00»). Мигнул один раз HL1, вслед за ним зажигается HL2 (на выходе код «01»). Еще раз мигнул HL1, и теперь HL2 гаснет, но зажигается HL3 (код «10»). Третий раз мигнул HL1, и теперь горят оба светодиода HL2 и HL3 (код «11»). Четвертый раз мигнул HL1, - оба светодиода погасли (код «00»).
Добавив еще один D-триггер, можно сделать трехразрядный двоичный счетчик, который будет считать до 8-и, а если добавить два D-триггера, - будет четырехразрядный двоичный счетчик, считающий до 16.
Таким образом строятся двоичные счетчики, практически с любым числом разрядов выходного двоичного кода.
Двоичный счетчик
Модуль с двоичным счетчиком (рис.1) изображен восьмиразрядный двоичный счетчик (у него восемь выходов). Есть три входа, два из них для подачи импульсов, которые счетчик будет считать (CP и CN) и один для обнуления счетчика (R). Импульсы можно подавать на любой из входов CP или CN, но если вы подаете импульсы на вход CP, на входе CN должен быть ноль, а если подаете импульсы на вход CN, - на входе CP должна быть единица. Более того, если, например, вы подаете импульсы на вход CP, и подадите единицу на вход CN - счет остановится. То же самое, если при подаче импульсов на CN подать ноль на СР.
Рис.5
Выходы счетчика подписаны числами -весовыми коэффициентами. Единицы будут на тех выходах счетчика, весовые коэффициенты которых в сумме равны числу поданных на вход импульсов. На остальных выходах, при этом, нули. Например, на вход счетчика поступило 32 импульса. Это значит, что единица будет только на выходе 32, а на всех остальных выходах - нули. Или другой пример, - на вход поступило 40 импульсов. Смотрим, какие числа весовых коэффициентов дают в сумме 40, - это 32+8. То есть, единицы будут на выходах 32 и 8, а на всех остальных - нули.
Максимальное число импульсов, которое может сосчитать этот счетчик - 255 (единицы на всех выходах). С приходом 256-го импульса счетчик обнуляется (на всех выходах нули) и идет считать снова.
Для практического изучения двоичного счетчика можно собрать схему по рисунку 6. Она состоит из мультивибратора на инверторах микросхемы D1, счетчика D2 и индикатора на VT1. Светодиод НИ загорается когда с мультивибратор на вход CP поступает логическая единица, и гаснет когда нуль. То есть, он все время мигает. Кнопка S1 служит для подачи логической единицы на CN, а кнопка S2 - для подачи единицы на R. Ключ на транзисторе VT1 мы будем подключать к разным выходами счетчика перестановкой одного провода (так и обозначен - «провод»). Если на выходе, к которому подключен этот провод единица, - светодиод HL4 горит.
Рис.6
И так, установим счетчик в ноль, для этого нажмем и отпустим кнопку S2. Затем, подключите провод к выходу «1» счетчика. Светодиод HL4 будет мигать в два раза медленнее чем HL1. То есть, одна вспышка HL1 чтобы HL4 зажегся, и еще одна вспышка HL1 чтобы HL4 погас. Если соединить провод с выходом «2» HL4 будет мигать в 4 раза медленнее чем HL1, и так далее.
И наконец, подключим провод к выходу «128» D2. Теперь, чтобы HL4 зажегся светодиод HL1 должен вспыхнуть 128 раз, и еще 128 раз чтобы HL4 погас. Таким образом, максимальный коэффициент деления этого счетчика равен 128+128=256.
Можно сделать так, что счетчик будет останавливаться отсчитав некоторое количество импульсов. На рисунке 7 показана схема, в которой счетчик считает до 128-и и останавливается. Обратите внимание, - кнопку S1 убрали, а вход CN соединили с выходом «128». Теперь, как только на счетчик поступит 128-й импульс, на его выходе «128» появится единица. Светодиод HL4 зажжется и уже не погаснет, так как единица с этого выхода подступает на вход CN счетчика и останавливает его.
Рис.7
Если хотите, можете сделать так, что счетчик будет останавливаться на другом числе импульсов, например, после поступления 32-го импульса. Просто подключите точку соединения R2 и CN с выходом «32». Чтобы погасить светодиод HL4 нужно обнулить счетчик, нажав кнопку S2.
На рисунке 8 показана схема делителя звуковой частоты. Мультивибратор на D1 здесь вырабатывает импульсы звуковой частоты, которые поступают на вход счетчика. Счетчик делит их частоту. Если вы подключите микродинамик BF1 непосредственно к выходу мультивибратора (к выходу второго сверху элемента D1), то услышите звук высокого тона.
Рис.8
Подключите BF1 к выходу «1» счетчика, и тон звука понизится вдвое. А если к выходу «16» то тон будет в 32 раза ниже, чем на выходе мультивибратора. Ну, а на выходе «128» тон звука будет в 256 раз ниже, чем на выходе мультивибратора. Если на выходе мультивибратора было 3000 Гц, то здесь будет всего 11,71875 Гц, то есть, ниже звуковой частоты. Звук будет напоминать быстрое потрескивание. |