Come to think about your problem again, using a PIC say 16F877a to decode will use up 16 port pins for the segments. And if you have 8 characters (you didn't say how many char in your display), another 8 port pins for the characters. So what's left in your 16f877a will be limited for you to use.
One way to do it is a two PIC solution. One for your main program and another sorely for decoding only. The decoder will take 8 data inputs from the main PIC.
Of course there is another way to do it and it is to use a 16 segment driver with serial inputs (I2C or SPI) like MAX6969. There was a discussion (2008) of this chip here:
http://www.electro-tech-online.com/micr ... ver-2.htmlThe datasheet of MAX6969 is here:
http://datasheets.maxim-ic.com/en/ds/MAX6969.pdfAnd you can get the chip here in PDIP 24 pin package here:
http://search.digikey.com/scripts/DkSea ... 9ANG%2B-NDUSD 8.87 + postage is not too bad. Or you can try to write to MAXIM asking for a free sample. I did it last time and they did sent me the free sample but in SMT package
Best of lock with your project and cheers
Allen