CCS Compiler Guide
How to print debug messages:
The ICD can be used to relay messages to the computer which can be very helpful in debugging. In order to do this all you have to do is: #use rs232(DEBUGGER) // sets the active rs232 object to use the ICD settings for i/o pins and baud rate
printf("Here is the message to be displayed!");
Then you can view the messages on the monitor tab in the debugger pane.
Using an Parallel LCD on port B
The Alphanumeric LCD library which is included with the compiler expects that you will hookup an LCD on port B which shares the ICSP pins B6 and B7.
// B1 = enable
// B2 = w/r // read/write select
// B3 = csbar // command or data mode, also used for LV-ICSP
// B4 = D4 // data bit
// B5 = D5 // data bit
// B6 = D6 // data bit, also used for ICSP: PGC
// B7 = D7 // data bit, also used for ICSP: PGD
When i tried hooking up the LCD suddenly the debugger was unable to recognize the target chip and the PIC locked up. I found the following post on the ccs forums to solve the problem.
"I use RB4-7 to drive LCDs all the time, and use ICSP whenever possible.
At first I had all sorts of problems programming the PIC when the LCD was connected. After a bit off thought I realised that the problem was the LCD WR pin floating high , thus going into READ mode and corrupting the data on RB6 and RB7.
If you are controlling the LCD_RW line with one the PIC pins, tie it low with a resistor to keep it in write mode and the lcd data lines will be in high impedance and not bother you at all."
Clarification:
Hook the LCD_RW Pin -> resitor -> gnd and nothing connects to that corresponding LCD Pin