Was für ein C verwendest du?
Was für ein Grafikdisplay hast du in näherer Auswahl.
Du kannst sogenannte intelligente Grafikdisplays verweden, die einen
Mikrocontroller an Board haben der Schriften und vieles mehr beinhaltet
und du meist über eine serielle Schnittstelle Befehle senden kannst.
Solche Teile sind teuer und undflexibel, dafür leicht mit Daten zu
füttern. Ich würde dir davon abraten.
Dann gibt es noch die normalen Grafikdisplays mit einem normalen
Display-Controller mit integriertem Grafik-RAM. Per I2C, SPI oder
parallel steuerst du dann einzelne Pixel an. D.h. Bilder, Schriften etc.
müssen in deinem Mikrocontroller vorliegen. Solche Displays sind üblich
und günstig.
Das Problem das du haben wirst: Dein PIC16F ist zu klein dafür und
fertige Code-Parts dafür zu finden sehr unwahrscheinlich.
Spezialfälle sind solche einfachen Grafikdisplays mit einem Schriftsatz
an Board, aber dann bist du eben auf die integrierten Schriften
angewiesen.
Da du eh schon in C programmierst, was hälst du von einem Upgrade auf
PIC24? Dann kannst du auch die Grafik-Library von Microchip verwenden,
die Textausgabe, Bildausgabe (sogar ein komplettes UI mit Tasten,
Listen, ...) schon implementiert hat. Was deine Aufgabe dann ist, ist
ein Treiber zu schreiben der eben die low-level-Routinen für das Display
enthält (initialisieren, Pixel ausgeben)
Falls du bei deinem PIC16 bleiben willst, so wirst du wohl nach einem
Grafikdisplay mit integriertem Schriftsatz suchen müssen.