Семисегментный индикатор


Семисегментный светодиодный индикатор

Семисегментный светодиодный индикатор
Схема подключения одноразрядного семисегментного индикатора
Схема подключения многоразрядного семисегментного индикатора

Семисегментный светодиодный индикатор — устройство отображения цифровой информации. Это — наиболее простая реализация индикатора, который может отображать арабские цифры. Для отображения букв используются более сложные многосегментные и матричные индикаторы.

Семисегментный светодиодный индикатор Семисегментный светодиодный индикатор, как говорит его название, состоит из семи элементов индикации (сегментов), включающихся и выключающихся по отдельности. Включая их в разных комбинациях, из них можно составить упрощённые изображения арабских цифр.
Сегменты обозначаются буквами от A до G; восьмой сегмент — десятичная точка (decimal point, DP), предназначенная для отображения дробных чисел.
Изредка на семисегментном индикаторе отображают буквы.

Семисегментные светодиодные индикаторы

Обозначение сегментов семисегментного индикатора

Семисегментные светодиодные индикаторы бывают разных цветов, обычно это белый, красный, зеленый, желтый и голубой цвета. Кроме того, они могут быть разных размеров.

Также, светодиодный индикатор может быть одноразрядным (как на рисунке выше) и многоразрядным. В основном в практике используются одно-, двух-, трех- и четырехразрядные светодиодные индикаторы:

Четырехразрядный семисегментный индикатор

Отображение букв на семисегментном индикатореКроме десяти цифр, семисегментные индикаторы способны отображать буквы. Но лишь немногие из букв имеют интуитивно понятное семисегментное представление.
В латинице: заглавные A, B, C, E, F, G, H, I, J, L, N, O, P, S, U, Y, Z, строчные a, b, c, d, e, g, h, i, n, o, q, r, t, u.
В кириллице: А, Б, В, Г, г, Е, и, Н, О, о, П, п, Р, С, с, У, Ч, Ы (два разряда), Ь, Э/З.
Поэтому семисегментные индикаторы используют только для отображения простейших сообщений.

Всего семисегментный светодиодный индикатор может отобразить 128 символов:

Таблица состояния сегментов семисегментного индикатора

 В обычном светодиодном индикаторе девять выводов: один идёт к катодам всех сегментов, а остальные восемь — к аноду каждого из сегментов. Эта схема называется «схема с общим катодом», существуют также схемы с общим анодом (тогда все наоборот). Часто делают не один, а два общих вывода на разных концах цоколя — это упрощает разводку, не увеличивая габаритов. Есть еще, так называемые "универсальные", но я лично с такими не сталкивался. Кроме того существуют индикаторы со встроенным сдвиговым регистром, благодаря чему намного уменьшается количество задействованных выводов портов микроконтроллера, но они намного дороже и в практике применяются редко. А так как необъятное не объять, то такие индикаторы мы пока рассматривать не будем (а ведь есть еще индикаторы с гораздо большим количеством сегментов, матричные).

Многоразрядные светодиодные индикаторы часто работают по динамическому принципу: выводы одноимённых сегментов всех разрядов соединены вместе. Чтобы выводить информацию на такой индикатор, управляющая микросхема должна циклически подавать ток на общие выводы всех разрядов, в то время как на выводы сегментов ток подаётся в зависимости от того, зажжён ли данный сегмент в данном разряде.

Схема семисегментного индикатора с общим анодом

Схема семисегментного индикатора с общим катодом

Соединение выводов многоразрядных семисегментных индикаторов


Подключение одноразрядного семисегментного индикатора к микроконтроллеру

На схеме ниже, показано как подключается одноразрядный семисегментный индикатор к микроконтроллеру.
При этом следует учитывать, что если индикатор с ОБЩИМ КАТОДОМ, то его общий вывод подключается к "земле", а зажигание сегментов происходит подачей логической единицы на вывод порта.
Если индикатор с ОБЩИМ АНОДОМ, то на его общий провод подают "плюс" напряжения, а зажигание сегментов происходит переводом вывода порта в состояние логического нуля.

Подключение семисегментного индикатора к микроконтроллеруОсуществление индикации в одноразрядном светодиодном индикаторе осуществляется подачей на выводы порта микроконтроллера двоичного кода соответствующей цифры соответствующего логического уровня (для индикаторов с ОК - логические единицы, для индикаторов с ОА - логические нули).

