Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

02/09/2012 #21


por lo visto es la librería de lcd.c, que necesita actualizarse, ya que los dos ejemplos , tanto el tuyo como el del otro chavo, funcionan de maravilla, me podrias sugerir que debo hacer para actualizarla
03/09/2012 #22
Moderador

Avatar de D@rkbytes

CISR dijo: Ver Mensaje
Estas usando el pic 16f877A o el 16f877 ???

probablemente ahi este el problema
Nop. Por ahí no está el problema...


---------- Actualizado después de 11 minutos ----------

maytzuc dijo: Ver Mensaje
me podrias sugerir que debo hacer para actualizarla
Claro.
D@rkbytes dijo: Ver Mensaje
La actualización se realiza a través del mismo programa.
Pero necesitas ser usuario registrado.
También puedes probar con la librería Flex_LCD416 que funciona muy bien.

Suerte.
03/09/2012 #23


Probare la libreria que anexaste pero por pura curiosidad como me convierto en usuario registro para que se actualicen mis librerias
03/09/2012 #24
Moderador

Avatar de D@rkbytes

Directamente en la pagina de CCS http://www.ccsinfo.com/register.php
Compras tu licencia y listo.
No trates de pedir cracks o licencias, ya que esta prohibido, e incurres en faltar a la norma 2.9 del foro.
24/09/2012 #25


problema con pic16f887 y lcd en pic c
hola que tal, tengo un problema con el pic 16f887 y una pantalla lcd 2x16 y espero y me puedan ayudar. El problema es que no logro que el lcd muestre lo que deseo y he llegado al punto de tratar que muestre el tradicional mensaje de HOLA pero no pasa nada, espero y me puedan ayudar a ver que estoy haciendo mal. Pongo los programas y las imagenes de la simulacion.

programa 1 de prueba:
Código:
#include <16F887.h>
#fuses XT, NOWDT, NOPROTECT, PUT
#use delay(clock=4000000)
#include <lcd.c>
#use fast_io(D)

void main(void)
{
   lcd_init();
   printf(lcd_putc,"HOLA");
}
programa que tengo que lograr que muestre:

Código:
#include <16f887.h>
#fuses XT, NOWDT, NOPROTECT, PUT
#use delay(clock=4000000)
#include <lcd.c>
#use fast_io(D)
int x;

main() 
{
       lcd_init();
       while(TRUE)
       {
                  for(x=0;x<16;x++)
                  {
                  lcd_gotoxy(x,1);
                  printf(lcd_putc,"  Hola");
                  delay_ms(500);
                  lcd_getc(x,2);
                  printf(lcd_putc,"  Como estas?");
                  }
         }
}
Imágenes Adjuntas
Tipo de Archivo: jpg pic16f887.jpg (181,9 KB (Kilobytes), 36 visitas)
25/09/2012 #26
Moderador

Avatar de D@rkbytes

fenix129 dijo: Ver Mensaje
El problema es que no logro que el lcd muestre lo que deseo y he llegado al punto de tratar que muestre el tradicional mensaje de HOLA pero no pasa nada, espero y me puedan ayudar a ver que estoy haciendo mal.
Saludos.
D@rkbytes dijo: Ver Mensaje
Moví aquí tu tema por tratarse del mismo problema, y para tener la información agrupada.
Mira desde el post #10. Posiblemente encuentres la solución a tu problema.
Si no encuentras la solución a tu problema en este tema, coméntanos por favor.

Suerte.
27/09/2012 #27


Tenia un problema similar que no pude solucionar con las respuestas de este post, pero leyendo mucho encontré que hay un problema del archivo LCD.C, por lo que busque una versión anterior y funciono. Saludos
01/10/2012 #28


Ayuda con el pic 16f887 - LCD
Hola a todos, tengo un problema con el pic 16f887... lo que sucede es que hice un programa en CCS para que salga un mensaje en un LCD, pero cuando conecto el LCD a los puertos D, del microcontrolador, no pasa nada... . Vi con el voltimetro si el pic mandaba señal y tampoco manda nada... . En el mismo programa tengo un led que parpadea y lo hace de forma normal...

Adjunto mi programa, quisas ahí esté el problema...
Archivos Adjuntos
Tipo de Archivo: txt 16f887.txt (667 Bytes, 40 visitas)
01/10/2012 #29


Tendrías que definir en algún sitio los pines a los que conectas el LCD.

#define use_portb_lcd TRUE

Además te sobra el espacio antes de ( en: (aunque no se si esto es importante o no)
lcd_gotoxy (1,1);
01/10/2012 #30


Josemax ya le aumente el #define use_portb_lcd TRUE y le arregle lo del lcd_gotoxy(1,1) , pero aun nada... el pic sigue sin mandar señal al LCD.... cual podría ser la razón??... mi circuito funciona normal... los leds prenden como deberían... pero el LCD no muestra nada y el PIC no manda señales. Mi programa lo estoy haciendo con PIC-C compiler... el programa podría ser el problema??
01/10/2012 #31


Te falta ver si lo tienes bien conectado. Lo esta? El circuito de contraste esta bien? No sea que no veas nada pero sea por ese motivo.
01/10/2012 #32


Sí está bien conectado, El Vss a tierra, Vdd a 5v, Vee con el potenciometro, de D0 a D3 a tierra y de D4 a D7 a los pines del PIC del puerto D... . Con el voltimetro veo si el PIC manda señal por el Puerto D pero no manda nada... . En otro blog lei que quisas sea porque la libreria del LCD.C de mi programa no está actualizada... podría ser por eso?
01/10/2012 #33


Te quiero avisar que no soy experto en C, aprendiendo. Pero ese enable que te he puesto es para el puerto B, no el D

La conexión es: (CCS C)

PORT.D0 -> enable
PORT.D1 -> rs
PORT.D2 -> rw
PORT.D4 -> D4
PORT.D5 -> D5
PORT.D6 -> D6
PORT.D7 -> D7

No se yo si un voltímetro reaccionara suficientemente rápido a estos pulsos. Esto se mira con un analizador lógico. Uno bien barato http://jwasys.home.xs4all.nl/old/diy2.html
01/10/2012 #34


También lo estoy viendo con una punta lógica pero nada. El enable que me mandaste lo pase a #define use_portd_lcd TRUE... creo que así se refiere al puerto D, pero el PIC no manda nada aún... . Vi si funcinaba con el Puerto B, pero igual el PIC no manda nada
01/10/2012 #35


Pues ya no se me ocurre nada mas, quizá deberías publicar el esquema.
01/10/2012 #36

Avatar de albertoxx

A mi me pasaba lo mismo busca en ves del lcd.c busca en internet el flex_lcd.c ademas tambien antes del include le tienes que decir que pines vas a usar para la transmision algo asi

#define LCD_DB4 PIN_A0
#define LCD_DB5 PIN_A1
#define LCD_DB6 PIN_A2
#define LCD_DB7 PIN_A3
#define LCD_RS PIN_C0
#define LCD_RW PIN_C1
#define LCD_E PIN_C2
01/10/2012 #37


Gracias albertoxx, el pic ya manda señales ... pero igual no sale nada en el LCD, creo que el LCD es genérico y no es hitachi... ese podría ser un problema también verdad?
01/10/2012 #38

Avatar de albertoxx

si te funciona en proteus lo mas seguro es el contraste pone un potenciómetro en vez de una r fija
02/10/2012 #39


Le puse un potenciometro pero nada aun :S , quisas haya puesto algo mal en mi código... lo adjunto para que lo veas... quisas algo esté mal
Archivos Adjuntos
Tipo de Archivo: txt 16f887.txt (1,1 KB (Kilobytes), 32 visitas)
02/10/2012 #40
Moderador

Avatar de D@rkbytes

erickmarcelo dijo: Ver Mensaje
Le puse un potenciometro pero nada aun :S , quisas haya puesto algo mal en mi código... lo adjunto para que lo veas... quisas algo esté mal
Antes de que continues haciendo pruebas fallidas...
¿Ya te tomaste la molestia de leer todo el contenido del tema?
Lo más seguro es que encuentres la solución a tu problema.
También te recomiendo que adjuntes un esquema de las conexiones de tu pantalla al PIC.

---------- Actualizado después de 2 minutos ----------

erickmarcelo dijo: Ver Mensaje
creo que el LCD es genérico y no es hitachi... ese podría ser un problema también verdad?
Cuando se habla de pantallas genericas por lo regular se trata de pantallas basadas en el controlador Hitachi HD44780
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.