Первый шаг к микроконтроллерам: введение в цифровые схемы


Если вы собираетесь заняться электроникой и встраиваемыми (embedded) системами, то вам не обойтись без микроконтроллеров и микрокомпьютеров. Но перед тем, как приступить к их изучению, будет полезно разобраться с цифровыми микросхемами. Попробуйте собрать простейшие цифровые схемы, чтобы «пощупать цифру» своими руками.
Эта статья — первая в серии для тех, кто раньше занимался сборкой только аналоговых устройств, или не занимался электроникой вообще, но хочет научиться проектировать и собирать современные встраиваемые устройства.
Все примеры схем, приведённые в статье, построены на микросхемах серии 155. Хотя есть и более совершенные серии, например, 555, 531, 1554 и другие, серия 155 выбрана из-за ее доступности. Микросхемы этой серии стоят недорого, их можно найти на маркетплейсах, рынках и в старой аппаратуре. Доступны и зарубежные аналоги.
В то же время для изучения логических схем, триггеров, счётчиков и регистров серия 155 вполне пригодна.
От радио к цифре
С детства я увлекался радиолюбительством, собирая приёмники и передатчики, блоки питания, звуковые генераторы и подобные аналоговые штуковины. Со временем мне стало интереснее создавать цифровые устройства. Начиная с триггера на двух транзисторах, я перешёл к цифровым часам, сделал цифровой частотомер и генератор полного видеосигнала для чёрно-белого телевизора, чтобы превратить телевизор в алфавитно-цифровой терминал.
Примерно в то же время мы с братом собрали цифровую схему, позволяющую подключить трубку телефона к COM-интерфейсу компьютера (рис. 1).

Тогда еще не было в доступности звуковых плат, поэтому в нашем устройстве были цифро-аналоговый ЦАП и АЦП, регистры и другие цифровые схемы, позволяющие «озвучить» компьютер с помощью телефонной трубки. Устройство не пошло в серию, однако послужило неплохим проектом для освоения цифровой техники.
Когда появились микропроцессоры КР580ВМ80А (отечественный аналог Intel 8080), на дипломе в МИФИ я собрал двухмашинный комплекс из микрокомпьютера на базе Intel 8080 и мини-эвм ЕС-1010. Этот комплекс, содержащий синтезатор частот Ч6-31 (рис. 2), измеритель фазы и различное оборудование, позволял определять распределение СВЧ-поля в резонаторе ускорителя заряженных частиц.

Компьютер Videoton R-10 на базе этого микропроцессора управлял перемещением возмущающего тела вдоль резонатора, задавал нужную частоту, измерял фазовый сдвиг сигнала СВЧ между входом и выходом резонатора. Результаты измерения отправлялись в ЕС-1010 для вычислений и отображения графиков распределения поля.
На сборку измерительного комплекса и создание программного обеспечения ушел целый год, если не больше. Но сегодня подобные устройства можно очень легко сделать на микроконтроллерах и микрокомпьютерах, подключая к ним самые разные недорогие модули, доступные на маркетплейсах.
Инь и ян цифровых схем
Занимаясь проектированием или сборкой электронных устройств, вы так или иначе будете иметь дело с сигналами. Под сигналом в электронике понимают физическую величину, такую как напряжение или ток. Эта величина изменяется во времени и несёт в себе информацию.
Например, микрофон преобразует звуковые колебания воздуха в изменяющееся напряжение, и эта «кривая» напряжения и есть сигнал. Полученный таким способом сигнал можно снова превратить в звук, если его усилить и подать на динамик или головные телефоны.
В случае микрофона мы имеем дело с так называемым аналоговым сигналом, когда напряжение или ток плавно изменяются в некоторых заданных пределах.
Компьютеры работают с цифровыми сигналами, значение которых принимает обычно только два уровня — низкий и высокий. Они обозначаются как 0 и 1, соответственно. Можно сказать, что эти значения представляют собой инь и ян цифровых схем.
Если ваша цель — создание модулей для робота или умного дома, то вам также потребуются устройства, преобразующие аналоговые сигналы в цифровые и обратно.
Например, датчик температуры может выдавать на своём выходе аналоговый сигнал. Для его обработки в микроконтроллере аналоговое значение нужно преобразовать в цифровое с помощью аналого-цифрового преобразователя (АЦП).
Если результатом обработки должна стать установка регулятора температуры в то или иное положение, может потребоваться преобразование цифрового сигнала от микроконтроллера в аналоговый для исполнительного механизма с помощью цифро-аналогового преобразователя (ЦАП).
Используя только ноль и единицу, можно представлять в цифровом виде любые значения, как положительные, так и отрицательные.
Состояние сигнала на одном проводе может быть представлено одним битом информации. Восемь бит комбинируются в один байт (рис. 3).

