Autor Tema: Error LCD de 16x2 caracteres extraños  (Leído 8128 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado diegogui

  • PIC10
  • *
  • Mensajes: 22
Error LCD de 16x2 caracteres extraños
« en: 27 de Abril de 2012, 00:03:48 »
Hola que tal.

Tengo un problema el LCD de 16x2  hay ocaciones en que  caracteres extraños en la lcd y hasta invertidos y se queda trabada. Esto no pasa siempre pero muy frecuentemente, lo sufuciente para que me moleste, por eso les queria preguntar como se podria evitar esto. Si es problema de que el pic no se reinicie bien o si de plano es solo problema del LCD que no se inicialice bien.
En un principio no me hacia ese problema.
Que puede estar pasando????
 
Pongo el ejemplo que realice.


#include <inicializacion.h>


void main(void) {
lcd_init();
  while(true)  
   {

 lcd_putc("\fMENSAJE\n");
      delay_ms(1000);

   }
}

Archivo inicializacion.h

#include <16F877A.h>
#device adc=8
#fuses XT,NOWDT,NOPROTECT,PUT,NOLVP,BROWNOUT
#use delay(clock=4000000)
#define LCD_ENABLE_PIN  PIN_B1                                    ////
#define LCD_RS_PIN      PIN_B2                                    ////
#define LCD_RW_PIN      PIN_B3                                    ////
#define LCD_DATA4       PIN_B4                                    ////
#define LCD_DATA5       PIN_B5                                    ////
#define LCD_DATA6       PIN_B6                                    ////
#define LCD_DATA7       PIN_B7
#define use_portb_lcd TRUE
#include <lcd.c>
#use fast_io(b)
#define d100 1000
#define d10  10

Saludos

Desconectado solapower

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 209
Re: Error LCD de 16x2 caracteres extraños
« Respuesta #1 en: 27 de Abril de 2012, 07:14:20 »
Vamos a ver no hace mucho que me estoi pasando al C, pero por lo poco que entiendo,
porqué defines los pines del LCD en el archivo inicialización.h ?

Esos pines ya vienen definidos en el LCD.c  , A menos que tu quieras cambiarlos de orden en el puerto B ........

Desconectado diegogui

  • PIC10
  • *
  • Mensajes: 22
Re: Error LCD de 16x2 caracteres extraños
« Respuesta #2 en: 27 de Abril de 2012, 08:45:38 »
Vamos a ver no hace mucho que me estoi pasando al C, pero por lo poco que entiendo,
porqué defines los pines del LCD en el archivo inicialización.h ?

Esos pines ya vienen definidos en el LCD.c  , A menos que tu quieras cambiarlos de orden en el puerto B ........

Si cambie de ubicación los puertos por quistión de diseño de la plaqueta se dejo en el puerto B. Ahora no sé porque cuando desconecto y vuelvo a conectar el cable de R/W en algunas ocasiones aparece el texto. Que puede estar pasando?

Desconectado solapower

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 209
Re: Error LCD de 16x2 caracteres extraños
« Respuesta #3 en: 27 de Abril de 2012, 11:43:31 »
Busca en el foro la librería flex_LCD en ella tienes al principio la configuración de los pines y es más facil de adaptar a las necesidades propias,sin tener que configurarlos en el archivo de inicialización, yo la estoy usando y los resultados son magníficos.

Desconectado diegogui

  • PIC10
  • *
  • Mensajes: 22
Re: Error LCD de 16x2 caracteres extraños
« Respuesta #4 en: 28 de Abril de 2012, 09:23:26 »
Busca en el foro la librería flex_LCD en ella tienes al principio la configuración de los pines y es más facil de adaptar a las necesidades propias,sin tener que configurarlos en el archivo de inicialización, yo la estoy usando y los resultados son magníficos.

Gracias por la sugerencia , baje la libreria flex_LCD para lcd12x2 y me funciono un lujo ,problema solucionado.
Tengo una pregunta mas estoy programando un pic16f877a y en algún lugar vi que se tiene que poner un 0 a un bit del trisE ya que con el seleccionas el modo de operacion del puerto D , esto es así y porque ?digamos que significa.

SAludos

Desconectado solapower

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 209
Re: Error LCD de 16x2 caracteres extraños
« Respuesta #5 en: 02 de Mayo de 2012, 07:17:21 »
Supongo te refieres al bit 4 de TRISE el cual según el datasheet configura el puerto D como  I/O normales o como puerto paralelo.
Mira el datasheet pag. 50 y relativas alos puertos afectados.

Saludos

Desconectado T.E.I

  • PIC10
  • *
  • Mensajes: 18
Re: Error LCD de 16x2 caracteres extraños
« Respuesta #6 en: 07 de Mayo de 2012, 23:46:23 »
 mejor modificas la libreria de puerto D  a puerto B  esmuy simple y no te complicas con la libreria  flex_lcd

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3206
Re: Error LCD de 16x2 caracteres extraños
« Respuesta #7 en: 08 de Mayo de 2012, 09:03:33 »
No sé que versión de CCS usas, pero las ultimas versiones traen una libreria en la que puedes definir los pines que quieras. A mí hace poco me pasó lo contrario, con la flex no funcionaba y con la del CCS sí.

La configuración que hice es esta:

Código: [Seleccionar]
#define LCD_ENABLE_PIN  PIN_B3                                    //
#define LCD_RS_PIN      PIN_B2                                    ////
#define LCD_RW_PIN      PIN_B1                                    ////
#define LCD_DATA4       PIN_B4                                    ////
#define LCD_DATA5       PIN_B5                                    ////
#define LCD_DATA6       PIN_B6                                    ////
#define LCD_DATA7       PIN_B7
#include <LCD.c>

Saludos.
« Última modificación: 08 de Mayo de 2012, 09:12:35 por micro_pepe »
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado josecarlos

  • PIC10
  • *
  • Mensajes: 1
Re: Error LCD de 16x2 caracteres extraños
« Respuesta #8 en: 14 de Septiembre de 2012, 19:24:07 »
soy nuevo en esto de los pic, pido ayuda para implementar una lcd 2x16 con los pic

Desconectado NANO1985

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
    • Desarrollos Tecnologicos - Tucuman - Argentina
Re: Error LCD de 16x2 caracteres extraños
« Respuesta #9 en: 14 de Septiembre de 2012, 20:03:14 »
soy nuevo en esto de los pic, pido ayuda para implementar una lcd 2x16 con los pic

intentaste buscar en el foro lo que pides??? hay muchisima info al respecto
"La inquebrantable voluntad de vencer"
"hay dos cosas infinitas... El universo y la Estupidez humana" Albert Einstein
 "El sabio actua sin anhelos, permanece sosegado,... así no es afectado por el resultado de sus acciones sean éstas el triunfo o el fracaso"
- UNIVERSIDAD TECNOLOGICA NACIONAL - FACULTAD REGIONAL TUCUMAN -