Autor Tema: GLCD Nokia 3310 en Proteus  (Leído 24227 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
GLCD Nokia 3310 en Proteus
« en: 05 de Agosto de 2009, 21:28:00 »
-No sabia donde poner esto-

He simulado el proyecto o ejemplo del amigo cucaracha (ESTE) gracias a las librerias y modelos que encontre AQUI.



Decir que esas librerias y modelos solo funcionan en la version 6.9 de proteus, pues, probando con la 7.2 SP0 y SP2 no funciona nada. Manda un mensaje de error de DLL o algo asi. --- Links eliminados ---. Asi que me resigne a usar el 6.9 que yo tenia por ahi xD

Lo peor de todo, esque en esa pagina no puedo registrarme, para preguntar donde demonios ese hombre consiguio ese proteus para hacerlo funcionar, porque tengo que ser invitado por otro persona u otra mierda asi u.u'

Mi problema con esto esque, necesito usar un PIC18F2550  por el usb y pues, este 6.9 no lo tiene (creo). Por otro lado, todo fuciona correctamente y dejo tanto el hex del mismo cucaracha y su .c tanto del fuente como del nokia 3310.

Haber si alguien con experiencia en el proteus puede hacer funcionar esta libreria en el 7.2  :mrgreen:

Bueno eso es todo creo, con esto yo me inicio a muchos proyectos y por eso creo que lo puse aqui. Espero tambien que sea de ayuda para muchos que buscan librerias y simulaciones y en ccs y con pic18 y bueno eso =D


Salu2.

Editado por Nocturno.
Jeremy, no se pueden poner links a software pirata en el foro. He borrado los links.
« Última modificación: 09 de Agosto de 2009, 23:26:08 por jeremylf »

Desconectado CoreMain

  • PIC10
  • *
  • Mensajes: 26
Re: GLCD Nokia 3310 (Proyecto de Cucaracha) simulado en Proteus 6.9 SP3
« Respuesta #1 en: 06 de Agosto de 2009, 21:44:52 »
Hola jeremylf....
Encontré este modelo para la glcd nokia 3310:

http://www.tanu-sha.narod.ru/nokia3310.html

tienes q descargar Model.zip y poner los archivos en las respectivas carpetas de proteus: models y library.

Yo lo probé con Proteus 7.4 sp3 y funciona ok...

lo unico un poco molestoso, es q el ruso puso una "marca de agua" [demo version] q casi no se nota...

te dejo una captura...
_______________________________
Over the Hills and Far Away...

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: GLCD Nokia 3310 (Proyecto de Cucaracha) simulado en Proteus 6.9 SP3
« Respuesta #2 en: 06 de Agosto de 2009, 21:57:17 »
Es el que uso. Un problema entonces seria que notengo el proteus 7.4 sp3 xD!

Disculpa por los links nocturno, sabia, pero pense que no eran tan directos.


Gracias

EDITO:
Porcierto nocturno, donde tu (en tu libreria para c30) hiciste las fuentes? porque estoy teniendo problemos con eso y quiero unas fuentes mas grandes, casi que ocupen toda la pantalla =S

Salu2
« Última modificación: 06 de Agosto de 2009, 22:09:32 por jeremylf »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: GLCD Nokia 3310 (Proyecto de Cucaracha) simulado en Proteus 6.9 SP3
« Respuesta #3 en: 07 de Agosto de 2009, 02:32:48 »
Están hechas en el propio código de C30. Puedes descargarlo desde mi web.

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: GLCD Nokia 3310 (Proyecto de Cucaracha) simulado en Proteus 6.9 SP3
« Respuesta #4 en: 07 de Agosto de 2009, 03:25:50 »
Están hechas en el propio código de C30. Puedes descargarlo desde mi web.

El C30 tiene un tipo de creador de fuentes para GLCD's ?? A eso me refiero.

Por otro lado, he estado intenando migrar tu codigo al CCS y tengo unos problemas, pues el CCS no permite apuntar a cadenas constantes... Ojala haya una solucion para ello.


Salu2.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: GLCD Nokia 3310 (Proyecto de Cucaracha) simulado en Proteus 6.9 SP3
« Respuesta #5 en: 07 de Agosto de 2009, 03:37:20 »
Ah, ahora te entiendo. Utilicé este programa FontGen

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: GLCD Nokia 3310 (Proyecto de Cucaracha) simulado en Proteus 6.9 SP3
« Respuesta #6 en: 07 de Agosto de 2009, 11:04:02 »
Ah, ahora te entiendo. Utilicé este programa FontGen

Solo indica el map hasta la letra o .... ??? es por el trial?

Saludos
El papel lo aguanta todo


Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: GLCD Nokia 3310 (Proyecto de Cucaracha) simulado en Proteus 6.9 SP3
« Respuesta #8 en: 07 de Agosto de 2009, 14:16:19 »
Hay otro muy bueno que encontre: BitFontCreator ... se puede configurar a gusto!!  :mrgreen:



El papel lo aguanta todo

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: GLCD Nokia 3310 (Proyecto de Cucaracha) simulado en Proteus 6.9 SP3
« Respuesta #9 en: 07 de Agosto de 2009, 15:20:08 »
Probe con el Proteus 7.4 SP3 y, como dijiste CoreMain, funciona sin problemas. Ahora ya puedo usar el PIC18F2550, gracias por el dato.

Ese BitFontCreator tb tiene un tiempo de trial, almenos asi donde yo me lo he bajado x.x'

Nocturno, pude adaptar tu codigo para bitmaps (nokia_bitmpas) en CCS, fue necesario reestabler algunos tipos de variables y pues arregle el problema de llamados de matrices constantes creando una matriz temporal y grabandola con memcpy(..):
Código: [Seleccionar]
int8 Temp[504];

While (true)
{
      memcpy(Temp, Tabla_LogoNokia, sizeof(Tabla_LogoNokia));          
      for (i = 83; i > 0; i--)
      {
         nokia_bitmap(i, 0, Temp, 83, 15);
        
         nokia_imprime_memoria();
         nokia_borra_memoria();
        
         delay_ms(30);
      }
  
      delay_ms(2000);
}

Tu funcion nokia_bitmpa, como dije, solo modifique o adapte los tipos de varibles para las variables que creas alli. Por lo demas, esta igual:
Código: [Seleccionar]
void nokia_bitmap (int8 x, int8 y, int8 *bitmap, int8 ancho, int8 alto)
{
   int16 ind_bitmap,ind_memoria,xx,yy,max,desplazamiento;

   for (yy=0;yy<((alto>>3)+((alto%8)>0));yy++)
      for (xx=0;xx<ancho;xx++)
         if (((xx+x)<84) && ((xx+x)>0))
            {
               ind_memoria = yy * 84 + xx + x + (y>>3)*84;
               ind_bitmap = yy * ancho + xx;
               desplazamiento = y%8;
               MemoriaVideo[ind_memoria] = MemoriaVideo[ind_memoria] | (bitmap[ind_bitmap]<<desplazamiento);
               if (desplazamiento)
                  MemoriaVideo[ind_memoria+84] = MemoriaVideo[ind_memoria+84] | ((bitmap[ind_bitmap]>>(8-desplazamiento)) & (0xFF >> (8-desplazamiento)));
            }
}

Y por lo que he probado, hasta ahora, con esa funcion, todo funciona bien.

Ahora el problema que tengo es con la funcion de texto (nokia_text(...)) pues me imprime bien hasta el caracter 'S', despues, la 'T', la 'a' y los que sigen los hace erroneamente. He analizado el codigo pero me es un poco dificil poder entender como haces todo, espero puedas ayudarme. Hasta aqui lo tengo:
Código: [Seleccionar]
void nokia_texto(int8 x, int8 y, int8 fuente, char *caracter)
{
   int16 ind_bitmap, ind_memoria, xx, yy, max, desplazamiento;
   int8 letra, alto, ancho, EscribirByte;

   if (fuente == 1)
   {
      ancho = 3;
      alto = 6;
   }
   else if (fuente == 2)
   {
      ancho = 5;
      alto = 7;
   }
   else
   {
      ancho = 7;
      alto = 8;
   }

   letra = *caracter;
   while (letra != 0)
   {
            for (xx = 0; xx < ancho; xx++)
            {
               if (((xx + x) < 84) && ((xx + x) >= 0) && (y >= 0)&& (y <= 40))
               {
                  ind_memoria = xx + x + (y >> 3) * 84;
                  ind_bitmap = (letra - 0x20) * ancho + xx;
                  desplazamiento = y % 8;

                  if (fuente == 1)
                  {    
                     EscribirByte = Fuente_3_6[ind_bitmap];
                  }
                  else if (fuente == 2)
                  {
                     EscribirByte = Fuente_5_7[ind_bitmap];
                  }
                  else
                  {
                     EscribirByte = Fuente_7_8[ind_bitmap];
                  }
                    
                  MemoriaVideo[ind_memoria] = MemoriaVideo[ind_memoria] | (EscribirByte << desplazamiento);
                  
                  if (desplazamiento)
                  {
                     MemoriaVideo[ind_memoria + 84] = MemoriaVideo[ind_memoria + 84] | ((EscribirByte >> (8 - desplazamiento)) & (0xFF >> (8 - desplazamiento)));                        
                  }
               }
            }
            
            caracter++;
            letra = *caracter;
            x = x + ancho + 1;
   }
}

Uso la fuente 5x7 porque es la que use desde el principio y la que hizo cucaracha y todo para no tener problemas por ese lado.


Gracias, salu2.
« Última modificación: 09 de Agosto de 2009, 23:27:35 por jeremylf »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: GLCD Nokia 3310 (Proyecto de Cucaracha) simulado en Proteus 6.9 SP3
« Respuesta #10 en: 08 de Agosto de 2009, 01:48:33 »
Enséñame la tabla de caracteres que estás usando, en el código no veo nada que pueda provocar un cambio a partir de la "T"

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: GLCD Nokia 3310 (Proyecto de Cucaracha) simulado en Proteus 6.9 SP3
« Respuesta #11 en: 08 de Agosto de 2009, 08:27:29 »
La tabla es la que tu has creado (Fuente_5_7).

Bueno, como era de esperarse, acabo de provar fisicamente todo esto y nada funciona  :? Creo que al momento de soldar los cables al lcd se pudo haber quemado algo o nose porque ya probe continuidad y demas muchas veces y nada =(


Estoy usando la misma configuracion que muestra en mi primer post, en el proteus, el mismo codigo de cucaracha, todo igual... Alguna idea? Condensador de 4.7uf, pic18f2550 a 4mhz y nada, si no es por lo del cautin y eso, que otra cosa puede estar mal ??? =S


Salu2
« Última modificación: 08 de Agosto de 2009, 08:30:07 por jeremylf »

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: GLCD Nokia 3310 (Proyecto de Cucaracha) simulado en Proteus 6.9 SP3
« Respuesta #12 en: 08 de Agosto de 2009, 08:55:58 »
Pues si la tabla es la misma sólo me queda pensar que tengas algún conflicto de memoria, porque en el dsPIC funcionaba perfectamente.

Suerte con la reparación :s

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: GLCD Nokia 3310 (Proyecto de Cucaracha) simulado en Proteus 6.9 SP3
« Respuesta #13 en: 09 de Agosto de 2009, 15:37:52 »
oh oh oh! Fe de errata...

Código: [Seleccionar]
#define NEGRITA 0  // 3 X 6
#define COMPRIMIDA 1  // 5 X 7
#define NORMAL 2  // 7 X 8

void nokia_texto(...){
.
.
.
if (fuente==1)
{ancho=3;alto=6;}
else
if (fuente==2)
{ancho=5;alto=7;}
else
{ancho=7;alto=8;}
.
.
.
if (fuente==1)
EscribirByte = Fuente_3_6[ind_bitmap];
else
if (fuente==2)
EscribirByte = Fuente_5_7[ind_bitmap];
else
EscribirByte = Fuente_7_8[ind_bitmap];
.
.
.
}

La fuente COMPRIMIDA es 1, pero si lo pones en nokia_texto enrealidad seleciona a la NEGRITA, por eso, enrealidad, estoy usando la fuente Fuente_3_6 que NO tiene caracteres en minuscula, por eso no sale nada ENREALIDAD desde la letra 'a', 'b', ... NO era de la 'T', esta confusion me confuso mas xD

Aunq creo q aun tengo problemas con las otras fuentes (CREO), seguire probando.

Estoy en lo cierto con esta supuesta Fe de errata que e detectado ???


Gracias, salu2.


Edito:
Creo que aun sigo confundido y no hay ninguna Fe de errata xD! Solo almenos el comentario que se ha puesto en la definicion de cada fuente:
Código: [Seleccionar]
#define      NEGRITA      0  // 3 X 6
#define      COMPRIMIDA   1  // 5 X 7
#define      NORMAL      2  // 7 X 8

Cuando deberia ser:
Código: [Seleccionar]
#define      NEGRITA      0  // 7x8
#define      COMPRIMIDA   1  // 3x6
#define      NORMAL      2  // 5x7

O aun sigo confundido ??? xD!


Salu2
« Última modificación: 09 de Agosto de 2009, 15:44:52 por jeremylf »

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: GLCD Nokia 3310 (Proyecto de Cucaracha) simulado en Proteus
« Respuesta #14 en: 09 de Agosto de 2009, 15:55:45 »
Por otro lado, como dije, tenia problemas con desde la letra 'T' (incluyendola) en la fuente Fuente_5_7 y esto es debido a que en esta parte de codigo de la funcion nokia_texto:
Código: [Seleccionar]
ind_bitmap = (letra - 0x20) * ancho + xx;

Almenos en CCS, es necesario de un cast, porque sino el logaritmo esta restringido a funcionar asta el numero 255 nomas. Entonces, es parte quedaria asi:
Código: [Seleccionar]
ind_bitmap = (int16)(letra - 0x20) * ancho + xx;

Problema arreglado, seguire probando con la otra y ultima fuente (NEGRITA) que tb me dio problemas pero espero que sea por esto.


Salu2.

Edito:
La fuente NEGRITA, ahora, ya funciona tambien. Fue tambien por ese problema de la falta de cast. Entonces, la funcion nokia_texto ahora ya funciona bien todo, seguire haciendo pruebas haber si encuentro errores y seguire con las otras funciones =D

Salu2.
« Última modificación: 09 de Agosto de 2009, 15:59:09 por jeremylf »