Quote Originally Posted by malc-c View Post
You've not mentioned which version of PBP you are using. I think I'm correct in stating that you can't use the word loop as a label in vers 2.60. Things like "main" are probably OK.
I'm using PBP v2.47 with the MPASM assembler.

I've just searched through my PIC samples and don't have the one you are using. Is there any reason why you chose this PIC to use with an LCD as there are lots of other PICs that don't have the amount of functionality crammed into it as the 688.
Well, I was introduced to pic chips my freshman year in high school and the 16f688 is what we used in electronics class my 4 years there. All we did with them was blink lots of LEDs so we never had to learn much of the configuration steps.

As you have stated that you have a flashing LED, this would suggest the code is running, but the LCD isn't responding... this suggests a timing issue. You have used what looks like an external config setting (@__EXTRC_OSC_NOCLKOUT) but in the code it states "internal 4Mhz". Are you using the internal 4Mhz timing or an external crystal, if internal then that fuse should be something like @_INTRC_OSC_NOCLKOUT.
I'm using an external 10MHz oscillator. I didn't notice I had two different oscillator settings, good lookin' out.

It's also worth posting up your schematic of how you have the hardware set up
my circuit looks exactly like this with the two exceptions being the reset switch on MCLR (MCLR is still pulled high) and an external 10MHz crystal between pins 2 and 3
http://embedded-lab.com/blog/?attachment_id=685