TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: PWRINVITRO en 14 de Octubre de 2004, 17:48:00
-
Saludos...!!!! bueno acabo de comprar una lcd nokia tengo el fast lcd y el pcb q da cucaracha para montarla... y mas o menos tengo idea de como usarla... pero me gustaria saber si la trama de esa lcd es I2C.... si es asi soluciono muchos problemas ya que la conecto al modulo I2C del 877 y listo si no... tendria q programar todo el protocolo pero necesito empezar por algun lado!!!! gracias por la ayuda!!!
-
Hola!
Pues la verdad no se si es I2C, creo que no... ya que no hay que esperar ningún ACK ni nada de eso...
Mira, por aquí expliqué todo lo que hay que hacer, el protocolo...
Si no lo encuentras mira en mi web, donde también está recogido.
Es bastante fácil de implementar, tanto en C, como en Ensamblador por lo que he visto.
Saludos!!
-
Gracias compadre.... bueno a tu orden por aca en venezuela!!! tengo algo de experiencia con microcontroladores pic y atmel... cualkiero cosa pegas un grito!!!
-
Hola POWER INVITRO ... sabes, talves podriamos darnos una mano mutua... estoy montando el LCD nokia en el protoboard para manejarlo con un F84A para el cual ya tengo el code assembler que escribe unas lineas... si quieres pasame tu MSN y te agrego, seria lindo que nos ayudemos para lograr manejar este display que es muy bueno por ser economico y grafico
... tu me dices... Estoy intentando manejarlo devido a que estoy creando una alarma domestica y el display sera la interfaz entre el usuario y el dispositivo. Saludos y Gracias por leerme y ayudarme siempre
-
Dale si va miguelsedek@hotmail.com


-
Contar conmigo para este proyecto, también estoy metido en hacer funcionar el lcd de un nokia.
Saludos, Ank.
-
AHUE!!!!..... claro toda la ayuda q tengamos nos viene bien agregame al messenger para pasarnos info!!!


