Serial Communication With Pic 16f877 Using Uart
If you are just starting out with in the Microchip world, then I would suggest that you get the MPLAB X IDE and the XC16 compiler as they are much newer and more likely to be up-to-date. Having said that the MPLAB-8 and C30 combination should work. You need to show us all of your source file. If you are then there are many things missing such as the processor include file and the configuration settings. (Note that these differ between C30 and XC16 so if you are to upgrade then you will need to do that first before adding these things.) You are not initialising the EUSART correctly. The setting for TXSTA sets the TXEN high and selects the high-speed BRG (BRGH = 1) - both of which are fair enough on their own.
SERIAL COMMUNICATION USING PIC16F877A MICROCONTROLLER. (Universal Asynchronous Receiver Transmitter). C-CODE FOR SERIAL COMMUNICATION USING PIC MICROCONTROLLER. Using UART of PIC Microcontroller with MPLAB XC8 compiler. Grooveshark Clone Script Video. It is a very popular serial communication interface which provides Full Duplex communication between. PIC serial communication port allows microcontroller to communicate with other PIC or computer. Bernard Lewis Islam And The West Pdf.
However for RCSTA you set a readonly bit ('Rx9D') which achieves nothing, and also the ADDEN bit which is ignored as you are in async 8-bit mode. Also you need to actually turn on the peripheral by setting the SPEN bit, but I strongly recommend that you DON'T set this with the other RCSTA bits. With some Microchip devices, you need to set them up and THEN enable them and it does not hurt to do this with all MCUs (with a couple of very well documented exceptions). Working back from the SPBRG value you set, the baud rate you are expecting (which is a rather strange value) and using the BRGH bit high, I see that you are assuming the Fosc is 4.79MHz which seems a slightly 'odd' frequency setting.
It might be right but you have not shown how you set the Fosc value so we can't tell. You wait for the IF bit to be set but you don't clear it after it has been. It is a long time since I've used that particular chip but generally you need to clear the IF flags yourself. When you say the LCD is not displaying anything, have you written another program to test what your LCD related code works? Also are you stepping through the code and seeing where it stops or does not take the path you expect? Are you seeing anything received from RCREG, even if it is not 0x01?