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