TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Tito-Pic en 18 de Diciembre de 2003, 07:52:00

Título: Alguien a conseguido .....
Publicado por: Tito-Pic en 18 de Diciembre de 2003, 07:52:00
Alguien ha conseguido que le funcione el ejemplo del LCD de Pic basic Pro??


Yo por mucho que le doy vueltas no lo consigo, y parece que es muy facil....

He probado con 8 bit"s con 4 bit"s y nada....


Falta algo en la rutina?????
-------------------------------------------------------------------------------
" PicBasic program to demonstrate operation of an LCD in 4-bit mode
"
" LCD should be connected as follows:
"       LCD     PIC
"       DB4     PortA.0
"       DB5     PortA.1
"       DB6     PortA.2
"       DB7     PortA.3
"       RS      PortA.4 (add 4.7K pullup resistor to 5 volts)
"       E       PortB.3
"       RW      Ground
"       Vdd     5 volts
"       Vss     Ground
"       Vo      20K potentiometer (or ground)
"       DB0-3   No connect

        Pause 500       " Wait for LCD to startup

loop:   Lcdout $fe, 1   " Clear LCD screen
        Lcdout "Hello"  " Display Hello
        Pause 500       " Wait .5 second

        Lcdout $fe, 1   " Clear LCD screen
        Lcdout "World"
        Pause 500       " Wait .5 second

        Goto loop       " Do it forever
Título: RE: Alguien a conseguido .....
Publicado por: MGLSOFT en 18 de Diciembre de 2003, 08:05:00
Esta conectado a un PIC16F84 y trabajando a 4 MHZ??
Si es asi trata de poner el circuito para poder ayudarte, puede que algo este mal conectado.
Pusiste la resistencia a RA4 como dice alli??
Título: RE: Alguien a conseguido .....
Publicado por: Tito-Pic en 18 de Diciembre de 2003, 09:49:00
El esquema esta en el manual de pic basic pro:

http://www.todopic.com.ar/pbp_sp.html

Es bien sencillo.
Título: RE: Alguien a conseguido .....
Publicado por: karlosguay en 18 de Diciembre de 2003, 10:26:00
Quizás te falten DEFINEs para indicarle como está el LCD conectado. También es importante definir el oscilador: DEFINE OSC 4.


Salud
Título: RE: Alguien a conseguido .....
Publicado por: Tito-Pic en 18 de Diciembre de 2003, 10:33:00
Ya probe a definir todos los parametros, y nada de nada...
Título: RE: Alguien a conseguido .....
Publicado por: jorgeansuini en 18 de Diciembre de 2003, 11:18:00
Buenas:
¿Que display estas usando?
¿Estas seguro de las conecciones del display?
El ejemplo funciona de primera y no tiene mayores secretos.-
Saludos
Jorge
Título: RE: Alguien a conseguido .....
Publicado por: MGLSOFT en 18 de Diciembre de 2003, 12:19:00
Tal vez no sea compatible con el HD44780 tu display.
Revisa el conexionado, como dice Jorge.
Que entorno utilizas? es Microcode?
Tiene por default un PIC16F628, y el conexionado es para un 16F84, si utilizaras un 16F628 debes agregarle algunas intrucciones de manejo de los Ports A y B, para poder utilizarlo tal cual un 16F84.
Título: RE: Alguien a conseguido .....
Publicado por: lactoria en 19 de Diciembre de 2003, 04:56:00
te faltan los define, este codigo funciona y usa solo 6 lineas del pic para controlar el lcd


DEFINE   LCD_DREG   PORTB
DEFINE   LCD_DBIT   4
DEFINE   LCD_RSREG   PORTB
DEFINE   LCD_RSBIT   2
DEFINE   LCD_EREG   PORTB
DEFINE   LCD_EBIT   3
INCLUDE "modedefs.bas"  


loop:
                  
LCDOut $FE,1,  " para que todos"
 LCDOut $FE,$c0,"   no sayudemos"
 
GoTo loop

las conexiones son rw-gnd,rs-rb2,e-rb3,d4-rb4,d5-rb5,d6-rb6,d7-rb7
Título: RE: Alguien a conseguido .....
Publicado por: oligario en 19 de Diciembre de 2003, 11:54:00
Comprueba si tienes configurados los puertos ra y rb indicando cuales son entradas y cuales salidas. Suerte, us saludo a todos.
Título: RE: Alguien a conseguido .....
Publicado por: Tito-Pic en 20 de Diciembre de 2003, 05:41:00
He progabdo el programa que enviais y no funciona, me sale una linea en la parte superior.
Título: RE: Alguien a conseguido .....
Publicado por: RGL en 21 de Diciembre de 2003, 13:10:00
Revisa el harware nuevamente suponiendo que hay un error en el, es decir sin presuponer que todo lo has conectado perfectamente bien. Seguro que encuentras el fallo.

Saludos

Ricky
Título: RE: Alguien a conseguido .....
Publicado por: risanti13 en 22 de Diciembre de 2003, 17:54:00
" LCD PIC
" DB4 PortA.0
" DB5 PortA.1
" DB6 PortA.2
" DB7 PortA.3
" RS PortA.4 (add 4.7K pullup resistor to 5 volts)
" E PortB.3
" RW Ground
" Vdd 5 volts
" Vss Ground
" Vo 20K potentiometer (or ground)
" DB0-3 No connect


Tienes que definir los siguientes parametros en tu programa
para indicar que tipo de bus utilizas , en que pin se encuentra el Enable . ya que los valores  por defectos del PbP son :
 Setea el port de datos LCD


DEFINE LCD_DREG PORTB

DEFINE LCD_DBIT 0

DEFINE LCD_RSREG PORTB

DEFINE LCD_RSBIT 4

DEFINE LCD_EREG PORTB

DEFINE LCD_EBIT 5

DEFINE LCD_BITS 4

DEFINE LCD_LINES 2





Lo que tienes que hacer es insertar esto al principio de tu programa

DEFINE LCD_DREG PORTA

DEFINE LCD_DBIT 0

DEFINE LCD_RSREG PORTA

DEFINE LCD_RSBIT 4

DEFINE LCD_EREG PORTB

DEFINE LCD_EBIT 3

DEFINE LCD_BITS 4

DEFINE LCD_LINES 2

SI ESTO EQUIVOCADO AVISAR YA QUE HUMANO

Título: RE: Alguien a conseguido .....
Publicado por: Tito-Pic en 23 de Diciembre de 2003, 02:50:00
Hola a todos, al final el lcd estaba estropeado, compre otro y funciono a la primera.

Un saludo a todos, y gracias por la información.