Используя 4-значный 7-сегментный светодиод

9

У меня есть 7-сегментный дисплей, который имеет 4 цифры. Что мне нужно, чтобы использовать это? Может ли один микроконтроллер справиться с этой операцией? Я имею в виду PIC16F690 ... Я также видел чип MAXIM, который управляет такими дисплеями ... это абсолютно необходимо?

Вот изображение из таблицы, я не знаю, почему есть 2-контактные схемы? введите описание изображения здесь введите описание изображения здесь

Вот ссылка на таблицу

Sean87
источник

Ответы:

16

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

Вы подключаете сегменты A..G, DP через 8 последовательных резисторов к 8 контактам ввода / вывода микроконтроллера. Вождение высокого булавки загорится этот светодиод на выбранной цифре. Чтобы выбрать любую из 4 цифр, вы устанавливаете соответствующий общий катодный низкий уровень через NPN-транзистор, который вы снова подключаете к выводу ввода-вывода через резистор.

введите описание изображения здесь

Если ваше напряжение питания составляет 5 В, и вы используете красные светодиоды, вы можете использовать резисторы 150 Ом вместо 330. Также уменьшите значения базового резистора транзистора до 2,2 кОм и используйте, например, BC337 с для транзисторов.

Для управления полным дисплеем сначала нужно сделать вывод 12 низким, запустив его транзистор с высоким уровнем, и установить входы / выходы для сегментов этой цифры. Некоторое время спустя вы выключаете контакт 12 и сегменты, включаете 9 и снова сегменты для второй цифры. И так далее. Если вы переходите от одной цифры к другой менее чем за 2,5 мс, то весь цикл дисплея отображается с частотой 10 мс или 100 Гц, чего достаточно, чтобы избежать заметного мерцания.

Вы можете использовать драйвер Maxim, например MAX7219 , но это Damn Exорого ™: 12,80 доллара за 1 с в Digikey. Хорошая вещь об этом - то, что это заботится о мультиплексировании для Вас, таким образом, Вы просто должны загрузить это с данными сегмента для 4 цифр. Он также имеет программное управление яркостью.

Я проверил таблицу данных PIC16F690 , и, в отличие от других микроконтроллеров, ее входы / выходы не могут выдавать 20 мА (что разочаровывает). Таким образом, вам понадобятся транзисторы на порту 2:

введите описание изображения здесь

R1 был одним из резисторов на порте 2. Таким образом, вы вставляете между ними Q1 и R2 и повторяете это для каждого из 8 сегментов. Внимание, Q2 - это PNP! Подойдет любой PNP-транзистор общего назначения.

stevenvh
источник
Только одно, вы рекомендуете использовать релейный драйвер типа UNL2803 вместо транзисторов?
Sean87
Это более или менее то же самое. 2803 имеет зажимные диоды, но это только преимущество для переключения реле или двигателей. Если вы покупаете 100 BC337 (они всегда полезны), 4 из них дешевле, чем 2803. К сожалению, нет PNP-эквивалента 2803, поэтому вам все равно придется использовать транзисторы. Кстати, ваш дисплей общий катод, как в моем ответе, или общий анод. Если это последнее, вам понадобится 8 NPN для сегментов, и тогда 2803 может быть лучшим вариантом.
Stevenvh
Понял, к счастью, это обычный анод, у меня есть около 2803 чипов, которые я буду использовать тогда. Еще раз спасибо.
Sean87