Справа расположен младший бит байта, слева — старший. Один байт может хранить целочисленные значения в диапазоне от 0 до 255 или значения со знаком от -128 до 127. Существуют микросхемы памяти и другие устройства, способные хранить тысячи, миллионы и миллиарды байт данных.
Биты и байты могут быть обработаны с помощью цифровых схем или компьютеров в рамках так называемой двоичной логики.
Надо заметить, что существует и троичная логика, где используются такие значения, как -1, 0 и 1. Она используется в троичных компьютерах. В обычных компьютерах, с которыми вы, скорее всего, будете иметь дело, троичная логика не применяется.
Собираем первое цифровое устройство
Чтобы «пощупать» цифровые сигналы руками, соберём из детского конструктора простейшую схему с лампочкой, выключателем и вольтметром (рис. 4).

Здесь вольтметр измеряет значение напряжения на лампочке. Если выключатель отключен, лампочка не горит и напряжение равно нулю. Но если его включить, лампочка загорится и напряжение на ней будет равно примерно 3,8 В.
Наш цифровой сигнал, представляющий собой напряжение на лампочке, принимает два значения – ноль или единицу. При этом нулю соответствует отсутствие напряжения, а единице – напряжение, примерно равное 3,8 В.
Реальная обработка цифровых сигналов выполняется с помощью логических микросхем, микроконтроллеров и микрокомпьютеров. Для микросхем разных серий, разных микроконтроллеров и микрокомпьютеров используются разные напряжения, соответствующие логическому нулю и единице.
Самые первые цифровые микросхемы, с которыми я имел дело, были серий 155 и 133. Это микросхемы так называемой транзисторно-транзисторной логики (ТТЛ, TTL), построенной на биполярных транзисторах. Напряжение питания этих микросхем должно быть равно 5 В. Логическому нулю соответствовало напряжение ≤ 0,8 В, а логической единице — напряжение ≥ 2,0 В. При этом выходное напряжение находится в интервале ≤ 0,4 В или ≥ 2,4 В. Аналогичные значения используются и в зарубежных микросхемах серий 74xx и 74LS.
Между уровнем 0 и уровнем 1 находится «неопределённая» зона, которую следует избегать. Если напряжение попало в неё, состояние логического элемента, может соответствовать либо 0, либо 1.
Современные логические микросхемы и микроконтроллеры могут питаться от напряжения 3,3 В. В этом случае на их входы нельзя подавать напряжение с выходов микросхем TTL. Для таких микросхем и микроконтроллеров напряжение логического нуля ≤ 0,8 В, а логической единицы — порядка 2,5 В.
Распространённые микроконтроллеры Arduino Uno и Arduino Nano питаются напряжением 5 В, и они совместимы с выходами микросхем TTL. Что же касается микроконтроллеров ESP32, ESP8266, Raspberry Pi Pico, микрокомпьютеров Raspberry Pi и отечественного Repka Pi, то их входы нельзя подключать напрямую к выходам микросхем TTL. Здесь необходимо использовать преобразователи уровней, такие как CD4050BCN.
Во времена СССР выпускались серии микросхем с обозначениями 155, К155, КР155 и КМ155. Эти серии предназначались для работы в разных температурных диапазонах. Были серии для гражданского и специального применения. Например, корпус микросхем КМ155 был металлокерамический, а у других серий — пластиковый. Для экспериментов, описанных в этой статье, вы можете использовать любые из перечисленных серий, а также их зарубежные аналоги.
Макетные платы для экспериментов
Для изучения цифровых микросхем и микроконтроллеров удобно использовать макетную плату, не требующую пайки. На рис. 5 показана большая плата (830 отверстий) и две маленькие (400 отверстий).