Токоограничительные резисторы могут присутствовать в схеме, а могут и не присутствовать. Все зависит от напряжения питания, которое подается на индикатор и технических характеристик индикаторов. Если, к примеру, напряжение подаваемое на сегменты равно 5 вольтам, а они рассчитаны на рабочее напряжение 2 вольта, то токоограничительные резисторы ставить необходимо (чтобы ограничить ток через них для повышенного напряжении питания и не сжечь не только индикатор, но и порт микроконтроллера).
Рассчитать номинал токоограничительных резисторов очень легко, по формуле дедушки Ома.
К примеру, характеристики индикатора следующие (берем из даташита):
- рабочее напряжение - 2 вольта
- рабочий ток - 10 мА (=0,01 А)
- напряжение питания 5 вольт
Формула для расчета:
R= U/I (все значения в этой формуле должны быть в Омах, Вольтах и Амперах)
R= (напряжение питания - рабочее напряжение)/рабочий ток
R= (5-2)/0.01 = 300 Ом


Подключение многоразрядного семисегментного индикатора к микроконтроллеру

Схема подключения многоразрядного семисегментного светодиодного индикатора в основном та-же, что и при подключении одноразрядного индикатора. Единственное, добавляются управляющие транзисторы в катодах (анодах) индикаторов:

Подключение многоразрядного семисегментного индикатора к микроконтроллеру

На схеме не показано, но между базами транзисторов и выводами порта микроконтроллера необходимо включать резисторы, сопротивление которых зависит от типа транзистора (номиналы резисторов рассчитываются, но можно и попробовать применить резисторы номиналом 5-10 кОм).

Осуществление индикации разрядами осуществляется динамическим путем:
- выставляется двоичный код соответствующей цифры на выходах порта РВ для 1 разряда, затем подается логический уровень на управляющий транзистор первого разряда
- выставляется двоичный код соответствующей цифры на выходах порта РВ для 2 разряда, затем подается логический уровень на управляющий транзистор второго разряда
- выставляется двоичный код соответствующей цифры на выходах порта РВ для 3 разряда, затем подается логический уровень на управляющий транзистор третьего разряда
- итак по кругу
При этом надо учитывать:
- для индикаторов с ОК применяется управляющий транзистор структуры NPN (управляется логической единицей)
- для индикатора с ОА - транзистор структуры PNP (управляется логическим нулем)

При низковольтном питании микроконтроллера и маломощных светодиодных индикаторах, в принципе, можно отказаться от использования в схеме и токоограничительных резисторов, и управляющих транзисторах - подключать выводы индикатора непосредственно к выводам портов микроконтроллера, так как при динамической индикации ток потребления сегментами уменьшается. При этом следует учитывать, что разряды при применении индикаторов с ОК управляются логическим нулем, а индикаторы с ОА - логической единицей.


Следующие статьи:
Часть 2: Перевод двоично кода десятичного числа в код семисегментного индикатора. Программа вывода цифры на одноразрядный светодиодный индикатор.
Часть 3: Многоразрядный семисегментный индикатор: организация динамической индикации, алгоритм работы, программа индикации


(24 голосов, оценка: 4,92 из 5)

Загрузка...


Семисегментный индикатор: общее устройство, подключение к микроконтроллеру одноразрядного и многоразрядного индикатора
Published by: Мир микроконтроллеров
Date Published: 02/06/2015



Комментарии

