Autor Tema: Necesito Ejemplo LCD  (Leído 3769 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Mac_Aco

  • PIC10
  • *
  • Mensajes: 13
Necesito Ejemplo LCD
« en: 07 de Junio de 2003, 14:08:00 »
Hola primero un saludo a este foro que acabo de encontrar y que me gusta mucho
Me gustaría si alguno de vosotros me puede colocar un pequeño ejemplo para mandar a un LCD un mensaje, por ejemplo "Hola"
El problema viene en que tengo el Micro Pic Trainer V 1,1 y este LCD creo que es de 8 bits por eso no me funciona nada en ese Lcd
Si alguno de ustedes dispone de ese entrenador y me puede poner un ejemplo (con los define claro) se lo agradecería

Gracias y un Saludo

Desconectado Mac_Aco

  • PIC10
  • *
  • Mensajes: 13
RE: Necesito Ejemplo LCD
« Respuesta #1 en: 08 de Junio de 2003, 06:11:00 »
Tengo puesto esto despues de mirar como está conectado el LCD , pero no funciona

DEFINE LCD_DREG PORTB " Puerto de Datos del Lcd
DEFINE LCD_DBIT 0 " Selección del bit de inicio (0 or 4 si
                                "es 4-bit bus)
DEFINE LCD_RSREG PORTA " Puerto para Registro de
                                            "Selección
DEFINE LCD_RSBIT 0 " Set de Bit del Registro de Selección
DEFINE LCD_EREG PORTA " Set Puerto para Enable
DEFINE LCD_EBIT 2 " Set bit de Enable
DEFINE LCD_RWREG PORTA " Set del puerto para
                                             "Read/Write
DEFINE LCD_RWBIT 1 " Set de bit para Read/Write
DEFINE LCD_BITS 8 " Set Tamaño del bus  (4 or 8 bits)
DEFINE LCD_LINES 2 " Set Número de lines del Lcd
DEFINE LCD_COMMANDUS 2000 " Set Retraso del
                                                   "comando en us
DEFINE LCD_DATAUS 50 " Set Retraso de datos en us

PAUSE 500
LCDOUT $FE, 1
LCDOUT "Hola"
end

¿alguna idea?

Gracias

Desconectado jorgeansuini

  • PIC18
  • ****
  • Mensajes: 340
RE: Necesito Ejemplo LCD
« Respuesta #2 en: 08 de Junio de 2003, 17:51:00 »
Podrias mandar informacion de como esta conectado el lcd al micro?
No tengo el micropic trainer
Jorge

Desconectado Eduagra

  • PIC16
  • ***
  • Mensajes: 116
RE: Necesito Ejemplo LCD
« Respuesta #3 en: 09 de Junio de 2003, 01:04:00 »
Hola Mac:

Yo tambien tengo el trainer y para poder mostrar datos en el display con un 16F84 utilicé el siguiente código:

DEFINE OSC 4 " Definición de la frecuencia de reloj
DEFINE LCD_DREG PORTB    " Define el bus de datos del LCD
DEFINE LCD_RSREG PORTA   " Define el port de registro
DEFINE LCD_RSBIT 0   " Define el bit 0 de port A como RS
DEFINE LCD_EREG PORTA   
DEFINE LCD_EBIT 2
DEFINE LCD_BITS 8
DEFINE LCD_LINES 2

   pause 700 " pausa para inicializar el display

    lcdout $FE,1    " limpia el visor
    lcdout $FE,2    " primera línea
    lcdout "Hola"
    lcdout $FE,$C0    " segunda línea
    lcdout "Como estas"

Y me funcionó, eso si, pon SW2 y SW4 en Off y SW3 a 0 si no no funciona, ya que rn mi esquema la entrada r/w siempre estaba en w,

salu2

Desconectado Mac_Aco

  • PIC10
  • *
  • Mensajes: 13
RE: Necesito Ejemplo LCD
« Respuesta #4 en: 09 de Junio de 2003, 04:21:00 »
Ante todo gracias por contestar, a mi no me ha funcionado tu ejercicio y es extraño pues con ensamblador e incluyendo la librería de Lcd (Lcdxx.inc) va perfecto, pero claro me empezaba a gustar esto del Basic

No encuentro cual puede ser el problema

Para Eduagra: El Lcd está conectado con los bits de datos de Rb0 a Rb7de portb, Rs a Ra0, Rw a Ra1 y E a Ra2 de porta (con un pequeño jumper que lo activa)

Desconectado Eduagra

  • PIC16
  • ***
  • Mensajes: 116
RE: Necesito Ejemplo LCD
« Respuesta #5 en: 09 de Junio de 2003, 06:56:00 »
Ave Mac.

He vuelto a probar el código que te he dejado escrito y a mi me funciona OK. Si t fijas la configuración es la misma que tienes tu.

Lo he probado en el Trainer y funciona bien.

¿Que pic estas usando?, recuerda que si usas un 16F628 debes de poner la siguiente línea:

   CMCON = 7 " Configura todos los pines como digitales

Un saludo y a ver si lo solucionamos.

Desconectado Mac_Aco

  • PIC10
  • *
  • Mensajes: 13
RE: Necesito Ejemplo LCD
« Respuesta #6 en: 09 de Junio de 2003, 16:24:00 »
He probado con f84 y f876 este último colocando ADCON1 = % 00001111 y no me funciona
Solo queda por preguntar ¿cual es tu editor ?
Yo uso el microcode studio 2.0.2.2
De todas formas mañana mismo por poco que pueda iré a la tienda a comprar un lcd de 4 bits (hasta que funcione esto) y luego ya iré por el hermano mayor

Muchas gracias  y un saludo

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: Necesito Ejemplo LCD
« Respuesta #7 en: 09 de Junio de 2003, 17:38:00 »
Hola Mac,

Te envío un ejemplo simple que hice con el micropic Trainer. A mi me funciono en su día.

"********************************************
"* AUTOR: Ricardo Gamboa               *
"* FECHA: 29/04/2001                  *
"* VERSION:1.00                        *
"********************************************
"
"********************************************
"* DESCRIPCION:una LCD de 2x16 se visualiza *
"* una opcion de menu y con un boton se va  *
"* cambiando el valor de esa opcion         *
"********************************************

"********************************************
"* MICROCONTROLADOR: 16F84A                 *
"* Estado ultima compilacion: Funciona      *
"********************************************

"**********************************************
"* REVISIONES                                 *
"* REV                                 *            
"**********************************************
"
" La conexion del LCD con el microcontrolador Pic debe ser:
"       LCD       PIC
"       D0        PortB.0
"       D1        PortB.1
"       D2        PortB.2
"       D3        PortB.3
"       D4        PortB.4
"       D5        PortB.5
"       D6        PortB.6
"       D7        PortB.7

"       RS       PortA.0
"       E        PortA.2
"       RW       PortA.1
"       Vdd      5 V
"       Vss      Masa
"       Vo       10K potenciometro

"ATENCION: LOS INTERRUPTORES RA0, RA1 Y RA2 DEBEN ESTAR EN POSICION 1
"ATENCION: SI SE PRUEBA EL PROGRAMA EN UN MICROPIC TRAINER.

"      DEFINICIONESPARA EL  LCD **********************

      DEFINE LCD_DREG   PORTB   "Defino el puerto de datos
"      DEFINE LCD_DBIT   0      "BIT de comienzo en bus de 4 bits, no aplicado aquí
      DEFINE LCD_RSREG PORTA   "Ajusto puerto para el Regiter Select
      DEFINE LCD_RSBIT 0      "Defino el bit del puerto A para RS
      DEFINE LCD_EREG   PORTA   "Defino el puerto de ENABLE
      DEFINE LCD_EBIT   2      "Defino el bit del puerto A que controla Enable
      DEFINE LCD_RWREG PORTA   "Defino el puerto para control RW
      DEFINE LCD_RWBIT 1      "Defino el bit del puerto A que controla RW      
      DEFINE LCD_BITS 8      "Defino el tamaño del bus de datos, bus de 8 bits
      DEFINE LCD_LINES 2       "Defino el numero de lineas del display
      DEFINE LCD_COMMANDUS 2000 "Defino el tiempo de retaardo de comando en microseg.
      DEFINE LCD_DATAUS 50   "Defino el tiempo de retardo de dato en microsegundos

"      FIN DEFINICIONES LCD *************************   

"      VARIABLES **********************

      i VAR WORD
      
"      FIN VARIABLES ******************   
   
      i=1200
      TRISA.3=1
   
      Pause 1000      " Espero 1 segundos para inicializar LCD
      GoSub ver
      
bucle:  
      Pause 250
      IF PORTA.3=1 Then
          i=i*2
          IF i>=34000 Then i=1200
          GoSub ver
      EndIF
      
      
      GoTo bucle      " Repito un bucle infinito


ver:   
      LCDOut $fe, 1   " Borro el display
        LCDOut "Velocidad"   " Visualizo velocidad
        LCDOut $fe,$C0  " Pongo cursor al principio de la segunda linea
        LCDOut DEC i
        Return
       

Saludos
Ricky

Desconectado Mac_Aco

  • PIC10
  • *
  • Mensajes: 13
RE: Necesito Ejemplo LCD
« Respuesta #8 en: 11 de Junio de 2003, 05:22:00 »
Bueno por fin , tu ejercicio funciona correctamente en el trainer
Ahora compararé lo que se ha puesto en los anteriores con el tuyo a ver donde se producía mi error o cual es la diferencia
Muchas grácias