При необходимости вы можете объединить несколько плат вместе с помощью фиксаторов, расположенных по бокам или в торце плат (рис. 6).

Объединяя подобным образом макетные платы, несложно подготовить поле необходимых размеров для вашего творчества. Лишние линейки шин питания, отмеченные красными и синими линиями, можно не присоединять.
Контакты на макетной плате
На плате предусмотрено множество контактных отверстий, соединённых между собой. Вставляя выводы микросхем и других деталей в эти отверстия, их можно соединять между собой перемычками или проводами (рис. 7).

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

Если у вас есть какие-то сомнения в том, как соединены контакты на вашей макетной плате, проверьте эти соединения с помощью мультиметра в режиме измерения сопротивления.
Подаём питание на макетную плату
Далее я опишу работу с цифровыми микросхемами, рассчитанными на питание от напряжения 5 В. На маркетплейсах продаются очень удобные переходники для блока питания, позволяющие подавать напряжение от внешнего сетевого блока питания или от разъёма USB.
На рис. 9 в правой части макетной платы показан такой переходник, который установлен на плату и подключён к сетевому блоку питания на 12 В.

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

В продаже мне встречались переходники двух типов (рис. 11).

Один из них (показанный слева на рис. 11) рассчитан на подключение через мини-USB и снабжен переключателями, позволяющими подавать на шины питания макетной платы либо 3,3 В, либо 5 В.
Второй, тот, что справа, снабжён обычным разъёмом USB, а также кнопочным выключателем. Вместо переключателей для выбора напряжений питания в нём использованы перемычки.
На переходниках также имеются контакты для подключения земли и питания с помощью коммутационных проводов.
Подключаем светодиод
Усовершенствуем простейшее цифровое устройство, состоящее из батарейки, выключателя и лампочки из детского конструктора. Заменим детский конструктор макетной платой. Вместо лампочки используем светодиод, вместо выключателя кнопку, а вместо батарейки — блок питания с переходником (рис. 12).

Обратите внимание, что последовательно с кнопкой и светодиодом я включил токоограничивающий резистор на 240 Ом.
Для быстрого определения необходимого сопротивления можно воспользоваться онлайн-калькулятором «Калькулятор резистора для светодиода». На этой странице также есть статья, где описана процедура вычисления сопротивления.
При расчётах используется такая формула:
Здесь:
Vпит — напряжение питания, В;
Vf — падение напряжения, В;
I — сила тока в цепи, А
В наших схемах напряжение будет или 5 В, или 3.3 В. Что касается тока, то для обычных светодиодов достаточно будет 20 мА.
Падение напряжения на светодиоде зависит от типа светодиода и может изменяться в диапазоне от 1,6 В до 4,4 В. Для красного светодиода падение напряжения может составлять 1,6-2.0 В, зелёного — 2,2-3,5 В, белого — 3,0-3,7. Таблицу падения напряжений вы найдете в упомянутой выше статье.
Подробнее о светодиодах читайте в моей статье «Сияние светодиодов и лазеров».
При сборке схемы учите полярность светодиода (рис. 13).

Собрав и проверив схему, включите питание. Теперь если нажать на кнопку, светодиод будет светиться.
Добавляем инвертор на 155ЛН1
Теперь предположим, что нам нужно сделать так, чтобы нажатие кнопки гасило, а не зажигало светодиод. Для решения этой задачи используем простейшую микросхему цифровой логики 155ЛН1, содержащую шесть инверторов (рис. 14). Также есть зарубежный аналог этой микросхемы SN7404.

Элементы инверторов микросхемы 155ЛН1, реализующих логическую операцию НЕ, показаны на рис. 15.

