# PIC16F877A +  LCD grafica 128 x 64 puntos...



## madned (May 21, 2007)

Buen dia, como todo nuevo siempre tengo una duda lo que me interesa hacer es conectar un pic:

PIC16F877A con 
Una pantalla GLCD  DATASHEET: http://electronica.com.ve/data/ATM12864D.pdf

lo que quiero es el circuito basico ayudenme por favor quiero que salga en el display aunque sea Hello World!

Por favor les pido ayuda...


----------



## tiopepe123 (May 22, 2007)

http://www.techdesign.be/projects.htm
http://www.compsys1.com/workbench/
http://sandiding.tripod.com/Bertys.html

mira por aqui, no te quedes con el numero del display lo interesante es el chip que puede ser de otro fabricante como philips o otro.

Esta es la información recogida para programar un display del nokia 3310


----------



## madned (May 22, 2007)

Bueno gracias por tu post, pero esta es la pantalla en el datasheet dice que usa 

LCD driver IC: KS0108B(2 个)、KS0107B

http://www.hebeiltd.com.cn/?p=LCM.graphic el modelo es ATM12864D-FL-YBW 

lo que me interesa es como puedo hacer el esquema electronico entre el PIC que PIN se conecta con cual en pocas palabras echar andar el circuito.... ando perdido les pido orientacion gracias


----------



## hugo87ica (Jul 9, 2009)

Checa la pagina de mikroe.com, baja el compilador demo MikroC y en el help te explica a detalle el funcionamiento y la forma de programar este tipo de pantallas.


----------



## wardcat (Abr 25, 2010)

hola a todos, antes que nada decir que soy nuevo, tanto en micro, como en electronica.
 Soy un aficionado totalmente entregado pero poco tiempo.
bueno paso a dejar un pequeño aporte.
como estoy empezando pues me e liado con un pic18f4550, justo estaba leyendo sobre la conversion a/d y dije bueno pues hay ba esto.
trato de hacer una aplicaccion de tipo daq y quiero usar el 4550 por el usb, jeje, claro esta cuando aprenda. y bueno e diseñado este pequeño circuito y firmware para el micro y queria que me dijearais como mejorarlo.
gracias a todos por la ayuda.
y no seais muy duros.
aqui esta el archivo:


----------



## saga87 (Jul 4, 2010)

wardcat dijo:


> hola a todos, antes que nada decir que soy nuevo, tanto en micro, como en electronica.
> Soy un aficionado totalmente entregado pero poco tiempo.
> bueno paso a dejar un pequeño aporte.
> como estoy empezando pues me e liado con un pic18f4550, justo estaba leyendo sobre la conversion a/d y dije bueno pues hay ba esto.
> ...



sube d enuevo el archivo mi amigo, me intereso este proyecto


----------



## COSMICO (Abr 24, 2011)

Saludo a todos.
tengo un pequeño problema.Estoy intentando traer los datos de una tabla o arreglo a traves de puntero.
Pero creo que no lo se hacer, les subo el codigo a ver si me pueden ayudar.

Esta es la tabla
unsigned char code,addr_tab[32]={     
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,
0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,
0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,
0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,
};

esta es la funcion.
void  GLCD_Letra_Disp(unsigned char x,unsigned char y,unsigned char code,*s)
{ 

 GLCD_enviaBYTE(GLCD_COMANDO,addr_tab[8*x+y]); 
 while(*s>0)
    { 
   GLCD_enviabyte(GLCD_DATO,*s);    
  s++; 

    }
}

y esta es la forma en que intento ingresar a la tabla o arreglo.
GLCD_INI();

GLCD_Letra_Disp(0,0,"hola");

este el mensaje de error del ccs

attempt to create a pointer to a constant.
 se supone que (*s), es puntero, que estoy haciendo mal 
Gracias a todos.


----------



## Moyano Jonathan (Abr 30, 2011)

Lo que pasa es que el CCS no soporta punteros a constantes...es un error común del CCS.


----------



