Thema LED Treiber:
Warum verwendest Du nicht einfach ein Darlingtonarray wie das ULN2003 für die Segmente und P-Kanal FET's für die Anoden Ansteuerung.
Bei einer 3 stelligen Anzeige sind dazu 11 ( 10 ohne Dezimalpunkt )Controller Pins nötig.
Das Umschalten zwischen den Segmenten ( multiplexing ) könnte man über einen Timer Overflow Interrupt machen.