Вывод 7 микросхемы нужно подключить к земле, а на вывод 14 — подать напряжение питания +5 В.
Слева на рис. 15 показано обозначение элементов на отечественных схемах в виде прямоугольников, у каждого из которых есть один вход и один выход. Маленькие кружочки на выходах обозначают инверсию.
Если на выходы подавать напряжение, соответствующее логической единице, то на выходе будет напряжение логического нуля. Это как раз та функциональность, которая нужна нам для управления свечением светодиода, когда при нажатой кнопке светодиод должен погаснуть, а при отжатой — гореть.
В центральной части рис. 15 показано изображение логических элементов в виде треугольников, которое может встретиться в зарубежных схемах.
И, наконец, в правой части рисунка 15 показана распиновка микросхемы с обозначением всех входов и выходов, земли и вывода для подачи питания.
Соберём простую схему управления светодиодом (рис. 16).

Вход инвертора подключен через резистор R1 сопротивлением 10 кОм к шине питания +5 В, а также к земле через кнопку (рис. 17).

Подключение входа инвертора к напряжению питания называется подтяжкой вверх (pull-up) или подтяжкой к питанию. Резистор R1 в данном случае называется подтягивающим резистором.
Светодиод не горит, если кнопка находится в разомкнутом состоянии. Так как вход инвертора подтянут к питанию, то на этом входе будет логическая единица, а на выходе — логический ноль. Но если нажать кнопку, на входе будет ноль, на выходе инвертора — единица, и светодиод засветится.
Генератор импульсов на 155ЛН1
На микросхеме 155ЛН1 можно сделать генератор прямоугольных импульсов, добавив всего лишь один резистор и один конденсатор (рис. 18).

Резистор R1 сопротивлением 300 Ом соединяет вход и выход инвертора D1.1 (напомню, что их всего шесть штук в одной микросхеме 155ЛН1). Как результат такого соединения, образующего отрицательную обратную связь, инвертор находится в линейной области, на пороге переключения. При этом он работает в режиме усилителя.
Выход D1.1 соединён со входом D1.2. При этом выход полученного двухкаскадного усилителя замкнут на его вход через конденсатор C1. В результате получается положительная обратная связь и усилитель самовозбуждается.
Резистор R1 вместе с конденсатором C1 образуют времязадающую цепь, определяя частоту генерируемых импульсов:
Инвертор D1.3 развязывает генератор от нагрузки, чтобы её подключение не меняло частоту. Также он улучшает фронты и нагрузочную способность.
Приведённая выше формула позволяет определить частоту лишь приблизительно. Но в этой работе есть схемы подобных генераторов с кварцевыми резонаторами, обеспечивающие высокую точность генерируемой частоты.
Макет собранного генератора показан на рис. 19.

Для наблюдения формы генерируемого сигнала я подключил осциллограф к выходу инвертора D1.3 (рис. 20).

Видно, что амплитуда выходных импульсов составляет 2,4 В, а частота — 72,407 КГц (рис. 21).

Микросхема К155ЛА3
Изучив инвертор, перейдем к одной из самых известных цифровых микросхем К155ЛА3, реализующей логику 2И-НЕ (рис. 22). Зарубежный аналог этой микросхемы — SN7400.

Четыре элемента 2И-НЕ в одной микросхеме
Микросхема К155ЛА3 содержит четыре элемента, у каждого из которых есть два входа и один выход с инверсией. На рис. 23 показано обозначение элементов на отечественных и зарубежных схемах, а также распиновка этой микросхемы.

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

Таким образом, элемент 2И-НЕ реализует операцию И, за которой следует инверсия. Также есть микросхемы, реализующие подобную логику, но с количеством входов больше двух:
К155ЛА1: 2 элемента 4И-НЕ (аналог SN7420);
К155ЛА2: 1 элемент 8И-НЕ (аналог SN7430);
К155ЛА4: 3 элемента 3И-НЕ (аналог SN7410);
К155ЛА6: 2 элемента 4И-НЕ с повышенной нагрузочной способностью (аналог SN7440);
К155ЛА7: 2 элемента 4И-НЕ с открытым коллектором (аналог SN7422)
Схема для тестирования
Чтобы проверить работу элемента микросхемы К155ЛА3, соберите схему, показанную на рис. 25.

