Of SRAM and LCDs
Two things I have always wanted to interface to were an LCD screen and a memory chip. Since I have been accepted to the graduate school programs I wanted, I have the time to learn how to do this.
The first project was interfacing to a 32k SRAM chip. The reason I chose SRAM was because of its relative simplicity in addressing and setting the chip state. On a PIC16F8777, you are going to wind up using most of the pins:
14 for address
8 for data
+ 3 for control
25 Total, that comes out to 3 ports + 1
You can see the wiring mess this causes below: The LCD interface was a little bit more tricky, one of the things that holds people up with these are that the initialization is weird. You have to supply the initialization command three times, which is actually similar to the way ps/2 mice initialize (the computer sends the initialization/restart command several times to the mouse). Either way, once you get it working you are on easy street because the character map on the chip that controls the LCD is standard ASCII (except for katakana characters and \ being replaced by ¥). The nice thing is that there are a lot of good resources on LCD interfacing. Check out:
http://www.myke.com/lcd.htm Nice overview of basic LCD interfacing.
http://www.datasheetcatalog.com/datasheets_pdf/K/S/0/0/KS0070B.shtml This datasheet has a good tutorial on how to send text to the LCD and move the cursor.