Here is a program I use to display the output of an IN219 as ASCII text. It contains subroutines to do what you want but is is written to run on a PIC12F1840 so may require slight changes to run on a PIC16F877. It also contains code to display HEX values in ASCII
Can you clarify want you want ? You say 8 bit binary to 8 character ASCII. 8 bit binary has a maximum value or 255 decimal (Or FF hex) so you would only need 3 ASCII characters. I'm not sure I have written a version that will give 8 ASCII character output (This would be 28 binary bits) for a PIC16F877. I tend to use these routines quit a lot and just modify them to run on different PICs (Or Atmel Attiny chips.) and different number of bits as required. I will have to look though my projects that use PIC16F877s and see if I have one that meets your exact requirements as you do not want to modify the one I posted in post #13
Is this homework ? The way you state the question in post #18 is ambiguous. It could mean convert it into a decimal value and convert that into ASCII to display it in decimal format. It could also mean just display it in hexadecimal as ASCII characters.