Здесь входы подтянуты к питанию с помощью резисторов на 1 кОм.
Каждый из входов может быть замкнут на землю с помощью кнопки. Если кнопки не нажаты, на входах поддерживается напряжение, соответствующее логической единице. Нажимая кнопки по одной или обе сразу, можно устанавливать на входах нулевое напряжение.
К выходу элемента через токоограничивающий резистор на 300 Ом подключен светодиод. Он включается, если на выходе элемента появляется напряжение, соответствующее логической единице.
Собранный макет показан на рис. 26.

Нажимая кнопки, убедитесь в том, что схема реализует показанную ранее таблицу состояний.
Помимо функции 2И-НЕ, из элементов микросхемы К155ЛА3 можно собрать устройство, реализующее любую логическую функцию. Например, при объединении двух входов элемента 2И-НЕ получаем инвертор НЕ.
Подробнее о микросхеме К155ЛА3 читайте в статье «Логические микросхемы. Часть 3».
В статье «8-bit Computer Made Solely From NAND Gates» описано создание компьютера только на микросхемах серии 7400. Также похожий проект описан здесь: «Мой компьютер на логических микросхемах».
Другие логические функции
Конечно, в рамках одной статьи невозможно подробно описать все возможные логические функции, реализуемые с помощью цифровых микросхем. Остановимся на И, Исключающее ИЛИ, и сумматоре. Также кратко расскажу про умножение и деление.
Функция 2И
Если поставить после 2И-НЕ ещё один элемент в режиме инвертора, получится функция 2И (рис. 27).

Микросхема К155ЛИ1 содержит четыре двухвходовых элемента И. Её зарубежный аналог — SN7408.
В серии К155 есть элементы И с большим числом входов на элемент, чем у ЛИ1:
К155ЛИ3: 3 элемента 3И (аналог SN7411);
К155ЛИ4: 2 элемента 4И (аналог SN7421);
К155ЛИ6: 2 элемента 4И (аналог SN7421)
На выходе элемента И будет единица в том случае, если на обоих входах установлена единица.
Исключающее ИЛИ
Микросхема К155ЛП5 содержит четыре элемента Исключающее ИЛИ. Зарубежный аналог — SN7486. Распиновка этой микросхемы такая же, как и у рассмотренной ранее микросхемы 155ЛА3.
На рис. 28 показана схема для тестирования микросхемы К155ЛП5.

Собранный макет показан на рис. 29. В нём использована микросхема КМ155ЛП5 в керамическом корпусе.

На выходе элемента Исключающее ИЛИ устанавливается единица, если состояние входов различны, и ноль, если они одинаковые (рис. 30).

Если нажимать кнопки по одной, будет загораться светодиод, подключенный к выходу элемента Исключающее ИЛИ. Однако если нажать обе кнопки сразу, светодиод погаснет.
Сумматор
С помощью микросхем К155ИМ1, К155ИМ2 и К155ИМ3 можно выполнить аппаратную операцию сложения чисел. Микросхема К155ИМ3, например, представляет собой четырёхразрядный двоичный сумматор с последовательным переносом (рис. Х).

На входы, обозначенные как A1, A2, A3 и A4 подаётся первое слагаемое, а на входы B1, B2, B3 и B4 — второе. Значение суммы будет при этом на выходах S1, S2, S3 и S4.
Для сложения многоразрядных микросхемы К155ИМ3 можно каскадировать. При этом на вход P0 нужно подать значение бита переноса от предыдущего каскада. На выходе P4 появится значение переноса для следующего каскада.
Примеры типовых схем включения, в том числе с каскадированием, можно найти в этом даташите.
Умножение и деление
Функция умножения целых чисел реализована, например, в микросхемах К555ИП8, 74284 и 74285. Они умножают два 4-битных числа и дают 8-битное произведение.
Деление обычно делают на ПЗУ-таблицах, на последовательных схемах вычитания и сдвига, а также на микросхемах программируемой вентильной матрицы ППВМ (field-programmable gate array, FPGA).
Если речь не идёт о каких-то специальных применениях, то в настоящее время выполнение этих и других операций с двоичными числами целесообразно выполнять с помощью микроконтроллеров.
Триггеры
Выше я рассказал про логические цифровые схемы. Однако во всех компьютерах также используются схемы памяти. Простейшую схему памяти под названием триггер можно собрать, например, на базе двух элементов 2И-НЕ микросхемы К155ЛА3 (рис. 32).