-
Pues en lo que pueda, ya saben que les ayudo.
Saben donde encontrar mi mess.
Saludos!!
PD: y comenten sus avances!!!
-
a mi aun no me funciona. ya probe de todo y nada...
no sale nada en pantalla, lo raro es que cuando dejo desconectado el pin D/C sale algo en pantalla, pero todo mal, que puede ser???
alguien me ayuda???
saludos
-
Yo tambien me apunto al chiringuito... tengo la pcb (gracias cuca!) y el lcd.
No sera que le diste un voltaje demasiado grande?
salu2
-
He de admitir que la pantallita me está ganando la partida ... aún no he conseguido hacerla funcionar y ya no sé porque puede ser
![Llorica Llorica]()
Existen 2 razones por las cuales no me funciona: o bien el protocolo del PIC que controla la pantalla es incorrecto (y eso que he reutilizado el código de cuca simplemente pasandolo de CCS a Hi-tech) o bien la pantalla está jodida y no funciona.
Como ya no sé que más puedo hacer, voy a ir descartando posibilidades y una es que asegurarme que la pantalla esta operativa, y para ello he encontrado una dirección que explica como controlar la pantalla directamente desde un PC:
http://www.hardcore-modding.com/modules.php?name=Forums&file=viewtopic&t=12245
es una guia para gente no muy profana en electrónica que explica como fabricar un circuito muy sencillo para la realizar la conexion.
Saludos, Ank.
-
aun no me funciona...
como puedo modificar el valor del contraste ???
es el bias o el vop ???
-
Hola, una consulta, para alimentar el LCD tengo una circuito que regula unos 5v y los baja a 3,2v... es necesario tal circuito??... no se podria alimentar todo con 5 derecho y listo?... alguien me puede pasar el circuito que utiliza para alimentar el LCD??... Gracias y saludos!
-
Me es difil encontrar la ingrata pantalla del modelo de Nokia que se esta usando para los experimentos solo he encontrado la del modelo 1220 que no usa conector sino que usa un hule de contactos que no se como se llama ademas ando buscando info de ella haber si usa el mismo protocolo 3310. bueno luego les cuento como me fue. Hasta pronto
-
ando esperando a que me entreguen la platica donde la voy a conectar para darle duro a la pantalla y graficar en ella!
-
Bueno no se si ya tienes esta pagiana, pues esta es la forma en que todos lo estan conectando.
http://users.skynet.be/bk317494/007/007.htm
Suerte
-
Holas a todos, tengo algunas novedades que comentar.. despues de tantos preparativos, lecturas y miniexperiencias, pude realizar por fin el proyecto de la pagina que pongo a continuacion:
http://www.eletronica.org/modules.php?name=News&file=article&sid=86
Ahi esta el conexionado del LCD y 2 codigos fuentes de programas que supuestamente manejan el display... hice la fuente de alimentacion tal como ahi se especifica y esta funciona bien, entrega los 3.2v para alimentar el LCD... lo malo es que compile los 2 programas y los probe uno por uno despues de hacer la placa para el LCD.. el resultado fue malo, el LCD no hizo ni chispitas
... probablemente no este todo servido en esa web, probe el LCD en el fon para saber si funcionaba, por precaucion, y este funciona perfecto... solo me queda pensar que los codigos dispuestos en esa pagina no estan 100% funcional y que la foto tomada como muestra del resultado final es el resultado de un codigo que en realidad no se dio a conocer 
... me pondre en campaña para crear mi propio codigo, les pido todo tipo de ayuda que puedan otorgar, prometo que al finalizar el code sera distribuido libremente a los 4 vientos... Bueno, espero no haberlos mareado con tantos caracteres y que alguien me comente como le ha ido con el manejo de este tan pequenio pero problematico display
... Un abrazo desde Mis pagos y un deseo de felicidad y prosperidad para este nuevo año que comenzaremos en pocos dias. Gracias por leerme.
-
hola, tuve muchos problemas con esa pantalla... un dia consegui la pantalla del nokia 3510i que es a colores, 4096 colores y 96*65 pixels. y tuve mucha suerte, todo me funciiono a la perfeccion...
aqui tengo documentado por si te interesa:
http://www.comunicom.com.py/juno/3595
-
Gracias por el documento, esta realmente interesante y hasta es mejor el lcd a colores!!... te hago una consulta... para almacenar iconos o caracteres, usas memorias externas?... la velocidad para escribir es buena?.. cuantos iconos almacenarias en 512k? ... tengo algunos proyectos en mente, pero aun no doy el primer paso con el display. Mil gracias por tus aporte, un abrazo y muchas felicidades para este 2005!.
-
Hola ,y si solo guardas el alfabeto y llamas las posiciones para formar tu "palabra"
digamos si quiero la A apunto al dir 00 pag 00 de la eeprom y voy sumando hasta
llegar a 5 , solo con cambiar el puntero de dir. y pag. inicial podrias saltar por todo tu memoria ,no se que tan largo sea el texto pero para algo simple creo que pude
andar.
salu2
-
Esa es la idea, almacenar caracteres en la eprom y llamarlos como dices, le sumas 5 para comlpetar el caracter y retornas... la idea es esa, pero tengo problemas al querer guardar el alfabeto dentro de la eprom, si hago un archivo con el alfabeto y lo paso a icprog, en ves de guardarse los hexa correspondientes se guardan los valores decada caracter del doc. me tiene de los pelos
.. Gracias por tu post. Saludos!
-
Hola ,bueno tengo que buscar esa info se que la tengo en algun lado porque
me tope con el mismo problema ,asi que la busco y te aviso .
salu2
-
Hola
Te envie por privado los archivos espero que te ayuden en tu proyecto.
Si alguien sabe donde dejarlos ,se lo envio por privado para que lo suba
gracias.
salu2
-
Holas, mil gracias, sabes, el mensaje llego y dice que hay archivo adjunto, pero no me deja descargarlo
.. por privado te envio mi E-Mail, si es posible enviamelo ahi... Gracias de corazon y en lo que necesites ya sabes. Saludos!!
-
alguien esta manejando esta pantalla con ASM y no C?
-
Hola Gokuden, yo estoy manejando el lcd en ASM, con el codigo que te dejo en el siguiente link:
http://sandiding.tripod.com/lcd.html
Estoy trabajando con un F84A tal como especifica ahi, tengo problemas para pintar grafico, porque la memoria es muy chica, estaba pensando en una externa pero me trae mal el hacerla funcionar, talves estes interesado en lograr lo mismo, si es asi, podriamos trabajar juntos. Proba ese programa, realmente funciona... antes creia que nop, pero comprobe que si!
-
Hola
Que mem le quieren poner si es de la linea 24c01/02/04/08/16 quizas con ese micro se pueda no se como andan de espacio ,si son de la linea 24c32/64/128/256
les combiene cambiar a un micro de la familia 16f87x puesto que ya tienen
implementado el protocolo i2c
en la primera linea de memoria que menciono no van a poder asociar tantas
todo depende de la que usen
si toman la segunda ,digo las 24c32..... van poder llegar sumar mas
salu2
-
Es util la informacion, gracias, ahora te pregunto, por casualidad no tenes un codigo para comunicacion i2c con el F84, porque no trae implementado el protocolo y estoy buscando alguna facilidad antes de ponerme a escribir uno desde cero. Espero tu respuesta. Mil gracias de antemano. Saludos!
-
Hola a Todos
mira no se que problema tiene tu codigo pero puedo decirte
que en lo que pueda con mis limitaciones aportare mi ayuda
haber
supongo que usas como minimo una 24c04 con esta memoria
tienes 512 octetos por lo que tendrias para llenar una sola
pantalla y nada mas como sabras precisas como minimo 504 octetos
para completar una pantalla del nokia ,con una 24c08
tienes para dos pantallas y con una 24c16 tienes para 4 pantallas
si es al 24c04 esta memoria tiene 2 paginas de 256 octetos por lo
que tendras que direcionar paginas para poder completar una pantalla
para esto solo tienes que direccionar con los bis A0,A1,A2
con el primer octeto ejemplo lectura 10100001 te ubicas
en la primera pagina y con 10100011 estas en la segunda pagina
siempre hablando del primer octeto en modo lectura
con una 24c16 tienes 8 paginas de 256 octetos, que dan un
total de 2048 octetos para leer por ej. en la pag.5
tendrias que mandar como primer octeto 10101011
si estas usando este tipo de memoria tendras reducida tu
capacidad de direccionamiento de dispositivos en tu bus i2c
siempre hablando de memorias
por ejemplo si estas con una 24c04 podras tener 4 en el bus
porque A0 esta reservado para direccionar pagina si tienes
una 24c16 solo podras tener 1 en el bus ya que los bits
A0,A1,A2 estan reservados para direccionamiento de paginas
con respecto a tu codigo revisa si tienes los cambios de
configuracion de entrada y salida del puerto que usas para
el bus en cada una de las rutinas cuando entras y sales de
ellas.
por lo del codigo tenia uno pero no lo encuentro ,lo escribi
hace tiempo y no se donde quedo.. seguire buscando.
salu2
-
yo vi el pdf del controlador de la pantalla y parece que se puede manejar con el i2c! alguien lo ha hecho asi???.. nunca he usado el bus i2c del 877, solo los demás módulos!! otra duda que tengo es que como es eso de que guardan datos en una memoria externa para poder hacer algo en la pantalla?..
-
Estaba pensando en manejarlo por i2c, pero no estoy 100% seguro de que se pueda... probe un programa que encontre en internet y manejo el lcd sin problemas, la memoria externa es para almacenar los caracteres que usaras para escribir en el lcd, se usa memoria exerna para no usar la del pic, el lcd es grafico, pero no inteligente, es decir, no tiene un micro con las formas de los caracteres ya definidas, por tal motivo debes crearlos y almacenarlos donde mas te paresca conveniente.
lafe, tu ayuda me fue util, logre lo que necesitaba. Gracias por tu ayuda! .. en estos momentos vengo sin inconvenientes.. si surge algo les hare saber. Gracias y Saludos!
-
amigo firmsoft. ya que tu le tas dando con asm tambien!.
dime una cos. porque no entiendo unas cosas. buscando la simulitud con la lcd alfanumerica paralela comun, esta posee el pin de datos, clock y uno de control para saber si es un dato o control (instruccion(
tu has hecho las rutinas de enviarle una instruccion o un dato?
ademas, si sabes cuales son los comandos que uno le envia para inicializarla o borrarla, como las alfanumerica.! tambien queria preguntarte la logica de funcionamiento de esa pantalla.. fijate: uno se direcciona en la pantalla y luego ahi pone un punto?
porque no se como direccionarme en la pantalla, para irme a donde quiera y poner el punto. veo que hacen las letras con 5 palabras binarias. pero no entiendo como es el direccionamiento, porque a mi parecer uno se uica en un cuadro de la pantalla y mientras escribe un dato ella se incrementa sola.. pero no se si cada palabra binaria es para poner un punto en un cuadro..
-
Gokuden, yo la estoy manejando desde picbasic ya que el asm y el c no estan hechos para mi, realmente ni siquiera manejo bien el basic, pero tengo la suerte de tener un buen maestro detras de mi y gracias a el me voy manejando cada dia un poco mas.
Como bien dices para manejarla lo primero es hacer las rutinas de configuracion y a partir de ahi una vez configuradoes solamente enviarle datos a tu antojo.
Para posicionarte es simple, solamente debes indicarle la posicion X y Posicion Y a partir de donde vas a escribir el BYTE.
Efectivamente para poder poner un solo punto debes enviar un BYTE y para formar un caracter completo 5 BYTE.
Firmsoft para manejar caracteres no lo hagas a mano es una locura de codigo, yo para eso hice una tabla ascii y una rutina a la cual llamo para que interprete caracteres y otra para que los vaya mostrando.
Para borrar la pantalla completa uso un bucle de 0 a 503 enviando 0, como es logico lo mismo sirve para borrar una parte de la pantalla.
-
Bueno, ya tengo la lista completa de caracteres, y el display funciona perfecto, el programa esta en asm si alguen lo quiere se lo puedo pasar
... Gokuden veo que tienes un mareo con este lcd, no es tan complicado, cada byte corresponde a 7 pixeles en el lcd.. asi es como lo tengo configurado. por cada byte que envio el programa avanza de izq a derecha imprimiendo los pixeles en columnas, algo asi:
1
# # #
# # ...
# # ...
# #
# #
# #
# #
# #
8
Mira, si quieres me agregas a msn y hablamos mejor, esta complicado de explicar todo, mejor es jugar a un ping pong de preguntas y respuestas.. asi sabria que contestarte y seria facil que entiendas. Un abrazo !
-
mi msn es supergogeta_4@hotmail.com.. agregame..
-
Ahi te agregue
, Saludos!
-
para facilitarle la vida, aqui les coloco todo lo necesario para hacer funcionar esta pantalla,estas rutinas fueron ya probadas por mi u otros y funcionan a la perfeccion y aqui se las traigo algo ams ordenano.
primero tienen que decarar la variable afisaj o cambiarle el nombre , como deseen, y declarar los bit como aparecen ah i pero pueden cambia rlas asignaciones de bit y pto. luego llaman primero la rutina INILCD que es la que configura la lcd y luego ya puede mandar datos a ella poniendo el dato en acumulador o afisaj y llamando la rutina LCCMD.


LPH7779, LPH7677 Pins (front view)
pin1 V+
pin2 Sclk
pin3 Sda
pin4 DorC
pin5 Cs
pin6 Gnd
pin7 Vout(DC/DC voltage converter)
pin8 Reset
;--------------DELCALRACIONES DE BIT----------------
#DEFINE sclk PORTB,0 ; Rb6 is serial clock line
#DEFINE sdta PORTB,1 ; Rb7 is input serial data line
#DEFINE dorc PORTB,2 ; Ra0 is select register (H = Data, L =Command)
#DEFINE rset PORTB,3 ; Ra1 is reset (L = Enable)
#DEFINE tens PORTB,4 ; Ra2 is Vcmd LCD power supply on / off
#DEFINE enab PORTB,5 ; Ra3 is Chip select (L = Enable)
;--------------INICIACION DE LCD----------------
INILCD Call pause
bsf dorc
bsf enab
bsf tens
call lcres
movlw 21H
movwf afisaj
call lccmd
movlw .197
movwf afisaj
call lccmd
movlw 13H
movwf afisaj
call lccmd
movlw 20H
movwf afisaj
call lccmd
movlw 09H
movwf afisaj
call cbild
call lccmd
call pause
call pause
call pause
call pause
movlw 08H
movwf afisaj
call lccmd
call pause
call pause
movlw 0CH
movwf afisaj
call lccmd
movlw 40H
movwf afisaj
call lccmd
movlw 80H
movwf afisaj
call lccmd
return
;*****************************************************************
; RUTINAS DATO, COMANDO Y RESETEO LCD NOKIA
;*****************************************************************
lcdta bsf dorc ; bytes are stored in the display data ram, address
; incremented automatically
bcf enab ; chip enabled
call varsa
bsf enab ; chip disabled
retlw 00
lccmd bcf dorc ; byte is a command it is read with the eight SCLK
bcf enab ; chip enabled
call varsa
bsf enab ; chip disabled
retlw 00
lcres bcf rset ; reset enabled
call pause
bsf rset ; reset disabled
retlw 00
;*****************************************************************
; RUTINAS VARIAS DE LA LCD NOKIA
;*****************************************************************
varsa bcf sclk
btfsc afisaj,7 ;bit0(MSB) if bit 7 of afisaj = 1 then sdta=1
bsf sdta ; serial data line is high
btfss afisaj,7 ; if bit 7 of afisaj = 0 then sdta=0
bcf sdta ; serial data line is low
nop ; can be replaced with a nop if a higher speed it is
bsf sclk ; positive edge
nop ; can be replaced with a nop if a higher speed it is
bcf sclk ; negative edge
btfsc afisaj,6 ;bit1 if bit 6 of afisaj = 1 then sdta=1
bsf sdta ; serial data line is high
btfss afisaj,6; if bit 6 of afisaj = 0 then sdta=0
bcf sdta ; serial data line is low
nop
bsf sclk ; positive edge
nop
bcf sclk ; negative edge
btfsc afisaj,5 ;bit2
bsf sdta ; serial data line is high
btfss afisaj,5
bcf sdta ; serial data line is low
nop
bsf sclk ; positive edge
nop
bcf sclk ; negative edge
btfsc afisaj,4 ;bit3
bsf sdta ; serial data line is high
btfss afisaj,4
bcf sdta ; serial data line is low
nop
bsf sclk ; positive edge
nop
bcf sclk ; negative edge
btfsc afisaj,3 ;bit4
bsf sdta ; serial data line is high
btfss afisaj,3
bcf sdta ; serial data line is low
nop
bsf sclk ; positive edge
nop
bcf sclk ; negative edge
btfsc afisaj,2 ;bit5
bsf sdta ; serial data line is high
btfss afisaj,2
bcf sdta ; serial data line is low
nop
bsf sclk ; positive edge
nop
bcf sclk ; negative edge
btfsc afisaj,1 ;bit6
bsf sdta ; serial data line is high
btfss afisaj,1
bcf sdta ; serial data line is low
nop
bsf sclk ; positive edge
nop
bcf sclk ; negative edge
btfsc afisaj,0 ;bit7(LSB)
bsf sdta ; serial data line is high
btfss afisaj,0
bcf sdta ; serial data line is low
nop
bsf sclk ; positive edge
nop
bcf sclk ; negative edge
retlw 00
cbild bcf sdta ; serial data line is low a null value it is send to
movlw .6 ; set the maximal value for Y axe
movwf COUNT3
c3 movlw .84 ; set the maximal value for X axe
movwf COUNT1
c1 movlw .8 ; for a serial transmission of one byte , a number of 8 clock
movwf COUNT2
bsf dorc ; null value bytes are stored in the display
; incremented automatically
bcf enab ; chip enabled
c2 bcf sclk ; negative edge ;at this stage sdta=0 and
nop ; no operation
nop ; no operation
bsf sclk ; positive edge
decfsz COUNT2
goto c2
bsf enab ; chip disabled
decfsz COUNT1
goto c1
decfsz COUNT3
goto c3
retlw 00
;*****************************************************************
; RETARDOS DE LA LCD NOKIA
;*****************************************************************
pause movlw .7
movwf COUNT3
d3 movlw .50
movwf COUNT1
d1 movlw .250
movwf COUNT2
d2 decfsz COUNT2
goto d2
decfsz COUNT1
goto d1
decfsz COUNT3
goto d3
retlw 00
halta movlw 20H
movwf COUNT1
g1 movlw 40H
movwf COUNT2
g2 decfsz COUNT2
goto g2
decfsz COUNT1
goto g1
retlw 00
-
amigos al igual ke uds. estoy implementando el manejo de esa lcd y con ese famoso programa en asm he popido mandar caracteres y todo.. de echo tengo el codigo del alfabeto completo..... pero mi duda es la siguente...
cuando kero escribir algo el programita va escribiendo de izkierda a derecha como barriendo es decir va apareciendo..
L
LC
LCD
LCD N
LCD NO
LCD NOKI
LCD NOKIA
mi duda es si se puede hacer algo para ke aparecesca de una toda la palabra es decir
LCD NOKIA de inmediato y no de apoco.........
cualkier ayuda.....................
-
gracias por la rapida respuesta... pero me keda una duda.... cual seria ese comando ke dices
-
Hola de Nuevo:
Mira, la patilla DC del display controla si mandas datos o comandos, estando a 0 el display sabe que los proximos bits que envíes son los pixeles que quieres mostrar, si la pones a 1 el display sabe que quieres enviar un comando, en el datsheet del display se describen las funciones de cada comando, entonces si lo pones en modo comando, es decir mandas un 1 a la patilla DC del display luego puedes mandar cualquiera de estos dos comandos,
0x09 // Entera Negra
0x08 // Entera Blanco
mandas a 0 la patilla DC para enviar la secuencia de bits que quieres mostrar y luego pasas de nuevo a comando para enviar un 0x0C // Modo Normal
y se verán los bits que enviaste.
Saludos.-
-
Os dejo este link de la página de un compañero del foro, viene muy bien explicado como manejar el LCD de Nokia con ejemplos y tal:
http://webs.ono.com/usr008/cucaracha/lcdnokia.htm