Buenas foreros, necesitaria vuestra ayuda para resolver un problema que me trae de cabeza, estoy intentando hacer unos esquemas con un 16F628A y no consigo hacer funcionar el LCD 16x2, el caso es que con un 16F84A me funciona a la perfeccion pero cuando sustituyo el pic habiendo previamente hecho los cambios necesarios de un 16F84A al 16F628A no consigo hacerlo funcionar, simplemente sale una raya negra, problema en el LCD no es, ya que funciona perfecto, esta claro que es el esquema o la config de fuses pero no consigo averiguar donde esta el problema, os adjunto el esquema y la config que uso en el 16F628A es :
XT, WDT ON, PWRTE OFF, MCLRE OFF, BODEN OFF, LVP OFF, CP OFF.
los 2 pic esta programados asi:
'' lcd 16x2 con 16F628A
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTA
DEFINE LCD_RSBIT 0
DEFINE LCD_RWREG PORTA
DEFINE LCD_RWBIT 2
DEFINE LCD_EREG PORTA
DEFINE LCD_EBIT 1
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
trisa=0
trisb=0
pause 500
inicio:
lcdout $FE, 1
lcdout $FE, 1, "Prueba con 16F628A"
lcdout $fe, $C0, "abcdefghijklmnop"
pause 2000
goto inicio
end
y este el esquema.

A ver si me podeis echar una mano.
Nada ya esta solucionado, he cambiado todas las conexiones al puerto B y he dejado el A al margen con este simple cambio.
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 0
DEFINE LCD_RWREG PORTB
DEFINE LCD_RWBIT 2
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 1
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
trisb=0
y ya esta arreglado.
Saludos.
Por cierto me podeis decir como definir los fuses en picbasic pro?
XT, WDT ON, PWRTE OFF, MCLRE OFF, BODEN OFF, LVP OFF, CP OFF.
los 2 pic esta programados asi:
'' lcd 16x2 con 16F628A
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTA
DEFINE LCD_RSBIT 0
DEFINE LCD_RWREG PORTA
DEFINE LCD_RWBIT 2
DEFINE LCD_EREG PORTA
DEFINE LCD_EBIT 1
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
trisa=0
trisb=0
pause 500
inicio:
lcdout $FE, 1
lcdout $FE, 1, "Prueba con 16F628A"
lcdout $fe, $C0, "abcdefghijklmnop"
pause 2000
goto inicio
end
y este el esquema.

A ver si me podeis echar una mano.
Nada ya esta solucionado, he cambiado todas las conexiones al puerto B y he dejado el A al margen con este simple cambio.
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 0
DEFINE LCD_RWREG PORTB
DEFINE LCD_RWBIT 2
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 1
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
trisb=0
y ya esta arreglado.
Saludos.
Por cierto me podeis decir como definir los fuses en picbasic pro?
Última edición: