Для микроконтроллеров с небольшим количеством портов ввода/вывода типовые схемы параллельного управления многоразрядными светодиодными 7-сегментными дисплеями совершенно неприемлемы. Удаленные дисплеи в многоканальной системе «съедают» практически все ресурсы ввода/вывода микроконтроллера даже при использовании последовательной передачи данных. Хотя существуют ориентированные на подобные задачи специализированные микросхемы (типа MAX7219/MAX7221), но двухразрядная индикация с их использованием — «деньги на ветер».
Ниже предлагается простое техническое решение поставленной задачи. Для управления сегментами индикатора использован сдвиговый регистр, а выбор знакоместа производится по линии данных интерфейса. Программная составляющая, в данном случае, ничуть ни объемнее известных методов.


Два транзисторных ключа, включенных последовательно и управляемых линией SD интерфейса, формируют противофазные сигналы. После загрузки сдвигового регистра с частотой обновления данных отображения, на линии SD устанавливается уровень лог. 0 или лог. 1 для индикации соответствующего знакоместа (Рис.2). С таким же успехом для коммутации может использоваться и линия сигнала CLK интерфейса, однако предлагаемый вариант удобнее для программной реализации группового управления дисплеями с общей линией CLK. Длина интерфейса управления может достигать десятков метров, а «витая пара» гарантирует надежность передачи. Очень удобны местные источники питания модуля индикации типа «зарядник для сотика». Менее эффективно, но также просто управлять 2N-разрядными дисплеями (Рис.3).
Алгоритм управления несложен. С наступлением момента обновления данных анализируется состояние линии SD и выбирается источник(и) данных (младший или старший разряды), вызывается подпрограмма последовательной передачи и, по завершении, инвертируется текущее состояние порта SD. Не намного сложнее вывод трехзначного числа с запятой (температура) на двухразрядный индикатор.
Для примера приводится схема модуля, который дополнительно имеет канал управления оптотиристором.

При использовании индикаторов высокой яркости, транзисторные ключи не нужны.
Модуль индикации с описанным способом управления применим для моддинга системного блока компьютера для отображения загрузки процессора и температуры внутри корпуса.
P.S. Прошу не пинать, первый раз публикую статью
P.S.S. Автором данного изобретения является мой отец. Т.е. я выступаю в роли связующего звена между ним и глобальной паутиной.
Ниже предлагается простое техническое решение поставленной задачи. Для управления сегментами индикатора использован сдвиговый регистр, а выбор знакоместа производится по линии данных интерфейса. Программная составляющая, в данном случае, ничуть ни объемнее известных методов.



Два транзисторных ключа, включенных последовательно и управляемых линией SD интерфейса, формируют противофазные сигналы. После загрузки сдвигового регистра с частотой обновления данных отображения, на линии SD устанавливается уровень лог. 0 или лог. 1 для индикации соответствующего знакоместа (Рис.2). С таким же успехом для коммутации может использоваться и линия сигнала CLK интерфейса, однако предлагаемый вариант удобнее для программной реализации группового управления дисплеями с общей линией CLK. Длина интерфейса управления может достигать десятков метров, а «витая пара» гарантирует надежность передачи. Очень удобны местные источники питания модуля индикации типа «зарядник для сотика». Менее эффективно, но также просто управлять 2N-разрядными дисплеями (Рис.3).
Логика работы
Алгоритм управления несложен. С наступлением момента обновления данных анализируется состояние линии SD и выбирается источник(и) данных (младший или старший разряды), вызывается подпрограмма последовательной передачи и, по завершении, инвертируется текущее состояние порта SD. Не намного сложнее вывод трехзначного числа с запятой (температура) на двухразрядный индикатор.
Для примера приводится схема модуля, который дополнительно имеет канал управления оптотиристором.

Варианты
При использовании индикаторов высокой яркости, транзисторные ключи не нужны.
Практическое применение
Модуль индикации с описанным способом управления применим для моддинга системного блока компьютера для отображения загрузки процессора и температуры внутри корпуса.
P.S. Прошу не пинать, первый раз публикую статью
P.S.S. Автором данного изобретения является мой отец. Т.е. я выступаю в роли связующего звена между ним и глобальной паутиной.