TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: pajaro en 19 de Octubre de 2008, 21:13:34

Título: PSI - Pic17F84A - LCD 4x20
Publicado por: pajaro en 19 de Octubre de 2008, 21:13:34
hola amigos

tengo un pequeño montaje, un pic 16f84A con cristal de 4Mhz conectado con un LCD4x20
 trasmite datos del puerto B4-B7 y en el puerto A0 tengo un led.

pues bien en el lcd solo salen cuadros negros pero solo los hace en la linea 1 y en la linea 3.
que esta ocurriendo y yo no me pispo.

programa muy sencillo: !ojo los comentarios del programa no corresponden 100%!
=============================
'probar pic16F84a
'4mhz,

Define CONF_WORD = 0x3ff1
AllDigital
'lcd - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
Define LCD_LINES = 4
Define LCD_CHARS = 20
'---------------------------------------------
Define LCD_BITS = 4  'indicamos que el bus de datos del lcd sera de 8bit
Define LCD_DREG = PORTB  'el bus de datos sera el puerto B
Define LCD_DBIT = 4  '(0/4) indiferente en bus de 8 bits
Define LCD_RSREG = PORTB  'el bit RS está en el puerto A
Define LCD_RSBIT = 1  'se usa RA0 RS
Define LCD_EREG = PORTB  'el bit E está en el puerto A
Define LCD_EBIT = 2  'se usa RA1 para E
'Define LCD_RWREG = PORTD  'el bit E está en el puerto A
'Define LCD_RWBIT = 2  'se usa RA1 para E
'------------------------------------------------------------------
'Define LCD_COMMANDUS = 2000  'Tiempo de espera despues de ejecutar un comand del lcd en uSeg.
'Define LCD_DATAUS = 100  'Tiempo de espera despues de enviar un dato al LCD en uSeg.
'Define LCD_INITMS = 100  'Tiempo de espera despues de inicializar el Display, solo se ejecuta una vez en mSeg.
'-------------------------------------------------------------------
TRISA = 0
TRISB = 0

luz:
PORTA = 1
WaitMs 1000
PORTA = 0
WaitMs 1000
'Goto luz

Lcdinit 1  'sin cursor(0),parpadando(1),bajo linea(2),(3)=1y2

WaitMs 5000
Lcdcmdout LcdHome
Lcdout " HOLA! "
Lcdcmdout LcdLine2Home
Lcdout " HOLA! "
WaitMs 5000
Lcdcmdout LcdClear
Goto luz

=============================


Un saludo

Título: Re: PSI - Pic17F84A - LCD 4x20
Publicado por: dogflu66 en 20 de Octubre de 2008, 18:13:18
He probado ese codigo para 4 lineas y en PSI funcionó bien. Me imagino que tendras algun fallo en el hardware.
Título: Re: PSI - Pic17F84A - LCD 4x20
Publicado por: pajaro en 20 de Octubre de 2008, 20:37:23
hola amigo
La verdad es que eso es lo que no comprendo en el PSI va bien pero al montarlo
no se si es el pic o es el lcd.

¿Hay forma de probar el LCD? que se iluminen las 4 filas.

probé ha variarle el potenciometro de 10k que puse entre vcc y masa y si que varia la luminosidad de los cuadros,
el a y el k lo deje al aire igual que d0,d1,d2,d3

todo el circuito lo tengoalimentado con una pila de 9v y lo estabiliza un 7805
hola amigo
La verdad es que eso es lo que no comprendo en el PSI va bien pero al montarlo
no se si es el pic o es el lcd.

¿Hay forma de probar el LCD? que se iluminen las 4 filas.

Probé ha variarle el potenciómetro de 10k que puse entre vcc y masa y si que varia la luminosidad de los cuadros,
el a y el k lo deje al aire igual que d0,d1,d2,d3

todo el circuito lo tengo alimentado con una pila de 9v y lo estabiliza un 7805.

¿Que sucedera? es raro.

un saludo

Título: Re: PSI - Pic17F84A - LCD 4x20
Publicado por: pajaro en 21 de Octubre de 2008, 11:36:52
hola amigo Dogflu66

Tenias razón era el hardware, empezo a funcionar cuando puse el rw a masa en vez de al aire, ya que no lo usaba.

ahora va perfecto.

Muchas gracias por tu colaboración.

Un saludo