Собранный макет схемы показан на рис. 33.

Один из входов логических элементов D1.1 и D1.2 подключен к выходу другого элемента для образования перекрёстной обратной связи. Состояния других входов управляются кнопками SW1 и SW2. При этом используется подтяжка к питанию с помощью резисторов сопротивлением 10 кОм.
Нажимая кнопки, вы можете переключать триггер из одного состояния в другое. Для индикации состояния к выходам элементов D1.1 и D1.2 подключены светодиоды через токоограничивающие резисторы сопротивлением 240 Ом.
Таким образом получилось запоминающее устройство, способное хранить один разряд, или иными словами, один бит информации.
В исходном состоянии, когда кнопки не нажаты, триггер хранит последнее записанное значение. Однако сразу при включении питания состояние триггера не определено. Он может установиться в любое из двух состояний в зависимости от того, какой элемент «победит» и сбросит состояние другого модуля.
Если нажать кнопку SW2, на выходе D1.1 (вывод 3) будет установлена единица. В результате светодиод VD1 загорится. При этом на выводах 4 и 5 элемента D1.2 тоже будут единицы, поэтому на выходе D1.2 (вывод 6) будет ноль. Как следствие, светодиод VD2 погаснет.
Важно, что ноль с вывода 6 попадает на вход 2 элемента D1.1, удерживая на его выходе (вывод 3) единицу. Если теперь отпустить кнопку SW2, напряжение на выходе D1.1 не меняется, так как на выводе 2 ноль. В итоге после отпускания кнопки SW2 состояние триггера не изменится.
Операции с кнопкой SW1 выполняются зеркально.
Счетверённый триггер К155ТМ7
Микросхема К155ТМ7 содержит четыре D-триггера, объединенные попарно (рис. 34).

На рис. 35 показана эта микросхема так, как она обозначается на принципиальных схемах.

Входы первой пары триггеров обозначены как D1 и D2, а входы второй пары — как D3 и D4.
У каждого триггера есть прямой и инверсный выходы, которые на схемах обозначаются как Q и Q, соответственно.
Вход пары триггеров С1 и C2 предназначены для разрешения записи информации в триггеры и объединены вместе. Аналогично объединены входы C3 и C4.
Пока на входах разрешения C уровень логической единицы, триггер «прозрачен» — выходы Q повторяют сигналы на входах D.
Но когда входы C переходят в состояние логического нуля, текущее состояние запоминается и хранится независимо от изменений на D.
Для данного типа триггера управление записью выполняется изменением уровня. Такие триггеры называются защелками. Но есть триггеры, где записью управляет фронт сигнала, например, К155ТМ2.
Два счетверённых триггера могут хранить восемь бит информации или байт данных. Есть ряд микросхем, способных хранить байт данных, например, К589ИР12, К555ИР22 и другие.
Счётчик импульсов на микросхеме КМ155ИЕ5
На базе микросхемы КМ155ИЕ5 (рис. 36) можно сделать четырёхразрядный двоичный счётчик импульсов.

Внутри этой микросхемы четыре триггера, из которых первый (выход Q1) работает отдельно, а три остальных соединены последовательно и образуют счётчик-делитель на 8 (рис. 37).

Вы можете использовать триггер со входом C1 как делитель на два, а три оставшихся триггера как делитель на восемь, подавая сигналы на вход C2.
Также этот счётчик может работать как делитель на 16, если импульсы подаются на вход C1, а выход Q1 соединён перемычкой со входом C2.
Счёт импульсов идет по спадам выходных импульсов. При этом если на входы R0(1) и R0(2) подать единицу, выполняется сброс. Счёт прекращается, все выходы Q1-Q4 переходят в состояние логического нуля. Для счёта на одном из входов R0(1) или R0(2) должен быть низкий уровень.
Зарубежный аналог этой микросхемы — SN7493.
На рис. 38 показана принципиальная схема, демонстрирующая работу КМ155ИЕ5 в качестве счётчика в режиме делителя на 16.

