И немедленно похоронить возможность контроля тока.
Тем и замечательна TLC5940, что она решает все перечисленные Вам проблемы безо всяких ключей и прочих мудрствований. А заодно ещё и позволяет видеть, если какой-то из сегментов накрылся (перегорел светодиод). Только она одна с минимальной обвязкой, никакой дополнительной лабуды. Именно этим она и ценна.
Кстати, “минимальная обвязка” - это два резистора и конденсаторы по питанию.
Кстати, в ней есть неприятная ошибка, которая, если активно использовать dot correction, приводит к редким, необъяснимым глюкам. Думаю, многие эти глюки видели, но вполне доверяя библиотеке (а она и впрямь хорошо написана), списывали их на “китайскость” микросхемы.
Суть ошибки будет понятна только тому, кто плотно в теме этой микросхемы, поэтому опущу. Автору написал, но не знаю, библиотека настолько древняя, что он может уже и забыл про неё.
В смысле? Зачем светодиоду контролировать ток? Ну, типа, что он работал в нужном режиме при любом (в разумных пределах) напряжении. Светодиод, он вообще током управляется. Слышали такие слова “constant current driver”? Вот это оно и есть. А Вы этот constant current в базу пихать собрались.