## COSMICO (Abr 30, 2011)

Gracias amigo moyano.
Me podrías ayudar con un ejemplo de como acceder a estas tablas.
lo que intento hacer, es usando el software bitmap, al generar el código del 
dibujo, adaptarlo a ccs, y poder enviarlo a un lcd de marca china que tengo
El controlador es el st 7920.
Gracias como siempre por tu ayuda Moyano, un saludo


----------



## moisesdiaz86 (Sep 13, 2012)

Hola estimados amigos y colegas de el foro, les vengo con una pequeña inquietud.

Tengo varios meses rompiendome el coco con las graficas lcd, las he hecho funcionar casi a la perfeccion, solo con un pequeño detalle: cuando envio un dato por ejemplo un voltaje medido con un pic (generalmente uso el 16f877, el 18f452 y el 18f4550), al actualizar el voltaje y enviar el nuevo valor, quedan activos algunos pixeles de el numero anterior y con el tiempo pues ya no se ve ningun numero sino un cuadrito negro. he probado borrando el dato viejo y escribiendo el nuevo y pues se nota el parpadeo.

Estoy usando ccs y un cristal de 20Mhz... las librerias son glcd.c y graphics.c.... alquien tiene alguna idea con la que podamos correjir este pequeño detalle???

pd: tengo entendido que en el c18 de la microchip, hay una libreria para manejar la grafica y en las instrucciones se selecciona una opcion y no ocurre este problema... pero quiero seguir probando con el ccs...

muchisimas gracias de antemano...!!!


----------



## wii76 (Sep 28, 2012)

Alguien ha intentado cambiar los pines de conexion a otro puerto? en el LCD2x16 si pude hacer los cambios, pero no encuentro nada que pueda cambiar al GLCD


----------



## 3126012851 (Oct 3, 2012)

alguien me puede ayudar con la conexio de un Lcd de 128x64 y un teclado 4x4 con un pic 16f877a que yo conecte el lcd al pic pero donde conecto el teclado, disculpen la novatada pero es que soy nuevo en este tema y no quiero cometer tantos errores y quiero contar con su ayuda
gracias.


----------



## DOSMETROS (Oct 3, 2012)

Movido                                            aqui


----------



## Carlosrod298 (Feb 25, 2013)

moisesdiaz86 dijo:


> Hola estimados amigos y colegas de el foro, les vengo con una pequeña inquietud.
> 
> Tengo varios meses rompiendome el coco con las graficas lcd, las he hecho funcionar casi a la perfeccion, solo con un pequeño detalle: cuando envio un dato por ejemplo un voltaje medido con un pic (generalmente uso el 16f877, el 18f452 y el 18f4550), al actualizar el voltaje y enviar el nuevo valor, quedan activos algunos pixeles de el numero anterior y con el tiempo pues ya no se ve ningun numero sino un cuadrito negro. he probado borrando el dato viejo y escribiendo el nuevo y pues se nota el parpadeo.
> 
> ...




Debes hacer un rectángulo antes de actualizar el dato para que no te queden estos pixeles

glcd_rect(45, 18, 69, 25, YES, OFF);            // Clear the old voltage


----------



## robertosebastian92 (Jun 3, 2013)

Hola gente del foro, traigo aquí una duda bastante concreta. Siempre he usado G-LCD marca Winstar de 128 x 64 jamás he tenido problemas, el tema con estos LCD es que la marca encarece mucho al proyecto. Conseguí otro aparentemente igual de marca Digole pero el problema es que no lo puedo hacer andar de reemplazo directo, la pantalla me muestra cualquier cosa se llena de puntos por todos lados. y observando las dos datasheets vi que el Digole no tiene cs1 ni cs2 (chip select). hay alguna manera de realizar la adaptación, es posible?

WISNTAR
http://www.winstar.com.tw/products_detail_ov.php?lang=es&ProID=48

Digole
http://www.digole.com/images/file/Digole_12864_LCD.pdf

Muchas gracias de antemano y un gran saludo!


----------