Семисегментный индикатор — 23 комментария

  1. Админ почему МК ? что нет микросхем что ли счеткиков там и тд типо К157ИД2 и тд ...

    • Конечно это можно сделать и с помощью указанных вами счетчиков, но ведь смысл статьи и заключается в том, чтобы рассмотреть принципы подключения семисегментного индикатора к микроконтроллеру AVR

  2. Здравствуйте. У меня есть рабочая плата часов (Китайская С51 (YSZ-4)). Дисплей там с общим катодом, а мне её надо переделать на общий анод. Как я понял из Вашей статьи, мне для этого надо добавить транзистор структуры PNP на каждую цифру. Вопрос: а надо-ли, что менять в прошивке. Там говорится , об управлении логическим нулём и единицей? Но говорят: там прошивка заблокирована. Что Вы посоветуете, Как мне перейти с катода на анод.

    • Добрый день, Павел. К сожалению не могу вам подсказать что либо полезное в вашем вопросе. Статья не моя, ее писал предыдущий админ сайта

  3. Свешников Сергей Анатольевич `58 говорит :

    Спасибо! Выручили. Трудно подбирать/считать номиналы резисторов по "формулам" других сайтов! А у Вас:
    (0-0)/0.01=0000 и Окей.

    • К сожалению, такую книгу подсказать не могу. Не занимался подробно этой тематикой

  4. Спасибо за публикацию, всё доходчиво написано, не давно начал осваивать Ардуино, а так занимаюсь ремонтом электроники, поискал в интернете и безрезультатно скетч, для схемы с тремя индикаторами подключенной как у вас, нужно отремонтировать стабилизатор Ресанта-5000. Если Вас не затруднит, то можете скинуть ссылку на скетч.

  5. Всем Добра.
    Автор хорошо описал, как уберечь порт МК и переход светодиоде от превышения тока, и управление транзисторами пустил напрямую. (5V - 0.6V) с микроконтроллера засадил в землю. Мы в ответе за тех, кого приручили... Сгоревшие порты начинающих - на Вашей совести.

    • Здравствуйте.
      В статье написано, что между базами транзисторов и выводами микроконтроллера необходимо включать резисторы (5-10 кОм).
      В чем Вы видите здесь проблемы?
      Если не затруднит, отпишитесь.
      С уважением, Admin.

      • А почему вы думаете что он на нашей совести? Мы люди мирные, никого не трогаем ))

  6. Если автор не знает о подтягивающем резисторе, но разглагольствует по поводу протеуса, то, вероятнее всего, он плохо понимает, о чем пишет, а статью просто скомуниздил, так что подпись "Written by: Vadim Turchak" здесь явно лишняя.

    • Здравствуйте Дядя Вася!
      Спасибо за комментарий и столь глубокомысленные выводы.
      К сожалению, реально работающие схемы не всегда можно воспроизвести один к одному в Протеусе, тоже касается и подтягивающего резистора.
      С уважением, Admin/

  7. Я набрал тестовую схему в протеусе: 7-сегментный индикатор 2, 3 или 4 разряда, не важно.... Общий катод.
    Когда в протеусе подключаю через транзисторы n-p-n к микроконтролеру - высвечивает сразу все разряды.
    Без транзисторов программа работает на ура! Только транзисторы подключаю - всё, все разряды пошли.
    Уже даже пробовал в программе на разряды все нули подавать. Только цифру на сегменты высвечиваешь - все разряды вижу на индикаторах. Пробовал и резистор менять с 2n2222 на bc547. Резисторы устанавливал 100 и по 1000 Ом на базу. Что может быть не так? Где ручки кривые?
    В инете вижу даже видео есть - работает!

    • Здравствуйте Руслан!
      Дело в том, что Протеус и схожие программы, никогда не заменят реальной схемы.
      По этой причине я ими не пользуюсь (уже давно).
      Самый верный вариант - собрать схему на макетной плате и в живую тестировать свою программу на реальной схеме.
      Иногда мне для тестирования схемы и проверки программы приходится микроконтроллер перепрограммировать не одну сотню раз (пришла "умная" мысль - внес изменения в программу - проверил в железе).
      Симуляторы работы микроконтроллера в виртуальной схеме не совершены, могут ввести в заблуждение, привести к неправильным выводам о работе схемы.
      С уважением, Admin.

      • Спасибо огромное за ответ!
        Я всё же нашел решение. Мне подсказал человек, с которым мы вместе работаем. Дело в том, что протеус хотел подтягивающий резистор под транзистор. И когда я на коллектор транзистора прицепил резистор 10кОм, а вторым концом на vcc, то всё действительно заработало на ура.
        Так что задачу решил.
        Спасибо!

      • Я точно так же поступаю. Один раз попробовал Протеус - не понравилось, слишком много мороки. Проще собрать схему на макетной плате и там ее отлаживать, чем возиться с протеусом. Последний раз обкатывал программу сразу на реальном устройстве, минуя макетную плату.

  8. Спасибо! Очень хорошая статья, мне для дипломного проекта именно этого и не хватало) Наконец то хорошо разобрался что и как устроено и зачем где что нужно. Добавлю ссылку на сайт в список используемой литературы)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *