Управление семисегментными индикаторами по одному проводу
Часто бывает ситуация, когда надо выполнить простую задачу с которой справится даже грошовый контроллер вроде ATTiny12, но вот незадача — нужна индикация, а под какой нибудь семисегментный индикатор придется убить дофига выводов, а их всего восемь, из которых два питание, а один Reset. Можно, конечно, взять просто МК потолще, но мне больше по душе разные схемотехнические извраты. Вот и тут камрад Kalobyte подкинул ссылку на прикольную схему управления тройным (а в перспективе хоть десятерным) семисегментным индикатором по одному проводу.
Индикатор зажигается посредством сдвигового регистра 74HC164, всего таких регистров можно навесить очень много, просто соединив по цепи несколько регистров. Если отбросить RESET, то для проталкивания данных в регистр нужны две линии — Data и Clock. Путем небольшого изврата можно эти две линии обьединить в одну.
Для начала немного теории
Обычная RC цепочка. Отличается тем, что напряжение на конденсаторе не может измениться мгновенно. Время заряда и разряда зависит от емкости кондера и сопротивления резистора. Оценить его можно по постоянной времени T=R*C , это время за которое заряд изменится примерно втрое (в е=2.7 раз).
Если мы пустим через нее длинный импульс, то конденсатор успеет как полностью зарядиться, так и полностью разрядиться.
Если подадим короткий импульс, по времени намного меньше чем постоянная времени, то напряжение на конденсаторе изменится совершенно
Правильно!
У нас у регистра есть линия данных (Data) и линия строба (Clock). Когда уровень на Clock меняется с нуля на единицу (передний фронт) с линии Data считывается текущий уровень. Их можно разнести по разные стороны RC фильтра. И одни сигналы передавать узкими, другие широкими импульсами.
А теперь думаем. Строб един для всех регистров, а данные различные для разных битов. Поэтому строб будет всегда один, а данные будут меняться. Делаем
Получается вот такая схема:
Сигналы Reset я даже рисовать не стал — они там намертво на +5 повешаны. Сброс регистров осуществляется загоном в него нулей. Регистов тут два, но как я уже писал, можно навесить их еще очень много, лишь бы хватило скорости их заполнять.
Красная зона это уровень логической единицы, синяя — логического нуля. Между ними зона неопределенности, когда возможно ошибочное считывание, поэтому емкость конденсатора и сопротивление резистора нужно выбирать таким, чтобы переходный процесс от строб-импульса не попадал в эту зону. Красным цветом я отметил фронты на которых происходит считывание данных ну и стрелочками показал текущий логический уровень.
Вот, взяли и применив копеечный регистр, сэкономили на микроконтроллере. Зажопили кучу выводов и получили моральное удоволетворение от извращенского метода 🙂 Попутно вкурив в очередной пример применения конденсатора и интегрирующей цепочки.
Ссылки по теме:
Микросхема для управления семисегментным индикатором. Семисегментный дешифратор. Особенности семисегментных индикаторов
Семисегментный индикатор: программирование работы
Перевод двоичного кода десятичного числа в код семисегментного индикатораВ первой части статьи о было дано описание индикатора и способов его подключения к микроконтроллеру. Во второй и третьей части мы последовательно пройдем все этапы организации работы микроконтроллера с индикатором и создание программы, результатом которых станет реально работающая конструкция.
Давайте еще раз посмотрим на схему подключения семисегментного индикатора к микроконтроллеру:
На этой схеме выводы порта PB0…..PB7 подключены к выводам индикатора в определенной последовательности. Выводу PB0 соответствует сегмент «А» и далее соответственно по порядковому номеру вывода порта и по алфавиту выводов индикатора, при этом десятичная точка «dp» подсоединена к выводу порта PB7 . Сейчас и далее мы будем рассматривать схемы подключения для индикаторов с общим катодом, а при необходимости я буду вставлять дополнения для индикатора с общим анодом.
Для того, чтобы высветить определенную цифру на индикаторе, необходимо на соответствующих выводах порта микроконтроллера установить логическую единицу
На рисунке выше, черные цифры от 0 до 7 — выводы порта, зеленные латинские буквы — выводы светодиодного индикатора, красные нули — логические уровни на выходах порта (в данном случае логический уровень «0»). Для того, чтобы, к примеру, высветить на индикаторе цифру «4» и зажечь десятичную точку нам необходимо подать логическую 1 на выводы индикатора B, C, F, G и dp, что соответствует подачи логической единицы на выводы порта 1,2,5,6 и 7:
Поэтому, первое что нам необходимо сделать, это определить соответствие каждой десятичной цифре двоичного числа, которое надо выдавать на выход порта микроконтроллера для зажигания соответствующих сегментов индикатора.
Для «четверки» мы уже определили такую комбинацию = 1110 0110, что соответствует шестнадцатиричному числу 66h, определяем и для остальных цифр:
Операция, которую мы проделали, называется переводом двоичного кода десятичного числа в код семисегментного индикатора
Данная таблица дана для семисегментных индикаторов с общим катодом (сегмент индикатора зажигается логическим уровнем «1»). Для индикаторов с общим анодом (сегмент индикатора зажигается логическим уровнем «0») двоичные коды необходимо проинвертировать (поменять 0 на 1, и наоборот) и заново вычислить соответствующие значения в шестнадцатиричной системе.
Программирование одноразрядного семисегментного индикатораИспользование в конструкции одноразрядного индикатора может потребоваться в разных случаях. К примеру, собираем кодовый замок и есть необходимость высвечивать цифру соответствующую нажатой кнопки, или в охранной сигнализации высвечивать номер сработавшего датчика. Так что сфера применения одноразрядных индикаторов приличная.
Алгоритм подпрограммы:
1. Инициализация индикатора (подпрограмма)
— настройка порта, к которому подключен индикатор на вывод информации
— запись кодов семисегментного индикатора, соответствующих десятичным цифрам в определенные ячейки памяти
Данная подпрограмма должна вызываться отдельно из основной программы
2. Вход в основную подпрограмму
3. Основная часть
— считываем текущую цифру
— определяем какой код семисегментного индикатора соответствует текущей десятичной цифре
— записываем определенный код индикатора в порт микроконтроллера
4. Выход из подпрограммы
Для оформления программы в виде подпрограммы нам необходимо проделать ряд действий:
1. Присваиваем имя подпрограмме инициализации индикатора — Ini_Indiкator_1 (к примеру)
2. Присваиваем имя основной подпрограмме — Indicator_1
3. Присваиваем имена переменным SRAM в которых будут храниться коды семисегментного индикатора, к примеру:
— присваиваем имя переменной в которой будет хранится адрес ячейки памяти (D0) с кодом первой цифры (0) — D0_9
4. Присваиваем имя переменной, в которой будет хранится текущая цифра, которую необходимо вывести на индикатор. В эту переменную основная программа будет записывать вычисленные данные (цифры), которые мы выводим на индикатор — Data (к примеру).
Вот как, к примеру, в Algorithm Builder (остальные примеры тоже для этой программы), объявляются имена переменных в памяти программ (ОЗУ, SRAM):
В графе «Name» перечислены все имена переменных. В графе «Adress» запись «@D0_9» означает, что в переменной D0_9 хранится адрес первой переменной (D0)
Подпрограмма инициализации индикатора (подпрограмма вызывается из основной программы до обращения к подпрограмме вывода информации на индикатор):
А теперь давайте посмотрим основную часть программы и расшифруем ее:
Основная программа записала в назначенную нами переменную Data текущую цифру (для примера — цифра 6 ) и для вывода ее на индикатор вызвала подпрограмму Indikator_1 .
Работа подпрограммы:
— Содержимое переменной Data записывается в рабочий регистр R20 , теперь в регистре число 6 (рабочий регистр может быть любой)
— Допустим, первая переменная с кодом цифры 0 у нас находится в ячейки памяти по адресу 100 . На самом деле мы не знаем адреса ячеек памяти где хранятся значения D0…D9 , но они точно следуют друг за другом. Поэтому была назначена переменная D0_9 , в которой, как мы назначили, хранится адрес ячейки памяти D0 (в данный момент адрес =100 ).
— Следующей командой:
@D0_9 —> Y мы загружаем в двойной регистр Y адрес переменной D0 и получаем, что в регистре Y записалось число — 100 .
— Следующей командой:
Y + R20 мы складываем число 100 с числом 6 , результат = 106 при этом сохраняется в двойном регистре Y .
— Следующей командой:
[Y] —> R20 мы записываем содержимое ячейки памяти, расположенной по адресу, который записан в двойном регистре Y (106) , а по этому адресу у нас расположена ячейка памяти переменной D6 . Теперь в рабочем регистре R20 записано число 7Dh — код семисегментного индикатора для вывода цифры 6 .
— Следующей командой:
R20 —> PortB мы выводим содержимое R20 в порт PB — высвечиваем цифру 6
— Возвращаемся из подпрограммы
Для отображения десятичных и шестнадцатеричных цифр часто используется семисегментный индикатор. Изображение семисегментного индикатора и название его сегментов приведено на рисунке 3.
Рисунок 3.3 Изображение семисегментного индикатора и название его сегментов.
Для изображения на таком индикаторе цифры 0 достаточно зажечь сегменты a, b, c, d, e, f. Для изображения цифры «1» зажигают сегменты b и c. Точно таким же образом можно получить изображения всех остальных десятичных или шестнадцатеричных цифр. Все комбинации таких изображений получили название семисегментного кода.
Составим таблицу истинности дешифратора, который позволит преобразовывать двоичный код в семисегментный. Пусть сегменты зажигаются нулевым потенциалом. Тогда таблица истинности семисегментного дешифратора примет вид, приведенный в таблице 3.2. Конкретное значение сигналов на выходе дешифратора зависит от схемы подключения сегментов индикатора к выходу микросхемы. Эти схемы мы рассмотрим позднее, в главе, посвящённой отображению различных видов информации.
Таблица 3.2. Таблица истинности семисегментного декодера.
Входы | Выходы | |||||||||
a | b | c | d | e | f | g | ||||
В соответствии с принципами построения схемы по произвольной таблицы истинности, получим принципиальную схему семисегментного дешифратора (декодера), реализующего таблицу истинности, приведённую в таблице 2. На этот раз не будем подробно расписывать процесс разработки схемы. Полученная принципиальная схема семисегментного дешифратора приведена на рисунке 3.4.
Рисунок 3.4. Принципиальная схема семисегментного дешифратора (декодера).
Для облегчения понимания принципов работы схемы на выходе логических элементов «И» показаны номера строк таблицы истинности, реализуемые ими.
Например, на выходе сегмента a логическая единица появится только при подаче на вход комбинации двоичных сигналов 0001 (1) и 0100 (4). Это осуществляется объединением соответствующий цепей элементом «2ИЛИ». На выходе сегмента b логическая единица появится только при подаче на вход комбинации двоичных сигналов 0101 (5) и 0110 (6), и так далее.
В настоящее время семисегментные дешифраторы выпускаются в виде отдельных микросхем или используются в виде готовых блоков составе других микросхем. Условно-графическое обозначение микросхемы семисегментного дешифратора приведено на рисунке 3.5.
Семисегментный код необходим для отображения на цифровых индикаторах значений цифр от 0 до 9. Семисегментный, потому что цифры отображаются так называемыми сегментами, которых семь штук. Ниже приведена табличка соответствия между двоичным и семисегментным кодами.
Цифра | Двоичный код | Семисегментный код | |||||||||
a | b | c | d | e | f | g | |||||
Во, блин. Ну, в общем, на логике показывать не буду. Поскольку счетчик нам уже знаком , посмотрим на работу его совместно с дешифратором. Схема реальная, т. е. можно повторить.
Как видно, ничего сложного, все элементы схемы нам знакомы . На элементах DD1.1, DD1.2 (К561ЛА7) собран генератор тактовых импульсов. Резистор R1 и кондер С1 задают частоту следования импульсов. Формулу определения частоты следования я не помню, вспомню, напишу. Можно, если не в лом, определить эту самую частоту методом «научного тыка». В любом случае, если вместо постоянного резика воткнуть переменный, то частоту можно будет регулировать в некоторых пределах. С выхода генератора импульсы поступают на счетчик, выполненный на DD2. Это реверсивный двоично-десятичный счетчик с предустановкой. Вход ±1 определяет напрвление счета, вход 2/10 — режим (двоичный или десятичный). Вход V предназначен для разрешения записи в счетчик состояния информационных входов D0 — D3. Конкретно этому счетчику (561ИЕ14, 564ИЕ14) надо подать уровень лог. 1. Резик R2 и кондер C2 образуют дифференцирующую цепь. При включении питания короткий импульс на входе V, формируемый дифференцирующей цепью, разрешает запись в счетчик состояния входов D0 — D3. Поскольку эти выводы соединены с общим проводом, в счетчик записывается 0000, т. е. он обнуляется. Тактовый генератор фигачит импульсы, счетчик их считает и с его выходов 1-2-4-8 результат счета поступает на вход дешифратора DD3 (514ИД1). Это дешифратор двоичного кода в семисегментный. С выходов дешифратора сигналы (согласно второй таблице) поступают на входы семисегментного индикатора HL1, который кажет эту инфу, т. е. ряд цифр от 0 до 9. Внутри микрухи DD3 стоит DC. Это от буржуйского Decoder – по-нашински дешифратор. На выходе переноса p (выв. 7) счетчика DD2 при его переполнении формируется сигнал. Если взять следующие узлы: DD2, DD3, HL1 и влепить их снизу счетчика DD2, аналогично соединить соответствующие входы, кроме С, выход переноса (выв. 7) предыдущего счетчика соединить со входом С следующего, то получим многозначный индикатор. После отсчета 10 импульсов первым счетчиком, второй переключится на 1. Через следующие 10 импульсов второй счетчик увеличится еще на 1 и так далее. По такому принципу деления частоты работают, например, часы. Единственное, что там коэффициент пересчета другой (не 10, а 6), все-таки в минуте 60 сек. Этот счетчик тоже можно заставить считать до 6. Берем лог. элемент И, его входы соединяем с выходами 2-4 (выв. 11 и 14), а выход подключаем к дифференцирующей цепочке R2C2. Тогда при достижении числа 6 (0110) уровень лог. 1 на выходе элемента И сформирует не без помощи цепи R2C2 импульс, который запишет в счетчик 0000. И еще, увеличивая частоту генератора цифири будут бежать быстрее, например вот так:
Мультиплексор — это устройство, которое осуществляет выборку одного из нескольких входов и подключает его к своему выходу, в зависимости от состояния двоичного кода. Другими словами, мультиплексор — переключатель сигналов, управляемый двоичным кодом и имеющий несколько входов и один выход. К выходу подключается тот вход, чей номер соответствует двоичному коду. Ну и навороченное определение: мультиплексор — это устройство, преобразующее параллельный код в последовательный.
Структуру мультиплексора можно представить различными схемами, но более понятна, на мой взгляд, вот эта:
Рис. 1 — Структура мультиплексора
Самая большая хренотень есть не что иное, как элемент И-ИЛИ. Конкретно здесь элемент 4-х входовый. Ну а квадратики с единичками внутри, если кто не помнит, инверторы. Разберем выводы. Те, что слева, а именно D0-D3, называются информационными входами. На них чего-нибудь подают. Входы посередке, а именно А0-А1, называются адресными входами. Вот сюда именно и подается двоичный код, от которого зависит, какой из входов D0-D3 будет подключен к выходу, на этой схеме обозначенному как Y. Вход С, черт его знает, нафига он здесь. Вроде бы как разрешение работы, а может просто для понта. Ну его в баню. На схеме еще есть входы адреса с инверсией. Так вот они тоже показаны здесь для понта. На этом рисунке показан четырехвходовой, или как еще его называют, 4Х1 мультиплексор. Потому и адресных входов всего 2. Как нам известно, максимальное число переменных определяется как 2 n , где n — разряд кода. Здесь мы видим, что переменных четыре штуки, а значит разряд будет равен 2 (2 2 = 4). Для пояснения принципа работы этой схемы посмотрим на табличку истинности:
Вот так двоичный код выбирает нужный вход. Т. е., если имеем четыре объекта, ну, скажем, они пуляют сигналы, а устройство отображения у нас одно. Берем мультик (мультиплексор) и втуляем его в схему. В зависимости от двоичного кода к устройству отображения подключается сигнал от нужного объекта. Такой вот, дохленький пример.
Микросхемой мультик обозначается вот так:
Рис. 2 — Мультиплексор
Вообще, мультиплексоров всяких дофига. Есть и сдвоенные четырехвходовые, восьмивходовые, 16-ти входовые, счетверенные двухвходовые и пр. Тот, что на рисунке сделан от фонаря.
Демультиплексор . Демультиплексор — устройство, обратное мультиплексору. Т. е., у демультиплексора один вход и куча выходов. Двоичный код определяет, какой выход будет подключен ко входу. Другими словами, демультиплексор — это устройство, которое осуществляет выборку одного из нескольких выходов и подключает его к своему входу или, это переключатель сигналов, управляемый двоичным кодом и имеющий один вход и несколько выходов. Ко входу подключается тот выход, чей номер соответствует состоянию двоичного кода. И навороченное определение: демультиплексор — это устройство, которое преобразует последовательный код в параллельный.
Обычно в качестве демультиплексора используют дешифраторы двоичного кода в позиционный, в которых вводят дополнительный вход стробирования. Из-за схожести структур мультиплексора и демультиплексора в КМОП сериях есть микросхемы, которые одновременно являются мультиплексорром и демультиплексором, смотря с какой стороны подавать сигналы, например, К561КП1, работающая как переключатель 8х1 и переключатель 1х8 (то бишь, как мультиплексор и демультиплексор с восемью входами или выходами). Кроме того, в КМОП микросхемах помимо переключения цифровых сигналов (лог. 0 или 1) существует возможность переключения аналоговых. Другими словами, это переключатель аналоговых сигналов, управляемый цифровым кодом. Такие микросхемы называются коммутаторами. К примеру, с помощью коммутатора можно переключать сигналы, поступающие на вход усилителя (селектор входов). Вот напоследок простенькую схемку селектора входов УМЗЧ мы и рассмотрим. Построим ее, ну скажем, с использованием триггеров и мультиплексора.
Рис. 3 — Селектор входных сигналов
Вот такая нехитрая схемка. Итак, разберем работу и деталюшки. На триггерах микросхемы DD1 собран кольцевой счетчик нажатий кнопки разрядностью 2 (два триггера — 2 разряда). Двухразрядный двоичный код поступает на адресные входы D0-D1 микросхемы DD2. Микросхема DD2 представляет собой сдвоенный четырехканальный коммутатор. В соответствии с двоичным кодом к выходам микросхемы А и В подключаются входы А0-А3 и В0-В3 соответственно. Элементы R1, R2, C1 устраняют дребезг контактов кнопки. Дифференцирующая цепь R3C2 устанавливает триггеры в нулевое состояние при включении питания, при этом к выходу подключается первый вход. При нажатии на кнопку триггер DD1.1 переключается в состояние лог. 1 и к выходу подключается второй вход и т. д. Перебор входов идет по кольцу, начиная с первого.
С одной стороны просто, с другой немного неудобно. Черт его знает, сколько раз нажали на кнопку после включения и какой вход подключен к выходу. Хорошо бы поставить индикатор подключенного входа. Вот тут-то и пригодится семисегментный дешифратор . Нажимаем ссылочку, вспоминаем семисегментный дешифратор и смотрим на схемку (там, где циферки бегут). Берем дешифратор и индикатор, обрубаем счетчик и другую галиматью, переносим дешифратор с индикатором на схему коммутатора и первые два входа дешифратора (на схеме обозначен как DD3), т. е. 1 и 2 (выв. 7 и 1) подключаем к прямым выходам триггеров DD1.1 DD1.2 (выв. 1 и 13). Входы дешифратора 4 и 8 (выв. 2 и 6) кидаем на корпус (т. е. подаем лог. 0). Все! Индикатор будет показывать состояние кольцевого счетчика, а именно циферки от 0 до 3. Цифиря 0 соответствует первому входу, 1 — 2-му и т. д.
Регистр (от буржуйского to register — регистрировать) — это цифровой узел, предназначенный для записи и хранения числа. Некоторые регистры могут преобразовывать информацию из последовательной формы в параллельную и наоборот. Для начала рассмотрим регистр хранения.
Для отображения десятичных и шестнадцатеричных цифр часто используется семисегментный индикатор. Внешний вид семисегментного индикатора и обозначение его сегментов приведено на рисунке 6.11.
Рисунок 6.11 – Внешний вид семисегментного индикатора и название его сегментов
Для отображения на таком индикаторе цифры 0 достаточно зажечь сегменты a, b, c, d, e, f. Для изображения цифры 1 зажигают сегменты b и c. Точно таким же образом можно получить изображения всех остальных десятичных или шестнадцатеричных цифр. Все комбинации двоичных кодов, позволяющих сформировать изображения цифр (и некоторых букв) получили название семисегментного кода.
Составим таблицу истинности дешифратора, который позволит преобразовывать двоичный (а точнее двоично-десятичный) код в семисегментный. Пусть сегменты индикатора зажигаются нулевым потенциалом. Тогда таблица истинности семисегментного дешифратора примет вид, приведенный в таблице 6.4. Конкретное значение сигналов на выходе дешифратора зависит от схемы подключения сегментов индикатора к выходу микросхемы. Эти схемы будут рассмотрены позднее, в главе, посвящённой отображению различных видов информации.
Таблица 6.4 – Таблица истинности семисегментного декодера.
Входы | Выходы | ||||||||||
№ комбинации | a | b | c | d | e | f | g | ||||
В соответствии с принципами построения схемы по произвольной таблице истинности реализуем принципиальную схему семисегментного декодера, работающую в соответствии с таблицей истинности, записанной в таблице 6.4. На этот раз не будем подробно расписывать процесс разработки схемы. Для проверки того, как вы разобрались в алгоритме разработки цифровых схем, попробуйте самостоятельно получить эту схему. Полученная в результате такого синтеза принципиальная схема семисегментного дешифратора приведена на рисунке 6.12.
Для облегчения понимания принципов работы приведённой на рисунке 6.12 схемы на выходе логических элементов «И» показаны номера строк таблицы истинности, реализуемые ими. Например, на выходе сегмента ‘a’ логическая единица появится только при подаче на вход комбинации двоичных сигналов 0001 (1) и 0100 (4). Это осуществляется объединением соответствующих цепей элементом «2ИЛИ». На выходе сегмента ‘b’ логическая единица появится только при подаче на вход комбинации двоичных сигналов 0101 (5) и 0110 (6), и так далее.
Рисунок 6.12 – Принципиальная схема семисегментного дешифратора
В настоящее время семисегментные дешифраторы выпускаются в виде отдельных микросхем или используются в виде готовых блоков в составе других микросхем. Условно-графическое обозначение микросхемы семисегментного дешифратора приведено на рисунке 6.13.
Рисунок 6.13 – Условно-графическое обозначение семисегментного дешифратора
В качестве примера семисегментных дешифраторов можно назвать такие микросхемы отечественного производства как К176ИД3. Они предназначены для подключения газоразрядных индикаторов. В современных цифровых схемах семисегментные дешифраторы обычно входят в состав больших интегральных схем.
Шифраторы
Достаточно часто перед разработчиками цифровой аппаратуры встаёт задача, обратная той, что решают дешифраторы. Например, требуется преобразовать восьмеричный или десятичный линейный код в двоичный. Линейный восьмеричный код может поступать, например, с выхода механического переключателя. Составим таблицу истинности подобного устройства.
Таблица 6.5 – Таблица истинности восьмеричного кодера.
Входы | Выходы | |||||||||
№ комбинации | ||||||||||
Ещё одним источником линейного восьмеричного кода могут стать аналоговые компараторы с различными порогами срабатывания. Такая линейка компараторов используется в составе параллельного аналого-цифрового преобразователя для преобразования аналогового сигнала в цифровой код. Двоичный код более компактен и удобен для последующей обработки. Поэтому требуется преобразователь линейного кода в двоичный. Таблица истинности такого устройства несколько отличается от таблицы, приведённой в таблице 6.5. Таблица истинности кодера параллельного аналого-цифрового преобразователя приведена в таблице 6.6.
Таблица 6.6 – Таблица истинности кодера параллельного аналого-цифрового преобразователя.
Входы | Выходы | |||||||||
№ комбинации | ||||||||||
Таблицы истинности двух рассмотренных устройств можно объединить. В этом случае ячейки таблицы, для которых неважно, будет ли в них записан ноль или единица, помечены символом «X».
Таблица 6.7 – Таблица истинности восьмеричного
универсального кодера.
Входы | Выходы | |||||||||
№ комбинации | A2 | A1 | A0 | |||||||
X | ||||||||||
X | X | |||||||||
X | X | X | ||||||||
X | X | X | X | |||||||
X | X | X | X | X | ||||||
X | X | X | X | X | X |
Теперь можно составить схему устройства. То, что практически во всех строках есть неопределённые значения, позволяет значительно упростить схему восьмеричного кодера.
Наиболее простое решение получается для старшего разряда. Здесь можно обойтись схемой логического элемента “4ИЛИ”. Для получения единичного сигнала в выходном сигнале ‘2’ в 6 и 7 строках таблицы истинности достаточно объединить входные сигналы ‘7’ и ‘6’. Точно также добавляются строки 2 и 3, однако здесь уже потребуется дешифрация входных сигналов 2, 3, 4 и 5. Результирующая принципиальная схема восьмеричного кодера приведена на рисунке 6.15.
Рисунок 6.14 – Принципиальная схема восьмеричного кодера
В настоящее время шифраторы (кодеры) выпускаются в виде отдельных микросхем или используются в виде готовых блоков составе других микросхем, таких как параллельные АЦП. Условно-графическое обозначение шифратора приведено на рисунке 6.15.
В качестве примера интегрального исполнения шифраторов можно назвать такие микросхемы отечественного производства как К555ИВ1 (восьмеричный шифратор) и К555ИВ3 (десятичный шифратор).
Рисунок 6.15 – Условно-графическое обозначение восьмеричного шифратора
Мультиплексоры
Мультиплексорами называются устройства, которые позволяют подключать несколько выходов к одному входу. Иными словами, мультиплексор – это коммутатор, у которого есть несколько входов и один выход. В простейшем случае такую коммутацию можно осуществить при помощи ключей с электронным управлением:
Рисунок 6.16 – Коммутатор (мультиплексор), собранный на ключах
Такой коммутатор одинаково хорошо будет работать как с аналоговыми, так и с цифровыми сигналами. Однако скорость работы механических ключей оставляет желать лучшего, да и управлять ключами часто приходится автоматически при помощи какой-либо схемы.
В цифровых схемах требуется управлять ключами при помощи логических уровней. Поэтому желательно подобрать устройство, которое могло бы выполнять функции электронного ключа с электронным управлением цифровым сигналом.
Этот тип дешифраторов тоже предназначен для вывода двоичного кода в привычном для нас виде, но для этого он использует специальные индикаторы, цифры которых набираются из сегментов:
А теперь взглянем на схему такого дешифратора на примере микросхемы К176ИД2:
Как и любой другой дешифратор, микросхема имеет входы для получения двоичного кода (1, 2, 4, 8) и 7 выходов, на которых формируется код в соответствии с расположением сегментов на индикаторе:
Если, к примеру, подать на вход код 0110, то микросхема установит высокие уровни на выводах А, F, E, D, C, G и в результате мы увидим цифру 6 (двоичный эквивалент ее как раз 0110). Как и простые двоично-десятичные дешифраторы, семисегментные индикаторы бывают разных типов – все зависит от того, для работы с какими типами индикаторов они рассчитаны.
Если индикаторы светодиодные, то дешифратор должен иметь хорошую нагрузочную способность, чтобы выдержать ток светодиода сегмента (К555ИД18), если жидкокристаллические, то выходной ток может быть маленьким, но дешифратор должен уметь выдавать на индикатор противофазный сигнал (К564ИД4). Люминесцентные индикаторы не требуют большого тока и обходятся «постоянкой», но им подавай относительно высокое напряжение (К176ИД2).
Для удобства конструирования всевозможных цифровых шкал (к примеру, часов или частотомеров) дешифраторы могут объединять со счетчиками. Классический пример – К176ИЕ3 и К176ИЕ4:
Достаточно на вход С такого счетчика-дешифратора начать подавать импульсы, как он начнет считать и выводить результат счета на семисегментный индикатор: 0, 1, 2, 3 и т.д. Подали импульс на вход R (сброс) и на индикаторе «0» — счетчик «сбросился». Что примечательно, ИЕ4 умеет считать до 9 (потом снова начинает с нуля), а ИЕ3 – до 6. Идеально для подсчета десятков минут или секунд в электронных часах. Возвращаясь немного назад (точнее, в
Максимально универсальный семисегментный дисплей. Часть первая — Hardware / Хабр
Случилось так, что по наследству мне досталась целая коробка семисегментных индикаторов с гордой надписью «Комплект часы». Давно хотелось пустить её содержимое в дело, а когда дошли руки — оказалось, что внутри целый зоопарк разномастных индикаторов, разных размеров, цветов, с общим катодом и с общим анодом. По количеству штук так двадцать. И чтобы не пилить «очередные часы» пришла идея сделать, собственно, сабж — максимально универсальный семисегментный дисплей.
Что из этого получилось — под катом.
Disclaimer
Описанные ниже устройства являются довольно нишевыми, сделаны мною just for fun, но примененный подход может быть использован для решения аналогичной задачи универсализации там, где это потребуется. Текст разбавлю пояснениями для начинающих. Основная цель — спроектировать единую плату под все имеющиеся индикаторы и различные идеи их использования.
Статья получилась объемная, так что я разделил hardware и software части. К вашему вниманию часть первая — hardware.
Постановка задачи
Что я понимаю под максимальной универсальностью? Спроектировать модуль, с помощью которого или его комбинаций можно создать любой (или практически любой, в разумных пределах) дисплей для отображение информации с использованием этих самых семисегментных индикаторов. В голову приходит сразу с десяток применений — часы, конечно же, куда без них; туда же таймеры, счетчики чего угодно; термометры; табло для разных игр; дисплеи для отображения цифровой информации — курсов валют, индексов бирж и т.п. В общих чертах задача абсолютно тривиальная, но усложняется зоопарком типов индикаторов. В наличии одноразрядные китайские индикаторы с размером цифры 2.3 дюйма (тип
FJ23101, четыре светодиода на сегмент) и 3 дюйма (тип
CL-30011, пять светодиодов на сегмент), разных цветов и с различным типом подключения — с общим катодом и с общим анодом. Чтобы покрыть использование всех этих типов пришлось посидеть над схемой и разводкой, которая давала бы возможность без изменения топологии печатной платы управлять разными индикаторами. Поискав вечерок в интернете мне не удалось найти универсальных решений или схем, что и стало поводом для написания данной статьи.
По приведенным примерам использования становится понятно, что модуль должен поддерживать различную разрядность, от одной цифры для простых счетчиков событий, до шести для индексов некоторых финансовых бирж. Я решил ограничиться двумя цифрами для большего трехдюймового размера и тремя для меньшего, с возможностью подключения еще одного модуля в виде slave-а.
При выборе управляющей части долго думать не пришлось, выбор сразу пал на готовые модули ESP-07 на контроллере ESP8266 от Espressif. Дешевизна и простота использования этих модулей, возможность легкого подключения к Интернету, обширная комьюнити разработчиков и элементарность программирования этого контроллера отмели все другие варианты.
Приступим к деталям
Начнем с питания семисегментных индикаторов большого размера, где каждый сегмент представляет собой цепочку из нескольких последовательно включенных светодиодов. Такие дисплеи уже не получится зажечь «цифровыми» уровнями напряжения, так как падение на цепочке светодиодов больше этого значения. Конкретное значение указывается в даташите на дисплей, оно зависит от характеристик светодиодов, цвета и их количества и может варьироваться от 6 до 12 Вольт. Ток через каждый сегмент также превышает допустимые значения тока через отдельный пин для большинства контроллеров и составляет от 20 до 50 мА. Соответственно, нужно использовать напряжение 12 Вольт и коммутирующие ключи для управления сегментами и общими выводами. Также не стоит забывать о динамической индикации — последовательном переключении разрядов с частотой превышающей частоту восприятия глаза человека. Это позволяет значительно снизить энергопотребление практически без потери визуальной яркости дисплея.
Общее питание было решено брать от порта USB, как наиболее универсального стандарта на данный момент. После непродолжительного гугления я выбрал готовый модуль повышающего DC-DC преобразователя на МТ3608. Он компактный, дешевый (<0.5$), регулируемый, с достаточно высоким КПД — всё что нужно для наших целей. От резервного питания отказался, так как под рукой есть Интернет, где можно получить актуальную информацию в любой момент.
Питание цифровой части обеспечит линейный low-dropout стабилизатор LM1117-3.3, классическое решение для нетребовательных применений.
Теперь по транзисторным ключам.
Для управления индикатором с общим катодом на сегменты нужно подавать плюс питания, общий контакт, катод, подключить к земле. Для данных целей удобно использовать микросхемы источников тока (source drivers IC), как пример UDN2981. На картинке ниже подключение индикатора к драйверу и упрощенная схема одной ячейки для лучшего понимания пути прохождения тока. Стоит заметить, что в классической схеме должны быть токоограничивающие резисторы в цепи каждого сегмента, они упущены по причинам использования другого метода ограничения тока — МАХ7219 имеет изменять скважность управляющих импульсов, что в сумме с возможность регулировки напряжения питания индикаторов даст необходимый результат.
Для индикаторов с общим анодом — наоборот, общий контакт подключается к плюсу питания, а сегменты коммутируются на землю. В плане управления индикаторы с общим анодом более простые, так как не требуют коммутации высокого напряжения, по этой причине они более распространены. Для управления сегментами удобно использовать микросхему-массив
составных транзисторовДарлингтона (Darlington Transistor Arrays), например всеми любимую
ULN2803.
Значительным преимуществом перед UDN2981 является стоимость, которая в разы меньше. На картинке ниже подключение индикатора к драйверу и упрощенная схема одной ячейки.
Можно заметить, что верхние части схем очень схожи. Пара драйверов UDN2981 и ULN2803 подобрана неспроста. Относительно ножек вход/выход они pin-to-pin совместимы. Это дает возможность сделать универсальное посадочное место на плате добавив всего несколько перемычек под запайку для ножек питания. Бинго!
Чтобы упростить задачу динамической индикации я решил не изобретать велосипед, не городить 595-е сдвиговые регистры, а взять надежное и проверенное решение — специализированный драйвер семисегментного дисплея MAX7219. Эта микросхема умеет хранить во внутренней памяти до восьми цифр и самостоятельно коммутировать разряды с заранее установленной яркостью. По этой причине и не нужны резисторы последовательно с каждым сегментом. Управляется драйвер по шине SPI. Как по мне, микросхема имеет всего один недостаток — высокую стоимость. Имела. Пришли китайцы и наклепали полный функциональный аналог со стоимостью в несколько центов. Название такое же, правда маркировка отличается, отсутствует оригинальный логотип Maxim. В работе отличий не замечено, временные диаграммы такие же, не греется, отказов пока не было. Но для ответственных применений все-таки рекомендую ставить дорогой оригинал.
Вот такой набор MAX7219-MATRIX-KIT можно купить на Ali и в локальных магазинах для ардуинщиков по цене в четыре раза ниже оригинального драйвера MAX7219. Да-да, вы меня правильно поняли, набор с матрицей, платой и рассыпухой. Дешевле. В четыре раза. Выбор очевиден же?
Пока всё звучит очень хорошо и просто, берём драйвер дисплея, который всё делает за нас, в зависимости от типа индикатора ставим нужные ключи и вуа-ля! Все почти так и есть, кроме одного «но». MAX7219 рассчитан на работу с дисплеями с общим катодом с напряжением сегмента до 5В и никак иначе. Что это дает в сухом остатке? Перебирая разряды индикаторов драйвер подключает их на землю, поддерживая высокий уровень на катодах остальных разрядов. А теперь вернемся к схемам выше и проанализируем, что будет в случае с индикатором с общим анодом.
Нетрудно понять, что мы получим инверсию — нужный разряд будет выключен, все остальные — активные. Вместо динамической индикации на дисплее будет сплошной засвет от соседних разрядов. Чтобы избежать такой ситуации между контроллером и драйвером нужно добавить микросхему инвертирующую логические уровни. Так как максимальное количество разрядов шесть, гуглим «hex inverter» и тут же находим 74hc04. Отлично, а для общего катода вместо микросхемы сделаем перемычки или можно использовать pin-to-pin совместимую микросхему-буфер 74als34/74as34 (hex noninverter, но обязательно с выходом push-pull, открытый коллектор/сток типа 74hc07/74als35 работать не будет из-за отсутствия подтяжки к питанию).
В итоге имеем финальные схемы подключения индикаторов. Для общего катода все просто — драйвер плюс ключи способные подавать на сегменты повышенное напряжение. В даташите на MAX7219 приводится схема подключения индикаторов размера 2.3 дюйма и все это запитано от 5 Вольт, но мои экземпляры наотрез отказались работать при таком низком напряжении, сегмент начинал слабо светиться при подаче 7.2В (1.8В на светодиод). Катоды подключены напрямую к MAX7219, контроллер может прокачивать через себя от 320мА на каждый канал (>45мА на сегмент), чего с головой достаточно для данных типоразмеров индикаторов.
Для общего анода все немного сложнее. Тут уже нужно использовать разнотипные ключи для верхнего и для нижнего плечей плюс инвертирующий буфер для управления разрядами. Инвертирование сигналов для сегментов получаем автоматически при использовании ULN2803.
Как видим, со стороны драйвера MAX7219 и управляющего всем этим ESP8266 нет никакой разницы какой именно тип индикатора установлен в модуле, модифицировать прошивку не требуется.
Замечу, что при использовании внешних драйверов встроенное в контроллер ограничение тока сегментов (которое задается резистором на входе Iset) корректно работать не будет, поэтому интенсивность будем регулировать напряжением питания при максимальной скважности от MAX7219. Драйвер позволяет устанавливать интенсивность скважностью встроенного ШИМ генератора от 1/32 до 31/32 с шагом 1/16.
Для управляющей части на ESP8266 ничего выдумывать не нужно, берем типовое включение модуля, заводим линии SPI на MAX7219, UART для прошивки на внешний разъем. Дополнительно решил добавить преобразователь протокола UART в virtual COM port через USB, его устанавливать необязательно, но места на плате предостаточно, пускай будет такая возможность. Как преобразователь я выбрал СН340, как максимально простое и бюджетное решение. В версии чипа СН340G преобразователь даже не требует частотозадающего кварца, он уже встроен в конвертер, а из обвеса всего пара конденсаторов, проще не бывает.
Полная схема в хорошем качестве тут.
Со схемой определились, теперь можно приступать к топологии печатной платы. Как я уже упоминал, все эти заморочки именно через плату. Хотелось заказать партию плат на нормальном производстве под все вышеперечисленные устройства и не дорабатывать их по месту напильником и скальпелем. После непродолжительных размышлений на плате вырисовались аж целых восемь посадочных мест под семисегментные индикаторы:
- По одному для 2.3″ и 3″ по центру платы — для дисплея с одной цифрой
- По два для 2.3″ и 3″ — для дисплея с двумя цифрами
- Три для 2.3″ — соответственно, для дисплея с тремя цифрами
По краям платы расположены контакты расширения — для подключения справа от ведущего еще одного аналогичного ведомого модуля, но без схемы управления и питания, только индикаторы.
Такая комбинация позволяет расширить разрядность до шести цифр, а так же комбинируя расположение и размер индикаторов изготовить табло для различных, предположим, настольных игр и, конечно же, часы! На контакты продублированы сигналы управления всеми сегментами и выведены линии подключения 3 и 4 разряда для трехдюймовок, и 4, 5 и 6 разряд для двухдюймовок.
Дополнительно, два оставшихся свободных канала MAX7219 подключены к двум цепочкам дискретных светодиодов, расположенных над и под индикаторами. Их, например, можно будет использовать для фоновой подсветки, так сказать эффект ambilight.
Размер платы выбран таким образом, чтобы она не выходила за края индикаторов. В таком случае можно скомбинировать дисплей с одинаковыми расстояниями между цифрами для бо́льших и 6ти-разрядный для меньших индикаторов.
По углам платы расположены четыре отверстия под болт М3 для крепления модуля к несущей конструкции.
Микросхемы, если это было возможно, выбраны в выводных корпусах DIP, так как вопрос миниатюризации для данного устройства не актуален, а на плате они выглядят уже почти стимпанково, на фоне привычных BGA монстров. Это придает особого шарма, как у ламповых усилителей.
Посадочное место под модуль ESP-07 также pin-to-pin совместимо с модулями ESP-12S/E/F.
Плата проектировалась за два вечера, по этой причине использовался простой принцип разводки как у автороутеров — разделение горизонтальных и вертикальных линий на разные слои. В итоге плата получилась двухсторонняя, несложная и визуально красивая.
Плата была отправлена в производство как раз в канун китайского Весеннего Фестиваля и карантинных мер в КНР. Рассматривал три популярные площадки для изготовления мелкосерийных прототипов — PCBway, Seeed и JLCpcb. На последней стоимость получилась на 20 долларов дешевле (при партии в 20 шт) и значимым плюсом для меня было то, что фабрика не закрывалась на праздничную неделю. Суммарная стоимость составила 44 доллара, с учетом доставки 21$ и купона на скидку -5$. В пересчете на плату — чуть больше 2 долларов за штуку. Несмотря на разгар эпидемии коронавируса, от отправки gerber-ов на фабрику к моменту получения прошел 21 день. Качество плат на высоте.
За время пока в Китае изготавливались платы, в местном рекламном агентстве были заказаны основы из прозрачного акрила, куда можно закрепить платы и светорассеиватель. Теперь можно посмотреть, что получилось из задуманного.
Вот так выглядит вариант платы, запаянной под индикаторы с общим катодом. На фото указаны названия микросхем и обведены перемычки под запайку.
А вот так — под индикаторы с общим анодом.
На фото ниже различные комбинации индикаторов разных размеров. Как вы можете понять, их также можно удвоить, добавив slave-модуль.
Далее осталось только написать скрипт под конкретную реализацию, чем и займемся в следующей части.
Всем спасибо за внимание!
P.S.: Если кто-то заинтересовался проектом — пишите в личку, осталось еще с десяток плат или могу выслать gerber-файлы.
Двухцветный семисегментный индикатор. Управление семисегментным индикатором. Статическое управление светодиодным индикатором
Наверняка вы уже видели индикаторы — «восьмёрки». Это и есть семисегментный светодиодный индикатор, который служит для отображения цифр от 0 до 9, а также децимальной точки (DP — Decimal point) или запятой.
Конструктивно такое изделие представляет собой сборку светодиодов. Каждый светодиод сборки засвечивает свой знакосегмент.
В зависимости от модели сборка может состоять из 1 — 4 семисегментных групп. Например, индикатор АЛС333Б1 состоит из одной семисегментной группы, которая способна отображать всего лишь одну цифру от 0 до 9.
А вот светодиодный индикатор KEM-5162AS уже имеет две семисегментных группы. Он является двухразрядным. Далее на фото показаны разные светодиодные семисегментные индикаторы.
Также существуют индикаторы с 4-мя семисегментными группами — четырёхразрядные (на фото — FYQ-5641BSR-11). Их можно использовать в самодельных электронных часах.
Как обозначаются семисегментные индикаторы на схемах?
Так как семисегментный индикатор — это комбинированный электронный прибор, то изображение его на схемах мало отличается от его внешнего вида.
Стоит только обратить внимание на то, что каждому выводу соответствует конкретный знакосегмент, к которому он подключен. Также имеется один или несколько выводов общего катода или анода — в зависимости от модели прибора.
Особенности семисегментных индикаторов.
Несмотря на кажущуюся простоту этой детали и у неё есть особенности.
Во-первых, светодиодные семисегментные индикаторы бывают с общим анодом и с общим катодом. Данную особенность следует учитывать при его покупке для самодельной конструкции или прибора.
Вот, например, цоколёвка уже знакомого нам 4-ёх разрядного индикатора FYQ-5641BSR-11 .
Как видим, аноды у светодиодов каждой цифры объединены и выведены на отдельный вывод. Катоды же у светодиодов, которые принадлежат к знакосегменту (например, G ), соединены вместе. От того, какую схему соединений имеет индикатор (с общим анодом или катодом) зависит очень многое. Если взглянуть на принципиальные схемы приборов с применением семисегментных индикаторов, то станет ясно, почему это так важно.
Кроме небольших индикаторов есть большие и даже очень большие. Их можно увидеть в общественных местах, обычно в виде настенных часов, термометров, информеров.
Чтобы увеличить размеры цифр на табло и одновременно сохранить достаточную яркость каждого сегмента, используется несколько светодиодов, включенных последовательно. Вот пример такого индикатора — он умещается на ладони. Это FYS-23011-BUB-21 .
Один его сегмент состоит из 4 светодиодов, включенных последовательно.
Чтобы засветить один из сегментов (A, B, C, D, E, F или G), нужно подать на него напряжение в 11,2 вольта (2,8V на каждый светодиод). Можно и меньше, например, 10V, но яркость тоже уменьшится. Исключение составляет децимальная точка (DP), её сегмент состоит из двух светодиодов. Для неё нужно всего 5 — 5,6 вольт.
Также в природе встречаются двухцветные индикаторы. В них встраиваются, например, красные и зелёные светодиоды. Получается, что в корпус встроено как бы два индикатора, но со светодиодами разного цвета свечения. Если подать напряжение на обе цепи светодиодов, то можно получить жёлтый цвет свечения сегментов. Вот схема соединений одного из таких двухцветных индикаторов (SBA-15-11EGWA).
Если коммутировать выводы 1 (RED ) и 5 (GREEN ) на «+» питания через ключевые транзисторы, то можно менять цвет свечения отображаемых чисел с красного на зелёный. А если же одновременно подключить выводы 1 и 5, то цвет cвечения будет оранжевым. Вот так можно баловаться с индикаторами .
Управление семисегментными индикаторами.
Для управления семисегментными индикаторами в цифровых устройствах используют регистры сдвига и дешифраторы. Например, широко распространённый дешифратор для управления индикаторами серии АЛС333 и АЛС324 — микросхема К514ИД2 или К176ИД2 . Вот пример .
А для управления современными импортными индикаторами обычно используются регистры сдвига 74HC595 . По идее, управлять сегментами табло можно и напрямую с выходов микроконтроллера. Но такую схему используют редко, так как для этого требуется задействовать довольно много выводов самого микроконтроллера. Поэтому для этой цели применяются регистры сдвига. Кроме этого, ток, потребляемый светодиодами знакосегмента, может быть больше, чем ток, который может обеспечить рядовой выход микроконтроллера.
Для управления большими семисегментными индикаторами, такими как, FYS-23011-BUB-21 применяются специализированные драйверы, например, микросхема MBI5026 .
Что внутри семисегментного индикатора?
Ну и немного вкусненького. Любой электронщик не был бы таковым, если бы не интересовался «внутренностями» радиодеталей. Вот что внутри индикатора АЛС324Б1.
Чёрные квадратики на основании — это кристаллы светодиодов. Тут же можно разглядеть золотые перемычки, которые соединяют кристалл с одним из выводов. К сожалению, этот индикатор уже работать не будет, так как были оборваны как раз эти самые перемычки . Но зато мы можем посмотреть, что скрывается за декоративной панелькой табло.
Светодиод (или светоизлучающий диод) представляет собой оптический диод, излучающий световую энергию в виде «фотонов», если он смещен в прямом направлении. В электронике мы называем этот процесс электролюминесценцией. Цвет видимого света, излучаемого СИД, лежит в диапазоне от синего до красного и определяется спектральной излучаемого света, которая, в свою очередь, зависит от различных примесей, которые добавляются в полупроводниковые материалы в процессе их производства.
Светодиоды имеют много преимуществ по сравнению с традиционными лампами и светильниками, и, пожалуй, самым главным из них является их небольшой размер, долговечность, различные цвета, дешевизна и легкая доступность, способность легко взаимодействовать с различными другими электронными компонентами в цифровых схемах.
Но главное преимущество светодиодов состоит в том, что благодаря их малому размеру, некоторые из них могут быть сосредоточены в одном компактном корпусе, образуя так называемый семисегментный индикатор.
Семисегментный индикатор состоит из семи светодиодов (отсюда и его название), расположенных прямоугольником, как показано на рисунке. Каждый из семи светодиодов называется сегментом, поскольку при свечении сегмент образует часть цифры (десятичной или 12-ричной Иногда в пределах одного пакета используется 8-й дополнительной светодиод. Он служит для отображения десятичной точки (DP), позволяя, таким образом, отображать если два или более 7-сегментных индикаторов соединены вместе для представления чисел больше десяти.
Каждый из семи светодиодных сегментов дисплея соединен с соответствующей площадкой контактного ряда, расположенного прямо на прямоугольном пластиковом корпусе индикатора. Светодиодные контакты промаркированы метками от a до g, представляющими каждый отдельный сегмент. Другие контакты светодиодных сегментов соединены между собой и образуют общий вывод.
Итак, прямое смещение, поданное на соответствующие контакты светодиодных сегментов в определенном порядке, заставит некоторые сегменты светиться, а остальные останутся затемненными, что позволяет высветить нужный символ шаблона числа, которое будет отображено на дисплее. Это и позволяет нам представлять каждую из десяти десятичных цифр от 0 до 9 на 7-сегментном индикаторе.
Общий вывод, как правило, используется для определения типа 7-сегментного дисплея. Каждый светодиод дисплея имеет два соединительных вывода, один их которых называется «анод», а другой, соответственно, носит название «катод». Поэтому светодиодный семисегментный индикатор может иметь два типа схемотехнического исполнения — с общий катодом (ОК) и с общим анодом (ОА).
Разница между этими двумя типами дисплеев заключается в том, что в конструкции с ОК катоды всех 7 сегментов непосредственно соединены друг с другом, а в схеме с общим (ОА) анодом между собой соединены аноды всех 7 сегментов. Обе схемы работают следующим образом.
- Общий катод (ОК) — соединенные между собой катоды всех светодиодных сегментов имеет уровень логического «0» или подключен к общему проводу. Отдельные сегменты высвечиваются подачей на их анодный вывод сигнала «высокого» логического уровня или логической «1» через ограничительный резистор для создания прямого смещения отдельных светодиодов.
- Общий анод (ОА) — аноды всех светодиодных сегментов объединены и имеют уровень логической «1». Отдельные сегменты индикатора светятся при соединении каждого конкретного катода с землей, логическим «0» или низкопотенциальным сигналом через соответствующий ограничительный резистор.
В целом семисегментные индикаторы с общим анодом более популярны, так как многие логические схемы могут потребовать больше тока, чем способен отдать источник питания. Также отметим, что дисплей с общим катодом не является прямой заменой в цепи для дисплея с общим анодом. И наоборот — это равноценно включению светодиодов в обратном направлении, и, следовательно, излучение света не произойдет.
Хотя 7-сегментный индикатор можно рассматривать как единый дисплей, он все-таки состоит из семи отдельных светодиодов в рамках одного пакета, и как таковые эти светодиоды нуждаются в защите от перегрузки по току. Светодиоды излучают свет только тогда, когда они смещены в прямом направлении, а количество излучаемого ими света пропорционально прямому току. Это означает только то, что интенсивность свечения светодиода возрастает примерно линейно с увеличением тока. Так что, во избежание повреждения светодиода, этот прямой ток должен контролироваться и ограничиваться до безопасного значения внешним ограничительным резистором.
Такие семисегментные индикаторы называются статическими. Существенным их недостатком является большое количество выводов в пакете. Для устранения этого недостатка применяются схемы динамического управления семисегментными индикаторами.
Семисегментный индикатор завоевал большую популярность среди радиолюбителей, поскольку он удобен в использовании и легок для восприятия.
В этой статье мы поговорим о цифровой индикации.
Семисегментные светодиодные индикаторы предназначены для отображения арабских цифр от 0 до 9 (рис.1).
Такие индикаторы бывают одноразрядные, которые отображают только одно число, но семисегментных групп, объединенных в один корпус может быть и больше (многоразрядные). В этом случае цифры разделяются децимальной точкой (рис.2)
Рис.2.
Индикатор называется семисегментным из-за того, что отображаемый символ строится из отдельных семи сегментов. Внутри корпуса такого индикатора находятся светодиоды, каждый из которых засвечивает свой сегмент.
Буквы и другие символы на таких индикаторах отображать проблематично, поэтому для этих целей используются 16-сегментные индикаторы.
Светодиодные индикаторы бывают двух типов.
В первом из них все катоды, т.е. отрицательные выводы всех светодиодов, объединены вместе и для них выделен соответствующий вывод на корпусе.
Остальные выводы индикатора соединены к аноду каждого из светодиодов (рис.3, а). Такая схема называется «схема с общим катодом».
Также существуют индикаторы, у которых светодиоды каждого из сегментов подключены по схеме с общим анодом (рис.3, б).
Рис.3.
Каждый сегмент обозначен соответствующей буквой. На рисунке 4 представлено их расположение.
Рис.4.
В качестве примера рассмотрим двухразрядный семисегментный индикатор GND-5622As-21 красного свечения. Кстати существуют и другие цвета, в зависимости от модели.
С помощью трехвольтовой батарейки можно включать сегменты, а если объединить группу выводов в кучку и подать на них питание, то можно даже отображать цифры. Но такой метод является неудобным, поэтому для управления семисегментными индикаторами используют регистры сдвига и дешифраторы. Также, нередко, выводы индикатора подключаются напрямую к выходам микроконтроллера, но лишь в том случае когда используются индикаторы с низким потреблением тока. На рисунке 5 представлен фрагмент схемы с использованием PIC16F876A.
Рис.5.
Для управления семисегментным индикатором часто используется дешифратор К176ИД2.
Эта микросхема способна преобразовать двоичный код, состоящий из нулей и единиц в десятичные цифры от 0 до 9.
Чтобы понять, как все это работает, нужно собрать простую схему (рис.6). Дешифратор К176ИД2 выполнен в корпусе DIP16. Он имеет 7 выходных вывода (выводы 9 — 15), каждый из которых предназначен для определенного сегмента. Управление точкой здесь не предусмотрено. Также микросхема имеет 4 входа (выводы 2 — 5) для подачи двоичного кода. На 16-й и 8-ой вывод подается плюс и минус питания соответственно. Остальные три вывода являются вспомогательными, о них я расскажу чуть позже.
Рис.6.
DD1 — К176ИД2
R1 — R4 (10 — 100 кОм)
HG1 —
GND-5622As-21
В схеме присутствует 4 тумблера (можно любые кнопки), при нажатии на них на входы дешифратора подается логическая единица от плюса питания. Кстати питается сама микросхема напряжением от 3 до 15 Вольт. В данном примере вся схема питается от 9-вольтовой «кроны».
Также в схеме присутствует 4 резистора. Это, так называемые, подтягивающие резисторы. Они нужны, чтобы гарантировать на логическом входе низкий уровень, при отсутствии сигнала. Без них показания на индикаторе могут отображаться некорректно. Рекомендуется использовать одинаковые сопротивления от 10 кОм до 100 кОм.
На схеме выводы 2 и 7 индикатора HG1 не подключены. Если подключить к минусу питания вывод DP, то будет светиться децимальная точка. А если подать минус на вывод Dig.2, то будет светиться и вторая группа сегментов (будет показывать тот же символ).
Входы дешифратора устроены так, что для отображения на индикаторе чисел 1, 2, 4 и 8 требуется нажатие лишь одной кнопки (на макете установлены тумблеры, соответствующие входам D0, D1, D2 и D3). При отсутствии сигнала отображается цифра ноль. При подаче сигнала на вход D0 отображается цифра 1. И так далее. Для отображения других цифр требуется нажатие комбинации тумблеров. А какие именно нужно нажимать нам подскажет таблица 1.
Таблица 1.
Чтобы отобразить цифру «3» необходимо логическую единицу подать на вход D0 и D1. Если подать сигнал на D0 и D2, то отобразится цифра «5» (рис.6).
Рис.6.
Здесь представлена расширенная таблица, в которой мы видим не только ожидаемую цифру, но и те сегменты (a — g), которые составят эту цифру.
Таблица 2.
Вспомогательными являются 1, 6 и 7-ой выводы микросхемы (S, M, К соответственно).
На схеме (рис.6) 6-ой вывод «М» заземлен (на минус питания) и на выходе микросхемы присутствует положительное напряжение для работы с индикатором с общим катодом. Если используется индикатор с общим анодом, то на 6-ой вывод следует подать единицу.
Если на 7-ой вывод «К» подать логическую единицу, то знак индикатора гасится, ноль разрешает индикацию. В схеме данный вывод заземлен (на минус питания).
На первый вывод дешифратора подана логическая единица (плюс питания), что позволяет отображать преобразованный код на индикатор. Но если подать на данный вывод (S) логический ноль, то входы перестанут принимать сигнал, а на индикаторе застынет текущий отображаемый знак.
Стоит заметить одну интересную вещь: мы знаем, что тумблер D0 включает цифру «1», а тублер D1 цифру «2». Если нажать оба тумблера, то высветится цифра 3 (1+2=3). И в других случаях на индикатор выводится сумма цифр, составляющих эту комбинацию. Приходим к выводу, что входы дешифратора расположены продуманно и имеют очень логичные комбинации.
Также вы можете посмотреть видео к этой статье.
Или термометров с большими цифрами, трудно найти подходящие индикаторы (типа АЛС), а иногда нужен такой размер, которого вообще нет в продаже. Для этого часто каждый элемент (сегмент) цифр собирают из нескольких обычных круглых светодиодов. Мы предлагаем более совершенный и удобный вариант такого решения, с использованием микросхемы 74HC595. В проекте получились знаки почти 10 сантиметров высоты, что могут быть видны на большие расстояния. При необходимости, большое количество цифр может быть последовательно связана друг с другом через специализированный разъем.
Принципиальная схема
Эта схема представляет собой контроллер одной цифры 7-сегментного дисплея, используя большой набор из 5 светодиодов на сегмент и регистр сдвига для легкого управления микроконтроллером через вход. Каждый из светодиодов, используемых в этом проекте, диаметром 5 мм.
Микросхема ULN2003 помогает усилить ток, протекающий через светодиоды. Резисторы R1 — R8 токоограничивающие для светодиодов, которые в схеме соединены последовательно.
Доброго времени суток! После моего затяжного и вынужденного перерыва, продолжим освоение курса «Программирование Ардуино». В одном из наших предыдущих уроков, мы уже работали с последовательностью светодиодов, теперь пора переходить к следующему этапу обучения. Темой сегодняшней статьи будет – 7-сегментный индикатор.
Знакомство с 7-сегментным индикатором будет состоять из двух частей. В первой части мы поверхностно «пробежимся» по теоретической составляющей, поработаем с «железом» и напишем простенькие программки.
Прошлый раз мы работали с последовательностью из 8 светодиодов, сегодня их также будет 8 (7 – светодиодных полосок и 1 точка). В отличии от предыдущей последовательности, элементы этого набора не выстроенные в ряд (друг за дружкой), а расположены в определённом порядке. Благодаря чему используя лишь один компонент можно вывести 10 цифр (от 0 до 9).
Еще одно существенное отличие, что выделяет данный индикатор на фоне простых светодиодов. У него общий катод (вернее две равноценные ножки 3 и 8, на который заведен катод). Достаточно всего лишь соединить один из катодов с землей (GND ). Аноды у всех элементов индикатора индивидуальные.
Небольшое отступление. Все выше сказанное относится к 7-сегментным индикаторам с общим катодом. Однако существуют индикаторы с общим анодом. Подключение таких индикаторов имеет существенные отличия, поэтому прошу не путать «грешное с праведным». Необходимо четко понимать, какой именно тип семисегментника у вас в руках!
Кроме отличий между простыми светодиодами и 7-сегментными индикаторами, есть и общие черты. Например: индикаторы, как и светодиоды, можно смонтировать в ряд (последовательность) для отображения двух-, трёх-, четырехзначных чисел (разрядов). Однако не советую сильно заморачиваться по поводу самостоятельной сборки сегментных наборов. В продаже «рядом» с одноразрядными индикаторами, продаются и многоразрядные.
Надеюсь, вы не забыли об необходимости использования токоограничивающих резисторов при подключении светодиодов. Это же относится и к индикаторам: на каждый элемент индикатора должен быть подключен свой резистор. 8 элементов (7 + 1) – 8 резисторов.
У меня под рукой оказался семисегментник с маркировкой 5161AS (общий катод). Распиновка контактов:
Принципиальная схема
Как говорил ранее, для того, чтобы включить сегмент «А» подключим к любому общему контакту (3 или 8) «землю», а на вывод 7 подадим 5В питания. Если индикатор с общим анодом, то на анод подаём 5В, а на вывод сегмента «землю»!
Соберём тестовый стенд. Соединяем провода по порядку, начиная с первой ножки, которая идёт на 2-й вывод платы Ардуино. Землю подключим к 8 выводу индикатора.
После того, как стенд собран можно приступать к написанию прошивки.
Для проверки индикатора запустим написанную программу. Выберем элемент «А» и помигаем им.
Теперь помигаем цифрой 2. Для этого включим еще несколько элементов.
Чтобы вывести одну цифру, нужно написать n-число строчек кода. Затруднительно, не находите.
Есть другой путь. Для того, чтобы вывести любую цифру на индикаторе, сначала её нужно представить в виде определенной последовательности бит.
Таблица соответствия.
Если у дисплея общий анод, то 1 нужно заменить на 0, а 0 – на 1!
Столбец hex – представление цифры в байтовом виде (более детально поговорим об этом во второй части).
Число в двоичной системе счисления записывается следующим образом: 0b00000000. 0b – двоичная система. Нули означают, что все светодиоды выключены.
При подключении мы задействовали выводы с 2 по 9. Чтобы включить 2 вывод записываем в него единицу = 0b00000001. За точку отвечает четвёртый бит справа. За чёрточку посередине индикатора отвечает самый последний бит.
Давайте напишем пример вывода цифры 0.
Для уменьшения количества набранных строк воспользуемся циклом, который позволяет «перебрать» все 8 бит. Переменной Enable_segment присваивается значение считываемого бита. После этого текущий вывод устанавливается в соответствующий режим (наличия или отсутствия сигнала ).
Примечание: функция bitRead() считывает состояние указанного бита и возвращает значение состояния (0 или 1). bitRead(x, n) где, x — число, бит которого необходимо считать; n — номер бита, состояние которого необходимо считать. Нумерация начинается с младшего значащего бита (крайнего правого) с номером 0.
И в завершении первой части напишем небольшой счетчик.
Светодиодные семисегментные индикаторы.
Их конструкция и особенности
Наверняка вы уже видели индикаторы – «восьмёрки». Это и есть семисегментный светодиодный индикатор, который служит для отображения цифр от 0 до 9, а также децимальной точки (DP – Decimal point) или запятой.
Конструктивно такое изделие представляет собой сборку светодиодов. Каждый светодиод сборки засвечивает свой знакосегмент.
В зависимости от модели сборка может состоять из 1 – 4 семисегментных групп. Например, индикатор АЛС333Б1 состоит из одной семисегментной группы, которая способна отображать всего лишь одну цифру от 0 до 9.
А вот светодиодный индикатор KEM-5162AS уже имеет две семисегментных группы. Он является двухразрядным. Далее на фото показаны разные светодиодные семисегментные индикаторы.
Также существуют индикаторы с 4-мя семисегментными группами – четырёхразрядные (на фото – FYQ-5641BSR-11). Их можно использовать в самодельных электронных часах.
Как обозначаются семисегментные индикаторы на схемах?
Так как семисегментный индикатор – это комбинированный электронный прибор, то изображение его на схемах мало отличается от его внешнего вида.
Стоит только обратить внимание на то, что каждому выводу соответствует конкретный знакосегмент, к которому он подключен. Также имеется один или несколько выводов общего катода или анода – в зависимости от модели прибора.
Особенности семисегментных индикаторов.
Несмотря на кажущуюся простоту этой детали и у неё есть особенности.
Во-первых, светодиодные семисегментные индикаторы бывают с общим анодом и с общим катодом. Данную особенность следует учитывать при его покупке для самодельной конструкции или прибора.
Вот, например, цоколёвка уже знакомого нам 4-ёх разрядного индикатора FYQ-5641BSR-11.
Как видим, аноды у светодиодов каждой цифры объединены и выведены на отдельный вывод. Катоды же у светодиодов, которые принадлежат к знакосегменту (например, G), соединены вместе. От того, какую схему соединений имеет индикатор (с общим анодом или катодом) зависит очень многое. Если взглянуть на принципиальные схемы приборов с применением семисегментных индикаторов, то станет ясно, почему это так важно.
Кроме небольших индикаторов есть большие и даже очень большие. Их можно увидеть в общественных местах, обычно в виде настенных часов, термометров, информеров.
Чтобы увеличить размеры цифр на табло и одновременно сохранить достаточную яркость каждого сегмента, используется несколько светодиодов, включенных последовательно. Вот пример такого индикатора – он умещается на ладони. Это FYS-23011-BUB-21.
Один его сегмент состоит из 4 светодиодов, включенных последовательно.
Чтобы засветить один из сегментов (A, B, C, D, E, F или G), нужно подать на него напряжение в 11,2 вольта (2,8V на каждый светодиод). Можно и меньше, например, 10V, но яркость тоже уменьшится. Исключение составляет децимальная точка (DP), её сегмент состоит из двух светодиодов. Для неё нужно всего 5 — 5,6 вольт.
Также в природе встречаются двухцветные индикаторы. В них встраиваются, например, красные и зелёные светодиоды. Получается, что в корпус встроено как бы два индикатора, но со светодиодами разного цвета свечения. Если подать напряжение на обе цепи светодиодов, то можно получить жёлтый цвет свечения сегментов. Вот схема соединений одного из таких двухцветных индикаторов (SBA-15-11EGWA).
Если коммутировать выводы 1 (RED) и 5 (GREEN) на «+» питания через ключевые транзисторы, то можно менять цвет свечения отображаемых чисел с красного на зелёный. А если же одновременно подключить выводы 1 и 5, то цвет cвечения будет оранжевым. Вот так можно баловаться с индикаторами .
Управление семисегментными индикаторами.
Для управления семисегментными индикаторами в цифровых устройствах используют регистры сдвига и дешифраторы. Например, широко распространённый дешифратор для управления индикаторами серии АЛС333 и АЛС324 – микросхема К514ИД2 или К176ИД2. Вот пример.
А для управления современными импортными индикаторами обычно используются регистры сдвига 74HC595. По идее, управлять сегментами табло можно и напрямую с выходов микроконтроллера. Но такую схему используют редко, так как для этого требуется задействовать довольно много выводов самого микроконтроллера. Поэтому для этой цели применяются регистры сдвига. Кроме этого, ток, потребляемый светодиодами знакосегмента, может быть больше, чем ток, который может обеспечить рядовой выход микроконтроллера.
Для управления большими семисегментными индикаторами, такими как, FYS-23011-BUB-21 применяются специализированные драйверы, например, микросхема MBI5026.
Что внутри семисегментного индикатора?
Ну и немного вкусненького. Любой электронщик не был бы таковым, если бы не интересовался «внутренностями» радиодеталей. Вот что внутри индикатора АЛС324Б1.
Чёрные квадратики на основании – это кристаллы светодиодов. Тут же можно разглядеть золотые перемычки, которые соединяют кристалл с одним из выводов. К сожалению, этот индикатор уже работать не будет, так как были оборваны как раз эти самые перемычки . Но зато мы можем посмотреть, что скрывается за декоративной панелькой табло.
Главная » Радиоэлектроника для начинающих » Текущая страница
Также Вам будет интересно узнать:
Светодиодный индикатор ермакова (варианты)
Предлагаемая группа изобретений относится к области информационно-измерительной и вычислительной техники и может быть использована для отображения алфавитно-цифровой информации.
Известен декадный семисегментный индикатор ([1], с. 439, рис. 23.12), содержащий индикаторный блок со светодиодными сегментами с общим анодом, семь внешних резисторов, дешифратор из двоично-десятичного кода в семисегментный код, имеющий выходы со свободным коллектором, источник постоянного напряжения +5 В.
Недостатком аналога является его сложность из-за использования семи внешних резисторов в индикаторе одного десятичного разряда.
Известен также индикатор семисегментного шрифта [2], содержащий индикатор со светодиодными сегментами с общим анодом, семь резисторов, дешифратор-формирователь из двоично-десятичного кода в семисегментный код, имеющий выходы со свободным коллектором, источник питания.
Недостатком этого аналога также является его сложность из-за использования семи резисторов в индикаторе одного десятичного разряда.
Известна схема индикации [3], содержащая семисегментный декодер со светодиодами с общим анодом, декадный счетчик, источник питания +5 В, ограничивающие резисторы.
Недостатком аналога также является его сложность из-за использования семи ограничивающих резисторов в индикаторе одного десятичного разряда.
Известен также многоразрядный семисегментный индикатор на светодиодах ([4] — его схема заимствована из технического паспорта фирмы Texas Instruments по применению микросхемы дешифратора-формирователя 7447А), содержащий n информационных входов, n дешифраторов-формирователей из двоично-десятичного кода в семисегментный код, n семисегментных индикаторов на светодиодах с общим анодом, 7n ограничивающих резисторов.
Недостатком этого аналога является его сложность из-за использования семи ограничивающих резисторов в индикаторе одного десятичного разряда и, соответственно, 7n (где n — число десятичных разрядов много-разрядного индикатора) ограничивающих резисторов в многоразрядном индикаторе, включаемых между выходами дешифраторов и катодами (при использовании семисегментного индикатора со светодиодами с общим анодом) или анодами (при использовании семисегментного индикатора со светодиодами с общим катодом) светодиодов семисегментных индикаторов, объединенные аноды которых (в первом случае) подключены к плюсовой шине источника питания или объединенные катоды которых (во втором случае) подключены к минусовой шине источника питания.
Известно устройство динамической индикации многоразрядного семисегментного индикатора на светодиодах с мультиплексным управлением (см. [1], с. 441, рис. 23.15), содержащее n информационных входов, многоканальный коммутатор типа «4n в 4», дешифратор-формирователь из двоично-десятичного кода в семисегментный код, n семисегментных индикаторов на светодиодах с общим анодом, 7 ограничивающих резисторов, тактовый генератор, двоичный счетчик, дешифратор из двоичного кода в унитарный, n ключей.
Недостатком аналога является его сложность из-за использования семи ограничивающих резисторов.
Известен матричный светодиодный индикатор алфавитно-цифровой информации ([1], с. 443, рис. 23.18), содержащий матричный светодиодный индикатор с матрицей размером светодиодов (где k — число строк, — число столбцов), двоичный счетчик, дешифратор из двоичного кода в унитарный, k ключей, информационный вход, ограничивающих резисторов, знакогенератор, тактовый генератор.
Недостатком аналога также является его сложность из-за использования ограничивающих резисторов.
Наиболее близким техническим решением к предлагаемым первому, второму и третьему вариантам индикатора является первый вариант реализации светодиодного индикатора (варианты) ([6], 1-й независимый пункт формулы), схема которого содержит n (где n≥1 — число десятичных разрядов многоразрядного индикатора) семисегментных индикаторов на светодиодах с общим анодом, n дешифраторов из двоично-десятичного кода в семисегментный код, ограничивающий резистор, n информационных входов, являющихся информационными входами дешифраторов, каждый выход которых соединен с катодами светодиодов соответствующих семисегментных индикаторов, общий анод которых подключен к плюсовой шине источника питания через ограничивающий резистор.
Недостатком первого прототипа является его сложность из-за использования ограничивающего резистора, а также дополнительный расход электроэнергии на этом резисторе.
Наиболее близким техническим решением к предлагаемым четвертому, пятому и шестому вариантам индикатора является второй вариант реализации светодиодного индикатора (варианты) ([6], 2-й независимый пункт формулы), схема которого содержит n (где n≥1 — число десятичных разрядов многоразрядного индикатора) семисегментных индикаторов на светодиодах с общим катодом, n дешифраторов из двоично-десятичного кода в семисегментный код, ограничивающий резистор, n информационных входов, являющихся информационными входами дешифраторов, каждый выход которых соединен соответственно с анодами светодиодов соответствующих семисегментных индикаторов, объединенные выводы питания дешифраторов подключены к плюсовой шине источника питания через ограничивающий резистор.
Недостатком второго прототипа является его сложность из-за использования ограничивающего резистора, а также дополнительный расход электроэнергии на этом резисторе.
Наиболее близким техническим решением к предлагаемым седьмому, восьмому, девятому, десятому и одиннадцатому вариантам индикатора является третий вариант реализации светодиодного индикатора (варианты) ([6], 3-й независимый пункт формулы), схема которого содержит многоканальный коммутатор типа «4n в 4» (где n≥3 — число десятичных разрядов многоразрядного индикатора), дешифратор из двоично-десятичного кода в семисегментный код, n семисегментных индикаторов на светодиодах с общим анодом, ограничивающий резистор, тактовый генератор, двоичный счетчик, дешифратор из двоичного кода в унитарный, n ключей, n информационных входов, являющихся информационными входами многоканального коммутатора типа «4n в 4», выход которого соединен с информационным входом дешифратора из двоично-десятичного кода в семисегментный код, выход тактового генератора соединен с тактовым входом двоичного счетчика, информационный выход которого соединен с объединенными управляющим входом многоканального коммутатора и входом дешифратора из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей, каждый выход дешифратора из двоично-десятичного кода в семисегментный код соединен с соответствующими объединенными катодами светодиодов семисегментных индикаторов различных десятичных разрядов, общий анод светодиодов каждого семисегментного индикатора через соответствующий ключ соединен с первым выводом ограничивающего резистора, второй вывод которого подключен к плюсовой шине источника питания.
Недостатком третьего прототипа является его сложность из-за использования ограничивающего резистора, а также дополнительный расход электроэнергии на этом резисторе.
Наиболее близким техническим решением к предлагаемым двенадцатому, тринадцатому и четырнадцатому вариантам индикатора является четвертый вариант реализации светодиодного индикатора (варианты) ([6], 4-й независимый пункт формулы), схема которого содержит многоканальный коммутатор типа «4n в 4» (где n≥3 — число десятичных разрядов многоразрядного индикатора), дешифратор из двоично-десятичного кода в семисегментный код, n семисегментных индикаторов на светодиодах с общим катодом, ограничивающий резистор, тактовый генератор, двоичный счетчик, дешифратор из двоичного кода в унитарный, n ключей, n информационных входов, являющихся информационными входами многоканального коммутатора типа «4n в 4», выход которого соединен с информационным входом дешифратора из двоично-десятичного кода в семисегментный код, выход тактового генератора соединен с тактовым входом двоичного счетчика, информационный выход которого соединен с объединенными управляющим входом многоканального коммутатора и входом дешифратора из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей, каждый выход дешифратора из двоично-десятичного кода в семисегментный код соединен с соответствующими объединенными анодами светодиодов семисегментных индикаторов различных десятичных разрядов, общий катод светодиодов каждого семисегментного индикатора через соответствующий ключ соединен с минусовой шиной источника питания, вывод питания дешифратора из двоичного кода в семисегментный код подключен к плюсовой шине источника питания через ограничивающий резистор.
Недостатком четвертого прототипа является его сложность из-за использования ограничивающего резистора, а также дополнительный расход электроэнергии на этом резисторе.
Наиболее близким техническим решением к предлагаемым пятнадцатому, шестнадцатому и семнадцатому вариантам индикатора является пятый вариант реализации светодиодного индикатора (варианты) ([6], 5-й независимый пункт формулы), схема которого содержит матричный светодиодный индикатор 100 с матрицей размером (где k — число строк, — число столбцов) светодиодов, двоичный счетчик, дешифратор из двоичного кода в унитарный, k ключей, информационный вход, ограничивающий резистор, знакогенератор, тактовый генератор, выход которого соединен с тактовым входом двоичного счетчика, информационный выход которого соединен с объединенными группой младших разрядов адресного входа знакогенератора и входом дешифратора из двоичного кода в унитарный, k выходов которого соединены соответственно с управляющими входами k ключей, аноды светодиодов матрицы, расположенные в каждой строке матрицы, объединены между собой и подключены к соответствующему выводу строк матрицы, катоды светодиодов матрицы, расположенные в каждом столбце матрицы, объединены между собой и подключены к соответствующему выводу столбцов матрицы, информационный вход индикатора соединен с группой старших разрядов адресного входа знакогенератора, выходы которого соединены с выводами столбцов матрицы, каждый вывод строк которой через соответствующий ключ соединен с первым выводом ограничивающего резистора, второй вывод которого подключен к плюсовой шине источника питания.
Недостатком пятого прототипа является его сложность из-за использования ограничивающего резистора, а также дополнительный расход электроэнергии на этом резисторе.
Техническая задача, решаемая группой изобретений — упрощение устройства и уменьшение расхода электроэнергии.
Указанная техническая задача (в первом варианте индикатора) решается благодаря тому, что в светодиодный индикатор, содержащий n (где n≥1 — число десятичных разрядов многоразрядного индикатора) семисегментных индикаторов на светодиодах с общим анодом, n информационных входов, являющихся информационными входами n дешифраторов из двоично-десятичного кода в семисегментный код, каждый выход которых соединен соответственно с катодами светодиодов соответствующих семисегментных индикаторов, выводы питания n дешифраторов из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через трансформатор подключены к питающей сети, дополнительно введены переменный резистор и второй источник стабилизированного напряжения, вход «+» которого подключен к выходу «+» первого источника стабилизированного напряжения, а выход «+» второго источника стабилизированного напряжения связан с общими анодами светодиодов n семисегментных индикаторов, выходы «+» и «-» второго источника стабилизированного напряжения связаны между собой через переменный резистор, подвижный вывод которого соединен с управляющим входом второго источника стабилизированного напряжения.
Указанная техническая задача (во втором варианте индикатора) решается благодаря тому, что в светодиодный индикатор, содержащий n (где n≥1 — число десятичных разрядов многоразрядного индикатора) семисегментных индикаторов на светодиодах с общим анодом, n информационных входов, являющихся информационными входами n дешифраторов из двоично-десятичного кода в семисегментный код, каждый выход которых соединен соответственно с катодами светодиодов соответствующих семисегментных индикаторов, выводы питания n дешифраторов из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через трансформатор подключены к питающей сети, дополнительно введены переменный резистор и второй источник стабилизированного напряжения, вход «+» которого подключен к выводу «+» двухполупериодного диодного выпрямителя, а выход «+» второго источника стабилизированного напряжения связан с общими анодами светодиодов n семисегментных индикаторов, выходы «+» и «-» второго источника стабилизированного напряжения связаны между собой через переменный резистор, подвижный вывод которого соединен с управляющим входом второго источника стабилизированного напряжения.
Указанная техническая задача (в третьем варианте индикатора) решается благодаря тому, что в светодиодный индикатор, содержащий n (где n≥1 — число десятичных разрядов многоразрядного индикатора) семисегментных индикаторов на светодиодах с общим анодом, n информационных входов, являющихся информационными входами n дешифраторов из двоично-десятичного кода в семисегментный код, каждый выход которых соединен соответственно с катодами светодиодов соответствующих семисегментных индикаторов, выводы питания n дешифраторов из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника стабилизированного напряжения, входы «+» и «-» которого соединены через первый конденсатор и подключены соответственно к выводам «+» и «-» первого двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через первый трансформатор подключены к питающей сети, дополнительно введены второй трансформатор, второй двухполупериодный диодный выпрямитель, второй конденсатор, переменный резистор и второй источник стабилизированного напряжения, входы «+» и «-» которого соединены через второй конденсатор и подключены соответственно к выводам «+» и «-» второго двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через второй трансформатор подключены к питающей сети, выход «+» второго источника стабилизированного напряжения связан с общими анодами светодиодов n семисегментных индикаторов, выходы «+» и «-» второго источника стабилизированного напряжения связаны между собой через переменный резистор, подвижный вывод которого соединен с управляющим входом второго источника стабилизированного напряжения.
Указанная техническая задача (в четвертом варианте индикатора) решается благодаря тому, что в светодиодный индикатор, содержащий n (где n≥1 — число десятичных разрядов многоразрядного индикатора) семисегментных индикаторов на светодиодах с общим катодом, связанным с общей шиной устройства, n информационных входов, являющихся информационными входами n дешифраторов из двоично-десятичного кода в семисегментный код, каждый выход которых соединен соответственно с анодами светодиодов соответствующих семисегментных индикаторов, источник стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через трансформатор подключены к питающей сети, дополнительно введен переменный резистор, соединяющий выходы «+» и «-» источника стабилизированного напряжения, управляющий вход которого связан с подвижным выводом переменного резистора, вывод «+» источника стабилизированного напряжения соединен со входами питания n дешифраторов из двоично-десятичного кода в семисегментный код.
Указанная техническая задача (в пятом варианте индикатора) решается благодаря тому, что в светодиодный индикатор, содержащий n (где n≥1 — число десятичных разрядов многоразрядного индикатора) семисегментных индикаторов на светодиодах с общим катодом, связанным с общей шиной устройства, n информационных входов, являющихся информационными входами n дешифраторов из двоично-десятичного кода в семисегментный код, выводы питания которых объединены между собой и подключены к выходу «+» первого источника стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через трансформатор подключены к питающей сети, дополнительно введены переменный резистор, второй источник стабилизированного напряжения и 7×n ключей, управляющие входы которых подключены соответственно к выходам n дешифраторов из двоично-десятичного кода в семисегментный код, выход «+» второго источника стабилизированного напряжения через ключи связан с анодами светодиодов n семисегментных индикаторов, выходы «+» и «-» второго источника стабилизированного напряжения связаны между собой через переменный резистор, подвижный вывод которого соединен с управляющим входом второго источника стабилизированного напряжения, вход «+» которого подключен к выводу «+» двухполупериодного диодного выпрямителя.
Указанная техническая задача (в шестом варианте индикатора) решается благодаря тому, что в светодиодный индикатор, содержащий n (где n≥1 — число десятичных разрядов многоразрядного индикатора) семисегментных индикаторов на светодиодах с общим катодом, связанным с общей шиной устройства, n информационных входов, являющихся информационными входами n дешифраторов из двоично-десятичного кода в семисегментный код, выводы питания которых объединены между собой и подключены к выходу «+» первого источника стабилизированного напряжения, входы «+» и «-» которого соединены через первый конденсатор и подключены соответственно к выводам «+» и «-» первого двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через первый трансформатор подключены к питающей сети, дополнительно введены второй трансформатор, второй двухполупериодный диодный выпрямитель, второй конденсатор, 7×n ключей, переменный резистор и второй источник стабилизированного напряжения, входы «+» и «-» которого соединены через второй конденсатор и подключены соответственно к выводам «+» и «-» второго двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через второй трансформатор подключены к питающей сети, выход «+» второго источника стабилизированного напряжения через ключи связан с анодами светодиодов n семисегментных индикаторов, выходы «+» и «-» второго источника стабилизированного напряжения связаны между собой через переменный резистор, подвижный вывод которого соединен с управляющим входом второго источника стабилизированного напряжения, управляющие входы 7×n ключей подключены соответственно к выходам n дешифраторов из двоично-десятичного кода в семисегментный код.
Указанная техническая задача (в седьмом варианте индикатора) решается благодаря тому, что в светодиодный индикатор, содержащий n (где n≥3 — число десятичных разрядов многоразрядного индикатора) семисегментных индикаторов на светодиодах с общим анодом, дешифратор из двоичного кода в унитарный, многоканальный коммутатор типа «4n в 4», n ключей, n×4 информационных входов, являющихся информационными входами многоканального коммутатора типа «4n в 4», выход которого соединен с информационным входом дешифратора из двоично-десятичного кода в семисегментный код, каждый выход которого соединен с соответствующими объединенными катодами светодиодов семисегментных индикаторов различных десятичных разрядов, последовательно соединенные тактовый генератор и двоичный счетчик, выход которого соединен с объединенными управляющим входом многоканального коммутатора и входом дешифратора из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей, выводы питания тактового генератора, двоичного счетчика, дешифратора из двоичного кода в унитарный, многоканального коммутатора типа «4n в 4» и дешифратора из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через трансформатор подключены к питающей сети, дополнительно введены переменный резистор и второй источник стабилизированного напряжения, вход «+» которого подключен к выходу «+» первого источника стабилизированного напряжения, а выходы «+» и «-» связаны между собой через переменный резистор, подвижный вывод которого соединен с управляющим входом второго источника стабилизированного напряжения, выход «+» которого через ключи соединен с общими анодами светодиодов каждого семисегментного индикатора.
Указанная техническая задача (в восьмом варианте индикатора) решается благодаря тому, что в светодиодный индикатор, содержащий n (где n≥3 — число десятичных разрядов многоразрядного индикатора) семисегментных индикаторов на светодиодах с общим анодом, дешифратор из двоичного кода в унитарный, многоканальный коммутатор типа «4n в 4», n ключей, n×4 информационных входов, являющихся информационными входами многоканального коммутатора типа «4n в 4», выход которого соединен с информационным входом дешифратора из двоично-десятичного кода в семисегментный код, каждый выход которого соединен с соответствующими объединенными катодами светодиодов семисегментных индикаторов различных десятичных разрядов, последовательно соединенные тактовый генератор и двоичный счетчик, выход которого соединен с объединенными управляющим входом многоканального коммутатора и входом дешифратора из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей, выводы питания тактового генератора, двоичного счетчика, дешифратора из двоичного кода в унитарный, многоканального коммутатора типа «4n в 4» и дешифратора из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через трансформатор подключены к питающей сети, дополнительно введены переменный резистор и второй источник стабилизированного напряжения, вход «+» которого подключен к выводу «+» двухполупериодного диодного выпрямителя, а выходы «+» и «-» второго источника стабилизированного напряжения связаны между собой через переменный резистор, подвижный вывод которого соединен с управляющим входом второго источника стабилизированного напряжения, выход «+» которого через соответствующий ключ соединен с общими анодами светодиодов каждого семисегментного индикатора.
Указанная техническая задача (в девятом варианте индикатора) решается благодаря тому, что в светодиодный индикатор, содержащий n (где n≥3 — число десятичных разрядов многоразрядного индикатора) ключей, дешифратор из двоичного кода в унитарный, многоканальный коммутатор типа «4n в 4», n семисегментных индикаторов на светодиодах с общим анодом, n×4 информационных входов, являющихся информационными входами многоканального коммутатора типа «4n в 4», выход которого соединен с информационным входом дешифратора из двоично-десятичного кода в семисегментный код, каждый выход которого соединен с соответствующими объединенными катодами светодиодов семисегментных индикаторов различных десятичных разрядов, последовательно соединенные тактовый генератор и двоичный счетчик, выход которого соединен с объединенными управляющим входом многоканального коммутатора и входом дешифратора из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей, выводы питания тактового генератора, двоичного счетчика, дешифратора из двоичного кода в унитарный, многоканального коммутатора типа «4n в 4» и дешифратора из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника стабилизированного напряжения, входы «+» и «-» которого соединены через первый конденсатор и подключены соответственно к выводам «+» и «-» первого двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через первый трансформатор подключены к питающей сети, дополнительно введены второй трансформатор, второй двухполупериодный диодный выпрямитель, второй конденсатор, переменный резистор и второй источник стабилизированного напряжения, входы «+» и «-» которого соединены через второй конденсатор и подключены соответственно к выводам «+» и «-» второго двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через второй трансформатор подключены к питающей сети, выходы «+» и «-» второго источника стабилизированного напряжения связаны между собой через переменный резистор, подвижный вывод которого соединен с управляющим входом второго источника стабилизированного напряжения, выход «+» которого через соответствующий ключ соединен с общими анодами светодиодов каждого семисегментного индикатора.
Указанная техническая задача (в десятом варианте индикатора) решается благодаря тому, что в светодиодный индикатор, содержащий n (где n≥3 — число десятичных разрядов многоразрядного индикатора) ключей разрядов, дешифратор из двоичного кода в унитарный, многоканальный коммутатор типа «4n в 4», n семисегментных индикаторов на светодиодах с общим анодом, n×4 информационных входов, являющихся информационными входами многоканального коммутатора типа «4n в 4», выход которого соединен с информационным входом дешифратора из двоично-десятичного кода в семисегментный код, последовательно соединенные тактовый генератор и двоичный счетчик, выход которого соединен с объединенными управляющим входом многоканального коммутатора и входом дешифратора из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей, выводы питания тактового генератора, двоичного счетчика, дешифратора из двоичного кода в унитарный, многоканального коммутатора типа «4n в 4» и дешифратора из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника стабилизированного напряжения, входы «+» и «-» которого соединены через первый конденсатор и подключены соответственно к выводам «+» и «-» первого двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через первый трансформатор подключены к питающей сети, дополнительно введены семь ключей сегментов, семь элементов НЕ, второй трансформатор, второй двухполупериодный диодный выпрямитель, второй конденсатор, переменный резистор и второй источник стабилизированного напряжения, входы «+» и «-» которого соединены через второй конденсатор и подключены соответственно к выводам «+» и «-» второго двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через второй трансформатор подключены к питающей сети, выходы «+» и «-» второго источника стабилизированного напряжения связаны между собой через переменный резистор, подвижный вывод которого соединен с управляющим входом второго источника стабилизированного напряжения, выход «+» которого через соответствующий ключ сегментов соединен с общими анодами светодиодов каждого семисегментного индикатора, выходы дешифратора из двоично-десятичного кода в семисегментный код через элементы НЕ соединены с управляющими входами ключей сегментов, через которые соответствующие объединенные катоды светодиодов семисегментных индикаторов различных десятичных разрядов соединены с общей шиной устройства.
Указанная техническая задача (в одиннадцатом варианте индикатора) решается благодаря тому, что в светодиодный индикатор, содержащий n (где n≥3 — число десятичных разрядов многоразрядного индикатора) ключей, дешифратор из двоичного кода в унитарный, многоканальный коммутатор типа «4n в 4», n семисегментных индикаторов на светодиодах с общим анодом, n×4 информационных входов, являющихся информационными входами многоканального коммутатора типа «4n в 4», выход которого соединен с информационным входом дешифратора из двоично-десятичного кода в семисегментный код, последовательно соединенные тактовый генератор и двоичный счетчик, выход которого соединен с объединенными управляющим входом многоканального коммутатора и входом дешифратора из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей, выводы питания тактового генератора, двоичного счетчика, дешифратора из двоичного кода в унитарный, многоканального коммутатора типа «4n в 4» и дешифратора из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника стабилизированного напряжения, входы «+» и «-» которого соединены через первый конденсатор и подключены соответственно к выводам «+» и «-» первого двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через первый трансформатор подключены к питающей сети, дополнительно введены семь элементов НЕ, второй трансформатор, второй двухполупериодный диодный выпрямитель, второй конденсатор, переменный резистор и второй источник стабилизированного напряжения, входы «+» и «-» которого соединены через второй конденсатор и подключены соответственно к выводам «+» и «-» второго двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через второй трансформатор подключены к питающей сети, выходы «+» и «-» второго источника стабилизированного напряжения связаны между собой через переменный резистор, подвижный вывод которого соединен с управляющим входом второго источника стабилизированного напряжения, выход «+» которого через соответствующий ключ соединен с общими анодами светодиодов каждого семисегментного индикатора, выходы дешифратора из двоично-десятичного кода в семисегментный код через элементы НЕ соединены с соответствующими объединенными катодами светодиодов семисегментных индикаторов различных десятичных разрядов.
Указанная техническая задача (в двенадцатом варианте индикатора) решается благодаря тому, что в светодиодный индикатор, содержащий n (где n≥3 — число десятичных разрядов многоразрядного индикатора) ключей, дешифратор из двоичного кода в унитарный, многоканальный коммутатор типа «4n в 4», n семисегментных индикаторов на светодиодах с общим катодом, соединенным через n ключей с общей шиной устройства, n×4 информационных входов, являющихся информационными входами многоканального коммутатора типа «4n в 4», выход которого соединен с информационным входом дешифратора из двоично-десятичного кода в семисегментный код, каждый выход которого соединен с соответствующими объединенными анодами светодиодов семисегментных индикаторов различных десятичных разрядов, последовательно соединенные тактовый генератор и двоичный счетчик, выход которого соединен с объединенными управляющим входом многоканального коммутатора и входом дешифратора из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей, выводы питания тактового генератора, двоичного счетчика, дешифратора из двоичного кода в унитарный и многоканального коммутатора типа «4n в 4» объединены между собой и подключены к выходу «+» первого источника стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через трансформатор подключены к питающей сети, дополнительно введены переменный резистор и второй источник стабилизированного напряжения, вход «+» которого подключен к выходу «+» первого источника стабилизированного напряжения, а выходы «+» и «-» связаны между собой через переменный резистор, подвижный вывод которого соединен с управляющим входом второго источника стабилизированного напряжения, выход «+» которого соединен с выводом питания дешифратора из двоично-десятичного кода в семисегментный код.
Указанная техническая задача (в тринадцатом варианте индикатора) решается благодаря тому, что в светодиодный индикатор, содержащий n (где n≥3 — число десятичных разрядов многоразрядного индикатора) ключей разрядов, дешифратор из двоичного кода в унитарный, многоканальный коммутатор типа «4n в 4», n семисегментных индикаторов на светодиодах с общим катодом, соединенным через n ключей с общей шиной устройства, n×4 информационных входов, являющихся информационными входами многоканального коммутатора типа «4n в 4», выход которого соединен с информационным входом дешифратора из двоично-десятичного кода в семисегментный код, последовательно соединенные тактовый генератор и двоичный счетчик, выход которого соединен с объединенными управляющим входом многоканального коммутатора и входом дешифратора из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей, выводы питания тактового генератора, двоичного счетчика, дешифратора из двоичного кода в унитарный, многоканального коммутатора типа «4n в 4» и дешифратора из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через трансформатор подключены к питающей сети, дополнительно введены семь ключей сегментов, переменный резистор и второй источник стабилизированного напряжения, вход «+» которого подключен к выводу «+» двухполупериодного диодного выпрямителя, а выходы «+» и «-» связаны между собой через переменный резистор, подвижный вывод которого соединен с управляющим входом второго источника стабилизированного напряжения, выход «+» которого через семь ключей сегментов соединен с соответствующими объединенными анодами светодиодов семисегментных индикаторов различных десятичных разрядов, выходы дешифратора из двоично-десятичного кода в семисегментный код соединены с управляющими входами ключей сегментов.
Указанная техническая задача (в четырнадцатом варианте индикатора) решается благодаря тому, что в светодиодный индикатор, содержащий n (где n≥3 — число десятичных разрядов многоразрядного индикатора) ключей разрядов, дешифратор из двоичного кода в унитарный, многоканальный коммутатор типа «4n в 4», n семисегментных индикаторов на светодиодах с общим катодом, соединенным через n ключей с общей шиной устройства, n×4 информационных входов, являющихся информационными входами многоканального коммутатора типа «4n в 4», выход которого соединен с информационным входом дешифратора из двоично-десятичного кода в семисегментный код, последовательно соединенные тактовый генератор и двоичный счетчик, выход которого соединен с объединенными управляющим входом многоканального коммутатора и входом дешифратора из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей, выводы питания тактового генератора, двоичного счетчика, дешифратора из двоичного кода в унитарный, многоканального коммутатора типа «4n в 4» и дешифратора из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника стабилизированного напряжения, входы «+» и «-» которого соединены через первый конденсатор и подключены соответственно к выводам «+» и «-» первого двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через первый трансформатор подключены к питающей сети, дополнительно введены семь ключей сегментов, второй трансформатор, второй двухполупериодный диодный выпрямитель, второй конденсатор, переменный резистор и второй источник стабилизированного напряжения, входы «+» и «-» которого соединены через второй конденсатор и подключены соответственно к выводам «+» и «-» второго двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через второй трансформатор подключены к питающей сети, выходы «+» и «-» второго источника стабилизированного напряжения связаны между собой через переменный резистор, подвижный вывод которого соединен с управляющим входом второго источника стабилизированного напряжения, выход «+» которого через ключи сегментов соединен с соответствующими объединенными анодами светодиодов семисегментных индикаторов различных десятичных разрядов, выходы дешифратора из двоично-десятичного кода в семисегментный код соединены с управляющими входами ключей сегментов.
Указанная техническая задача (в пятнадцатом варианте индикатора) решается благодаря тому, что в светодиодный индикатор, содержащий матричный светодиодный индикатор с матрицей размером светодиодов (где k — число строк, — число столбцов), двоичный счетчик, дешифратор из двоичного кода в унитарный, k ключей, знакогенератор, тактовый генератор, выход которого соединен с тактовым входом двоичного счетчика, информационный выход которого соединен с объединенными группой младших разрядов адресного входа знакогенератора и входом дешифратора из двоичного кода в унитарный, k выходов которого соединены соответственно с управляющими входами k ключей, аноды светодиодов матрицы, расположенные в каждой строке матрицы, объединены между собой и подключены к соответствующему выводу строк матрицы, катоды светодиодов матрицы, расположенные в каждом столбце матрицы, объединены между собой и подключены к соответствующему выводу столбцов матрицы, информационный вход индикатора соединен с группой старших разрядов адресного входа знакогенератора, выходы знакогенератора соединены с выводами столбцов матрицы, выводы питания тактового генератора, двоичного счетчика, дешифратора из двоичного кода в унитарный и знакогенератора объединены между собой и подключены к выходу «+» первого источника стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через трансформатор подключены к питающей сети, дополнительно введены переменный резистор и второй источник стабилизированного напряжения, вход «+» которого подключен к выходу «+» первого источника стабилизированного напряжения, а выходы «+» и «-» связаны между собой через переменный резистор, подвижный вывод которого соединен с управляющим входом второго источника стабилизированного напряжения, выход «+» которого через ключи соединен с выводами строк матрицы.
Указанная техническая задача (в шестнадцатом варианте индикатора) решается благодаря тому, что в светодиодный индикатор, содержащий матричный светодиодный индикатор с матрицей размером светодиодов (где k — число строк, — число столбцов), двоичный счетчик, дешифратор из двоичного кода в унитарный, k ключей, знакогенератор, тактовый генератор, выход которого соединен с тактовым входом двоичного счетчика, информационный выход которого соединен с объединенными группой младших разрядов адресного входа знакогенератора и входом дешифратора из двоичного кода в унитарный, k выходов которого соединены соответственно с управляющими входами k ключей, аноды светодиодов матрицы, расположенные в каждой строке матрицы, объединены между собой и подключены к соответствующему выводу строк матрицы, катоды светодиодов матрицы, расположенные в каждом столбце матрицы, объединены между собой и подключены к соответствующему выводу столбцов матрицы, информационный вход индикатора соединен с группой старших разрядов адресного входа знакогенератора, выходы знакогенератора соединены с выводами столбцов матрицы, выводы питания тактового генератора, двоичного счетчика, дешифратора из двоичного кода в унитарный и знакогенератора объединены между собой и подключены к выходу «+» первого источника стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через трансформатор подключены к питающей сети, дополнительно введены переменный резистор и второй источник стабилизированного напряжения, вход «+» которого подключен к выводу «+» двухполупериодного диодного выпрямителя, а выходы «+» и «-» связаны между собой через переменный резистор, подвижный вывод которого соединен с управляющим входом второго источника стабилизированного напряжения, выход «+» которого через ключи соединен с выводами строк матрицы.
Указанная техническая задача (в семнадцатом варианте индикатора) решается благодаря тому, что в светодиодный индикатор, содержащий матричный светодиодный индикатор с матрицей размером светодиодов (где k — число строк, — число столбцов), двоичный счетчик, дешифратор из двоичного кода в унитарный, k ключей, знакогенератор, тактовый генератор, выход которого соединен с тактовым входом двоичного счетчика, информационный выход которого соединен с объединенными группой младших разрядов адресного входа знакогенератора и входом дешифратора из двоичного кода в унитарный, k выходов которого соединены соответственно с управляющими входами k ключей, аноды светодиодов матрицы, расположенные в каждой строке матрицы, объединены между собой и подключены к соответствующему выводу строк матрицы, катоды светодиодов матрицы, расположенные в каждом столбце матрицы, объединены между собой и подключены к соответствующему выводу столбцов матрицы, информационный вход индикатора соединен с группой старших разрядов адресного входа знакогенератора, выходы знакогенератора соединены с выводами столбцов матрицы, выводы питания тактового генератора, двоичного счетчика, дешифратора из двоичного кода в унитарный и знакогенератора объединены между собой и подключены к выходу «+» первого источника стабилизированного напряжения, входы «+» и «-» которого соединены через первый конденсатор и подключены соответственно к выводам «+» и «-» первого двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через первый трансформатор подключены к питающей сети, дополнительно введены второй трансформатор, второй двухполупериодный диодный выпрямитель, второй конденсатор, переменный резистор и второй источник стабилизированного напряжения, входы «+» и «-» которого соединены через второй конденсатор и подключены соответственно к выводам «+» и «-» второго двухполупериодного диодного выпрямителя, выводы переменного напряжения которого через второй трансформатор подключены к питающей сети, выходы «+» и «-» второго источника стабилизированного напряжения связаны между собой через переменный резистор, подвижный вывод которого соединен с управляющим входом второго источника стабилизированного напряжения, выход «+» которого через ключи соединен с выводами строк матрицы.
Существенными отличиями предлагаемого индикатора в различных вариантах его реализации являются введение дополнительных элементов:
1) переменного резистора и второго источника стабилизированного напряжения;
2) переменного резистора и второго источника стабилизированного напряжения;
3) второго трансформатора, второго двухполупериодного диодного выпрямителя, второго конденсатора, переменного резистора и второго источника стабилизированного напряжения;
4) переменного резистора;
5) 7×n ключей, переменного резистора и второго источника стабилизированного напряжения;
6) второго трансформатора, второго двухполупериодного диодного выпрямителя, второго конденсатора, 7×n ключей, переменного резистора и второго источника стабилизированного напряжения;
7) переменного резистора и второго источника стабилизированного напряжения;
8) переменного резистора и второго источника стабилизированного напряжения;
9) второго трансформатора, второго двухполупериодного диодного выпрямителя, второго конденсатора, переменного резистора и второго источника стабилизированного напряжения;
10) второго трансформатора, второго двухполупериодного диодного выпрямителя, второго конденсатора, переменного резистора и второго источника стабилизированного напряжения, семи ключей сегментов, семи элементов НЕ;
11) второго трансформатора, второго двухполупериодного диодного выпрямителя, второго конденсатора, переменного резистора и второго источника стабилизированного напряжения, семи элементов НЕ;
12) переменного резистора и второго источника стабилизированного напряжения;
13) семи ключей сегментов, переменного резистора и второго источника стабилизированного напряжения;
14) семи ключей сегментов, второго трансформатора, второго двухполупериодного диодного выпрямителя, второго конденсатора, переменного резистора и второго источника стабилизированного напряжения;
15) переменного резистора и второго источника стабилизированного напряжения;
16) переменного резистора и второго источника стабилизированного напряжения;
17) второго трансформатора, второго двухполупериодного диодного выпрямителя, второго конденсатора, переменного резистора и второго источника стабилизированного напряжения.
Существенными отличиями предлагаемого индикатора в различных вариантах его реализации являются организация его новой структуры и введение новых связей между элементами, а также исключение ограничивающего резистора из схем. Указанные существенные отличия обеспечивают достижение положительного эффекта — упрощение устройства и снижение расхода электроэнергии.
Схемы различных вариантов реализации индикатора представлены, соответственно, на фиг. 1 — первого варианта, на фиг. 2 — второго варианта, на фиг. 3 — третьего варианта, на фиг. 4 — четвертого варианта, на фиг. 5 — пятого варианта, на фиг. 6 — шестого варианта, на фиг. 7 — седьмого варианта, на фиг. 8 — восьмого варианта, на фиг. 9 — девятого варианта, на фиг. 10 — десятого варианта, на фиг. 11 — одиннадцатого варианта, на фиг. 12 — двенадцатого варианта, на фиг. 13 — тринадцатого варианта, на фиг. 14 — четырнадцатого варианта, на фиг. 15 — пятнадцатого варианта, на фиг. 16 — шестнадцатого варианта, на фиг. 17 — семнадцатого варианта.
Схема первого варианта реализации индикатора (фиг. 1) содержит трансформатор 1, двухполупериодный диодный выпрямитель 2, конденсатор 3, первый 4 и второй 5 источники стабилизированного напряжения, n (где n≥1 — число десятичных разрядов многоразрядного индикатора) семисегментных индикаторов 6-7 на светодиодах 8 с общим анодом, n информационных входов 9-10, являющихся информационными входами n дешифраторов 11-12 из двоично-десятичного кода в семисегментный код, переменный резистор 13, каждый выход n дешифраторов 11-12 из двоично-десятичного кода в семисегментный код соединен соответственно с катодами светодиодов 8 соответствующих семисегментных индикаторов 6-7, выводы питания n дешифраторов 11-12 из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника 4 стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор 3 и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя 2, выводы переменного напряжения которого через трансформатор 1 подключены к питающей сети, вход «+» второго источника 5 стабилизированного напряжения подключен к выходу «+» первого источника 4 стабилизированного напряжения, а выход «+» второго источника 5 стабилизированного напряжения связан с общими анодами светодиодов 8 n семисегментных индикаторов 6-7, выходы «+» и «-» второго источника 5 стабилизированного напряжения связаны между собой через переменный резистор 13, подвижный вывод которого соединен с управляющим входом второго источника 5 стабилизированного напряжения.
Схема второго варианта реализации индикатора (фиг. 2) содержит трансформатор 14, двухполупериодный диодный выпрямитель 15, конденсатор 16, первый 17 и второй 18 источники стабилизированного напряжения, n (где n≥1 — число десятичных разрядов многоразрядного индикатора) семисегментных индикаторов 19-20 на светодиодах 21 с общим анодом, n информационных входов 22-23, являющихся информационными входами n дешифраторов 24-25 из двоично-десятичного кода в семисегментный код, переменный резистор 26, каждый выход n дешифраторов 24-25 из двоично-десятичного кода в семисегментный код соединен соответственно с катодами светодиодов 21 соответствующих семисегментных индикаторов 19-20, выводы питания n дешифраторов 24-25 из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника 17 стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор 16 и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя 15, выводы переменного напряжения которого через трансформатор 14 подключены к питающей сети, вход «+» второго источника 18 стабилизированного напряжения подключен к выводу «+» двухполупериодного диодного выпрямителя 15, а выход «+» второго источника 18 стабилизированного напряжения связан с общими анодами светодиодов 21 n семисегментных индикаторов 19-20, выходы «+» и «-» второго источника 18 стабилизированного напряжения связаны между собой через переменный резистор 26, подвижный вывод которого соединен с управляющим входом второго источника 18 стабилизированного напряжения.
Схема третьего варианта реализации индикатора (фиг. 3) содержит первый 27 и второй 28 трансформаторы, первый 29 и второй 30 двухполупериодные диодные выпрямители, первый 31 и второй 32 конденсаторы, первый 33 и второй 34 источники стабилизированного напряжения, переменный резистор 35, n (где n≥1 — число десятичных разрядов многоразрядного индикатора) семисегментных индикаторов 36-37 на светодиодах 38 с общим анодом, n информационных входов 39-40, являющихся информационными входами n дешифраторов 41-42 из двоично-десятичного кода в семисегментный код, каждый выход которых соединен соответственно с катодами светодиодов 38 соответствующих семисегментных индикаторов 36-37, выводы питания n дешифраторов 41-42 из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника 33 стабилизированного напряжения, входы «+» и «-» которого соединены через первый конденсатор 31 и подключены соответственно к выводам «+» и «-» первого двухполупериодного диодного выпрямителя 29, выводы переменного напряжения которого через первый трансформатор 27 подключены к питающей сети, входы «+» и «-» второго источника 34 стабилизированного напряжения соединены через второй конденсатор 32 и подключены соответственно к выводам «+» и «-» второго двухполупериодного диодного выпрямителя 30, выводы переменного напряжения которого через второй трансформатор 32 подключены к питающей сети, выход «+» второго источника 34 стабилизированного напряжения связан с общими анодами светодиодов 38 n семисегментных индикаторов 36-37, выходы «+» и «-» второго источника 34 стабилизированного напряжения связаны между собой через переменный резистор 35, подвижный вывод которого соединен с управляющим входом второго источника 34 стабилизированного напряжения.
Схема четвертого варианта реализации индикатора (фиг. 4) содержит трансформатор 43, двухполупериодный диодный выпрямитель 44, конденсатор 45, источник 46 стабилизированного напряжения, переменный резистор 47, n (где n≥1 — число десятичных разрядов многоразрядного индикатора) семисегментных индикаторов 48-49 на светодиодах 50 с общим катодом, связанным с общей шиной устройства, n информационных входов 51-52, являющихся информационными входами n дешифраторов 53-54 из двоично-десятичного кода в семисегментный код, каждый выход которых соединен соответственно с анодами светодиодов 50 соответствующих семисегментных индикаторов 48-49, выводы питания n дешифраторов 53-54 из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» источника 46 стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор 45 и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя 44, выводы переменного напряжения которого через трансформатор 43 подключены к питающей сети, выходы «+» и «-» источника 46 стабилизированного напряжения связаны между собой через переменный резистор 47, подвижный вывод которого соединен с управляющим входом источника 46 стабилизированного напряжения.
Схема пятого варианта реализации индикатора (фиг. 5) содержит трансформатор 55, двухполупериодный диодный выпрямитель 56, конденсатор 57, первый 58 и второй 59 источники стабилизированного напряжения, переменный резистор 60, n (где n≥1 — число десятичных разрядов многоразрядного индикатора) семисегментных индикаторов 61-62 на светодиодах 63 с общим катодом, связанным с общей шиной устройства, n информационных входов 64-65, являющихся информационными входами n дешифраторов 66-67 из двоично-десятичного кода в семисегментный код, 7×n ключей 68, управляющие входы которых подключены соответственно к выходам n дешифраторов 66-67 из двоично-десятичного кода в семисегментный код, выводы питания которых объединены между собой и подключены к выходу «+» первого источника 58 стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор 57 и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя 56, выводы переменного напряжения которого через трансформатор 55 подключены к питающей сети, выход «+» второго источника 59 стабилизированного напряжения через ключи 68 связан с анодами светодиодов 63 n семисегментных индикаторов 66-67, выходы «+» и «-» второго источника 59 стабилизированного напряжения связаны между собой через переменный резистор 60, подвижный вывод которого соединен с управляющим входом второго источника 59 стабилизированного напряжения, вход «+» которого подключен к выводу «+» двухполупериодного диодного выпрямителя 56.
Схема шестого варианта реализации индикатора (фиг. 6) содержит первый 69 и второй 70 трансформаторы, первый 71 и второй 72 двухполупериодные диодные выпрямители, первый 73 и второй 74 конденсаторы, первый 75 и второй 76 источники стабилизированного напряжения, переменный резистор 77, n (где n≥1 — число десятичных разрядов многоразрядного индикатора) семисегментных индикаторов 78-79 на светодиодах 80 с общим катодом, связанным с общей шиной устройства, n информационных входов 81-82, являющихся информационными входами n дешифраторов 83-84 из двоично-десятичного кода в семисегментный код, 7×n ключей 85, управляющие входы которых подключены соответственно к выходам n дешифраторов 83-84 из двоично-десятичного кода в семисегментный код, выводы питания которых объединены между собой и подключены к выходу «+» первого источника 75 стабилизированного напряжения, входы «+» и «-» которого соединены через первый конденсатор 73 и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя 71, выводы переменного напряжения которого через первый трансформатор 69 подключены к питающей сети, входы «+» и «-» второго источника 76 стабилизированного напряжения соединены через второй конденсатор 74 и подключены соответственно к выводам «+» и «-» второго двухполупериодного диодного выпрямителя 72, выводы переменного напряжения которого через второй трансформатор 70 подключены к питающей сети, выходы «+» и «-» второго источника 76 стабилизированного напряжения связаны между собой через переменный резистор 77, подвижный вывод которого соединен с управляющим входом второго источника 76 стабилизированного напряжения, выход «+» которого через ключи 85 связан с анодами светодиодов 80 n семисегментных индикаторов 78-79.
Схема седьмого варианта реализации индикатора (фиг. 7) содержит трансформатор 86, двухполупериодный диодный выпрямитель 87, конденсатор 88, первый 89 и второй 90 источники стабилизированного напряжения, переменный резистор 91, n (где n≥3 — число десятичных разрядов многоразрядного индикатора) ключей 92-93, n семисегментных индикаторов 94-95 на светодиодах 96 с общим анодом, последовательно соединенные тактовый генератор 97 и двоичный счетчик 98, дешифратор 99 из двоичного кода в унитарный, n×4 информационных входов 100-101, являющихся информационными входами многоканального коммутатора 102 типа «4n в 4», выход которого соединен с информационным входом дешифратора 103 из двоично-десятичного кода в семисегментный код, каждый выход которого соединен с соответствующими объединенными катодами светодиодов 96 семисегментных индикаторов 94-95 различных десятичных разрядов, выход двоичного счетчика 98 соединен с объединенными управляющим входом многоканального коммутатора 102 и входом дешифратора 99 из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей 92-93, выводы питания тактового генератора 97, двоичного счетчика 98, дешифратора 99 из двоичного кода в унитарный, многоканального коммутатора 102 типа «4n в 4» и дешифратора 103 из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника 89 стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор 88 и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя 87, выводы переменного напряжения которого через трансформатор 86 подключены к питающей сети, вход «+» второго источника 90 стабилизированного напряжения подключен к выходу «+» первого источника 89 стабилизированного напряжения, а выходы «+» и «-» связаны между собой через переменный резистор 91, подвижный вывод которого соединен с управляющим входом второго источника 90 стабилизированного напряжения, выход «+» которого через ключи 92-93 соединен с общими анодами светодиодов 96 каждого семисегментного индикатора 94-95.
Схема восьмого варианта реализации индикатора (фиг. 8) содержит трансформатор 104, двухполупериодный диодный выпрямитель 105, конденсатор 106, первый 107 и второй 108 источники стабилизированного напряжения, переменный резистор 109, n (где n≥3 — число десятичных разрядов многоразрядного индикатора) ключей 110-111, n семисегментных индикаторов 112-113 на светодиодах 114 с общим анодом, последовательно соединенные тактовый генератор 115 и двоичный счетчик 116, дешифратор 117 из двоичного кода в унитарный, n×4 информационных входов 118-119, являющихся информационными входами многоканального коммутатора 120 типа «4n в 4», выход которого соединен с информационным входом дешифратора 121 из двоично-десятичного кода в семисегментный код, каждый выход которого соединен с соответствующими объединенными катодами светодиодов 114 семисегментных индикаторов 112-113 различных десятичных разрядов, выход двоичного счетчика 116 соединен с объединенными управляющим входом многоканального коммутатора 120 и входом дешифратора 117 из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей 110-111, выводы питания тактового генератора 115, двоичного счетчика 116, дешифратора 117 из двоичного кода в унитарный, многоканального коммутатора 120 типа «4n в 4» и дешифратора 121 из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника 107 стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор 106 и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя 105, выводы переменного напряжения которого через трансформатор 104 подключены к питающей сети, вход «+» второго источника 108 стабилизированного напряжения подключен к выводу «+» двухполупериодного диодного выпрямителя 105, а выходы «+» и «-» связаны между собой через переменный резистор 109, подвижный вывод которого соединен с управляющим входом второго источника 108 стабилизированного напряжения, выход «+» которого через ключи 110-111 соединен с общими анодами светодиодов 114 каждого семисегментного индикатора 112-113.
Схема девятого варианта реализации индикатора (фиг. 9) содержит первый 122 и второй 123 трансформаторы, первый 124 и второй 125 двухполупериодные диодные выпрямители, первый 126 и второй 127 конденсаторы, первый 128 и второй 129 источники стабилизированного напряжения, переменный резистор 130, n (где n≥3 — число десятичных разрядов многоразрядного индикатора) ключей 131-132, n семисегментных индикаторов 133-134 на светодиодах 135 с общим анодом, последовательно соединенные тактовый генератор 136 и двоичный счетчик 137, дешифратор 138 из двоичного кода в унитарный, n×4 информационных входов 139-140, являющихся информационными входами многоканального коммутатора 141 типа «4n в 4», выход которого соединен с информационным входом дешифратора 142 из двоично-десятичного кода в семисегментный код, каждый выход которого соединен с соответствующими объединенными катодами светодиодов 135 семисегментных индикаторов 133-134 различных десятичных разрядов, выход двоичного счетчика 137 соединен с объединенными управляющим входом многоканального коммутатора 141 и входом дешифратора 138 из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей 131-132, выводы питания тактового генератора 136, двоичного счетчика 137, дешифратора 138 из двоичного кода в унитарный, многоканального коммутатора 141 типа «4n в 4» и дешифратора 142 из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника 128 стабилизированного напряжения, входы «+» и «-» которого соединены через первый конденсатор 126 и подключены соответственно к выводам «+» и «-» первого двухполупериодного диодного выпрямителя 124, выводы переменного напряжения которого через первый трансформатор 122 подключены к питающей сети, входы «+» и «-» второго источника стабилизированного напряжения 129 соединены через второй конденсатор 127 и подключены соответственно к выводам «+» и «-» второго двухполупериодного диодного выпрямителя 125, выводы переменного напряжения которого через второй трансформатор 123 подключены к питающей сети, выходы «+» и «-» второго источника 123 стабилизированного напряжения связаны между собой через переменный резистор 130, подвижный вывод которого соединен с управляющим входом второго источника 129 стабилизированного напряжения, выход «+» которого через ключи 131-132 соединен с общими анодами светодиодов 135 каждого семисегментного индикатора 133-134.
Схема десятого варианта реализации индикатора (фиг. 10) содержит первый 143 и второй 144 трансформаторы, первый 145 и второй 146 двухполупериодные диодные выпрямители, первый 147 и второй 148 конденсаторы, первый 149 и второй 150 источники стабилизированного напряжения, переменный резистор 151, n (где n≥3 — число десятичных разрядов многоразрядного индикатора) ключей 152-153 разрядов, семь ключей 154 сегментов, семь элементов НЕ 155, n семисегментных индикаторов 156-157 на светодиодах 158 с общим анодом, последовательно соединенные тактовый генератор 159 и двоичный счетчик 160, дешифратор 161 из двоичного кода в унитарный, n×4 информационных входов 162-163, являющихся информационными входами многоканального коммутатора 164 типа «4n в 4», выход которого соединен с информационным входом дешифратора 165 из двоично-десятичного кода в семисегментный код, выходы которого через элементы НЕ 155 соединены с управляющими входами ключей 154 сегментов, соответствующие объединенные катоды светодиодов 158 семисегментных индикаторов 156-157 различных десятичных разрядов через соответствующие ключи 154 сегментов соединены с общей шиной устройства, выход двоичного счетчика 160 соединен с объединенными управляющим входом многоканального коммутатора 164 и входом дешифратора 161 из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей 152-153 разрядов, выводы питания тактового генератора 159, двоичного счетчика 160, дешифратора 161 из двоичного кода в унитарный, многоканального коммутатора 164 типа «4n в 4» и дешифратора 165 из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника 149 стабилизированного напряжения, входы «+» и «-» которого соединены через первый конденсатор 147 и подключены соответственно к выводам «+» и «-» первого двухполупериодного диодного выпрямителя 145, выводы переменного напряжения которого через первый трансформатор 143 подключены к питающей сети, входы «+» и «-» второго источника стабилизированного напряжения 150 соединены через второй конденсатор 148 и подключены соответственно к выводам «+» и «-» второго двухполупериодного диодного выпрямителя 146, выводы переменного напряжения которого через второй трансформатор 144 подключены к питающей сети, выходы «+» и «-» второго источника 150 стабилизированного напряжения связаны между собой через переменный резистор 151, подвижный вывод которого соединен с управляющим входом второго источника 150 стабилизированного напряжения, выход «+» которого через ключи 152-153 разрядов соединен с общими анодами светодиодов 158 каждого семисегментного индикатора 156-157.
Схема одиннадцатого варианта реализации индикатора (фиг. 11) содержит первый 166 и второй 167 трансформаторы, первый 168 и второй 169 двухполупериодные диодные выпрямители, первый 170 и второй 171 конденсаторы, первый 172 и второй 173 источники стабилизированного напряжения, переменный резистор 174, n (где n≥3 — число десятичных разрядов многоразрядного индикатора) ключей 175-176, n семисегментных индикаторов 177-178 на светодиодах 179 с общим анодом, семь элементов НЕ 180, последовательно соединенные тактовый генератор 181 и двоичный счетчик 182, дешифратор 183 из двоичного кода в унитарный, n×4 информационных входов 184-185, являющихся информационными входами многоканального коммутатора 186 типа «4n в 4», выход которого соединен с информационным входом дешифратора 187 из двоично-десятичного кода в семисегментный код, выходы которого через элементы НЕ 180 соединены с соответствующими объединенными катодами светодиодов 179 семисегментных индикаторов 177-178 различных десятичных разрядов, выход двоичного счетчика 182 соединен с объединенными управляющим входом многоканального коммутатора 186 и входом дешифратора 183 из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей 175-176, выводы питания тактового генератора 181, двоичного счетчика 182, дешифратора 183 из двоичного кода в унитарный, многоканального коммутатора 186 типа «4n в 4» и дешифратора 187 из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника 172 стабилизированного напряжения, входы «+» и «-» которого соединены через первый конденсатор 170 и подключены соответственно к выводам «+» и «-» первого двухполупериодного диодного выпрямителя 168, выводы переменного напряжения которого через первый трансформатор 166 подключены к питающей сети, входы «+» и «-» второго источника стабилизированного напряжения 173 соединены через второй конденсатор 171 и подключены соответственно к выводам «+» и «-» второго двухполупериодного диодного выпрямителя 169, выводы переменного напряжения которого через второй трансформатор 167 подключены к питающей сети, выходы «+» и «-» второго источника 173 стабилизированного напряжения связаны между собой через переменный резистор 174, подвижный вывод которого соединен с управляющим входом второго источника 173 стабилизированного напряжения, выход «+» которого через ключи 175-176 соединен с общими анодами светодиодов 179 каждого семисегментного индикатора 177-178.
Схема двенадцатого варианта реализации индикатора (фиг. 12) содержит трансформатор 188, двухполупериодный диодный выпрямитель 189, конденсатор 190, первый 191 и второй 192 источники стабилизированного напряжения, переменный резистор 193, n (где n≥3 — число десятичных разрядов многоразрядного индикатора) ключей 194-195, n семисегментных индикаторов 196-197 на светодиодах 198 с общим катодом, связанным через ключи 194-195 с общей шиной устройства, последовательно соединенные тактовый генератор 199 и двоичный счетчик 200, дешифратор 201 из двоичного кода в унитарный, n×4 информационных входов 202-203, являющихся информационными входами многоканального коммутатора 204 типа «4n в 4», выход которого соединен с информационным входом дешифратора 205 из двоично-десятичного кода в семисегментный код, каждый выход которого соединен с соответствующими объединенными анодами светодиодов 198 семисегментных индикаторов 196-197 различных десятичных разрядов, выход двоичного счетчика 200 соединен с объединенными управляющим входом многоканального коммутатора 204 и входом дешифратора 201 из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей 194-195, выводы питания тактового генератора 199, двоичного счетчика 200, дешифратора 201 из двоичного кода в унитарный и многоканального коммутатора 204 типа «4n в 4» объединены между собой и подключены к выходу «+» первого источника 191 стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор 190 и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя 189, выводы переменного напряжения которого через трансформатор 188 подключены к питающей сети, вход «+» второго источника 192 стабилизированного напряжения подключен к выходу «+» первого источника 191 стабилизированного напряжения, а выходы «+» и «-» связаны между собой через переменный резистор 193, подвижный вывод которого соединен с управляющим входом второго источника 192 стабилизированного напряжения, выход «+» которого соединен с выводом питания дешифратора 205 из двоично-десятичного кода в семисегментный код.
Схема тринадцатого варианта реализации индикатора (фиг. 13) содержит трансформатор 206, двухполупериодный диодный выпрямитель 207, конденсатор 208, первый 209 и второй 210 источники стабилизированного напряжения, переменный резистор 211, n (где n≥3 — число десятичных разрядов многоразрядного индикатора) ключей 212-213 разрядов, семь ключей 214 сегментов, n семисегментных индикаторов 215-216 на светодиодах 217 с общим катодом, связанным через ключи 212-213 разрядов с общей шиной устройства, последовательно соединенные тактовый генератор 218 и двоичный счетчик 219, дешифратор 220 из двоичного кода в унитарный, n×4 информационных входов 221-222, являющихся информационными входами многоканального коммутатора 223 типа «4n в 4», выход которого соединен с информационным входом дешифратора 224 из двоично-десятичного кода в семисегментный код, выходы которого соединены с управляющими входами ключей 214 сегментов, выход двоичного счетчика 219 соединен с объединенными управляющим входом многоканального коммутатора 223 и входом дешифратора 220 из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей 212-213 разрядов, выводы питания тактового генератора 218, двоичного счетчика 219, дешифратора 220 из двоичного кода в унитарный, многоканального коммутатора 223 типа «4n в 4» и дешифратора 224 из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника 209 стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор 208 и подключены соответственно к выводам «+» и «-» первого двухполупериодного диодного выпрямителя 207, выводы переменного напряжения которого через трансформатор 206 подключены к питающей сети, вход «+» второго источника стабилизированного напряжения 210 подключен к выводу «+» двухполупериодного диодного выпрямителя 207, выходы «+» и «-» второго источника 210 стабилизированного напряжения связаны между собой через переменный резистор 211, подвижный вывод которого соединен с управляющим входом второго источника 210 стабилизированного напряжения, выход «+» которого через ключи 214 сегментов соединен с соответствующими объединенными анодами светодиодов 217 семисегментных индикаторов 215-216 различных десятичных разрядов.
Схема четырнадцатого варианта реализации индикатора (фиг. 14) содержит первый 225 и второй 226 трансформаторы, первый 227 и второй 228 двухполупериодные диодные выпрямители, первый 229 и второй 230 конденсаторы, первый 231 и второй 232 источники стабилизированного напряжения, переменный резистор 233, n (где n≥3 — число десятичных разрядов многоразрядного индикатора) ключей 234-235 разрядов, семь ключей 236 сегментов, n семисегментных индикаторов 237-238 на светодиодах 239 с общим катодом, связанным через ключи 234-235 разрядов с общей шиной устройства, последовательно соединенные тактовый генератор 240 и двоичный счетчик 241, дешифратор 242 из двоичного кода в унитарный, n×4 информационных входов 243-244, являющихся информационными входами многоканального коммутатора 245 типа «4n в 4», выход которого соединен с информационным входом дешифратора 246 из двоично-десятичного кода в семисегментный код, выходы которого соединены с управляющими входами ключей 236 сегментов, выход двоичного счетчика 241 соединен с объединенными управляющим входом многоканального коммутатора 245 и входом дешифратора 242 из двоичного кода в унитарный, n выходов которого соединены соответственно с управляющими входами n ключей 234-235 разрядов, выводы питания тактового генератора 240, двоичного счетчика 241, дешифратора 242 из двоичного кода в унитарный, многоканального коммутатора 245 типа «4n в 4» и дешифратора 246 из двоично-десятичного кода в семисегментный код объединены между собой и подключены к выходу «+» первого источника 231 стабилизированного напряжения, входы «+» и «-» которого соединены через первый конденсатор 229 и подключены соответственно к выводам «+» и «-» первого двухполупериодного диодного выпрямителя 227, выводы переменного напряжения которого через первый трансформатор 225 подключены к питающей сети, входы «+» и «-» второго источника 232 стабилизированного напряжения соединены через второй конденсатор 230 и подключены соответственно к выводам «+» и «-» второго двухполупериодного диодного выпрямителя 228, выводы переменного напряжения которого через второй трансформатор 226 подключены к питающей сети, выходы «+» и «-» второго источника 232 стабилизированного напряжения связаны между собой через переменный резистор 233, подвижный вывод которого соединен с управляющим входом второго источника 232 стабилизированного напряжения, выход «+» которого через ключи 236 сегментов соединен с соответствующими объединенными анодами светодиодов 239 семисегментных индикаторов 237-238 различных десятичных разрядов.
Схема пятнадцатого варианта реализации индикатора (фиг. 15) содержит трансформатор 247, двухполупериодный диодный выпрямитель 248, конденсатор 249, первый 250 и второй 251 источники стабилизированного напряжения, переменный резистор 252, матричный светодиодный индикатор 253 с матрицей размером светодиодов 254 (где k — число строк, — число столбцов), последовательно соединенные тактовый генератор 255 и двоичный счетчик 256, дешифратор 257 из двоичного кода в унитарный, k ключей 258-261, знакогенератор 262, выход двоичного счетчика 256 соединен с объединенными группой младших разрядов адресного входа знакогенератора 262 и входом дешифратора 257 из двоичного кода в унитарный, k выходов которого соединены соответственно с управляющими входами k ключей 258-261, аноды светодиодов 254 матрицы 253, расположенных в каждой строке матрицы 253, объединены между собой и подключены к соответствующему выводу строк матрицы 253, катоды светодиодов 254 матрицы 253, расположенных в каждом столбце матрицы 253, объединены между собой и подключены к соответствующему выводу столбцов матрицы 253, информационный вход 263 индикатора соединен с группой старших разрядов адресного входа знакогенератора 262, выходы которого соединены с выводами столбцов матрицы 253, выводы питания тактового генератора 255, двоичного счетчика 256, дешифратора 257 из двоичного кода в унитарный и знакогенератора 262 объединены между собой и подключены к выходу «+» первого источника 250 стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор 249 и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя 248, выводы переменного напряжения которого через трансформатор 247 подключены к питающей сети, вход «+» второго источника 251 стабилизированного напряжения подключен к выходу «+» первого источника 250 стабилизированного напряжения, а выходы «+» и «-» связаны между собой через переменный резистор 252, подвижный вывод которого соединен с управляющим входом второго источника 251 стабилизированного напряжения, выход «+» которого через ключи 258-261 соединен с выводами строк матрицы 253.
Схема шестнадцатого варианта реализации индикатора (фиг. 16) содержит трансформатор 264, двухполупериодный диодный выпрямитель 265, конденсатор 266, первый 267 и второй 268 источники стабилизированного напряжения, переменный резистор 269, матричный светодиодный индикатор 270 с матрицей размером светодиодов 271 (где k — число строк, — число столбцов), последовательно соединенные тактовый генератор 272 и двоичный счетчик 273, дешифратор 274 из двоичного кода в унитарный, k ключей 275-278, знакогенератор 279, выход двоичного счетчика 273 соединен с объединенными группой младших разрядов адресного входа знакогенератора 279 и входом дешифратора 274 из двоичного кода в унитарный, k выходов которого соединены соответственно с управляющими входами k ключей 275-278, аноды светодиодов 271 матрицы 270, расположенных в каждой строке матрицы 270, объединены между собой и подключены к соответствующему выводу строк матрицы 270, катоды светодиодов 271 матрицы 270, расположенных в каждом столбце матрицы 270, объединены между собой и подключены к соответствующему выводу столбцов матрицы 270, информационный вход 280 индикатора соединен с группой старших разрядов адресного входа знакогенератора 279, выходы которого соединены с выводами столбцов матрицы 270, выводы питания тактового генератора 272, двоичного счетчика 273, дешифратора 274 из двоичного кода в унитарный и знакогенератора 279 объединены между собой и подключены к выходу «+» первого источника 267 стабилизированного напряжения, входы «+» и «-» которого соединены через конденсатор 266 и подключены соответственно к выводам «+» и «-» двухполупериодного диодного выпрямителя 265, выводы переменного напряжения которого через трансформатор 264 подключены к питающей сети, вход «+» второго источника 268 стабилизированного напряжения подключен к выводу «+» двухполупериодного диодного выпрямителя 265, а выходы «+» и «-» связаны между собой через переменный резистор 269, подвижный вывод которого соединен с управляющим входом второго источника 268 стабилизированного напряжения, выход «+» которого через ключи 275-278 соединен с выводами строк матрицы 270.
Схема семнадцатого варианта реализации индикатора (фиг. 17) содержит первый 281 и второй 282 трансформаторы, первый 283 и второй 284 двухполупериодные диодные выпрямители, первый 285 и второй 286 конденсаторы, первый 287 и второй 288 источники стабилизированного напряжения, переменный резистор 289, матричный светодиодный индикатор 290 с матрицей размером светодиодов 291 (где k — число строк, — число столбцов), последовательно соединенные тактовый генератор 292 и двоичный счетчик 293, дешифратор 294 из двоичного кода в унитарный, k ключей 295-298, знакогенератор 299, выход «+» первого источника 287 стабилизированного напряжения соединен с объединенными выводами питания тактового генератора 292, двоичного счетчика 293, дешифратора 294 из двоичного кода в унитарный и знакогенератора 299, выходы «+» и «-» второго источника 288 стабилизированного напряжения связаны между собой через переменный резистор 289, подвижный вывод которого соединен с управляющим входом второго источника 288 стабилизированного напряжения, выход «+» которого через ключи 295-298 соединен с выводами строк матрицы 290, выход двоичного счетчика 293 соединен с объединенными группой младших разрядов адресного входа знакогенератора 299 и входом дешифратора 294 из двоичного кода в унитарный, k выходов которого соединены соответственно с управляющими входами k ключей 295-298, аноды светодиодов 291 матрицы 290, расположенных в каждой строке матрицы 290, объединены между собой и подключены к соответствующему выводу строк матрицы 290, катоды светодиодов 291 матрицы 290, расположенных в каждом столбце матрицы 290, объединены между собой и подключены к соответствующему выводу столбцов матрицы 290, информационный вход 300 индикатора соединен с группой старших разрядов адресного входа знакогенератора 299, выходы которого соединены с выводами столбцов матрицы 290.
Рассмотрим работу первого варианта индикатора (фиг. 1).
На входные зажимы 9-10 индикатора подается многоразрядная цифровая информация в двоично-десятичном коде 8-4-2-1.
На выходах дешифраторов 11-12 входная информация преобразуется из двоично-десятичного кода в семисегментный код a-b-c-d-e-ƒ-g в соответствии с таблицей 1 истинности (см. [1], с. 439, табл. 23.5).
Двоично-десятичные семисегментные дешифраторы 11-12, выпускаемые фирмой Texas Instruments в виде интегральных схем (ИС) типа SN74247 (отечественный аналог — ИС типа К514ИД2 [5]), имеют выходы с открытым коллектором и предназначены для управления семисегментными индикаторами 6-7 на светодиодах 8 с общим анодом.
Набор цифр Zi, подаваемых на входы 9-10 цифрового индикатора (фиг. 1), отображаются на семисегментных индикаторах 6-7 в соответствии с их значениями, приведенными в табл. 1.
Например, на входы 9-10 цифрового индикатора подается число 456 (при n=3). В этом случае ко входам 9-10 приложены, соответственно, двоично-десятичные коды 0100, 0101 и 0110; на выходах двоично-десятичных семисегментных дешифраторов 11-12, соответственно, появляются коды 1001100, 0100100 и 0100000.
Нулю на выходе одного из дешифраторов 11-12 соответствует открытое состояние выходного транзистора — при подключении к такому выходу катода светодиода по светодиоду будет протекать ток, светодиод засвечивается, яркость его свечения задается протекающим через светодиод током Ip1 (где Iр1 — рабочий ток одного светодиода — сегмента).
Единичному напряжению на выходе одного из дешифраторов 11-12 соответствует закрытое состояние выходного транзистора — при подключении к такому выходу катода светодиода по светодиоду ток не протекает, светодиод не излучает, сегмент находится в погашенном состоянии.
Дешифратор 12 старшего десятичного разряда работает следующим образом. Коду на его выходе 1001100 соответствует излучающее состояние сегментов b, c, ƒ, g и погашенное состояние сегментов a, d, е. Сегменты a, d — это верхний и нижний сегменты, е — левый нижний сегмент. Следовательно, на индикаторе 7 старшего разряда индицируется десятичная цифра «4» и т.д.
Для питания схемы индикатора используются трансформатор 1, который понижает переменное напряжение сети 220 В до необходимого уровня, двухполупериодный диодный выпрямитель 2, преобразующий переменное напряжение в постоянное, конденсатор 3, сглаживающий выходное напряжение выпрямителя 2, и первый 4 и второй 5 источники стабилизированного напряжения.
Первый источник 4 стабилизированного напряжения подает на выводы питания n дешифраторов 11-12 из двоично-десятичного кода в семисегментный код постоянное номинальное напряжение (для большинства интегральных схем это 5 В).
С помощью переменного резистора 13 устанавливается тот уровень выходного напряжения второго источника 5 стабилизированного напряжения, который задает необходимый ток через светодиоды семисегментных индикаторов 6-7, обеспечивающий наиболее приемлемую яркость свечения светодиодов 8.
Падение напряжения на светодиодах 8 различных типов и различных производителей в рабочем диапазоне тока составляет 1,5-2,1 В. Это напряжение и устанавливается на выходе второго источника 5 стабилизированного напряжения.
В том случае, если каждый сегмент засвечивается не одним светодиодом, как показано на фиг. 1, а несколькими последовательно соединенными светодиодами (см. фиг. 18), то их суммарное падение напряжения составляет 5-8 В.
В этом случае необходимо использовать второй вариант индикатора, изображенный на фиг. 2.
В том случае, если каждый сегмент засвечивается большой группой из последовательно-параллельно соединенных светодиодов (см. фиг. 19), то их суммарное падение напряжения составляет 8,5-12 В, а суммарный ток одного семисегментного индикатора достигает 200-250 мА. В качестве примера такого индикатора на фиг. 19 приведена схема семисегментного индикатора типа FYS-70011 ВХ фирмы FORYARD OPTOELECTRONICS.
В этом случае целесообразно использовать третий вариант индикатора, изображенный на фиг. 3.
Рассмотрим работу четвертого варианта индикатора (фиг. 4).
На входные зажимы 51-52 индикатора подается многоразрядная цифровая информация в двоично-десятичном коде 8-4-2-1.
На выходах дешифраторов 53-54 входная информация преобразуется из двоично-десятичного кода в семисегментный код a-b-c-d-e-ƒ-g в соответствии с таблицей 2 истинности (см. [1], с. 439, табл. 23.5).
Двоично-десятичные семисегментные дешифраторы 53-54, выпускаемые в виде ИС типа К514ИД1 [5]), имеют выходы с закрытым коллектором и предназначены для управления семисегментными индикаторами 48-49 на светодиодах 50 с общим катодом.
При единичном напряжении на выходе одного из дешифраторов 53-54, обеспечивающем рабочий ток Iр1 светодиода, соответствующий светодиод переходит в излучающее состояние.
При подаче нулевого напряжения на анод соответствующего светодиода ток по светодиоду не протекает, светодиод не излучает, сегмент находится в погашенном состоянии.
Например, при подаче на входы 51-52 числа 456, коду цифры «4» по табл. 2 соответствует выходной код дешифратора 54 старшего десятичного разряда 0110011, которому, в свою очередь, соответствует излучающее состояние сегментов b, с, ƒ, g и погашенное состояние сегментов a, d, е. Сегменты а и d — это верхний и нижний сегменты, е — левый нижний сегмент. Следовательно, на индикаторе 49 старшего разряда индицируется десятичная цифра «4» и т.д.
В качестве недостатка ИС типа К514ИД1 следует отметить малый предельный выходной ток — ток через сегмент, равный 5,6 мА. Это позволяет применять дешифратор К514ИД1 только для управления малогабаритными маломощными семисегментными индикаторами (например, типа АЛ113 ([7]).
Для управления более мощными семисегментными индикаторами с несколькими последовательно соединенными светодиодами (см. фиг. 18) и большим током через сегменты предназначен пятый вариант индикатора, изображенный на фиг. 5.
Для управления еще более мощными семисегментными индикаторами, у которых сегменты засвечиваются большой группой из последовательно-параллельно соединенных светодиодов (см. фиг. 19), предназначен шестой вариант индикатора, изображенный на фиг. 6.
В схемах индикатора, изображенных на фиг. 5 и фиг. 6, в качестве дешифратора из двоично-десятичного кода в семисегментный код применен дешифратор К514ИД1, а для коммутации больших токов через сегменты семисегментных индикаторов используются ключи 68 и 85.
Рассмотрим работу седьмого варианта индикатора (фиг. 7), работающего в динамическом режиме индикации.
На входные зажимы 100-101 индикатора подается многоразрядная цифровая информация в двоично-десятичном коде 8-4-2-1, соответствующая числу 456.
В первом такте работы генератора 97 выходной код счетчика 98 равен, например, 000 (при n=8). В этом случае управляющий единичный сигнал присутствует на первом выходе дешифратора 99, который связан с входом управления ключа 93 младшего разряда — ключ 93 в этом такте открыт, в этом случае выходное напряжение второго источника 90 стабилизированного напряжения подается на общий анод светодиодного индикатора 95.
Поскольку код счетчика 65 приложен также к управляющему входу коммутатора 102, то на его выходе появляется двоично-десятичный код цифры «6», приложенный к первому информационному входу 100. На выходе дешифратора (ИС типа К514ИД2 [5]) 103 появляется семисегментный код, также соответствующей цифре «6». В результате в течение первого такта работы генератора 97 на индикаторе 95 младшего десятичного разряда засвечена цифра «6».
В следующем такте работы генератора 97 выходной код счетчика 98 становится равным 001; управляющий сигнал появляется на втором выходе дешифратора 99; открывается ключ второго разряда; на втором индикаторе засвечивается цифра «5» и т.д.
Для управления более мощными семисегментными индикаторами предназначены восьмой и девятый варианты индикатора, схемы которых изображены на фиг. 8 и фиг. 9.
В схемах восьмого и девятого вариантов индикатора, изображенных на фиг. 8 и фиг. 9, в качестве дешифратора из двоично-десятичного кода в семисегментный код применен дешифратор К514ИД2 (элементы 121 и 142).
Для управления еще более мощными семисегментными индикаторами предназначены десятый и одиннадцатый варианты индикатора, схемы которых изображены на фиг. 10 и фиг. 11.
В схемах индикатора, изображенных на фиг. 10 и фиг. 11, в качестве дешифратора из двоично-десятичного кода в семисегментный код применен дешифратор К514ИД1, а для коммутации больших токов через сегменты семисегментных индикаторов используются: в схеме на фиг. 10 — ключи 154 сегментов, а в схеме на фиг. 11 — элементы НЕ 180, которые имеют выходы с открытым коллектором.
Следует также учитывать, что последовательно соединенные дешифратор 187 из двоично-десятичного кода в семисегментный код и семь элементов НЕ 180 эквивалентны дешифратору К514ИД2.
Двенадцатый вариант индикатора (фиг. 12) работает аналогично седьмому варианту индикатора (фиг. 7) в динамическом режиме индикации.
Отличие состоит лишь в том, что для засвечивания одного из индикаторов 196-197 используется один из ключей 194-195, связывающий общий катод светодиодов индикаторов с общей шиной устройства.
Для управления более мощными семисегментными индикаторами предназначены тринадцатый и четырнадцатый варианты индикатора, схемы которых изображены на фиг. 13 и фиг. 14.
В схемах двенадцатого-четырнадцатого вариантов индикатора, изображенных на фиг. 12, 13 и 14, в качестве дешифратора из двоично-десятичного кода в семисегментный код применен дешифратор К514ИД1 (элементы 205, 224 и 246).
Рассмотрим работу пятнадцатого варианта индикатора (фиг. 15) на примере индикации цифры «1».
В этом случае на информационный вход индикатора 263 подается значение старших разрядов адресного кода четырех ячеек знакогенератора 262, в которых содержится код цифры «1». Например, это ячейки с адресами 0001-1101, в которых хранится одинаковый код 1110. При таком коде на младшем (правом) разряде выхода знакогенератора 262 присутствует ноль, остальные разряды выхода знакогенератора 262 «закрыты» единичным напряжением.
При работе тактового генератора 255 на выходе счетчика 256 последовательно появляются коды 00-01-10-11-00 и т.д. При этом последовательно открываются ключи 258-259-260-261, подключая последовательно аноды светодиодов 254 соответствующих строк матрицы 253 к выходу «+» второго источника 251 стабилизированного напряжения.
Поскольку частота генератора 255 достаточно высока, то зрением воспринимается в виде «1» непрерывно засвеченный правый столбец светодиодов 254 матрицы 253 светодиодного индикатора.
Для управления матрицей с более мощными светодиодами предназначены шестнадцатый и семнадцатый варианты индикатора, схемы которых изображены на фиг. 16 и фиг. 17.
В качестве светодиодных индикаторов необходимо использовать современную базу, например, производимую фирмой Kingbrigt и др. Вольтамперные характеристики светодиодов указанных индикаторов очень стабильны и мало отличаются между собой (на единицы процентов). Отображаемая индикаторами информация имеет одинаковую яркость и отличается высоким качеством.
Преимуществом предлагаемого индикатора по сравнению с аналогами является его упрощение, а также снижение расхода электроэнергии за счет исключения ограничивающего резистора из схем вариантов индикатора.
Источники информации, принятые во внимание при составлении описания заявки:
1. Титце У., Шенк К. Полупроводниковая схемотехника: Справочное руководствр. Пер. с нем.. — М.: Мир, 1982.
2. Применение интегральных схем: Практическое руководство. В 2-х кн. Кн. 2. Пер. с англ. / Под ред. А. Уильямса. — М.: Мир, 1987. — С. 208. — Рис. 10.37.
3. Янсен Й. Курс цифровой электроники: В 4-х т. Т. 3. Сложные ИС для устройств передачи данных. Пер. с голл. — М.: Мир, 1987. — С. 27. — Рис. 1.11.
4. Токхейм Р. Основы цифровой электроники: Пер. с англ. — М.: Мир, 1988. — С. 128. — Рис. 5.12. — (прототип 1).
5. Нефедов А.В. Интегральные микросхемы и их зарубежные аналоги: Справочник. В 12 т. Т 4. — М.: КубК-а, 1997. — С. 106-114.
6. Патент на полезную модель 81364 РФ, МПК G09G 3/14, G09G 3/32. Светодиодный индикатор (варианты) — №2008134655/22; заявл. 25.08.2008; опубл. 10.03.2009, Бюл. №7.
7. Лисицын Б.Л. Низковольтные индикаторы: Справочник. — М.: Радио и связь, 1985.
Семисегментный индикатор | Светодиодное табло
Семисегме́нтный индика́тор, это устройство отображения цифровой информации. Для отображения букв и символов используются более сложные многосегментные и матричные индикаторы.
Внешний вид
Семисегментный индикатор, что следует из его названия, состоит из семи элементов изображения, так называемых сегментов. Включая сегменты в разных сочетаниях, из них можно составить упрощённое изображение арабской цифры. Иногда на семисегментном индикаторе отображают и некоторые буквы. Часто цифры в семисегментном индикаторе имеют наклон. Это делается производителем индикаторов для удобства размещения на них десятичной точки.
Семисегментные индикаторы имеют простую, унифицированную форму, тем самым снижается стоимость и облегчается управление индикатором. Семисегментные индикаторы изготавливаются с использованием различных технологий. Распространение получили:
- Светодиодные индикаторы
- Жидкокристаллические индикаторы
- Газоразрядные индикаторы
- Вакуумно-люминесцентные (катодо-люминесцентные) индикаторы
- Механические (бленкерные) индикаторы
Для удобства программирования, сегменты индикатора обозначаются латинскими символами от «a» до «g», восьмой сегмент — десятичная точка, предназначенная для разделения целой и дробной частей числа — называется dp, digital point.
История изобретения
В 1910 году американским изобретателем Фрэнком Вудом из Ньюпорт-Ньюс, штат Вирджиния, был запатентован индикатор сегментного типа. Его индикатор был восьмисегментным, с дополнительным косым сегментом для отображения цифры «четыре». Однако, до 1970-х годов семисегментные индикаторы не получили распространение и для отображения цифр применялись вакуумные индикаторы тлеющего разряда.
Наконец, в 1970 году американской компанией RCA был выпущен семисегментный индикатор «Нумитрон» в вакуумном исполнении с сегментами из нитей накаливания.
Вслед за распространением семисегментного индикатора, для отображения символов появились четырнадцати и шестнадцати- сегментные индикаторы, но теперь их практически везде заменили матричные знакосинтезирующие индикаторы. Но там, где требуется отображать только цифры, семисегментные индикаторы активно применяются — из-за простоты, низкой стоимости и узнаваемости.
Современные реализации семисегментного индикатора
В настоящее время, большинство одноразрядных семисегментных индикаторов сделаны на светодиодах. В обычном одноразрядном светодиодном индикаторе девять контактов: один общий и восемь — от каждого из сегментов. Есть схемы с общим анодом и с общим катодом.
Многоразрядные семисегментные индикаторы чаще выпускаются либо по светодиодной технологии, либо на жидких кристаллах. Выводы всех одноимённых сегментов всех разрядов таких индикаторах соединены вместе, а общие выводы каждого разряда выведены отдельно. Для управления таким индикатором, управляющая микросхема циклически подает напряжение на общие выводы всех разрядов, одновременно на выводы сегментов выставляется код из семи нулей и единиц. Таким образом, например, восьмиразрядный индикатор, имеет всего шестнадцать выводов вместо шестидесяти четырех.
Для управления семисегментными индикаторами изготавливаются специальные микросхемы дешифраторов, переводящие четырёхбитовый код в семисегментный вид. Некоторые семисегментные индикаторы выпускаются со встроенным дешифратором.
С распространением интегральных микроконтроллеров, семисегментные индикаторы зачастую подключаются напрямую к микроконтроллеру.
Отображение букв
Кроме цифр и точки, семисегментные индикаторы могут показывать буквы. Но только некоторые буквы имеют узнаваемое семисегментное представление.
Латинские буквы: A, B, b, C, c, d, E, F, g, H, h, I, i, J, L, n, O, o, P, q, r, S, t, U, u, Y.
Русские буквы: А, Б, В, Г, г, Е, Н, О, о, П, п, Р, С, с, У, Ч, Ь, Э.
Следовательно, семисегментные индикаторы применяются для вывода только некоторых сообщений. Например, On, Off, Error …
Мы широко используем семисегментные индикаторы при изготовлении табло электронной очереди и офисных цифровых часов.
Далее о корпусах светодиодов >>>
7-сегментный дисплей и управление 7-сегментным дисплеем
Излучение этих фотонов происходит, когда диодный переход смещен в прямом направлении внешним напряжением, позволяющим току течь через его переход, и в электронике мы называем этот процесс электролюминесценцией.
Фактический цвет видимого света, излучаемого светодиодом, в диапазоне от синего до красного и оранжевого, определяется спектральной длиной волны излучаемого света, которая сама зависит от смеси различных примесей, добавляемых к полупроводниковым материалам, используемым для производства Это.
7-сегментный дисплей
Светоизлучающие диодыимеют много преимуществ по сравнению с традиционными лампами и лампами, основными из которых являются их небольшой размер, длительный срок службы, различные цвета, дешевизна и легкодоступность, а также простота взаимодействия с различными другими электронными компонентами и цифровыми схемами.
Но главное преимущество светодиодов состоит в том, что из-за их небольшого размера кристалла несколько из них могут быть соединены вместе в одном небольшом и компактном корпусе, в результате чего получается то, что обычно называют 7-сегментным дисплеем .
7-сегментный дисплей , также называемый «семисегментный дисплей», состоит из семи светодиодов (отсюда и его название), расположенных в прямоугольной форме, как показано. Каждый из семи светодиодов называется сегментом, потому что при его включении сегмент образует часть отображаемой числовой цифры (как десятичной, так и шестнадцатеричной). Дополнительный 8-й светодиод иногда используется в одном корпусе, что позволяет отображать десятичную точку (DP), когда два или более 7-сегментных дисплея соединены вместе для отображения чисел больше десяти.
Каждому из семи светодиодов на дисплее выделяется позиционный сегмент, при этом один из его соединительных контактов выводится прямо из прямоугольного пластикового корпуса. Эти индивидуальные выводы светодиода обозначены буквами от a до g, представляющими каждый отдельный светодиод. Остальные выводы светодиода соединены вместе и соединены между собой, образуя общий вывод.
Таким образом, при прямом смещении соответствующих выводов сегментов светодиода в определенном порядке некоторые сегменты будут светлыми, а другие темными, что позволяет отображать на дисплее желаемую комбинацию символов номера.Это позволяет нам отображать каждую из десяти десятичных цифр от 0 до 9 на том же 7-сегментном дисплее.
Общий вывод дисплеев обычно используется для определения типа 7-сегментного дисплея. Поскольку каждый светодиод имеет два соединительных контакта, один из которых называется «анодом», а другой — «катодом», поэтому существует два типа светодиодных 7-сегментных дисплеев, называемых: с общим катодом (CC) и с общим анодом (CA ).
Разница между двумя дисплеями, как следует из их названия, заключается в том, что общий катод имеет все катоды 7-сегментов, соединенных непосредственно вместе, а общий анод имеет все аноды 7-сегментов, соединенных вместе, и подсвечивается следующим образом. .
1. Общий катод (CC) — В дисплее с общим катодом все катодные соединения светодиодных сегментов соединены вместе с логическим «0» или заземлением. Отдельные сегменты освещаются подачей сигнала «ВЫСОКИЙ» или логической «1» через токоограничивающий резистор для прямого смещения отдельных клемм анода (a-g).
7-сегментный дисплей с общим катодом
2. Общий анод (CA) — В дисплее с общим анодом все соединения анодов светодиодных сегментов объединены в логическую «1».Отдельные сегменты подсвечиваются путем подачи сигнала заземления, логического «0» или «LOW» через подходящий токоограничивающий резистор на катод конкретного сегмента (a-g).
7-сегментный дисплей с общим анодом
В общем, дисплеи с обычным анодом более популярны, поскольку многие логические схемы могут потреблять больше тока, чем они могут отдавать. Также обратите внимание, что дисплей с общим катодом не является прямой заменой в схеме дисплея с общим анодом и наоборот, так как это то же самое, что и подключение светодиодов в обратном направлении, и, следовательно, светового излучения не будет.
В зависимости от отображаемой десятичной цифры конкретный набор светодиодов имеет прямое смещение. Например, чтобы отобразить цифровую цифру 0, нам нужно будет зажечь шесть светодиодных сегментов, соответствующих a, b, c, d, e и f. Таким образом, различные цифры от 0 до 9 могут отображаться на 7-сегментном дисплее, как показано.
7-сегментный дисплей для всех номеров.
Затем для 7-сегментного дисплея мы можем создать таблицу истинности, дающую отдельные сегменты, которые необходимо осветить, чтобы получить требуемую десятичную цифру от 0 до 9, как показано ниже.
7-сегментная таблица истинности дисплея
Десятичное Цифра | Отдельные сегменты с подсветкой | ||||||
а | б | с | г | e | f | г | |
0 | × | × | × | × | × | × | |
1 | × | × | |||||
2 | × | × | × | × | × | ||
3 | × | × | × | × | × | ||
4 | × | × | × | × | |||
5 | × | × | × | × | × | ||
6 | × | × | × | × | × | × | |
7 | × | × | × | ||||
8 | × | × | × | × | × | × | × |
9 | × | × | × | × | × |
Управление 7-сегментным дисплеем
Хотя 7-сегментный дисплей можно рассматривать как единый дисплей, он по-прежнему представляет собой семь отдельных светодиодов в одном корпусе, и поэтому эти светодиоды нуждаются в защите от перегрузки по току.Светодиоды излучают свет только тогда, когда они смещены в прямом направлении, причем количество излучаемого света пропорционально прямому току.
Это означает, что интенсивность света светодиодов увеличивается примерно линейно с увеличением тока. Таким образом, этот прямой ток должен контролироваться и ограничиваться до безопасного значения с помощью внешнего резистора, чтобы предотвратить повреждение сегментов светодиода.
Прямое падение напряжения на красном сегменте светодиода очень низкое и составляет от 2 до 2,2 вольт (синие и белые светодиоды могут достигать 3.6 вольт), поэтому для правильного освещения сегменты светодиода должны быть подключены к источнику напряжения, превышающего это значение прямого напряжения, с последовательным сопротивлением, используемым для ограничения прямого тока до желаемого значения.
Обычно для стандартного 7-сегментного дисплея красного цвета каждый сегмент светодиода может потреблять около 15 мА для правильной подсветки, поэтому в цифровой логической схеме 5 В значение резистора ограничения тока будет около 200 Ом (5 В — 2 В) / 15 мА или 220 Ом с точностью до ближайшего более высокого предпочтительного значения.
Итак, чтобы понять, как сегменты дисплея подключаются к токоограничивающему резистору 220 Ом, рассмотрим схему ниже.
Управление 7-сегментным дисплеем
В этом примере сегменты общего анодного дисплея подсвечиваются с помощью переключателей. Если переключатель А замкнут, ток будет течь через сегмент «а» светодиода к токоограничивающему резистору, подключенному к контакту А, и к 0 вольт, замыкая цепь. Тогда будет освещен только сегмент а.Таким образом, для активации светодиодных сегментов на этом общем анодном дисплее требуется НИЗКОЕ состояние (переключение на землю).
Но предположим, что мы хотим, чтобы на дисплее высвечивалось десятичное число «4». Затем переключатели b, c, f и g будут замкнуты, чтобы зажечь соответствующие сегменты светодиода. Аналогично для десятичного числа «7» переключатели a, b, c будут замкнуты. Но подсветка 7-сегментных дисплеев с помощью отдельных переключателей не очень практична.
7-сегментные дисплеи обычно управляются специальным типом интегральной схемы (ИС), широко известной как 7-сегментный декодер / драйвер, например CMOS 4511.Этот 7-сегментный драйвер дисплея, известный как декодер и драйвер дисплея с двоично-десятичным или двоично-десятичным кодированием для 7-сегментного дисплея, может освещать как дисплеи с общим анодом, так и с общим катодом. Но существует множество других драйверов для одного и двух дисплеев, например, очень популярный TTL 7447.
Этот декодер / драйвер сегментов BCD-to-7 принимает четырехбитный вход BCD с метками A, B, C и D для цифр двоичного взвешивания 1, 2, 4 и 8 соответственно, имеет семь выходов, которые будут пропускать ток через соответствующие сегменты, чтобы отобразить десятичную цифру цифрового светодиодного дисплея.
Цифровые выходы CD4511 отличаются от обычных выходов CMOS, потому что они могут обеспечивать ток до 25 мА каждый для непосредственного управления светодиодными сегментами, что позволяет использовать и управлять светодиодными дисплеями разных цветов.
Управление 7-сегментным дисплеем с использованием 4511
В этой простой схеме каждый светодиодный сегмент дисплея с общим катодом имеет собственный вывод анода, подключенный непосредственно к драйверу 4511, а его катоды подключены к земле.Ток с каждого выхода проходит через резистор 1 кОм, который ограничивает его до безопасного значения. Двоичный вход в 4511 осуществляется через четыре переключателя. Затем мы видим, что с помощью драйвера дисплея BCD для 7-сегментного типа, такого как CMOS 4511, мы можем управлять светодиодным дисплеем, используя всего четыре переключателя (вместо предыдущих 8) или 4-битный двоичный сигнал, позволяющий использовать до 16 различных комбинаций. .
В большинстве цифрового оборудования используются 7-сегментные дисплеи для преобразования цифровых сигналов в форму, которая может отображаться и понятна пользователю.Эта информация часто представляет собой числовые данные в виде цифр, знаков и символов. Семисегментные дисплеи с общим анодом и общим катодом производят необходимое количество, подсвечивая отдельные сегменты в различных комбинациях.
7-сегментные светодиодные дисплеиочень популярны среди любителей электроники, поскольку они просты в использовании и понятны. В большинстве практических приложений 7-сегментные дисплеи управляются подходящей ИС декодера / драйвера, такой как CMOS 4511 или TTL 7447, от 4-битного входа BCD.Сегодня 7-сегментные дисплеи на основе светодиодов были в значительной степени заменены жидкокристаллическими дисплеями (ЖК-дисплеи), которые потребляют меньше тока.
7-сегментный дисплей: основы | LEDnique
Рисунок 1. Стандартный 7-сегментный дисплей и идентификация сегментов. Десятичная точка, если она есть, требует наличия восьми светодиодов.7-сегментные (или «семисегментные») светодиодные дисплеи обычно используются для отображения цифровой информации.Каждый сегмент состоит из одного или нескольких светодиодов и может светиться независимо от всех остальных для формирования цифр от 0 до 9. Также может быть сформирован ограниченный диапазон буквенных символов, но они имеют смешанный регистр и могут быть трудночитаемыми.
Стандартная идентификация сегмента показана на рисунке 1, и сегменты обозначены от A до G, начиная с вершины и идя по часовой стрелке, при этом G является центральным сегментом.
Обычно дисплеи имеют общий вывод для всех светодиодных анодов или катодов. Для полноценного семисегментного дисплея достаточно восьми выводов, тогда как для одного с десятичной точкой требуется девять.
Рис. 2. Как и следовало ожидать, количество выводов в корпусе уменьшается за счет использования общего вывода для одной стороны всех светодиодов. В этом случае используется общий анод. Рисунок 3. Дисплей с общим катодом. Их преимущество состоит в том, что для мультиплексированных дисплеев цифра может быть стробирована с использованием транзистора NPN в катодном соединении с землей.Мультиплексный 7-сегментный дисплей
Рис. 4. 4-значный мультиплексированный дисплей с общим катодом.Путем мультиплексирования семисегментных дисплеев можно уменьшить количество выводов, необходимых для управления дисплеями.В схеме, показанной на рисунке 4, микроконтроллер управляет сегментами на высоком уровне. Необходимые сегменты для цифры 1 устанавливаются на линиях от A до G и Q1 стробируются (включаются на короткое время). Затем включаются требуемые сегменты для цифры 2 и стробируется Q2 и т. Д. Последовательность выполняется достаточно быстро, чтобы все цифры казались постоянно горящими из-за постоянного зрения.
Когда мультиплексирование отображается таким образом, нормально работать при токе выше номинального. Это приемлемо, поскольку на сегменты будет подаваться питание не более 25% времени — 25% рабочего цикла.
Обратите внимание, что 32 сегментами можно управлять, используя только 12 выходов контроллера. Эта эффективность аппаратного обеспечения и компоновки печатных плат — вот что делает мультиплексирование таким популярным.
Уменьшение выводов регулятора
Рис. 5. 7-сегментный защелка / декодер / драйвер 4511 BCD.Используя защелку / декодер / драйвер, такой как декодер 4511 (таблица данных), разработчик имеет гораздо больше возможностей для отображения. При использовании декодера BCD для управления семью сегментами требуется всего четыре линии.
Рисунок 6.Функциональная схема 4511.- BL: вырубка. Потяните вниз, чтобы выключить все сегменты. Дисплей: пустой.
- LT: лампа-тест. Потяните вниз, чтобы включить все сегменты. Дисплей: «8».
- LE: разблокировка защелки. Потяните низкий уровень, чтобы прочитать входные данные и перейти к семи выходным сегментам. Потяните вверх, чтобы зафиксировать выходы.
Обратите внимание, что значения BCD выше «9» считаются недействительными, и дисплей будет пустым. Это делает 4511 непригодным для шестнадцатеричного отображения.
Модель 4511 может быть источником или потребителем тока для дисплеев.Оценки см. В таблице данных.
7-сегментный дисплей без мерцания
Рис. 6. Использование защелки 4511 на каждый дисплей позволяет отображать без мерцания.На рисунке 5 показано, как использовать защелку 4511 на цифру. В этом случае данные для каждой цифры устанавливаются по очереди с D0 по D3, а вывод цифры / LE (разблокировка защелки) переводится в низкий уровень. Семисегментный дисплей немедленно обновится и будет зафиксирован, когда вывод / LE снова будет установлен в высокий уровень. Это, например, позволило бы микроконтроллеру обрабатывать другие задачи без необходимости обновлять дисплей до тех пор, пока не потребуется.Контакты ввода-вывода от D0 до D3 могут даже использоваться в качестве входов с подходящими входными резисторами, в то время как обновление дисплея не требуется.
Обратите внимание, что десятичные точки дисплея не контролируются 4511. Это оставляет дизайнеру несколько вариантов:
- Без десятичной точки.
- Фиксированная десятичная точка путем подключения одного из выводов DP к Vss.
- Десятичная точка, управляемая программой. Для этого потребуется один дополнительный выходной контакт контроллера на каждую десятичную точку.
Добро пожаловать в Real Digital
- Цифровая логика
- Тема: Семисегментный контроллер
Контроллер сканирующего дисплея для семисегментного дисплея
4022
Семисегментные дисплеи — это простые и недорогие устройства, способные отображать ограниченное количество символов, включая цифры 0–9, некоторые буквы и некоторые произвольные символы.Каждый элемент отображения состоит из семи сегментов, расположенных в форме восьмерки, и каждый сегмент может управляться индивидуально для создания чисел (и некоторых букв). Сегменты обычно строятся с использованием светодиодов или жидких кристаллов, и они бывают разных размеров и цветов. Они остаются одними из самых распространенных электронных дисплеев, используемых сегодня.
Во время работы схема драйвера создает желаемый символ на дисплее, подсвечивая одни сегменты и оставляя другие темными. Обычно двоично-десятичный код (код BCD) определяет цифру, которая будет отображаться (напомним, что код BCD — это 4-битный код, в котором определены только 0000–1001).Схемы подсветки цифр показаны ниже, а таблица истинности точно определяет, какие сегменты подсвечиваются для каждой цифры BCD. На Blackboard все сигналы анода и катода имеют низкий активный уровень.
Рисунок 1. Семисегментная таблица истинности и блок-схема. Катоды часто называют A-G, но на Blackboard они называются 0-7Семисегментный дисплейный модуль Blackboard имеет один входной порт для управления катодами и четыре цифры для включения. Поскольку одновременно может быть включена только одна цифра, необходим контроллер сканирующего дисплея для подсветки всех четырех цифр.Контроллер сканирующего дисплея использует огромное несоответствие времени отклика между электронными системами органов чувств человека. Контроллер дисплея освещает каждый элемент дисплея в течение короткого промежутка времени (возможно, 1 мс или около того), но достаточно долго, чтобы насытить зрительный аппарат человека (насыщение происходит за доли миллисекунды). Каждый элемент дисплея подсвечивается в течение некоторого времени, а затем его выбор отменяется, чтобы можно было подсвечивать следующий элемент. В этом случае есть четыре элемента дисплея (четыре цифры), поэтому каждая цифра может светиться в течение 25% времени.
Человеческий зрительный аппарат также обесцвечивается относительно быстро, поэтому, если между подсветкой элемента дисплея проходит слишком много времени, будет ощущаться мерцание. Обесцвечивание происходит примерно через 20 мсек или около того, что означает, что элементы дисплея должны повторно подсвечиваться (или обновляться) не менее 50 раз в секунду.
Контроллер сканирующего дисплея должен включать каждую цифру не реже одного раза в 20 мс (и быстрее тоже в порядке), и каждая цифра должна оставаться включенной не менее 100 мкс. Кроме того, контроллер сканирования должен гарантировать наличие правильного рисунка катода при подаче соответствующего анодного (цифрового разрешающего) сигнала.На рисунке ниже показана схема подходящей системы и временная диаграмма, иллюстрирующая поведение системы.
Рисунок 2. Семисегментная система отображенияОбратите внимание, что система разделена на две части — источник данных, который в данном случае представляет собой четырехзначный десятичный счетчик, и систему отображения. Эти две подсистемы независимы, и одна может использоваться без другой. Два тактовых генератора также независимы, и каждый может быть выбран в соответствии с потребностями подсистемы.
В этом примере частота сигнала CLK для таймера будет определять частоту обновления таймера, и эта частота может быть выбрана в соответствии с потребностями таймера.
Независимо от того, как часто обновляются входные данные, система отображения будет просто отображать любые входные данные, доставленные к ней, на своих четырех 4-битных входных шинах. Частота DISP_CLK системы отображения может быть выбрана в соответствии с потребностями отображения без какой-либо связи с другими временными базами. Чтобы избежать мерцания и дать достаточное время для того, чтобы светодиоды каждой цифры надлежащим образом загорелись, будет достаточно DISP_CLK в диапазоне от 250 Гц до 10 кГц.
Рис. 3. Синхронизация семисегментного контроллера.OpenLab. Руководство по подключению семисегментной платы.
Введение.
. Семисегментные дисплеи — это простая форма дисплеев, используемых для отображения десятичных чисел.Они проявляются, когда возникает необходимость в подсчете подобных приложений в проектах. Семисегментная плата содержит 4 дисплея, и ее можно подключить к любому порту с помощью кабеля FRC, поставляемого с OpenLab. Для работы с платой требуется два порта: один для выбора, а другой для управления сегментом.
В устройстве OpenLab есть четыре семисегментных модуля дисплея. Они установлены на плате, на которой порты данных и управления отдельно закреплены в правом верхнем углу. Единый семисегментный дисплейный модуль представляет собой комбинацию из восьми светодиодов, включая десятичную точку.Десятичные цифры и некоторые алфавиты могут отображаться с помощью семисегментного модуля дисплея.
Одной из важных особенностей семисегментного модуля дисплея является то, что каждый модуль имеет связанную с ним цепь включения или выключения. С помощью прошивки, поэтому мы можем включить или отключить отдельный модуль в прошивке. Четыре семисегментных дисплея и 8 транзисторов расположены в виде массивов. Таким образом, каждый раздел отделен. 8-битный порт данных используется четырьмя модулями. Порт управления использует четыре бита и подключен к катодным выводам каждого семисегментного дисплея.Эти контакты определяют, какой модуль включен или отключен в конкретное время в зависимости от состояния бита управления от порта микроконтроллера.
Эксплуатация
Семисегментная панель дисплея содержит 7 сегментов и десятичную точку. Каждый порт данных представляет собой сегмент на дисплее. Сегменты управляются через прошивку. Контакты настроены на активный низкий уровень. Первый вывод представляет собой A, второй вывод представляет B и так далее.
Дисплеи, используемые в OpenLab, представляют собой обычные катодные дисплеи, но все входные соединения инвертированы из-за управляющих цепей.То есть, даже если это обычный катодный дисплей, он работает как обычный анодный дисплей. В дисплеях с обычным катодом общий вывод заземлен, а другим выводам присваивается высокий уровень в зависимости от требований. В нашем случае общий вывод заземлен, пока мы активируем сегмент, задавая «0».
Схема
Ниже представлена схема 7-сегментного дисплея. Сегменты управляются транзисторами PNP. Таким образом, сегменты могут быть активированы подачей низкого уровня на базу транзистора (порт данных J3).Контакт заземления управляется транзистором NPN, поэтому модуль можно активировать, подав высокий уровень (порт управления J2).
Отображаемые коды
Отображаемые коды цифр приведены ниже.
Порт данных
Выводы данных имеют активный низкий уровень. Это означает, что заземление бита включит светодиодный индикатор сегмента, а подача сигнала высокого уровня отключит сегмент.
Порт управления
Контакты J2 имеют активный высокий уровень. Установка высокого уровня на бит активирует семисегментный сегмент.
NC — Нет соединения
Разъем питания
На этой плате имеется разъем питания J6. Это можно использовать для проверки дисплея.
Семисегментная плата дисплея — одно из устройств вывода, поставляемых с OpenLab, обычно используемых для отображения числовых значений с использованием семи сегментов. Плата состоит из 4 семисегментных модулей, а именно U1, U2, U3 и U4. Все остальные схемы управления включены в ту же плату, включая разъемы.
На изображении выше показана семи сегментная периферийная плата OpenLab. Плата активируется включением переключателя в верхнем левом углу. По умолчанию семисегментная плата контролируется портом A и портом D. Полоса сверху обеспечивает 5V и GND.
Подключите порт управления к порту A с помощью кабеля FRC. Порт управления, который по умолчанию контролируется портом A, можно изменить с помощью программы.
Затем подключите порт данных к порту D с помощью кабеля FRC.Порт данных по умолчанию контролируется портом D и может быть изменен с помощью программы.
Эти две полосы портов используются для отладки. После завершения подключений вывод должен отображаться на плате.
Поделитесь любовью, поделитесь этим
Управление 7-сегментным дисплеем с помощью Arduino и 74HC595
Привет, как дела, ребята! Акарш здесь от CETech.
Семисегментные дисплеи хороши на вид и всегда являются удобным инструментом для отображения данных в виде цифр, но у них есть недостаток, заключающийся в том, что когда мы управляем семисегментным дисплеем, на самом деле мы управляем 8 различными светодиодами и для управления каждым из них нам требуются разные выходы, но если мы используем отдельный вывод GPIO для каждого из светодиодов на семисегментном дисплее, мы можем столкнуться с нехваткой выводов на нашем микроконтроллере, и в конечном итоге нам не останется места для других важных подключений .Это может показаться вам большой проблемой, но решение этой проблемы очень простое. Нам просто нужно использовать регистр сдвига 74HC595 IC. Одна микросхема 74HC595 может использоваться для обеспечения выходов на 8 различных точек, кроме того, мы также можем подключить несколько этих микросхем и использовать их для управления большим количеством устройств, которые тоже потребляют всего 3 контакта GPIO вашего микроконтроллера.
Итак, в этом проекте мы будем использовать ИС сдвигового регистра 74HC595 с Arduino для управления семисегментным дисплеем, просто используя 3 контакта GPIO Arduino, и поймем, как эта ИС может оказаться отличным инструментом.
Получите печатные платы для ваших проектов ПроизведеноВы должны проверить PCBWAY, чтобы заказать дешевые печатные платы онлайн!
Вы получаете 10 печатных плат хорошего качества, изготовленных и доставленных к вашему порогу по дешевке. Вы также получите скидку на доставку первого заказа. Загрузите свои файлы Gerber на PCBWAY, чтобы они были изготовлены с хорошим качеством и в короткие сроки. Ознакомьтесь с их функцией онлайн-просмотра Gerber. С помощью бонусных баллов вы можете получить бесплатные вещи в их сувенирном магазине.
О регистре сдвига 74HC595Регистр сдвига 74HC595 представляет собой 16-контактную микросхему SIPO.SIPO расшифровывается как Serial In и Parallel Out, что означает, что он принимает ввод последовательно по одному биту за раз и обеспечивает вывод параллельно или одновременно на всех выходных контактах. Мы знаем, что регистры сдвига обычно используются для целей хранения, и здесь используется это свойство регистров. Данные проходят через вывод последовательного ввода и переходят к первому выводу вывода и остаются там до тех пор, пока другой ввод не войдет в ИС, как только будет получен другой ввод, ранее сохраненный ввод перейдет к следующему выводу и появятся вновь введенные данные. на первый штифт.
Этот процесс продолжается до тех пор, пока память ИС не будет заполнена, то есть до получения 8 входов. Но когда хранилище IC заполняется, как только он получает 9-й вход, первый вход выходит через вывод QH ‘, если есть еще один сдвиговый регистр, последовательно подключенный к текущему регистру через вывод QH’, тогда данные переходят на этот register, иначе он теряется, и входящие данные продолжают поступать, перемещая ранее сохраненные данные. Этот процесс известен как переполнение. Эта ИС использует только 3 контакта GPIO для подключения к микроконтроллеру, и, следовательно, потребляя только 3 контакта GPIO микроконтроллера, мы можем управлять бесконечным количеством устройств, последовательно соединяя несколько этих ИС друг с другом.
Реальным примером использования регистра сдвига является «Оригинальный контроллер Nintendo». Главный контроллер Nintendo Entertainment System должен был последовательно нажимать все кнопки, и для выполнения этой задачи он использовал регистр сдвига.
Схема выводов 74HC595Хотя эта ИС доступна в нескольких вариантах и моделях, мы будем обсуждать здесь распиновку IC Texas Instruments SN74HC595N. Для получения более подробной информации об этой микросхеме вы можете обратиться к ее техническому описанию здесь.
ИС сдвигового регистра имеет следующие выводы: —
1) GND — Этот вывод подключается к выводу заземления микроконтроллера или источника питания.
2) Vcc — Этот вывод подключен к Vcc микроконтроллера или источника питания, поскольку это ИС логического уровня 5 В. Для него предпочтительнее питание 5В.
3) SER — Данные последовательного ввода вводятся последовательно через этот вывод, т. Е. Вводится по одному биту за раз.
4) SRCLK — Это тактовый вывод регистра сдвига.Этот вывод действует как часы для регистра сдвига, поскольку через этот вывод подается тактовый сигнал. Поскольку IC запускается по положительному фронту, поэтому для сдвига битов в регистр сдвига этот тактовый сигнал должен быть ВЫСОКИМ.
5) RCLK — это вывод синхронизации регистра. Это очень важный вывод, потому что для наблюдения за выходами на устройствах, подключенных к этим микросхемам, нам необходимо сохранить входы в защелке, и для этой цели контакт RCLK должен быть ВЫСОКИМ.
6) SRCLR — Это вывод очистки регистра сдвига.Он используется всякий раз, когда нам нужно очистить память сдвигового регистра. Он сразу устанавливает для элементов, хранящихся в регистре, значение 0. Это вывод с отрицательной логикой, поэтому всякий раз, когда нам нужно очистить регистр, нам нужно подать сигнал LOW на этот вывод, в противном случае он должен оставаться на HIGH.
7) OE — это вывод разрешения выхода. Это вывод с отрицательной логикой, и всякий раз, когда этот вывод установлен на ВЫСОКИЙ, регистр устанавливается в состояние высокого импеданса, и выходы не передаются. Чтобы получить выходы, нам нужно установить этот вывод на низкий уровень.
8) Q1-Q7 — Это выводы вывода, которые необходимо подключить к какому-либо выводу, например, к светодиодам, семисегментному дисплею и т. Д.
9) QH ‘ — Этот вывод есть, чтобы мы могли Если мы подключим этот QH ‘к выводу SER другой ИС и дадим обеим ИС один и тот же тактовый сигнал, они будут вести себя как одна ИС с 16 выходами. Конечно, этот метод не ограничивается двумя микросхемами — вы можете последовательно подключить столько, сколько захотите, если у вас достаточно энергии для всех из них.
Подключение дисплея к Arduino через 74HC595Итак, теперь у нас есть достаточные знания об ИС регистра сдвига, поэтому мы перейдем к части реализации. На этом этапе мы выполним подключения для управления SSD с помощью Arduino через 74HC595 IC.
Необходимые материалы: Arduino UNO, семисегментный дисплей, микросхема регистра сдвига 74HC595, соединительные кабели.
1) Подключите IC к SSD следующим образом: —
- Вывод IC № 1 (Q1) для отображения вывода для сегмента B через резистор.
- Вывод IC № 2 (Q2) для отображения вывода сегмента C через резистор.
- Вывод IC № 3 (Q3) для отображения вывода сегмента D через резистор.
- Вывод IC № 4 (Q4) для отображения вывода сегмента E через резистор.
- Вывод IC № 5 (Q5) для отображения вывода сегмента F через резистор.
- Вывод IC № 6 (Q6) для отображения вывода сегмента G через резистор.
- Вывод IC № 7 (Q7) для отображения вывода для сегмента Dp через резистор.
- Общий вывод на дисплее либо на шину питания, либо на шину заземления.Если у вас дисплей с общим анодом, подключите общий дисплей к шине питания, в противном случае для дисплея с общим катодом подключите к шине заземления
2) Подключите контакт № 10 (контакт сброса регистра) ИС к шине питания. Это предотвратит очистку регистра, так как это активный нижний вывод.
3) Подключите контакт № 13 (вывод разрешения выхода) ИС к шине заземления. Это вывод с активным высоким уровнем, поэтому, когда он удерживается на низком уровне, он позволяет ИС выдавать выходные сигналы.
4) Подключите вывод 2 Arduino к выводу 12 (фиксатор) ИС.
5) Подключите вывод 3 Arduino к выводу 14 (вывод данных) ИС.
6) Подключите вывод 4 Arduino к выводу 11 (тактовый вывод) ИС.
7) Подключите Vcc и GND IC к Vcc и GND на Arduino.
После выполнения всех этих подключений вы получите схему, аналогичную изображенной на изображении выше, и после всех этих шагов вам нужно перейти к части «Кодирование».
Кодирование Arduino для управления семисегментным дисплеемНа этом этапе мы закодируем Arduino UNO для отображения различных цифр на семисегментном дисплее.Для этого выполните следующие действия: —
1) Подключите Arduino Uno к вашему ПК.
2) Перейдите отсюда в репозиторий Github этого проекта.
3) В репозитории откройте файл «7segment_arduino.ino», это откроет код этого проекта.
4) Скопируйте этот код, вставьте его в свою Arduino IDE и загрузите на плату.
По мере загрузки кода вы сможете увидеть, как числа от 0 до 9 появляются на дисплее с задержкой в 1 секунду.
Вы можете сделать свой собственный таким жеИтак, выполнив все эти шаги, вы можете создать этот проект самостоятельно, который будет выглядеть так, как показано на изображении выше.Вы также можете попробовать тот же проект без ИС сдвигового регистра, и вы узнаете, как эта ИС полезна для предоставления выходов сразу нескольким объектам, также используя меньшее количество контактов GPIO. Вы также можете попробовать подключить несколько таких микросхем в цепочку и управлять большим количеством датчиков или устройств и т. Д.
Надеюсь, вам понравился этот учебник.
Управление 7-сегментным дисплеем | Набор для приготовления лука Omega2
Управление 7-сегментным дисплеем
Мы только что узнали много нового о регистрах сдвига.Теперь давайте применим эти знания для управления 7-сегментным дисплеем, чтобы мы могли отображать числа (и несколько букв) в физическом мире. Мы подключим 7-сегментный дисплей к регистру сдвига, который мы подключили в прошлый раз. Мы напишем программу для отправки последовательных сигналов в регистр сдвига, которые будут преобразованы в цифры и буквы на 7-сегментном дисплее. Затем мы проследим за результатом и посмотрим, заметим ли мы что-нибудь интересное.
Примечание: Этот эксперимент основан на предыдущем, поэтому вы должны убедиться, что выполнили его, прежде чем двигаться дальше!
7-сегментный дисплей
Если вам интересно, почему он называется 7-сегментным дисплеем, не удивляйтесь!
Если вы внимательно посмотрите на 7-сегментный дисплей, вы увидите, что каждая цифра разделена на семь разных сегментов, каждый из которых светится светодиодом.Каждый сегмент подключается непосредственно к входному выводу и управляется индивидуально. На схеме ниже представлена типичная схема маркировки:
7-сегментные дисплеи с более чем одной цифрой обычно имеют каждый сегмент , подключенный параллельно по всем цифрам; это сделано для сохранения контактов на самом модуле дисплея. Например, если вы попытаетесь зажечь, на сегментах будет отображаться «1», она будет отображаться на всех цифрах одновременно!
Это бесполезно, поэтому каждая цифра имеет свой собственный вывод сканирования , который группирует сегменты для каждой цифры вместе.Затем этот вывод определяет, могут ли светодиоды цифры включаться или нет.
Для управления сегментами одноразрядного 7-сегментного дисплея вам потребуется как минимум семь GPIO. А чтобы управлять несколькими цифрами одновременно, нам нужен один дополнительный GPIO для каждого сканирующего пина. Это действительно может складываться, поэтому мы можем использовать регистр сдвига для увеличения количества доступных нам выходных контактов. Обычно таким образом в проект включаются 7 сегментов, чтобы минимизировать количество выводов, используемых на контроллере.
7-сегментные дисплеи иногда для краткости называют «7-сегментными».
Создание схемы
7-сегментный дисплей имеет светодиод для каждого из семи сегментов и светодиод для десятичной точки. Это означает, что всего 32 светодиода, так как на дисплее четыре цифры.
Сама по себе Omega не имеет достаточного количества GPIO для управления всеми этими светодиодами, но мы можем компенсировать это, используя сдвиговый регистр в сочетании только с несколькими дополнительными GPIO!
Наш генеральный план будет выглядеть так:
Что вам понадобится
- 1x Omega2 подключен к док-станции расширения
- 1x 7-сегментный дисплей
- 1x сдвиговый регистр
- 4 резистора 330 Ом
- Джемперы
Подключение компонентов
Во-первых, мы продолжим наш предыдущий эксперимент.
- Если вы проделали предыдущий эксперимент, оставьте сдвиговый регистр подключенным к Omega так же, как и у вас. Однако вам придется удалить светодиоды и резисторы.
- Если вы пропустили его, , мы настоятельно рекомендуем вам проверить его , прежде чем переходить к этому!
Важно, чтобы все компоненты имели общее заземление. Сигналы измеряются как разность напряжения между сигнальным контактом и землей, поэтому все компоненты должны измеряться от одной и той же базовой линии.
Подключение сдвигового регистра
- Убедитесь, что небольшая «выемка» на микросхеме направлена в сторону верхней части макетной платы.
- Вставьте микросхему в верхней части макетной платы через зазор так, чтобы контакты находились в рядах с 1 по 8.
- Подключите
Vcc
(контакт 16) иSRCLR
(контакт 10) к шине+
(Vcc). - Подключите
GND
(контакт 8) иOE
(контакт 13) к шине-
(земля).
Когда вы подключили регистр сдвига, самое время подключить его к 7-сегментному дисплею. Во-первых, нам нужно добавить токоограничивающие резисторы, поскольку дисплей представляет собой набор из нескольких светодиодов. Мы рекомендуем сначала установить резисторы поперек центра и выполнить всю разводку за один раз.
Подключение 7-сегментного дисплея
Мы включили диаграмму ниже для справки вместо инструкций, так как здесь много проводов, и они в конечном итоге идут в разные стороны.Обратите внимание, что для всех концов, подключенных к 7-сегментному дисплею, требуются перемычки F — именно там будут использоваться перемычки M-F.
После того, как вы подключили 7-сегментный дисплей к Omega и регистру сдвига, все готово! Ваша схема должна выглядеть так:
Меры предосторожности при подключении
Возможно, вы заметили, что мы подключили все компоненты макетной платы и соединения GPIO сначала с до , подключив основную линию питания.Мы делаем это, чтобы свести к минимуму риск ошибок при подключении и подачи питания в цепь, которая потенциально может повредить компоненты или Omega. Это хорошая практика, и мы будем строить схемы таким образом на протяжении всех экспериментов.
Если вы действительно хотите убедиться, что ваши компоненты в безопасности перед проведением эксперимента, вы можете оставить Omega выключенным, прежде чем подключать питание к цепи. Как только все будет подключено, вы можете снова включить Omega.
Написание кода
Мы будем разрабатывать программу, которая при запуске принимает входные данные из аргументов командной строки и отображает их на 7-сегментном дисплее. Базовый поток будет выглядеть так:
Для достижения этой цели мы напишем новый класс, который использует и основывается на классе регистра сдвига из предыдущего эксперимента.
Теперь давайте создадим класс с именем sevenSegDisplay.py
.
регистр импорта Класс
импортировать лукGpio
время импорта
# класс для управления 7-сегментным дисплеем
класс SevenSegment:
# атрибут класса
# словарь сопоставляет каждый буквенно-цифровой символ со строкой байтов, которая должна быть отправлена в сдвиговый регистр
digitMap = {
«0»: «11111100»,
«1»: «01100000»,
«2»: «11011010»,
«3»: «11110010»,
«4»: «01100110»,
«5»: «10110110»,
«6»: «10111110»,
«7»: «11100000»,
«8»: «11111110»,
«9»: «11110110»,
«а»: «11101110»,
«b»: «00111110»,
«c»: «10011100»,
«d»: «01111010»,
«е»: «10011110»,
"f": "10001110",
"off": "00000000",
«-»: «00000010»
}
# создать экземпляры объектов GPIO на основе номеров контактов
def __init __ (self, pinList):
# создать экземпляр объекта регистра сдвига
себя.shiftReg = registerClass.shiftRegister (1,2,3)
self.digitPin = []
# заполняем список digitPin
для i в диапазоне (0,4):
# создать экземпляр объекта GPIO на основе текущего элемента pinList, а затем добавить его в список digitPin
self.digitPin.append (onionGpio.OnionGpio (pinList [i]))
# установить объект GPIO в направлении вывода
self.digitPin [i] .setOutputDirection (1)
# функция для отображения одной цифры
# пройти через эту функцию несколько раз, чтобы отобразить многозначное число
def showDigit (self, d, персонаж):
себя.digitPin [d-1] .setValue (0)
# записываем байтовую строку, соответствующую символу, который мы хотим отобразить
self.shiftReg.outputBits (SevenSegment.digitMap [символ])
self.digitPin [d-1] .setValue (1)
# очистить семь сегментов и выключить все светодиоды
def clear (self):
self.shiftReg.clear ();
для i в диапазоне (0,4):
self.digitPin [i] = onionGpio.OnionGpio (dPin [i])
Теперь, когда у нас есть класс для управления отображением 7 сегментов, давайте напишем наш основной скрипт! Создайте файл с именем STK07-seven-seg-display.py
и вставьте в него следующее:
регистр импорта Класс
из sevenSegDisplay импорт SevenSegment
время импорта
import sys
# создать экземпляр 7-сегментного объекта
sevenDisplay = SevenSegment ([11,18,19,0])
# словарь сообщений об ошибках
errorMsgs = {
"missingArguments": "Введите шестнадцатеричное число, например 0x12ab",
"tooManyArguments": "Слишком много аргументов. Введите только одно шестнадцатеричное число.",
"tooShort": "Слишком короткое шестнадцатеричное число. Пожалуйста, укажите 4 цифры после 0x.",
"tooLong": "Слишком длинное шестнадцатеричное число.Пожалуйста, укажите только 4 цифры после 0x. ",
"notHexNumber": "Введенная строка не является допустимым шестнадцатеричным числом."
}
def __main __ ():
# если скрипт был вызван без аргументов
если len (sys.argv) == 1:
print errorMsgs ["missingArguments"]
возврат -1
# если скрипт был вызван со слишком большим количеством аргументов
Элиф Лен (sys.argv)> 2:
print errorMsgs ["tooManyArguments"]
возврат -1
# считываем шестнадцатеричную строку из аргумента
# извлекаем цифры после 0x
# преобразовываем любые прописные буквы в строчные
inputHexString = sys.argv [1]
inputHexString = inputHexString.split ("x") [1]
inputHexString = inputHexString.lower ()
inputLen = len (inputHexString)
# проверяем длину строки
если inputLen <4:
ошибка печатиMsgs ["tooShort"]
возврат -1
elif inputLen> 4:
ошибка печатиMsgs ["tooLong"]
возврат -1
# проверяем правильность шестнадцатеричных цифр (09, a-f)
пытаться:
интервал (inputHexString, 16)
кроме ValueError:
print errorMsgs ["notHexNumber"]
возврат -1
# пытаемся вывести шестнадцатеричную строку
в то время как True:
для i в диапазоне (inputLen):
sevenDisplay.showDigit (i, inputHexString [i])
# для запуска из командной строки
если __name__ == '__main__':
__ основной __ ()
Цикл for здесь делает что-то действительно изящное с помощью всего одной строчки кода:
- Функция
showDigit ()
вызывается с цифровым числомi
и цифровым символомinputHexString [i]
для отображения. - В этой функции активирован вывод сканирования для текущей цифры, и он готов загореться.
- Затем мы отправляем в регистр сдвига двоичные значения, соответствующие сегментам текущей цифры.
Затем мы циклически перебираем все цифры и повторяем описанные выше шаги для каждой из них.
Давайте выберем шестнадцатеричное число для отображения на 7-сегментном сегменте. Найдите строку, которая выглядит так: 0x12ab
, где четыре цифры 12ab могут быть любым числом от 0 до 9 ИЛИ буквой от A до F. Затем выполните следующую команду в терминале, заменив YOURHEXNUMBERHERE
с вашей строкой:
Эта система нумерации известна как шестнадцатеричный или основание 16, где каждая цифра может иметь значение от 0 до 15; числа от 10 до 15 представлены буквами от A до F соответственно.Это отличается от нашей повседневной десятичной системы (с основанием 10), где каждая цифра может иметь значение от 0 до 9. Шестнадцатеричный (сокращенно «шестнадцатеричный») очень полезен для выражения двоичных чисел с помощью нескольких цифр. Например, восьмизначное двоичное число 0b11000000
(192 в десятичной системе) может быть выражено двумя цифрами в шестнадцатеричном формате как 0xC0
!
Освобождение GPIO
Если при попытке запустить сценарий возникает ошибка, которая выглядит следующим образом:
Ошибка ввода-вывода: [Errno 16] Ресурс занят
, то вам, возможно, придется освободить GPIO для использования обратно в файловую систему.Создайте файл с именем freeShiftRegGpios.sh
и вставьте в него следующее:
Этот не экспортирует GPIO, делая их доступными для использования другими программами.
Чего ожидать
При правильном запуске приведенный выше код должен выводить цифры одну за другой на 7-сегментном дисплее. Если шестнадцатеричное число было введено неправильно, он напечатает сообщение об ошибке и завершит работу.
Код запускается в бесконечном цикле, из которого можно выйти с помощью Ctrl-C
( Cmd-C
для пользователей Mac).
Вау, что с этим?
Вам может быть интересно, нормально ли это — ответ да . Цифры на 7-сегментном сегменте будут включаться и выключаться достаточно медленно, чтобы вы могли это заметить. Однако вы, вероятно, догадались, что он действительно должен отображать их все сразу.
Более внимательный взгляд на код
Этот код не может делать то, что нам нужно, но здесь все же показаны некоторые важные концепции.
Чтобы отображать числа на 7-сегментном сегменте, мы сопоставили символы с двоичными строками байтов, используя словарь .Мы также включили класс в другой класс , чтобы лучше абстрагироваться от работы физических компонентов.
Однако конечный результат был ограничен программным обеспечением, которое мы использовали: мы хотели и ожидали, что 7-сегментный дисплей загорится сразу, но наш скрипт не мог сделать это достаточно быстро. Это связано с тем, что базовый класс onionGpio
написан так, что он обращается к файловой системе несколько раз для каждой записи GPIO, и Omega не может выполнять эти команды достаточно быстро.
Ограничения программного обеспечения
В этом эксперименте программное и аппаратное обеспечение взаимодействуют, вызывая поведение, которого мы не планировали. Код работает настолько хорошо, насколько это возможно, и оборудование делает все возможное, чтобы работать с подаваемыми сигналами, но в конечном итоге результат не работает. Основная причина — способ программирования библиотеки onionGpio
.
GPIO работают путем чтения и записи файлов. Каждый раз, когда мы вызываем onionGpio.setValue ()
на GPIO, библиотека делает следующее:
- Управляет или «экспортирует» GPIO в файловую систему
- Устанавливает направление вывода GPIO
- Устанавливает выходное значение GPIO
- Освобождает или «не экспортирует» GPIO для использования в будущем
Модуль onionGpio
делает это очень безопасным и последовательным способом через нашу библиотеку C.Однако это также означает, что он довольно медленный и недостаточно быстрый для нашего дисплея.
Классы, использующие классы
Вы заметите, что мы объявляем объект класса ShiftRegister
в классе SevenSegment
. Это хороший пример следующих концепций:
- Возможность повторного использования кода: Ранее мы писали независимый класс для регистра сдвига, но теперь мы используем его как блок Lego для создания чего-то нового. Это позволяет нам сосредоточиться на новом коде для 7-сегментного кода.Мы можем сделать это для любого другого устройства, для которого требуется сдвиговый регистр, без записи еще одной копии класса.
- Абстракция: Класс
ShiftRegister
дает нам полный контроль над устройством регистра сдвига. Однако, когда мы работаем с 7-сегментным сегментом, нас больше не волнует сдвиговый регистр. В лучшем случае нам нужно только указать объектуShiftRegister
, какие GPIO использовать, и он позаботится обо всем остальном; Затем мы можем работать над переводом ввода текста, в который должны загореться светодиодные сегменты.
Эти идеи помогают понять, как разные части проекта работают вместе. Это помогает нам сосредоточиться на разработке систем и логики, а не зацикливаться на деталях.
Словарь
До сих пор мы работали со списками, которые представляют собой совокупность одного или нескольких значений данных по порядку. Значения в списках индексируются числами, например студентов [3]
. Однако бывают случаи, когда нас больше интересует работа с этими значениями, используя значимые имена, чем работа с ними по порядку.Войдите в словарь !
Словари — это структуры данных, которые содержат пар ключ-значение . Ключ — это имя или метка, а значение — это некоторые данные, которые вы хотите связать с этим ключом; это может быть даже другой словарь! Словари индексируются по их ключам, например студентов ["Роберт Таблс"]
.
Давайте посмотрим на словарь digitMap
, используемый для хранения байтовых строк для каждого символа в классе SevenSegment
:
Вместо того, чтобы создавать отдельные переменные для каждого символа, мы можем использовать словарь, чтобы действовать как переводчик между символами и значениями, которые необходимо записать в регистр сдвига.если мы хотим отобразить символ 1
, мы отправляем требуемую строку байтов в регистр сдвига, вызывая digitMap ["1"]
вместо ввода 00000110
; то же самое и с любым другим персонажем.
Мы можем использовать это, чтобы наш код был кратким и аккуратным. Используя значения других переменных в качестве ключей, мы можем изменить это:
В это:
СловариВ Python ключи словаря могут быть строками, целыми числами или кортежами. В словаре digitMap мы используем строки, чтобы упростить работу с другими функциями, которые отправляют строки, например, из аргументов командной строки в нашем основном скрипте.
работают в программировании так же, как и в реальной жизни: вы можете найти определение (значение), просмотрев имя или заголовок (ключ). Словари также являются изменяемыми , что означает, что вы можете добавлять новые пары ключ-значение или изменять существующие!
Словари имеют аналогичные концепции в других языках программирования, например, Объекты
в JavaScript и структуры
в C.
Лучший способ?
Наша реализация Python не могла работать так быстро, как нам это нужно, из-за того, как библиотека onionGpio
выполняет запись нескольких файлов при работе с GPIO.Однако у нас есть еще один инструмент: ясень !
ash или Almquist Shell — это облегченная оболочка Unix. Один из его вариантов, BusyBox ash, включен в прошивку Omega и может запускаться по телефону sh
. Этот инструмент используется для запуска сценариев оболочки , которые представляют собой наборы команд терминала, структурированные как программа.
Мы изменили способ доступа к GPIO и управления ими, работая напрямую с файловой системой.Если вы хотите увидеть, как это выглядит, ниже мы предоставили сценарий оболочки, который делает это правильно.
Создайте файл с именем STK07-ash-seven-segment-display.sh
и вставьте в него следующее:
Теперь запустите этот сценарий так же, как и предыдущий сценарий Python, за исключением замены python
на sh
:
sh /root/STK07-ash-seven-seg-display.sh YOURHEXNUMBERHERE
Чего ожидать
Теперь вы должны видеть, что символы отображаются без мерцания, намного лучше, чем в прошлый раз!
Подробный взгляд на сценарий оболочки
Этот сценарий оболочки сильно отличается от нашего кода Python! Самая большая разница в том, что нет ни списков, ни словарей в пепле, и что мы экспортируем GPIO только один раз, .
Нет списков и словарей
В нашем скрипте Python мы могли получить доступ к каждому отдельному символу входной шестнадцатеричной строки, просто рассматривая строку как список и перебирая каждый символ, как в inputHexString [i]
. Однако ash не поддерживает списки, поэтому мы должны загружать каждый символ в его собственную переменную, от chr1
до chr4
. Это делается с помощью команды sed
; Чтобы получить полное представление об этом мощном инструменте, ознакомьтесь с этим онлайн-руководством.
То же самое и с нашей картой цифр. Поскольку мы не можем просто вызвать digitMap [character]
, мы написали функцию mapDigit ()
, которая принимает символ в качестве аргумента и возвращает соответствующую строку байтов, если она найдена.
Однократный экспорт GPIO
Поскольку мы знаем, что все GPIO должны быть только выходами, мы можем экспортировать их только один раз в начале и не беспокоиться об их освобождении для других целей позже.
Остальная часть скрипта аналогична реализации Python, где мы неоднократно меняем вывод сканирования и отправляем разные значения в регистр сдвига.Это быстрее, потому что теперь нам нужно получить доступ к файловой системе один раз, , чтобы каждый раз устанавливать GPIO!
Написание кода этого типа требует более глубокого понимания того, как взаимодействуют аппаратное и программное обеспечение. Если вам интересно, вы можете взглянуть на некоторые примеры в нашем Руководстве по разработке с использованием командной строки.
Далее: Считывание показаний однопроводного датчика температуры
Распиновка 7-сегментного дисплея, технические характеристики, работа, типы и техническое описание
7-сегментные дисплеи — один из популярных типов дисплеев, используемых во встраиваемых приложениях и устройствах различных типов.Эти дисплеи имеют внутри 8 светодиодов для отображения чисел и алфавитов.
Распиновка 7-сегментного дисплея КонфигурацияНомер контакта | Имя контакта | Описание |
1 | e | Управляет левым нижним светодиодом 7-сегментного дисплея |
2 | д | Управляет самым нижним светодиодным индикатором 7-сегментного дисплея |
3 | Ком | Подключено к земле / Vcc в зависимости от типа дисплея |
4 | с | Управляет правым нижним светодиодом 7-сегментного дисплея |
5 | DP | Управляет светодиодом десятичной точки 7-сегментного дисплея |
6 | б | Управляет верхним правым светодиодом 7-сегментного дисплея |
7 | а | Управляет самым верхним светодиодным индикатором 7-сегментного дисплея |
8 | Ком | Подключено к земле / Vcc в зависимости от типа дисплея |
9 | f | Управляет левым верхним светодиодом 7-сегментного дисплея |
10 | г | Управляет средним светодиодом 7-сегментного дисплея |
- Доступен в двух режимах с общим катодом (CC) и общим анодом (CA)
- Доступен в разных размерах, например, 9.14 мм, 14,20 мм, 20,40 мм, 38,10 мм, 57,0 мм и 100 мм (обычно используемый / доступный размер 14,20 мм)
- Доступные цвета: белый, синий, красный, желтый и зеленый (обычно используется Res)
- Слаботочный режим
- Дисплей лучше, ярче и большего размера, чем у обычных ЖК-дисплеев.
- Потребление тока: 30 мА / сегмент
- Пиковый ток: 70 мА
Примечание: Вышеуказанный текущий рейтинг для 14.20-миллиметровый 7-сегментный дисплей красного цвета. Более подробную информацию можно найти в таблице данных в конце этой страницы
Эквивалентные модули отображения
Точечно-матричный светодиодный дисплей, ЖК-дисплеи 16 × 2, OLED-дисплей, ЖК-экран TFT
7-сегментный дисплей Краткое описаниеСемисегментный дисплей — самый старый, но один из эффективных типов дисплеев, используемых во встроенных приложениях.Внутри этого дисплея не более 8 светодиодов. Эти 8 светодиодов разделены на каждый сегмент, который можно назвать a, b, c, d, e, f, g, DP, как показано на рисунке выше. Все эти 8-сегментные светодиоды имеют один конец своих выводов, вытянутых из модуля, как показано выше, а другие концы соединены вместе и вытянуты как общий вывод. Таким образом, чтобы светодиод определенного сегмента светился, нам просто нужно запитать общий вывод вместе с выводом сегмента. Таким образом, мы можем включить более одного сегмента за раз, чтобы представить числовые числа 0-9, а также несколько алфавитов, как показано на графическом изображении ниже.У нас также есть возможность отображать десятичную точку с помощью вывода DP.
Выбор 7-сегментного дисплеяКак уже говорилось в разделе «Функции», существует множество вариантов выбора для 7-сегментного дисплея. Есть много разных размеров и цветов на выбор. По умолчанию и наиболее часто используемый / доступный — это 14,20 мм с дисплеем красного цвета, как показано на приведенной выше анимации. Если вы планируете сделать свой проект нестандартным, можно использовать другой цветной дисплей.Также обратите внимание, что, поскольку размер и цвет отличаются, величина тока, потребляемого дисплеем, также будет отличаться. Красный цвет используется повсеместно, поскольку потребляет меньше тока, чем другие цвета.
Теперь есть еще один важный параметр, на котором вы должны сосредоточиться перед покупкой этого модуля. Есть два типа семисегментных дисплеев — дисплей с общим анодом и дисплей с общим катодом. Мы не можем использовать схему / программу, предназначенную для отображения общего анода, для общего катода или наоборот.
Общий катод (CC) 7-сегментный дисплейОбычный катодный дисплей обычно называют CC-дисплеем. В этом типе общий вывод на 7-сегментном дисплее подключен ко всем восьми выводам катода светодиодов. Итак, чтобы этот тип семисегментного дисплея работал, мы должны подключить его Com-контакт к контакту Ground и запитать другие контакты Vcc (обычно + 5V).
Общий анод (CA), 7-сегментный дисплейДисплей с общим анодом обычно называют дисплеем CA.В этом типе общий вывод на 7-сегментном индикаторе подключен ко всем восьми анодным выводам светодиодов. Итак, чтобы этот тип семисегментного дисплея работал, мы должны подключить вывод Com к Vcc (обычно + 5В) и заземлить требуемый вывод сегмента, чтобы включить его.
Как использовать 7-сегментный дисплейОдним из важных преимуществ 7-сегментного дисплея является то, что им очень легко пользоваться.В отличие от других дисплейных модулей, 7-сегментный дисплей может работать даже без микроконтроллера или микропроцессора.
Это возможно благодаря легкодоступным 7-сегментным счетчикам IC, таким как IC CD4026. Эту ИС можно использовать в сочетании с дисплеем для проектов с очень простыми схемами. ИС может управлять одним 7-сегментным модулем дисплея, и отображаемое число также может увеличиваться или уменьшаться.
Но чаще всего вместе с MCU / MPU используется семисегментный дисплей, в этом случае восемь сегментных выводов будут подключены к выводам ввода / вывода микроконтроллера, а вывод com будет подключен к земле Vcc в зависимости от по его типу (CC / CA).Затем эти контакты ввода-вывода можно переключать в определенной последовательности для отображения желаемых номеров. Эта конкретная последовательность объяснена в таблице ниже. Соответствующая последовательность отображения каждого числа на семисегментном дисплее приведена в таблице. Если мы хотим отобразить число «0», то нам нужно зажечь все светодиоды, кроме светодиода, принадлежащего линии «g» (см. Схему выводов из 7 сегментов выше, поэтому нам нужен битовый шаблон 11000000. Аналогично отображению «1») нам нужно зажечь светодиоды, связанные с b и c, поэтому битовая комбинация для этого будет 11111001.
Цифра для отображения | h g f e d c b a | Шестнадцатеричный код |
0 | 1 1 0 0 0 0 0 0 | C0 |
1 | 1 1 1 1 1 0 0 1 | F9 |
2 | 1 0 1 0 0 1 0 0 | A4 |
3 | 1 0 1 1 0 0 0 0 | B0 |
4 | 1 0 0 1 1 0 0 1 | 99 |
5 | 1 0 0 1 0 0 1 0 | 92 |
6 | 1 0 0 0 0 0 1 0 | 82 |
7 | 1 1 1 1 1 0 0 0 | F8 |
8 | 1 0 0 0 0 0 0 0 | 80 |
9 | 1 0 0 1 0 0 0 0 | 90 |
Примечание: таблица применима только для отображения типа общего анода, если это общий тип катода, просто замените «1» на «0» и «0» на «1».
Приложения- Используется в приложениях, где требуется увеличить размер шрифта
- Независимый микроконтроллер, поэтому используется в небольших схемных проектах
- Используется в сочетании с четырьмя сегментами для отображения измерения / значения датчика с помощью четырех символов
- Имеет яркую подсветку, поэтому используется там, где требуется дисплей для работы в условиях низкой освещенности или темноты
.