# Display de nokia 1100



## albertocasatti

Tengo una inquietud desde ya hace 3 meses, quiero saber si es posible utilizar el lcd del nokia 1100 con un pic?
yo creo que si, pero no encuentro la información correcta.

Gracias


----------



## Fierros

hola, para empezar que queres hacer con el lcd y el pic?.. que queres que logre hacer?.


----------



## albertocasatti

La idea es poder graficar en el display, para no tener que usar uno de los lcd powertip que son lentos.
El pic es un 16f873a y basicamente quiero capturar una señal con el ADC y verla en pantalla


----------



## albertocasatti

De no poder usar el display del nokia 1100, alguien sabe de algun display de celular que se pueda utilizar y sobre todo que se consiga facilmente?

En internet encontre unos, pero el celular no entró a la Argentina, creo que era el 3310


----------



## jlarmando85

Hola, yo también estoy interesado en el proyecto, y he buscado algo de información... sobre nokia 1100 encontré muy poco... lo q si encontré es sobre nokia 5120 (el mas viejito, pantalla b&n)...
Acá paso los links... 

http://serdisplib.sourceforge.net/ser/pcd8544.html
http://sandiding.tripod.com/lcd.html
http://www.microsyl.com/

También se q esos displays son de 48 x 84 Pixeles... mientras q el del nokia 1100 es de 65 x 96 (por lo q yo creo q el PDF del controller/driver es el siguiente:
http://www.digchip.com/datasheets/parts/datasheet/364/PCF8814.php
Lo q no se si el pinout es igual al q figura en la pagina de arriba, o por ser otro LCD cambia...

Bueno... espero q esto sea útil para alguien... y cualquier información nueva les agradecería q la publequen en este foro...
Gracias... y hasta pronto!!!


----------



## albertocasatti

Gracias
Ya mandé a hacer las placas, lo pruebo y lo publico asi tenemos algo para empezar

Es cuestion de fe


----------



## albertocasatti

No doy pie con bola
El LCD del nokia 1100 me esta haciendo renegar


----------



## albertocasatti

Gente.

Le gane!!!

Tengan cuidado con los niveles electricos, es muy jodido

Suerte


----------



## xradeon

Hola oye me podrias decir que circuito usaste?? Lo conectaste al PC por el puerto paralelo no es asi?? Es que yo ando igual que no puedo con el circuito q hay para el LCDHYPE. Saludos!


----------



## xradeon

jaja veo q no esta conectado al pc... bueno seguire probando..


----------



## xradeon

Jaja ya vi y vi tu post de laneros segun yo entonces esta conectado al puerto serial no?? Podrias postear fotos de tu circuito?? y con que programa lo controlas??? Saludos!


----------



## albertocasatti

Hola
Para conectarlo al PC, el circuito te sirve, lo que tendrias que hacer es configurar las patas para que coincidan con la del puerto paralelo, al PIC lo tengo trabajando con 5V asi que electricamente es compatible.

Saludos


----------



## albertocasatti

La imagen la tiene cargada en la flash del micro
despues les paso uno completo para que puedan pasar las imagenes directamente desde la pc por puerto serie

Saludos


----------



## montotolandia

que protocolo usaste para escribir sobre el lcd


----------



## albertocasatti

Para que escriba el PIC en el LCD utiliza el modo SPI de 3 lineas y 9 bits, respecto al protocolo, no tienen ninguno, es escritura directa.


----------



## juno303

puedes postear tu circuito ?? para conectar el display del nokia1100 al pic


----------



## juno303

jaja, ahora ya veo tu circuito, es que hace rato habia entrado como visitante, yo hice funcionar tambien un dispaly de nokia, pero el que es a colores,  por si lo quieres lo tengo aqui:
http://comunicom.com.py/juno/3595/


----------



## juno303

puedes postear el codigo fuente del pic?


----------



## albertocasatti

codigo en C

Suerte


----------



## juno303

no me funciona casatti...   , que podria ser ? copie exactamente el circuito, lo alimento con 3.6v, cuando el pic resetea sale unos ruidos en la pantalla y luego se queda limpia, o sea, unas rayas raras y luego se pone limpia... eso si, al resetar el pic y por lo tanto la pantalla hay un baja la tension a 0 casi, o sea, como si fuese un corto.. ahi al parecer ya vamos mal..    yo pase el codigo a CCS, lo unico que modifique es el acceso al puerto, el resto es lo mismo...

me puedes mandar el codigo compilado, para pic 16f877

a ver que podria ser...
saludos, y gracias desde ya


----------



## nutriax

albertocasatti dijo:
			
		

> Gracias
> Ya mandé a hacer las placas, lo pruebo y lo publico asi tenemos algo para empezar
> 
> Es cuestion de fe



Hola, me podrias pasar información para el manejo del display del nokia 1100? te lo agradecere bastante. gracias de antemano.


----------



## albertocasatti

Hola gente, he vuelto

les adjunto el codigo fuente para el pic 16f877a que pidieron.

a todas las patas le puse un divisor resistivo para trabajar con 2.5V, la unica que tiene un regulador es la VLCD. esta ultima anda por el orden de los 2.9 a 4 V fuera de ese rango no enciende el display


Suerte.


----------



## Lexinr0n

casatti me podrias ayudar de forma mas detallada como escribir en el display de un pic (16f84) me gustaria entender como funciona

perdon en un display lcd den nokia 5120 con el pic..... para despues ponerle un modulo gps


----------



## albertocasatti

En breve les subo la información nueva que tengo de los display


----------



## albertocasatti

mas información del LCD NOKIA 1100


----------



## Andres Cuenca

albertocasatti dijo:
			
		

> mas información del LCD NOKIA 1100



Alberto, 

Excelente información. gracias


----------



## albertocasatti

aparentemente el display soporta como maximo 5V, lo he conectado a 4.5V y anda


----------



## Edgardo

albertocasatti dijo:
			
		

> aparentemente el display soporta como maximo 5V, lo he conectado a 4.5V y anda


Hola alberto una consulta ya que estoy intentando usar una lcd de un Nokia 1110, no sabes si es el mismo controlador? ya que no la puedo hacer andar con tu codigo
desde ya muchas gracias edgardo


----------



## albertocasatti

edgardo
hasta donde puede leer, me parece que si. el ste2007 es de 96x68 pixels asi que puede andar, sería cuestion de probarlo un poco.

saludos


----------



## elcuchi

Hola Alberto! segun la hoja de datos se pueden direccionar 4 lcd nada mas en modo i2c?? o mi ingles no es muy bueno?? si no es asi como configuras la direccion? 
Saludos!


----------



## albertocasatti

hola
La verdad que el I2C no lo he probado, el modo serial me resulto mas simple para la aplicacion que necesitaba.

Se que en el modo serial le podes indicar a cual le queres mandar datos con el Chipselect

Saludos


----------



## cox

hola, quiero intentar usar el display para mostrar los niveles de tensión y amperajes entregados por una fuente de alimentacion variable. se ha hecho algo asi? muchas gracias


----------



## f_point

Hola a todos.

Resulta que soy nuevo aqui, y recientemente se me habia ocurrido usar un display LCD de los usados en los celulares para hacer mis montajes. Casualmente llego a mis manos un Nokia 1100 a mis manos, el cual procedi a deshuesar inmediatamente. Luego de hacer unas busquedas con google, di con este foro, y encontre justo la información que necesitaba.

Agradezco mucho a todos en este foro por la información publicada, ya que sin ella me hubiera sido imposible llevar a cabo mis proyectos con estos display. Agradezco particularmente a albertocasatti por compartirnos la información detallada del display.

Veo que el tema ya lleva mas de 1 año sin ser discutido, y que hay una duda reciente sin contestar. Con mucho gusto colaborare con cox, es lo menos que puedo hacer.

Imagino que llevas ya un buen tiempo con el proyecto de la fuente variable, y que probablemente ya lo hayas terminado, sin embargo asumo que aun estas haciendo la planificacion del proyecto. La idea me parece perfectamente realizable, y yo digo que si se puede hacer lo que tu dices.

Realmente no he visto esa clase de cosas hechas con pantalla LCD, aunque si he visto fuentes digitales, pero todas usan display de 7 segmentos para las lecturas. Solo hay un par de aspectos a considerar para el diseño:

- El display opera con 3.3V solamente, deberas de extraer los 3.3V fijos de alguna parte de la fuente. Puedes solventarlo facilmente con un regulador 7805 (para el MCU) y un regulador 78L33 (alimentado desde los 5V) para alimentar el LCD.

- Generalmente los MCU operan con 5V, pero si usas PIC, puedes usar los de la serie 'LF' (tal como el PIC16LF876A). Esos pueden operar tan bajo como 3.0V sin problemas, claro a una velocidad mas baja (creo que 4MHz como maximo).

- Si el MCU opera con 5V, deberas hacer de alguna manera el acople entre la LCD que opera a 3.3V y el MCU. Puedes hacerlo de 3 formas: 1. Usar un integrado convertidor de nivel 2. Usar divisores de tension (Una resistencia de 1K y otra de 2K producen 3.3V) y 3. Usar logica de colector abierto conectada a 3.3V y usar el registro TRIS del MCU para enviar los datos, para que parezca que el MCU tiene salidas de colector abierto.

Si quieres puedes hacer el multimetro separado de la fuente. De ser asi, yo usaria un PIC12F675 que ya posee ADC interno y que opera a 3.3V sin oscilador. Con el haria las lecturas de voltaje directo del circuito de la fuente (con las protecciones del caso por supuesto) y mostraria las lecturas en el LCD. Ahora que si quieres usar un solo MCU para toda la fuente, recomiendo mejor otro MCU. El PIC12F675 puede ser conseguido en mi pais tan barato como 5USD, y no me iportaria usar 2 MCU en ese caso.

Bueno, espero mis comentarios sirvan de algo.


----------



## albertocasatti

Gente les dejo el circuito para la fuente, pero es muy poco lo que pueden mostrar en pantalla con un pic de tan poca flash, le recomiendo un PIC16F873

Suerte


----------



## leogarberoglio

Estimados, estoy muy agradecido por lo que han publicado hata la fecha. Creo que con esto y un poco de ingenio cualquier experimentado podrá hacer andar su display (yo estoy comenzando con las pruebas).
Tengo una pantalla de un nokia 1100, el tema es que no estoy seguro que el driver del mismo sea pcd8544. En la parte delantera del display hay una calcamonía que dice ZZ1zz   8769-2   Z505349 . Hay alguna forma de saber si es el mismo del que ustedes están hablando? 
Lo que pude ver hasta ahora es que ese cel tiene una resolucion de 96x65 pixel, por lo tabto supongo que el integrado anterior es el que lo maneja.
Despues estube viendo la pagina en donde se suguiere la conexion al puerto paralelo, mi idea es arranca con algo simple en c o basic para ver lo que puedo lograr hacer y las dificultades que me encuenrtro antes de pasar a un pic (uso motorola).
Tambien tengo el datasheet del pcd8544 en donde veo el set de instrucciones y el direccionamiento. Recien estoy comenzando por lo tanto no estoy seguro de que instrucciones debo usar para inicializar correctamente el display. Sería de mucha ayuda un pequeño ejemplo de inicializacion mínima y escritura de un punto como para poder probar el hardware y los timing necesarios. Una ves asegurado el hardware probaría las capacidades con software.
Espero sigan postiando sus experiencias ya que son muy valiosas para los que recien estamos intentando reciclar esas pantallas.

Sds


----------



## leogarberoglio

les dejo algunos links interesantes.
Pinout nokia 1100
http://www.sunbizhosting.com/~spiral/secret files/1100lcd.html (este no es igual a mi pantalla, pero coincide con el pdf de casatti)
http://www.8052.com/forum/read.phtml?id=139043 (En este y en el anterio la X delante del nombre del pin indican que son de logica negativa)

En breve publicaré los resultados obtenidos. Estoy probando conectarlo directamente al puerto paralelo para mostrar resultados simples.

Sds


----------



## f_point

Siento no haber respondido antes. Mi culpa por no revisar todos los foros :-/

Mi estimado leogarberoglio, temo que el PCD8544 NO ES el controlador de la pantalla del telefono celular Nokia 1100, sino mas bien se trata del STE2007.

Debo recalcar que alguna vez tuve esa sospecha, pero temo que la descarte con la información que tan amablemente nos han compartido aqui. He programado pantallas LCD de telefonos celulares Nokia con ambos chips (PCD8544 y STE2007, de la primera, dos unidades de telefonos totalmente distintos). Y te puedo asegurar que NO son compatibles entre si... al menos en la inicializacion.

Busca un par de posts atras para que descargues el documento que albertocasatti nos compartio tan amablemente. Ahi encontraras toda la información necesaria para iniciarte con la pantalla en cuestion.

Saludos.


----------



## cox

Buenas a todos!

Al ingeniero Alberto, mis respetos por compartir sus conocimientos!

f_point, exactamente es lo que ando buscando. tengo un LCD de nokia 1100 funcionando, al que quiero usar para que sencillamente me diga la tension & amperaje que preciso entregados por mi fuente. la misma es el proyecto de 5to año de mi vieja escuela (regulable 0-30V 3A, construida desde cero incluído bobinado transformador). originalmente està diseñada para funcionar como tú dices con displays de 7 segmentos. pero la tengo sin ese "agregado" porque en ese momento no me llamaba la atenciòn. Años despuès se me diò por usar el LCD del nokia 1100.

Las obligaciones que tenemos a veces no nos permiten estar mas en contacto, harè lo posible para colaborar con uds.

un abrazo,
cox.


----------



## fernandob

les cuento por si les sirve :

los CDMA como ser los Kyocera se consiguen regalados por que es tecnologia que ya no se usa, es solo onseguir información del display.

saludos


----------



## porromian

a ver, yo estoy haciendo un proyecto con el lcd de nokia 1100 y el 89c52, se debe mostrar en pantalla una cadena de caracteres y que rote indefinidamente(como un publik de los de la calle). Si lo logro os daré el código más adelante.


----------



## hito88

Estuve tratando de hacer funcionar un Lcd de nokia, al parecer tenía problemas con la corriente de salida del micro... en fin después de tanto intentar cambié el LCD y lo pude correr.
  El punto está en que probé el primer LCD que tuve en mis manos, y al encender el led, me di cuenta de que era de un Nokia 1108. 

La cuestión es:

...Sí hay alguna diferencia entre el LCD de Nokia 1100 y el 1108 ?...


----------



## zam_and

Hola que tal soy nuevo en este foro.. pero he esta al pendiente sobre este tema de las pantallas del celular, La verdad no tengo idea si hay diferencia entre estos 2 celulares que mencionas, yo ya manejo la pantalla del nokia 1100 aunque no puedo realizar movimientos o funciones graficas todavia podria decirse que ando en el "hola mundo" pero ya es algo, tambien he podido desplegar valores de ADC asi como, el valor de la medida de un sensor ultrasonico..

Lo que todavia no se es darle movimiento o hacer graficas, navegando encontre un programa en el cual te simulaba la pantalla del celular y te generaba la matriz para que se desplegara.. el problema es que no lo encuentro..

Bueno creo que muchos de ustedes utilizan Pic y mm bueno yo utilizo un ATMEGA32 pero cualquier cosa que yo les pueda ayudar pues con gusto y bueno el programa esta en C++ y no en ensamblador pero tengo los diagramas que utilice y si quieren les puedo pasar mi codigo..   para muestra basta un boton :evil:


----------



## albertocasatti

rutinas para graficar con lcd y un programa para cargar bmps


----------



## Fonsi

hola....soy nuevo en el foro............Lo que sucede es que para este semestre debo realizar un proyecto empleando un microprocesador AT89C52 y una pantalla lcd del nokia 1100.Debo hacer que aprezca en la pantalla un menu de 5 items y en uno de ellos se debe mostrar una grafica.... Agradeceria si me pudieran ayudar con información para aprender a manejar esta pantalla ya que he estado buscando en internet y no he podido encontrar nada.........................

Gracias


----------



## oscareev

Fonsi
Sam_and

Cordial saludo

Bueno quisiera saber si esta pantalla es SPI y la podemos conectar al at89c52.

Lo primero es saber la secuencia para escribir en el lcd y transformarla para el AT89C52 y quien nos puede colaborar es Andres Zamora quien se puso a disposicion para enviarnos como conecto el display ademas de información que nos pudiera colaborar.

gracias.


----------



## albertocasatti

el protocolo del display es serial con clock, lo unico que tienen que hacer es poner un uno o un cero y dar el pulso de clock, en las librerias que estan disponibles en el foro indica como enviar cada comando.

Como todo el codigo esta en C, lo unico que tienen que hacer para utilizarlo en Atmel o PIC, es reemplazar las macros del respectivo puerto.

en un post anterior tienen las librerias graficas para hacer puntos lineas y para colocar un bmp en pantalla y como todo se basa en funciones que llama a funciones, solo tienen que reemplazar el codigo en la funcion de escritura.

saludos.


----------



## albertocasatti

Guillermo

antes que nada, las tensiones de trabajo son de 3 a 3.6 V tipico 3.3V, con 4V en Vdd corres el riesgo de quemar los leds

la tension mas importante es la Vlcd con la cual le das mas o menos contraste (sin querer).

voy a intentar guiarte un poco para que uses la idea en ensamblador

todos los "bytes" que se envian al lcd son de 9 bit, el primero indica si es un comando o un dato y los siguiente obviamente son o un dato o un comando Smile

a diferencia de algunos display el del nokia utiliza el flanco ascendente del clock para tomar el bit, por lo que tendrias que poner en la pata que usas como clock, un cero, poner el valor del bit del byte a transmitir (el mas alto) en la pata de dato y poner luego el valor de la pata de clock en uno.

esto lo tenes que repetir para todos los bits a enviar, te repito, el primer bit a enviar es el mas alto del byte

en C sería así:

sclk = 0;
sda = dc; // 1 para dato y 0 para control
sclk = 1;

// enviar byte de control/dato
for(i=0;i<8;i++){

sclk = 0;

if(c & 0x80)
sda = 1;
else
sda = 0;

sclk = 1;
c <<= 1;


}


algo muy importante y con lo que renegué mucho fue con la inicializacion del display, si no esta bien inicializado no anda

esto inicializa el lcd

rst = 0;

Delay_ms(200);

rst = 1;

Delay_ms(200);

Write_lcd(CMD,0x25); // VOP
Write_lcd(CMD,0x90); // EV
Write_lcd(CMD,0xA4); // Display en modo normal
Write_lcd(CMD,0x2F); // power control set


// Write_lcd(CMD,0xd1); // MUX
Write_lcd(CMD,0x40);
Write_lcd(CMD,0xb0);
Write_lcd(CMD,0x10);
Write_lcd(CMD,0x0);
Write_lcd(CMD,0xC8); // invertir filas
Write_lcd(CMD,0xa1); // invertir columnas

Write_lcd(CMD,0xac);
Write_lcd(CMD,0x07);

Write_lcd(CMD,0xf9); // activar modo icono (acelera encendido)
Write_lcd(CMD,0xac); // ubicacion de imagen
Write_lcd(CMD,0x07);



Write_lcd(CMD,0xaf);



fijate los delay que necesita y los comandos.

cualquier cosa, tenes mi mail. seguimos por ahi.


un abrazo.

alberto


----------



## zam_and

Que tal saludos aqui pongo los diagramas asi como las librerias que utilice, repito todo es para el ATMEGA32 y bueno yo utilizo un LM358 como seguidor de voltaje, esto para bajar el voltaje de 5v, a 2.8 que es lo que maneja la hoja de datos del nokia, tambien infica que VDD1 debe de estar a 1.8v pero pues yo corri el riesgo y lo conecte a 2.8v de la salida de LM358 y todo funciona correctamente   , el micro lo alimente con 2.8 tambien y bueno ya tienene la prueba.    

El unico error que tengo es en el posicionamiento de las lineas en el comando Gotoxy(0,0); ya que si coloco (0,1) me muestra la mitad del texto y aun no se como resolverlo y bueno todavia no se como empezar a dibujar y por ahi vi que pusieron un archivo para generar una matriz y sus comandos pero apenas lo checare.

Y perdon por la tardanza pero por otras razones no habia ingresado a este foro.


----------



## albertocasatti

zam_and, fijate en estas librerias, vas a solucionar algunos problemas en la presentacion de texto y sobre todo vas a poder dibujar con muy mucha velocidad en el LCD.

lamentablemente como estas librerias son parte de un desarrollo que hice para una empresa, no puedo dar toda la información, tal como las TxTools de las cuales hago algunas conversiones de entero a cadenas sin ocupar recursos ni espacio del micro, pero las librerias graficas estan completas.

otro pero que tiene es que el software generador de la matriz de caracteres TTF tambien el propiedad de ellos ahora, asi que solo puedo dejarles 2 tipos de fuentes.

tambien les adjunto unas captura en un LCD de 128x64 hechas con estas librerias, para que tengan una idea de hasta donde las pueden exprimir.

un abrazo.


----------



## zam_and

Que onda Alberto, pues muchas gracias por las librerías , se ve muy padre tus pantallas y bueno creo que me serviran de mucho, sabes apenas mande el mensaje anterior y al dia siguiente me meti de lleno a poder hacer un dibujo, mas o menos tarde como 4 horas   pero al fin logre dibujar lo que yo deseo,   como dije checare lo de tus librerias que me parecen muy bien, y aprovechando, tengo una duda:

 fijate que como ya puedo dibujar con las librerias que yo mande, intente hacer una pequeña animación, alomenos con tres imagenes pero, la primer imagen la desplegaba estupendamente, la segunda imagen con pequeña información basura ej: A?1234, bueno numeros y letras en una linea ("obvio estos no deberian ir") y la tercer imagen ya no se muestra porque todo es basura es decir puros signos y numeros.

Encontre el programa que me genera los BMP a la matriz que es la que se desplega y lo unico que hago es cambiar el nombre de la matriz para mostrarla en ciertos tiempos, pero me ocaciona ese error.

Como estoy viendo tu libreria supongo que ese "refresh" que haces es para mandar a dibujar al LCD, y el LCD_Clear es para limpiarlo. Si no me equivoco con el Lcd_Clear debes de mandar a cero el buffer o la memoria del lcd no? pienso que ese es el error que tengo, no se como limpiar el buffer y se me ocurre que es asi. con el LCD_Clear.

Bueno te mando una imagen de lo que pude hacer y pues espero que sirva de algo y muchas gracias, saludos.


----------



## Guest

albertocasatti dijo:
			
		

> zam_and, fijate en estas librerias, vas a solucionar algunos problemas en la presentacion de texto y sobre todo vas a poder dibujar con muy mucha velocidad en el LCD.
> 
> lamentablemente como estas librerias son parte de un desarrollo que hice para una empresa, no puedo dar toda la información, tal como las TxTools de las cuales hago algunas conversiones de entero a cadenas sin ocupar recursos ni espacio del micro, pero las librerias graficas estan completas.
> 
> otro pero que tiene es que el software generador de la matriz de caracteres TTF tambien el propiedad de ellos ahora, asi que solo puedo dejarles 2 tipos de fuentes.
> 
> tambien les adjunto unas captura en un LCD de 128x64 hechas con estas librerias, para que tengan una idea de hasta donde las pueden exprimir.
> 
> un abrazo.




Sin meterme en el tema, ¿porque no las liberaste primero bajo licenia GNU? Con ella puedes vender tus desarroyos sin dejar que la empresa se apropie de todos los derechos, basta que les digas que usaste un proyecto antiguo ya desarroyado que modificaste para ellos. Ademas, ellos podrian sacarle provecho comercial sin miedo a que competidoras usen el mismo soft ya que tu tendrias que licenciarlas, por lo que pasarias de vender tus desarroyos por completo a hacer un contrato de exclusividad comercial.


----------



## albertocasatti

Hemp, el contrato que se firmó no me permitia liberar ninguna información, pero como las librerias graficas si son mias y aparte estan adaptadas para otro display, puedo difundirlas.

cosas que uno aprende a los golpes


saludos


----------



## Moyano Jonathan

En este momento estoy pasando las librerías a C de CCS para manejar el display mediante un PIC18F2550. El tema es que no tengo el display pero en cuanto lo consiga hago las prácticas y posteo los resultados.


----------



## Moyano Jonathan

Acá esta el programa de control, como no tengo el LCD se me hace complicado hacer las pruebas. Por eso lo posteo , el que tenga el circuito a mano para probar que me diga si está bien cualquier cosa lo corrijo.   

Quiero hacer un agradecimiento especial al señor alberto por darnos toda la información para manejar la pantalla.  


PD: Aca esta el archivo me lo habia olvidado..........


----------



## zam_and

Saludos Moyano Jonathan, mas arriba encontraras un archivo en el que puse el circuito que utilice para conectar la pantalla del nokia 1100. espero que te sirvan de ayuda. yo los probe y me funcionan muy bien.


----------



## albertocasatti

zam_and

para la mayoria de los casos limpio la pantalla antes de enviar nuevos datos, pero para una animacion que va a ocupar toda la pantalla no es necesario.

el problema de la información basura en el lcd, puede ser porque tengas mal algun puntero y estes leyendo cualquier cosa de la memoria.

Para todos:

Les adjunto un programa para convertir BMP de 96x65 en buffer para C.

cualquier cosa que no les ande o les presente la información al reves, comenten asi lo corrijo.

suerte


----------



## albertocasatti

un dato que me estaba olvidando,

si mandan el buffer que genera directamente al lcd, se ve la imagen directamente

unsigned char Icono[9][96];  // aca va el buffer

Write_lcd(CMD,0xb0);
Write_lcd(CMD,0x10);
Write_lcd(CMD,0x00);



for(y=0;y<9;y++){
   for(x=0;x<96;x++){
 		Write_lcd(DTA,Icono[y][x]);
   }
}


y siempre, pero siempre recuerden pones las coordenadas al origen con el 0xB0 y 0x10

suerte


----------



## pol90210

hey el codigo para escribir sobre este display alguien lo tiene, si es en enasmblador mejor


----------



## albertocasatti

el codigo esta en C, y se encuentra en el foro para descargar

saludos


----------



## ALEX_ELECTRO

Hola que tal soy nuevo en el foro y me encuentro en aprietos con un proyecto.......En este me piden que debo...realizar el motor stirling y mostrar en la pantalla de un nokia 1100 la temperatura a la que esta trabajando el motor......No he tenido problemas con el motor.....Pero mi problema es que no he podido deplegar los datos en pantalla....Pues el micro que utilizo es el ATmega32.....Le agradeceria mucho a quien pueda ayudarme.


----------



## albertocasatti

ALEX_ELECTRO, en el foro estan las librerias para los pics, pero estan escritas en C por lo que solo tendrias que cambiar los registros para que la salida de datos la haga por las patas correspondientes al ATmega. todas las rutinas estan en "standar C" por lo que la unica rutina a modificar para tu caso es la "Write" que es la primera y los valores para el pin de reset y clk y dta.

saludos


----------



## ALEX_ELECTRO

Gracias hermano......Pero ya pude hacer el programa y simularlo en el proteus7.5 en la pantalla nokia 7110, el tipo de comunicacion que use fue SPI, pero ahora el problema que tengo es si ese mismo programa que use para el nokia 7110 me sirve para el nokia 1100, si saves o alguien save que ajustes se pueden hacer para que este sirva se lo agradeceria...Si pueden me responden antes del lunes; pues ese dia tengo que presentarlo.......Y solo me falta hacer esa prueva.

Gracias Alberto por responderme. Att: Alex


----------



## albertocasatti

tendrias que ver la hoja de datos del lcd 1100 que esta en el foro, para asegurarte que los comandos sean los mismos y verificar que los pines coincidan

nokia utiliza para "todos" los modelos el mismo sistema de comunicacion y configuracion al menos hasta el 2156 que es a color.

los pines del lcd estan en el foro.

suerte


----------



## soulraver

alex en realidad no te sirve, por que hay una diferencia en la conexion y en el protocolo ya que el 1100 no tiene el pin d_c.  
y espero que funcione, lo tendre en cuenta para el proyeto.


----------



## Manonline

che muy lindo tema... dejo un comentario asi me queda en mis mensajes.

mis felicitaciones para vos Alberto!

saludos,
mano.


----------



## zam_and

Alex que tal yo subi el programa y el microcontrolador que utilizo es el atmega32 esta en las paginas anteriores y la imagen que se muestra es de un programa para atmega32. solo busca en las paginas anteriores puse el diagrama que utlice y los programas.


----------



## ALEX_ELECTRO

Gracias Zam and, con tu programa pude salir de mucas dudas.....pero todavia tengo un problema, y es que  yo debo utilizar el I2C(TWI) del microcontrolador, y por lo que veo no fue necesario en tu programa, y he comprendido como usarlo, incluso probandolo con el I2C Debugger del proteus me salen correctos, pero al momento del de trabajar en la pantalla como tal, no funciona.......entonces si tienes un programa usando el TWI del ATmega y la pantalla del nokia, te lo agradeceria.....

Pero por otro lado creo que tu programa me servira para entretener al profesor mientras logro usar el TWI......Gracias hermano........Este foro es Excelente


----------



## ALEX_ELECTRO

Si alguien save como simular la pantalla del nokia 1100 en el proteus, creandola con la instruccion Make Device.....


----------



## zam_and

Que tal Alex, mm mira no he probado con I2C puesto que ese programa me sirvio para lo que necesitaba hacer, lamento no poder ayudarte en este caso saludos


----------



## cherranz

Gracias, a toda la gente de este foro, su información me ha servido mucho para tratar de conectar un display  1100 a un arduino
estoy recien empezando y por eso estoy en esa plataforma. la idea es llegar al pic despues.
denuevo  muchas gracias, la información de la nokia 1100 no es muy comun en la red.
saludos


----------



## Pablog86

Muy buena información, veo como se mantiene en el tiempo este post. Yo por mi lado estoy intentando hacerlo andar con un 8052.
Saludos.


----------



## gonzalo345

Muchicimas gracias Alberto por toda esa informacion ahora estoy tratando de hacerlo yo apenas pueda subo la captura


----------



## Pablito_eyk

hola gente.. estuve leyendo el foro.. pero me gustaria pedirles un favor.. si alguno me podria explicar como es la tranmision de datos, incializacion del lcd y como escribir luego..

les pido esto porque yo no manejo pic. manejo micros motorolas.. y no entiendo nada de programacion en C.. solo asembler.. y me gustaria probar con un lcd de nokia y un micro motorola pero no me quedaron muy claras las cosas que pedi arriba

desde ya muchas gracias!!

saludos


----------



## javierhidalgo

Que se debe cortar del celu; para solo dejar la pantalla????????


----------



## gonzalo345

Pablito_eyk dijo:


> hola gente.. estuve leyendo el foro.. pero me gustaria pedirles un favor.. si alguno me podria explicar como es la tranmision de datos, incializacion del lcd y como escribir luego..
> 
> les pido esto porque yo no manejo pic. manejo micros motorolas.. y no entiendo nada de programacion en C.. solo asembler.. y me gustaria probar con un lcd de nokia y un micro motorola pero no me quedaron muy claras las cosas que pedi arriba
> 
> desde ya muchas gracias!!
> 
> saludos


Fíjate en las hojas de datos, el integrado es el STE2007 de ST, alberto publico una guia también


----------



## turok_gt

Tengo una pregunta, alguien me puede decir si ha hecho funcionar el Lcd del nokia 1100 a 5v, para no tener que poner el divisor de voltaje? esto por ke el pic que uso lo trabajo a 5v por que va directamente alimentado del puerto usb. gracias por su respuesta.


----------



## gonzalo345

No no va a funcionar con 5 volt, fíjate que alberto publico los voltajes máximos y nimimos vas a tener que usar un pic de la serie lf o sino algún bufer, hay unos de microchip que transforman de 5 a 3.3 en este momento no me acuerdo cual era pero después te lo paso


----------



## diegoja

Muy lindo proyecto con el display del nokia, vere si en las vacaciones lo armo. Saludos


----------



## pinnchus

Alguien sabra cual es el controllador del display de un sonyericsson t200?
Gracias,


----------



## iagm

Alguien ha trabajado alguna vez con los display de los kyocera phantom?

Busco información sobre los mismos y no encuentro mucho para arrancar.

Saludos


----------



## cgonzaleztobar

Saludos a todos, yo uso pantallas del 1100 para mis proyectos, pero he tenido problemas con el contraste de estas, resulta que si uso displays con la referencia CTT0032NA1 me funcionan bien, pero si uso otro cualquiera el contraste es muy bajo, casi no se ve...si alguien tiene alguna idea del porque de este problema le agradeceria mucho.
Pregunta: es necesario que el voltaje de alimentacion del PIC sea el mismo del LCD?
Gracias.


----------



## Tavo

increíble lo tuyo Alberto Casatti.

Muy buen proyecto. Está muy interesante esto...

Saludos!
Tavo10


----------



## schppcss

Muy buen Aporte ! .... Se pasaron.
Moyano me podrias ayudar en la conexion de la pantalla al pic18f2550 ....
Muchas Gracias


----------



## Jadacuor

hola... excelente post y al ingeniero alberto cassati muchas gracias por compartir toda esta informacion.... me pregunto si ya alguien habra creado las librerias para simular en proteus la lcd del nokia 1100 y que las pueda compartir


----------



## turok_gt

gonzalo345 dijo:


> No no va a funcionar con 5 volt, fíjate que alberto publico los voltajes máximos y nimimos vas a tener que usar un pic de la serie lf o sino algún bufer, hay unos de microchip que transforman de 5 a 3.3 en este momento no me acuerdo cual era pero después te lo paso


Amigo, te cuento ke pude hacer funcionar el display de un nokia 1100, a 5v y funciona perfectamente, solo le puse una resistencia de 1.5k ohms para encender los leds blancos ke iluminarian el fondo de la pantalla, el resto de pines van conectados directamente a 5v. de todos modos gracias por responderme.


----------



## Dario

felicito al ingeniero alberto cassati por este proyecto, esta muy intersante. me gustaria saber que posibilidades hay de hacer funcionar el display utilizando el comando SHIFTOUT de picbasic, ¿se podra?
saludosss


----------



## iagm

Hola,
No tuve exito con el LCD del Kyocera, estoy probado con uno de un Nokia 1108, alguien tiene el pinout del LCD?
No tengo clara la secuencia y los tiempos para la inicializacion, alguien tendrá esto también?
Gracias de antemano


----------



## remramon2007

Hola gente como estan? 
ante todo quería agradecer por la info que compartieron.. muy buena... hace rato tenía ganas de desarrollar algo como esto...

pero.. me encontre con unos problemas... más de uno me va a mandar leer algún libro antes de preguntar pero... bueno, les cuento que programo en pbp y en asm y recién me estoy metiendo en el mundo del CSS. 
La cuestión es que me baje los códigos que publicaron en este hilo y baje un zip en el que estan 3 archivos lcd.c, lcd.h, mainlcd.c. Hasta ahí todo bien pero la cosa se me complica cuando quiero cargar en algún programa y luego lo quiero compilar... 
alguien me podría dar una mano y decirme con que programa lo tengo que compilar?
estuve intentando con el CSS que lo tengo montado en el mplab pero me arroja errores... debe ser algún otro compilador C, o es mi falta de conocimientos...

también me descargue un código de la página micropic (este es el hilo http://www.micropic.es/index.php?option=com_remository&Itemid=77&func=startdown&id=146), me instale el mikroC pero sin éxitos...

Pero también sin éxitos... creo que tendría que crear un proyecto y luego cargar los archivos pero.. no se como van los archivos... la cosa es que hice un proyecto y agregue los archivos pero cuando compilo me tiran varios errores... hace unas horas que estoy con esto.

Me voy a descansar se me hicieron las 6:19 AM jaja, hace unas 12 horas que estoy con esto... jajaja

Bueno espero me tiren algo de info como para lograr generar el proyecto y compilarlo... despues veré de migrarlo a otro lenguaje o investigar más este...

Gracias.

Un abrazo Ramón!!


----------



## remramon2007

Hola, gente como estan?

yo acá trabajando con el código para ver si puedo escribir algo en la pantalla del nokia

ahora estoy trabajando  para migrar el código para CSS pero... lo llevo a la práctica y no me  funciona... les comento que con CSS recién me estoy iniciando...

el código lo único que hace es limpiarme toda la pantalla no logré que dibuje nada.

las conexiones del display son, visto de frente con el terminal de concciones hacia arriba de izquierda a derecha:

1: alimentación de led's de la pantalla, lo tengo desconectado, para bajar consumo
2: 4 volts
3: 2.5 volts (coloque un divisor resistivo)
4: portb.0 (coloque un divisor resistivo para lograr 2.5 volts)
5: portb.1 (coloque un divisor resistivo para lograr 2.5 volts)
6: masa
7: portb.2 (coloque un divisor resistivo para lograr 2.5 volts)
8: portb.3 (coloque un divisor resistivo para lograr 2.5 volts)



		Código:
	

#include <16F877.h>
#fuses HS,NOWDT
#use delay(clock= 20000000)

/*
    // Esta es la matríz que intento dibujar en el display
    // La puse como comentario porque me tira error

const char icono[9][96] = 
{0x01,0x01,0x01,0x01,0x01,0x01,0xFF,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,0x01,0x01,0x01,0x01,0x01,0x01,
 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,
 0x80,0x80,0x80,0x80,0x80,0x80,0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF,0x80,0x80,0x80,0x80,0x80,0x80,
 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
*/


// --------------- Constantes
#define CMD 0        // Defino una constante
#define DTA 1

// --------------- Configuro los registros de los puertos
#byte trisb = 0x05
#byte portb = 0x06

// --------------- Renombro los pines del micro
//            Pin uC         Pin pantalla
#bit sclk = portb.0        // Clock
#bit sda = portb.1        // Datos
#bit scs = portb.2        // Chip select
#bit rst = portb.3        // Reset

// --------------- Variables
char x = 0;
char y = 0;
char bitaddr;



void Write_lcd(char dc,unsigned char c){
    char i;


    scs = 0;
    sclk = 0;
    sda = dc;
    sclk = 1;
            
    // enviar byte de control/dato
    for(i=0;i<8;i++){    
        sclk = 0;
        if(c & 0x80)
            sda = 1;
        else
            sda = 0;

        sclk = 1;
        c <<= 1;
    }    
}


void Init_lcd(void){
    
    scs = 0;
    rst = 0;    
    Delay_ms(200);    
    rst = 1;
    Delay_ms(200);    
        
    Write_lcd(CMD,0x25);    // VOP
    Write_lcd(CMD,0x90);    // EV
    Write_lcd(CMD,0xA4);    // Display en modo normal
    Write_lcd(CMD,0x2F);    // power control set


//    Write_lcd(CMD,0xd1);    // MUX
    Write_lcd(CMD,0x40);
    Write_lcd(CMD,0xb0);
    Write_lcd(CMD,0x1);
    Write_lcd(CMD,0x0); 
    Write_lcd(CMD,0xC8);    // invertir filas
    Write_lcd(CMD,0xa1);    // invertir columnas
    
    Write_lcd(CMD,0xac);
    Write_lcd(CMD,0x07);
    
    Write_lcd(CMD,0xf9);    // activar modo icono (acelera encendido)
    Write_lcd(CMD,0xac);    // ubicacion de imagen
    Write_lcd(CMD,0x07);
    

    
    Write_lcd(CMD,0xaf);
    


}



void Init(void){
// Esta configuración es para un 16F873
/*    GIE = 0;
    OPTION = 0x00;
    TRISB = 0;
    TRISC = 0;
    
    
    
    // configuracion del conversor
    ADCS0 = 0;
    ADCS1 = 1;
    CHS0 = 0;
    CHS1 = 0;
    ADIE = 1;
    ADFM = 0;
    PCFG0 = 0;
    PCFG1 = 1;
    PCFG2 = 1;
    PCFG3 = 1;
*/
}

void SetX(char x){
    Write_lcd(CMD,0x10 | ((x>>4)&0x7));
    Write_lcd(CMD,x & 0x0f);
}

void SetY(char y){
    char aux = 0;
    while(y>7){
        y -=8;
        aux ++;
    }
    bitaddr = y-1;
    Write_lcd(CMD,0xB0 | (aux & 0x0f));
}

void Gotoxy(char x,char y){
    SetY(y);
    SetX(x);
}

void Clear(void){
    int16 i;
    
    Gotoxy(0,0);
    for(i=0;i<864;i++)
        Write_lcd(DTA,0x00);
    }    



void main(){
    int16 i;
    set_tris_b(0x00);
    portb = 0;
    
    Init();
    Init_lcd();        // Inicio la pantalla
    Clear();


// --------------- Pinto toda la pantalla con puntos negros    
    Gotoxy(0,0);
    for(i=0;i<864;i++)
        Write_lcd(DTA,0x01);
// --------------------------------------------------------

/*
    // Este es el código que debería leer la matríz al principio y dibujar la imagen en el display
    // pero como la matríz no la puedo cargar intente lo anterior de pintar toda la pantalla.
        Gotoxy(0,0);
        for(y=0;y<9;y++)
            for(x=0;x<96;x++)
                Write_lcd(DTA,icono[y][x]);
*/
        while (true){

        }        
}

Un abrazo Ramón!!


----------



## albertocasatti

Ramón, lo unico raro que veo en el codigo es que usas el chipselect, el cual no es necesario salvo que tengas algo mas conectado en el bus del display, yo lo sacaría....

lo otro que noté es que estas usando 4V y 2.5V, lo que deberias probar es todas en 3.3V como subí en el diagrama, creo que es mas un problema electrico que de programacion.

cualquier cosas queda a tu disposicion.

un abrazo.


----------



## jaime lazo vargas

hola soy nuevo en el foro
quiero preguntar porque mi programador ICD 2 de la tienda siliconbyte.com.ar no funciona con windows 7
gracias


----------



## remramon2007

Hola albertocasatti gracias por tu respuesta... y ya probé conectar el pinc chipselect del display a masa. Que si mal no leí lo pone en modo de recibir señal nada más.
Pruebo con la alimentación de 3.3 volts y te cuento!!

Gracias y un abrazo


----------



## remramon2007

Por cierto alberto no tenes un hex para un 877? se que es mucho pedir pero... bueno... mientras voy a seguir trabajando con el código!! Hasta dentro de un rato.

Un abrazo Ramón!!

probe y no alberto...


----------



## albertocasatti

hola,

no tengo en donde probarlo, pero en teoria deberias ver una linea vertical que barre la pantalla,

esta configurador para usar:

#define sclk  PORTB.F1
#define sda   PORTB.F2
#define rst   PORTB.F3

un abrazo


----------



## turok_gt

Hola,

les adjunto la libreria del display para el nokia 1100 en CCS FUNCIONANDO!, para un pic18f2550, de ahi la podrian adaptar a sus necesidades.





remramon2007 dijo:


> Hola, gente como estan?
> 
> yo acá trabajando con el código para ver si puedo escribir algo en la pantalla del nokia
> 
> ahora estoy trabajando  para migrar el código para CSS pero... lo llevo a la práctica y no me  funciona... les comento que con CSS recién me estoy iniciando...
> 
> el código lo único que hace es limpiarme toda la pantalla no logré que dibuje nada.
> 
> las conexiones del display son, visto de frente con el terminal de concciones hacia arriba de izquierda a derecha:
> 
> 1: alimentación de led's de la pantalla, lo tengo desconectado, para bajar consumo
> 2: 4 volts
> 3: 2.5 volts (coloque un divisor resistivo)
> 4: portb.0 (coloque un divisor resistivo para lograr 2.5 volts)
> 5: portb.1 (coloque un divisor resistivo para lograr 2.5 volts)
> 6: masa
> 7: portb.2 (coloque un divisor resistivo para lograr 2.5 volts)
> 8: portb.3 (coloque un divisor resistivo para lograr 2.5 volts)
> 
> 
> 
> Código:
> 
> 
> #include <16F877.h>
> #fuses HS,NOWDT
> #use delay(clock= 20000000)
> 
> /*
> // Esta es la matríz que intento dibujar en el display
> // La puse como comentario porque me tira error
> 
> const char icono[9][96] =
> {0x01,0x01,0x01,0x01,0x01,0x01,0xFF,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0xFF,0x01,0x01,0x01,0x01,0x01,0x01,
> 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,
> 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,
> 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,
> 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,
> 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,
> 0x80,0x80,0x80,0x80,0x80,0x80,0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFF,0x80,0x80,0x80,0x80,0x80,0x80,
> 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
> 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
> };
> */
> 
> 
> // --------------- Constantes
> #define CMD 0        // Defino una constante
> #define DTA 1
> 
> // --------------- Configuro los registros de los puertos
> #byte trisb = 0x05
> #byte portb = 0x06
> 
> // --------------- Renombro los pines del micro
> //            Pin uC         Pin pantalla
> #bit sclk = portb.0        // Clock
> #bit sda = portb.1        // Datos
> #bit scs = portb.2        // Chip select
> #bit rst = portb.3        // Reset
> 
> // --------------- Variables
> char x = 0;
> char y = 0;
> char bitaddr;
> 
> 
> 
> void Write_lcd(char dc,unsigned char c){
> char i;
> 
> 
> scs = 0;
> sclk = 0;
> sda = dc;
> sclk = 1;
> 
> // enviar byte de control/dato
> for(i=0;i<8;i++){
> sclk = 0;
> if(c & 0x80)
> sda = 1;
> else
> sda = 0;
> 
> sclk = 1;
> c <<= 1;
> }
> }
> 
> 
> void Init_lcd(void){
> 
> scs = 0;
> rst = 0;
> Delay_ms(200);
> rst = 1;
> Delay_ms(200);
> 
> Write_lcd(CMD,0x25);    // VOP
> Write_lcd(CMD,0x90);    // EV
> Write_lcd(CMD,0xA4);    // Display en modo normal
> Write_lcd(CMD,0x2F);    // power control set
> 
> 
> //    Write_lcd(CMD,0xd1);    // MUX
> Write_lcd(CMD,0x40);
> Write_lcd(CMD,0xb0);
> Write_lcd(CMD,0x1);
> Write_lcd(CMD,0x0);
> Write_lcd(CMD,0xC8);    // invertir filas
> Write_lcd(CMD,0xa1);    // invertir columnas
> 
> Write_lcd(CMD,0xac);
> Write_lcd(CMD,0x07);
> 
> Write_lcd(CMD,0xf9);    // activar modo icono (acelera encendido)
> Write_lcd(CMD,0xac);    // ubicacion de imagen
> Write_lcd(CMD,0x07);
> 
> 
> 
> Write_lcd(CMD,0xaf);
> 
> 
> 
> }
> 
> 
> 
> void Init(void){
> // Esta configuración es para un 16F873
> /*    GIE = 0;
> OPTION = 0x00;
> TRISB = 0;
> TRISC = 0;
> 
> 
> 
> // configuracion del conversor
> ADCS0 = 0;
> ADCS1 = 1;
> CHS0 = 0;
> CHS1 = 0;
> ADIE = 1;
> ADFM = 0;
> PCFG0 = 0;
> PCFG1 = 1;
> PCFG2 = 1;
> PCFG3 = 1;
> */
> }
> 
> void SetX(char x){
> Write_lcd(CMD,0x10 | ((x>>4)&0x7));
> Write_lcd(CMD,x & 0x0f);
> }
> 
> void SetY(char y){
> char aux = 0;
> while(y>7){
> y -=8;
> aux ++;
> }
> bitaddr = y-1;
> Write_lcd(CMD,0xB0 | (aux & 0x0f));
> }
> 
> void Gotoxy(char x,char y){
> SetY(y);
> SetX(x);
> }
> 
> void Clear(void){
> int16 i;
> 
> Gotoxy(0,0);
> for(i=0;i<864;i++)
> Write_lcd(DTA,0x00);
> }
> 
> 
> 
> void main(){
> int16 i;
> set_tris_b(0x00);
> portb = 0;
> 
> Init();
> Init_lcd();        // Inicio la pantalla
> Clear();
> 
> 
> // --------------- Pinto toda la pantalla con puntos negros
> Gotoxy(0,0);
> for(i=0;i<864;i++)
> Write_lcd(DTA,0x01);
> // --------------------------------------------------------
> 
> /*
> // Este es el código que debería leer la matríz al principio y dibujar la imagen en el display
> // pero como la matríz no la puedo cargar intente lo anterior de pintar toda la pantalla.
> Gotoxy(0,0);
> for(y=0;y<9;y++)
> for(x=0;x<96;x++)
> Write_lcd(DTA,icono[y][x]);
> */
> while (true){
> 
> }
> }
> 
> Un abrazo Ramón!!


----------



## sebastian291087

hola alberto queria pedirte si me harias el favor de facilitar una imagen o un esquema, que me explique como conectar el lcd del nokia 1100 con el puerto paralelo de la pc! yo tengo el esquema de como conectar el lcd pero del nokia 3310 noc si se podria adaptar ese esquema al 1100. desde ya muchas gracias y si me ayudas sos muy capo porque me canse de buscar y no hay nada por ningun lado! un abrazo


----------



## albertocasatti

hola,

es necesario que sea puerto paralelo?
una opcion mas simple es con puerto serie, no tenes los problemas de permisos de windows.

saludos


----------



## sebastian291087

El fin de  conectar el lcd por puerto parlelo es usarlo con unos de esos programitas que te permite mostrar informacion de la cpu en el lcd. Hay espquemas de como hacerlo  pero con un lcd de nokia 3310 (aqui te dejo el link de esto http://www.yoreparo.com/nav/?url=http://www.hardcore-modding.com/ftopict-12245.html&sid=9ebed9f7e6d3d9ed296a9d1e5e50b337) capas que se lo pueda adaptar al del nokia 1100 que tengo yo; aunque si estos programitas tambien funcionan por puerto serie tambien me sirve la idea  que decis vos.. 

desde ya muchas gracias ...saludos

si me podrias mandar el esquema o imagen de esto que te explique me harias un gran favor...
saludos


----------



## albertocasatti

hola,

con esto debería andar, solo que el lcd del nokia no necesita el D/C ya que se hace por software, en ese punto creo que te va a fallar el circuito (no vas a poder escribir comandos y datos).

el 1100 necesita un "byte" de 9 bits no de 8, donde el mas significativo es el indicador de comando/dato, en el caso del lcd que te sugieren ellos lo hace por hard.

igualmente te adjunto el esquema electrico para que lo puedas hacer "andar" con el puerto paralelo.

suerte.


----------



## rockerito1991

Un saludo para todos los amigos del foro.

Les comento que estoy haciendo un proyecto para la universidad, el cual consiste en obtener una señal de ECG (electrocardiografía) y mostrarlo en la pantalla del Nokia 1100. La parte de adquisición de la señal ya está lista, en un oscilocopio puedo verla claramente, y el paso a seguir es el de llevarla a la pantalla del Celular. 
He estado leyendo en foros durante las 2 ultimas semanas y he tratado de adaptar un código fuente que encontré para usarlo con el PIC16f877a, pero la verdad no he logrado nada diferente a ver montones de puntos sin sentido. El primer problema al tratar de cambiar el codigo es que no me deja usar la matriz de 9x96, lo máximo que puedo hacer es una de 9x25 ... no entiendo a que se debe esto. No tengo claro el funcionamiento de la pantalla, no sé como podria enviar los datos que mi pic obtiene a cierta posicion del lcd, mi idea radica en hacer una lectura con el conversor analogico digital del MCU , guardar estos valores en un vector de varias posiciones, y a la hora de mostrarlos, ubicar punto a punto ese valor leído teniendo una posicion en x y en Y, espero que entiendan lo que quiero hacer y me puedan asesorar acerca de mis inconvenientes con el proyecto.

Aqui pongo el  codigo el cual estoy adaptando estoy usando 



		Código:
	

// Programa para probar el display del NOKIA 1100.

#include <16F877A.h> //
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)

// Definimos las librerías utilizadas:
#include <LCD_NOKIA1100.h> // Librería de la pantalla.


const char icono[9][24] = {
{1,1,1,1,1,1,255,1,1,1,1,1,1,1,1,1,1,1,255,1,1,1,1,1},
{1,1,1,1,1,1,255,1,1,1,1,1,1,1,1,1,1,1,255,1,1,1,1,1},
{1,1,1,1,1,1,255,1,1,1,1,1,1,1,1,1,1,1,255,1,1,1,1,1},
{1,1,1,1,1,1,255,1,1,1,1,1,1,1,1,1,1,1,255,1,1,1,1,1},
{1,1,1,1,1,1,255,1,1,1,1,1,1,1,1,1,1,1,255,1,1,1,1,1},
{1,1,1,1,1,1,255,1,1,1,1,1,1,1,1,1,1,1,255,1,1,1,1,1},
{1,1,1,1,1,1,255,1,1,1,1,1,1,1,1,1,1,1,255,1,1,1,1,1},
{1,1,1,1,1,1,255,1,1,1,1,1,1,1,1,1,1,1,255,1,1,1,1,1},
{1,1,1,1,1,1,255,1,1,1,1,1,1,1,1,1,1,1,255,1,1,1,1,1}
};


/*    

[COLOR="Red"]El error aparece en esta parte, dice q el dato es muy grande!, por lo tanto lo tengo desactivado y estoy enviando el dato de arriba, con el cual no estoy logrando nada.[/COLOR]

const char icono[9][96]={
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,24,24,24,24,24,24,248,248,24,24,24,24,24,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,240,240,0,0,0,0,255,255,0,0,0,248,248,0,0,0,0,248,248,0,224,240,240,24,24,24,24,24,240,248,248,0,0,248,248,112,56,24,24,56,248,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,3,7,14,28,28,30,15,7,0,0,0,7,15,28,28,28,28,15,7,0,7,15,31,28,28,28,28,28,7,31,31,0,0,31,31,0,0,0,0,0,31,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
};
*/

// Variables globales:

int x = 0;
int y = 0;
int draw = 0;
int pulso = 0;
int delay = 2;

// Cuerpo principal del programa:

void main(void){
   init_lcd(); // Inicializa el hardware del display.
   Write_lcd(CMD,0xb0);
   Write_lcd(CMD,0x10);
   Write_lcd(CMD,0x00);
   while(true) {
      gotoxy(0,0);
      for(y=0;y<9;y++) {
         for(x=0;x<24;x++) {
            write_lcd(DTA,icono[y][x]);
         }
      }
   }
   
}


Tambien adjunto un archivo rar con los codigos usados , ademas una simulacion en proteus con la pantalla del 1100( y sus librerias) y el pic16f877a


----------



## albertocasatti

@rockerito1991

fijate, porque conté los char y te falta 1 por fila. a lo mejor ese es el problema (no es el mismo largo el array que creas que el que asignas)

tenes 95 asignados para un array que es de 96.

saludos


----------



## sirias52

Hola compañeros he estado leyendo todo este tema y tengo duda sobre como modificar el tamaño de la fuente dentro de la libreria para este display. por ejemplo yo hice una fuente mas grande unicamente para los numeros y quisiera poder ingresarla dentro de la libreria sin modificar las que ya tiene dentro. les adejunto el codigo

const char numeros_grandes[10][9]={
{0x0000, 0x300C ,0x300C ,0x3FFE ,0x3FFF ,0x3FFF ,0x3000 ,0x3000,0x0000},// 1
{0x3000, 0x3806 ,0x3C07 ,0x3603 ,0x3303 ,0x3183 ,0x30C6 ,0x307C,0x3038},// 2
{0x0000, 0x1004 ,0x3006 ,0x2003 ,0x2043 ,0x2043 ,0x30E7 ,0x1FBE,0x01FE},// 3
{0x03C0, 0x0360 ,0x0330 ,0x0318 ,0x030C ,0x0306 ,0x3FFF ,0x3FFF,0x0300},// 4 
{0x0000, 0x103E ,0x307F ,0x20C3 ,0x20C3 ,0x20C3 ,0x30C3 ,0x1983,0x0F03},// 5
{0x07F0, 0x0FFC ,0x18C6 ,0x3063 ,0x3063 ,0x3063 ,0x18C3 ,0x0F82,0x0700},// 6
{0x0003, 0x2003 ,0x3803 ,0x1E03 ,0x0783 ,0x01E3 ,0x007B ,0x001F,0x0006},// 7
{0x0F1C, 0x1FBE ,0x31E3 ,0x20C1 ,0x20C1 ,0x20C1 ,0x31E3 ,0x1FBE,0x0F1C},// 8
{0x0078, 0x30FC ,0x3FFF ,0x3FFF ,0x3FFF ,0x3FFF ,0x3FFF ,0x3FFF,0x3FFF},// 9
{0x3FFF, 0x3FFF ,0x3FFF ,0x3FFF ,0x3FFF ,0x3FFF ,0x3FFF ,0x3FFF,0x3FFF},// 0
};

ahora esto introducirlo dentro de la libreria y poder hacer el llamado por un printf(print_bignumber, "1 2 3 4 5")


----------



## cazzanova

Alberto, cuando uso tus librerias graficas con otra font que no sea la microfont, me salen los caracteres movidos a la mitad por ejemplo la A me sale asi:

                                                   /\
                                                   --
                                                                        /  \


----------



## isoka20

Hola respecto a las librerias de las lcd nokias para proteust copio los model en la carpeta donde se deberian ubicar pero al correr la simulacion dice que no las encuentran 

le agredeceria s i me pudiera dar una solucion 
gracias


----------



## coconut

Hola buenos días me intereso lo del manejo de las pantallas del Nokia 1100, en mi cacharrear con estas pantallas encontré que no es tan fácil hacerlas funcionar (es un reto y un camello) ya que su funcionamiento es un poco complejo con respecto a voltajes y conexiones, entonces me di en la tarea de hacer funcionar una pantalla de estas con la información encontrada en Internet y encontré varios peros aquí algunos:​-          Al emular en un programa como proteus todo de maravilla pero en la realidad no funcionan​-          Que hacer funcionar una pantalla con un voltaje de funcionamiento de 3.3 y un micro de 4.5V tiene sus inconvenientes.​-          Que soy de buena suerte por que entre todas las pantallas que conseguí para hacerlas funcionar solo una y repito una funciona y las demás (están buenas) no lo se​-          Es un cacharreo un poquito costoso (pantallas dañadas 3 compradas 5)​-          Es mejor utilizar un Pic de gama Alta por que tienen memoria muy grande y su ciclo de reloj es alto (las pantallas funcionan con frecuencias altas).​-​​Por el momento sigo en la búsqueda de cómo hacer funcionar las otras aunque te comento que es una tarea de paciencia.​Mi proyecto lo encuentras en:

http://www.wix.com/desolek/desoleking#!__master-page-3


----------



## KfCantillo

zam_and dijo:


> Hola que tal soy nuevo en este foro.. pero he esta al pendiente sobre este tema de las pantallas del celular, La verdad no tengo idea si hay diferencia entre estos 2 celulares que mencionas, yo ya manejo la pantalla del nokia 1100 aunque no puedo realizar movimientos o funciones graficas todavia podria decirse que ando en el "hola mundo" pero ya es algo, tambien he podido desplegar valores de ADC asi como, el valor de la medida de un sensor ultrasonico..
> 
> Lo que todavia no se es darle movimiento o hacer graficas, navegando encontre un programa en el cual te simulaba la pantalla del celular y te generaba la matriz para que se desplegara.. el problema es que no lo encuentro..
> 
> Bueno creo que muchos de ustedes utilizan Pic y mm bueno yo utilizo un ATMEGA32 pero cualquier cosa que yo les pueda ayudar pues con gusto y bueno el programa esta en C++ y no en ensamblador pero tengo los diagramas que utilice y si quieren les puedo pasar mi codigo..   para muestra basta un boton :evil:



Ola Quemas amigo,
estoy empezando a utilizar el lcd del nokia 1100 y no se como enviar imagenes bmp o graficos....
como vi que tu pusite una imagen de metalica toda bacana me prodrias decir como lo hiciste porfa...
te lo agradesco mucho...


----------



## Mauriciocs

Un favor que librerías puedo utilizar para manejar el 1100 con un arduino uno smd,,,,, muchas gracias


----------



## loquillo3600

turok_gt dijo:


> Hola,
> 
> les adjunto la libreria del display para el nokia 1100 en CCS FUNCIONANDO!, para un pic18f2550, de ahi la podrian adaptar a sus necesidades.




buenos dias, me encuentro realizando en la actualidad este proyecto, me tome el atrevimiento de usar el codigo que montaste, lo utilizo en proteus y funciona, pero al mosntarlo en la protoboard con resietncias no funciona no muestra nada, la verdad no se que hacer si alguien me pudiera ayudar se lo agradesco mucho.


----------



## turok_gt

loquillo3600 dijo:


> buenos dias, me encuentro realizando en la actualidad este proyecto, me tome el atrevimiento de usar el codigo que montaste, lo utilizo en proteus y funciona, pero al mosntarlo en la protoboard con resietncias no funciona no muestra nada, la verdad no se que hacer si alguien me pudiera ayudar se lo agradesco mucho.



Hola Loquillo3600, coloca el esquemático que estas usando, y si puedes una foto de la parte trasera del lcd donde estan los contactos para descartar un posible error.


----------



## isoka20

Buenas tardes si simula si funciona montandolo en la protoboard ,pero tiene que tener en cuenta que no todas las lcd 1100 funcionan para ese codigo si no la que tienen el controlador que se instala en proteust


----------



## carl33

Cada vez aprendo mas en este foro, me quedo impresionado.


----------

