Bom dia Renato. Certifique-se de que escreveu o caractere no endereço inicial 0x40 da CGRAM do LCD. Depois, para chamá-lo, é só apontar para onde quer que ele apareça, e chamar pelo endereço onde está gravado na CGRAM, no caso 0x00. Vou dar um exemplo:
CARACTERE_1
MOVLW 0X40 ;APONTA PARA O PRIMEIRO ENDEREÇO DA CGRAM
CALL SEND_CMD
MOVLW 0X1E
CALL SEND_CHAR ;ENVIA OS BYTES NA SEQUÊNCIA, PARA FORMAR
MOVLW 0X1E ;O CARACTERE
CALL SEND_CHAR
MOVLW 0X1E
CALL SEND_CHAR
MOVLW 0X1E
CALL SEND_CHAR
MOVLW 0X1E
CALL SEND_CHAR
MOVLW 0X1E
CALL SEND_CHAR
MOVLW 0X1E
CALL SEND_CHAR
MOVLW 0X00
CALL SEND_CHAR
RETURN
Depois, no corpo do programa, logo após configurar as entradas e saídas do pic, vc chama a rotina CARACTERE_1. Quando precisar chamar pelo caractere, é só escrever o endereço onde ele foi gravado.
MOVLW 0XC0
CALL SEND_CMD
MOVLW 0X00
CALL SEND_CHAR
MOVLW 0X00
CALL SEND_CHAR
Detalhe - as rotinas SEND_CMD e SEND_CHAR são para o envio de comandos e dados respectivamente. Como disse antes, as rotinas que uso foram extraídas do site que passei antes.
Qualquer duvida, posta aí.
Abraços!!!