Входные импульсы подаются с кнопки SW1 на вход C1, подтянутый к питанию с помощью резистора на 10 кОм. Чтобы погасить дребезг контактов кнопки, параллельно ей включён конденсатор ёмкостью 10 мкФ.
Вход C2 подключен к выходу Q1 для получения счётчика из четырёх триггеров.
К выходам триггеров подключены четыре светодиода через токоограничивающие резисторы 240 Ом.
Нажимая на кнопку, наблюдайте переключение триггеров в состояния от 0000 до 1111 (рис. 39).

Ниже показаны все возможные состояния счётчика и соответствующие им значения в десятичном, шестнадцатеричном и двоичном коде:
DEC (HEX) : BIN
0 (0x00): 0000
1 (0x01): 0001
2 (0x02): 0010
3 (0x03): 0011
4 (0x04): 0100
5 (0x05): 0101
6 (0x06): 0110
7 (0x07): 0111
8 (0x08): 1000
9 (0x09): 1001
10 (0x0A): 1010
11 (0x0B): 1011
12 (0x0C): 1100
13 (0x0D): 1101
14 (0x0E): 1110
15 (0x0F): 1111
Более подробную информацию о счётчиках вы найдёте в статьях «2.8. Счетчики» и «1.3.2 Счетчики».
Дешифраторы
Только что мы провели эксперименты со счётчиком КМ155ИЕ5, состояние которого отображалось при помощи четырёх светодиодов. Однако человеку удобнее видеть цифры на индикаторах. Ранее широко использовались газоразрядные индикаторы, а сегодня чаще встречаются светодиодные.
Чтобы зажечь ту или иную цифру на газоразрядном индикаторе, нужно подать довольно высокое напряжение на соответствующий электрод. Что же касается светодиодных индикаторов, то у них изображение цифр, десятичной точки и различных символов создаётся при помощи светодиодных сегментов. Чтобы отобразить ту или иную цифру нужно подать низкое напряжение через токоограничивающий резистор на соответствующие сегменты.
Для отображения цифр на газоразрядных индикаторах предназначена микросхема дешифратора К155ИД1. Что касается светодиодных семисегментных индикаторов, то тут подойдёт микросхема К514ИД1. Есть и другие микросхемы аналогичного назначения.
У дешифраторов К155ИД1 и К514ИД1 есть четыре входа, на которые подаётся число в двоичном или двоично-десятичном коде. В зависимости от значения кода дешифратор формирует напряжение на одном из выходов (для газоразрядного индикатора) или сразу на нескольких выходах (для семисегментного светодиодного индикатора).
Пример схемы управления газоразрядными индикаторами с помощью дешифратора К155ИД1 есть в статье «Универсальный Nixie-модуль на ИН-12». Что касается применения микросхемы К514ИД1 и аналогичных, то вы найдете их в статье «Схемы управления цифровыми полупроводниковыми индикаторами в статическом режиме».
Счётчик с семисегментным индикатором
Чтобы проверить дешифратор в работе, я собрал схему на базе двоично-десятичного счётчика CD4026BE (в котором уже есть встроенный дешифратор) и семисегментного светодиодного индикатора SC56-11EWA (рис. 40).

Обратите внимание, что вход счётчика CLK подтянут не к питанию, а к земле через резистор R1 сопротивлением 10 кОм. Конденсатор C1 ёмкостью 1 мкФ предназначен для устранения дребезга контактов кнопки SW1. Счёт идет по нарастающему фронту.
Вход CI позволяет остановить счёт, если подать на него высокий уровень. В нашей схеме этот вход подключен к земле и счётчик может работать.
Микросхема CD4026BE создана по технологии CMOS, и высокий уровень в данном случае реализуется через прямое подключение к питанию +5 В.
Вход RES предназначен для сброса счётчика в ноль (сброс выполняется подачей высокого уровня).
Чтобы разрешить отображение цифр на индикаторе, подключенном к счётчику, необходимо подать на вход DEI высокий уровень.
Выводы с номерами 10, 12, 13, 9, 11, 6, 7 нужно подключить к сегментам a, b, c, d, e, f, g индикатора через резисторы 300 Ом.
И, наконец, питание на счётчик CD4026BE подаётся на контакт с номером 5. Контакт 8 требуется подключить к земле.
Распиновка индикатора SC56-11EWA показана на рис. 41.

