Also der ADC-Wert ist ja schonmal binär (8 Bit oder 10 Bit).
Dieser muss auf die gewünschte Einheit skaliert (Multiplikation mit
Konstante) werden, falls man Referenzspannung und Vorteiler ungünstig
gewählt hat.
Daraus muss dann BCD gemacht werden.
Das Umwandeln in "aktive Segmente" ist mittels Tabelle kein Problem.
Die Anzeigen betreibt man am besten multiplex, man schaltet also die
Segmente aller Stellen zusammen und sieht 3 Stellentreiber-Transistoren
vor. Bei Anzeigen mit gemeinsamer Anode (je Stelle) legt man die
Kathoden aller Stellen über Widerstände an 7 (8 mit DP) Pins eines
Ports und nimmt 3 (6 bei zwei dreistelligen Anzeigen) PNP-Transistoren
(mit Basiswiderständen), die dann die Anoden treiben. Davon ist dann
immer nur eine Stelle aktiv.
Das Programm legt dann das zugehörige Bitmuster an den Port und
schaltet dann die gewünschte Stelle ein. Dann Stelle ausschalten,
nächstes Bitmuster an den Port legen und nächste Stelle einschalten.
Das geht sehr gut in einem Timer-Interrupt, mit dem man auch noch ganz
nebenbei Tasten entprellen oder andere Dinge erledigen kann.
...