Hi Gordon,
It's like being married, it's not that you did anything wrong, maybe sometimes just not enough
I would add some housekeeping code like:
Code:
TrisA = %11110110    ' make port 0 and 4 outputs for lcd
TrisB = %11110000    ' make lower 4 bits outputs for lcd
I would add code to set the config fuses so as not to have to remember
when programming. I would temporaraly add an lcdout to run once at startup, something like:
Code:
start: ' this goes after your defines and adcon, ansel etc . . . 
Lcdout $fe, 1, "Gordon's Thermometer"
pause 1000

main:
all of your other code goes here


goto main
end
just to make sure the lcd is working and I would add a pause 1000 just before that to allow lcd time to initialize.
If you do not see the splash screen, you won't see anything else, and then you know to check wireing, contrast etc . . .