Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






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




 

Автор Белов А. В.

01.05.2008 г.

 

В данной статье рассматриваются различные способы подключения к микроконтроллеру семисегментных светодиодных индикаторов.

 

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

 

Рис. 1. Подключение одного индикатора

 

Сегменты индикатора подключены непосредственно каждый к своему выходу порта PB микроконтроллера. Общий анод всех сегментов подключается к источнику питания. На схеме показан вариант питания индикатора от того же источника +5В, от которого питается сам микроконтроллер. Для уменьшения нагрузки на стабилизатор напряжения можно запитать индикатор до стабилизатора. Для того, что бы высветить на индикаторе ту либо иную цифру микроконтроллер просто программирует все выводы порта PB на выход а затем по мере необходимости выводит в порт код, соответствующий выбранному символу. При этом каждый разряд порта отвечает за свой сегмент индикатора. Если в соответствующий разряд выводится логическая единица, то сегмент остается погашенным. Если в разряд выводится логический ноль, то соответствующий сегмент зажигается. Остается подобрать коды таким образом, что бы засветившиеся разряды высветили нужный нам символ.

 

Для большинства случаев одного разряда индикатора явно не хватает. Подключать же несколько разрядов, каждый к своим выводам явно не получится. Даже самый большой микроконтроллер AVR имеет всего четыре полных порта ввода вывода. Поэтому единственным способом подключения многоразрядных семи сегментных индикаторов к микроконтроллеру является матричный способ. Этот способ очень похож на матричное подключение кнопок клавиатуры, о котором подробно написано в статье "Подключение кнопок". На рисунке 2 показан один из вариантов подключения дисплея из двух семисегментных индикаторов.

 

Рис. 2. Подключение дисплея

 

Приведенная схема рассчитана на световые семи сегментные индикаторы небольшой мощности с током потребления не больше 40 мА. Для более мощных индикаторов нужно применять транзисторные ключи. Обратите внимание, что каждый из выходов порта PB микроконтроллера подключен к одноименным сегментам обоих индикаторов. Так вывод PB0 через резистор R1 подключен к выводу сегмента A индикатора HL1 и индикатора HL2. Выход PB1 через резистор R2 подключен к сегментам B обоих индикаторов и так далее. Выбор одного из индикаторов осуществляется посредством двух старших разрядов порта PD. Общий анод индикатора HL1 подключен к выводу PD6, а общий анод индикатора HL2 к выводу PD5. Такая схема включения называется матрицей. Выводы порта PB можно рассматривать, как восемь горизонтальных линий, а два выхода порта PD, как вертикальные линии матрицы. В точках пересечения каждой линии включен один светодиодный сегмент.

 

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

 

Для реализации режима динамической индикации процессор должен организовать постоянный цикл. Обычно для этого используют встроенный таймер. Таймер настраивается таким образом, что бы выдавать прерывание с определенной частотой, выбранной для динамической индикации. Каждый раз, при вызове прерывания контроллер выдает изображение символа в новый разряд индикатора. Для этого в порт PB контроллер выставляет код, соответствующий нужному символу, а в соответствующий разряд порта PD (PD5 или PD6) выставляет логическую единицу. В тот разряд, который должен быть потушен, подается логический ноль. На этом обработка прерывания заканчивается, контроллер переходит к выполнению основной программы, а выставленные на выводы порта сигналы так и остаются до следующего прерывания. И все это время в соответствующем разряде индицируется нужный символ. Когда возникает следующее прерывание, в порты выводятся сигналы, которые выводят на индикацию изображение другого разряда индикатора.

 

На рисунке 2 приведена схема, содержащая всего два разряда индикации. Точно так же можно подключить три, четыре и более разрядов. В случае применения микроконтроллера ATtiny2313 максимальное количество разрядов - 7. Так как порт PD этого контроллера имеет всего семь выводов. В этом случае в процессе индикации только на один из разрядов порта PD подается логическая единица, а на все остальные логический ноль.

 

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

 

Все вышесказанное относится к индикатором с общим анодом. Что бы зажечь такие индикаторы на общий провод следует подавать плюс источника питания, а на выводы сегментов – минус (соединять с общим проводом). Но бывают другие индикаторы, построенные по схеме с общим катодом. Рассмотрим, как использовать этот тип индикаторов. Схему на рис 1 придется немного переделать. Переделка сведется лишь к тому, что общий анод индикатора нужно отключить от источника +5В и подключить на общий провод. Немного изменится и алгоритм работы. Теперь для того, что бы зажечь сегмент на него нужно подать логическую единицу, а что бы потушить - логический ноль. Схему на рис. 2 переделывать не нужно. Изменится лишь алгоритм. Просто фаза всех сигналов должна поменяться. Там, где раньше мы подавали ноль, теперь нужно подать единицу и наоборот.

Последнее обновление (01.05.2008 г.)

 

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных