HOLA BUENO NO SE SI LAS LINEAS QUE VOY A PONER A CONTINUACIÓN TE SIRVAN DE ALGO, PERO TE CUENTO QUE ALGO RARO SUCEDE CON EL PBP Y LOS LCD (POR ESO ESTOY MIGRANDO AL PROTON) PUES SI NO CAMBIAS LA CONFIGURACIÓN DE LOS PUERTOS (DEFINE) EL LCD TE DA PROBLEMAS, YO TE RECOMIENDO QUE UTILICES TODO EL PUERTO B PARA EL LCD..
ASI LO HE HECHO YO Y NO ME HA DADO PROBLEMAS, NO USO EL 16F84 SINO EL 16F628A, PERO LA CONFIGURACION DEL PUERTO B TE PUEDE SERVIR..
ACA ESTAN LAS LINEAS
" Set LCD Data port
DEFINE LCD_DREG PORTB
" Set starting Data bit (0 or 4) if 4-bit bus
DEFINE LCD_DBIT 4
" Set LCD Register Select port
DEFINE LCD_RSREG PORTB
" Set LCD Register Select bit
DEFINE LCD_RSBIT 2
" Set LCD Enable port
DEFINE LCD_EREG PORTB
" Set LCD Enable bit
DEFINE LCD_EBIT 3
" Set LCD bus size (4 or 8 bits)
DEFINE LCD_BITS 4
" Set number of lines on LCD
DEFINE LCD_LINES 2
" Set command delay time in us
DEFINE LCD_COMMANDUS 2000
" Set data delay time in us
DEFINE LCD_DATAUS 50
LUEGO DE ESTO SI EL PROGRAMA CON UN PAUSE DE 200MS ANTES DE INICIALIZAR EL LCD...
ESPERO QUE TE SIRVA, CON TODO TENGO SUBIDOS ALGUNOS EJEMPLOS DE SIMULACION DE LCD Y MICROS EN LOS EJEMPLOS PARA SIMULAR EN PROTEUS, TE REPITO QUE TODOS LOS EJEMPLOS SON ESCRITOS CON PBP...
BUENO ESPERO QUE TE SIRVA....
SALUDOS DESDE ECUADOR