Если повернуть индикатор так, чтобы десятичная точка была справа и внизу, то слева будет вывод с номером 1. Нумерация остальных выводов идёт в направлении против часовой стрелки.
Собранный макет счётчика показан на рис. 42.

Вы можете добавить к этому макету ещё одну кнопку, предназначенную для сброса счётчика в ноль. Для этого подключите эту кнопку по аналогии с SW1 к контакту счётчика RES с номером 15.
На похожей элементной базе собраны часы, описанные в статьях «Breadboard Integrated Circuit Digital Clock» и «Digital Clock».
Сдвиговый регистр 155ИР1
На базе триггеров можно сделать сдвиговый регистр. Соберем схему для исследования четырёхразрядного универсального сдвигового регистра К155ИР1 (рис. 43). Зарубежный аналог этой микросхемы — SN7495.

Будем подавать импульсы от кнопки SW1 на тактовый вход C1, подтянутый к питанию с помощью резистора R1 сопротивлением 10 кОм. Тактовый вход C2 не используется и подключен к земле.
На вход V1 мы будем подавать уровни 0 или 1, изменяя их с помощью кнопки SW2. Вход V2 также не будем использовать, подключив его к земле.
Входы D1-D4 позволяют загружать данные в регистр сдвига. Для записи нужно подать на V2 единицу, и тогда данные D1-D4 будут загружены в регистр по спаду тактового импульса C2. В нашей схеме параллельная загрузка данных не используется, поэтому соответствующие входы микросхемы заземлены.
К выходам регистра Q1-Q4 подключены светодиоды VD1-VD4 через токоограничивающие резисторы сопротивлением 300 Ом.
Собранный макет показан на рис. 44. Счётчик КМ155ИЕ5 остался на макетной плате, но не подключен.

После включения питания все светодиоды будут включены. Если теперь нажать кнопку SW1, и, не отпуская её, нажимать кнопку SW2, то вы увидите, как уровень нуля, поданный на вход V1, будет последовательно записываться во внутренние регистры, сдвигаясь от D1 к D4.
Нажимая и отпуская SW2, можно управлять тем, какие данные (1 или 0) будут сохраняться в регистре и сдвигаться при нажатии кнопки SW1.
Сдвиговые регистры применяются в схемах преобразования последовательного кода в параллельный и обратно, в буферных регистрах, узлах задержки, кольцевых счётчиках и схемах управления индикацией.
В статье «Бегущие огни» рассказано, как можно сделать визуальный эффект для переключения лампочек, например, ёлочной гирлянды, с помощью 155ИР1 и тиристоров.
Подробнее о микросхеме 155ИР1 вы можете прочитать в статье «Регистр К155ИР1». Также вам может пригодится описание этой микросхемы.
Итоги
Надеюсь, эта статья помогла вам войти в мир цифровой электроники. Вы узнали про несложные цифровые микросхемы, реализующие логические функции, триггеры, счётчики и регистры. Конечно, в рамках одной статьи невозможно рассказать обо всём, однако теперь вы получили начальные знания в этой области. Они вам будут нужны для создания систем на базе микроконтроллеров и микрокомпьютеров.
В следующей статье я собираюсь рассказать, как сделать первые шаги в проектировании и сборке макетов встраиваемых устройств, пригодных, например, для умного дома, контроля и автоматизации каких-либо процессов.
Не переключайтесь!
Автор @AlexandreFrolov
НЛО прилетело и оставило здесь промокод для читателей нашего блога:
-15% на заказ нового VDS — HABRFIRSTVDS.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.