Управление 16-сегментными дисплеями с помощью MAX7219

Хотя код для этого в теории имеет смысл для меня, я не могу найти никаких примеров в Интернете, поэтому я хотел проверить, действительно ли работает проводка.

Я использовал MAX7219 как для 7-сегментных дисплеев, так и для сеток 8x8 пикселей, поэтому хорошо понимаю, как это работает.

вот даташит

https://datasheets.maximintegrated.com/en/ds/MAX7219-MAX7221.pdf

Если я правильно понимаю, SEG становится ВЫСОКИМ, а DIG работает как Sinks. Обычно это позволяет запускать 8 7-сегментных дисплеев с общим катодом.

Одноразрядные 16-сегментные символы дисплея, которые у меня есть, имеют всего 18 контактов. 16 сегментов, десятичная дробь и общий катод.

Можно ли подключить первые 8 сегментов к SEG-A -> SEG-DEC, а затем катод к Dig 0. Затем оставшиеся 8 сегментов снова к SEG-A -> SEG-DEC, а затем также подключить Dig 1 к Dig 0? катод.

проводка

это теоретически позволит использовать 4 16-сегментных дисплея на MAX7219.

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

Это работает? Или я что-то упустил? Часть, в которой я больше всего не уверен, - это проблема использования двух цифр на одном и том же катоде.

"Я что-то пропустил?" Ссылки на даташиты и схему можно?
Добавлен @транзистор
Это схема подключения, а не схема. Мы могли бы понять это, но... Посмотрим.

Ответы (1)

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

Рисунок 1. «Это не схема. Это схема».

Почему это сработает

Если схема на Рисунке 1 соответствует вашим намерениям, то (не читая всего описания) у вас есть шанс. На странице 5 говорится о контактах DIG 0–DIG 7:

Восьмиразрядные линии привода, принимающие ток от общего катода дисплея. MAX7219 подтягивает цифровые выходы к V+ при выключении. Цифровые драйверы MAX7221 имеют высокое сопротивление в выключенном состоянии.

Таким образом, цифровые контакты 7219 не могут быть подключены параллельно (если вы не добавите диод в каждую линию), но 7221 может, поскольку контакт имеет высокий импеданс, когда он не управляет цифрой.

Вам нужно будет запустить чип в «режиме без декодирования», чтобы разрешить адресацию отдельных сегментов. См. стр. 8.

Почему это не сработает

Глядя на схему, становится ясно, что когда SEG A имеет высокий уровень, то и «A», и «K» загораются, если либо ЦИФРА 1, либо ЦИФРА 2 имеют низкий уровень. (Схема бьет схему подключения.)

Поскольку у вас всего один общий катод, вы проиграли.

Ах здорово. Имеет смысл!! Спасибо за расшифровку моего вопроса. Я посмотрю на 7221. Похоже, что другой альтернативой является использование чипа драйвера светодиода с постоянным приемником и использование вместо него обычных анодных цифр.
Также я знаю об ИС, чем об обычных катодных 16-сегментных дисплеях, они просто слишком дороги для моего приложения (много символов, но мало обновлений).
Ваш главный урок здесь должен заключаться в том, чтобы увидеть пользу от того, что вы потратили время на написание адекватной схемы. После того, как это сделано, «схема» вещей становится ясной, так же как и пути проникновения и т. Д.
Очень согласен и возьму это с собой. Одна из проблем, с которой мы столкнулись, ребята, занимающиеся компьютерным фоном, заключается в том, что нам нравится быстро строить и ломать вещи, потому что компьютер говорит нам, что не так, а это, как я обнаружил в EE, не лучший подход. Спасибо еще раз за помощь
@martinF, если цифровые контакты перейдут в высокое состояние, не могли бы вы объяснить, почему 7221 не будет работать?
@martinF также 7219, безусловно, SPI