Autor Tema: Generador de imagenes de video con PIC  (Leído 123444 veces)

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

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: Generador de imagenes de video con PIC
« Respuesta #150 en: 22 de Agosto de 2008, 13:13:03 »
Pero hay que contar la limitacion de por ""ejemplo 2 "" ciclos que es lo que se tarda en cargar un nuevo byte al modulo una vez enviado .
Ya que si el spi va  rapido  y tardamos mucho en cargarlo , veremos en la pantalla franjas negras entre bytes .
El spi habria que configurarlo a la velocidad que se toma en cargar un byte en el .

O si nó configurar un TMR para que lo cargue en el momento justo.

Bueno ya modifiqué las librerías de Ucontrol para este bichito.
los pines se pueden cambiar en el principio de la misma.

Código: C
  1. //Pines a usar
  2. #define GLCD_CS1     PIN_E2
  3. #define GLCD_CS2     PIN_E1
  4. #define GLCD_DI      PIN_C3
  5. #define GLCD_RW      PIN_C2
  6. #define GLCD_E       PIN_C1
  7. #define GLCD_RESET   PIN_E0
  8. #define GLCD_BUSY    PIN_C4
  9. #define GLCD_CHECK   PIN_C5
  10.  
  11.  
  12.  
  13. //Lados del GLCD
  14. #define GLCD_lado_CS1   0
  15. #define GLCD_lado_CS2   1
  16.  
  17. BYTE GLCD_leeBYTE(int1 lado);
  18.  
  19. //-----------------------------------------------------------------------
  20. //Escribe un byte en una de las mitades de la pantalla (lado=0:izq Lado=1:der)
  21. //-----------------------------------------------------------------------
  22. void GLCD_enviaBYTE(int1 lado, BYTE dato)
  23. {
  24.    if(lado) output_high(GLCD_CS2);  // Selecciono la mitad correspondiente
  25.       else  output_high(GLCD_CS1);
  26.      
  27.      
  28.    output_low(GLCD_RW);       // Modo escritura
  29.    output_d(dato);            // Coloco el dato en el puerto y...
  30.    
  31.    if(input(GLCD_CHECK)) while ( input(GLCD_BUSY) );
  32.       else delay_us(1);           // ...espero.
  33.      
  34.    output_high(GLCD_E);       // Pongo el bit Enable en alto y...
  35.    
  36.    if(input(GLCD_CHECK)) while ( !input(GLCD_BUSY) );
  37.       else delay_us(2);           // ...espero.
  38.    
  39.    if(input(GLCD_CHECK)) while ( input(GLCD_BUSY) );
  40.  
  41.    output_low(GLCD_E);        // Pongo el bit Enable en bajo.
  42.  
  43.    output_low(GLCD_CS1);      // Libero la linea CS1 y...
  44.    output_low(GLCD_CS2);      // CS2.
  45. }
  46.  
  47.  
  48. //-----------------------------------------------------------------------
  49. // Lee un byte de una de las dos mitades de la pantalla
  50. //-----------------------------------------------------------------------
  51. BYTE GLCD_leeBYTE(int1 lado)
  52. {
  53.    BYTE dato;
  54.    set_tris_d(0xFF);          // Puerto D como entrada
  55.    output_high(GLCD_RW);      // GLCD en Modo lectura
  56.  
  57.    // Selecciono la mitad del display a leer.
  58.    if(lado) output_high(GLCD_CS2);
  59.        else output_high(GLCD_CS1);
  60.        
  61.    if(input(GLCD_CHECK)) while ( input(GLCD_BUSY) );
  62.       else delay_us(1);           // ...espero.
  63.  
  64.    output_high(GLCD_E);       // Pongo en alto el pin enable y...
  65.    
  66.    if(input(GLCD_CHECK)) while ( !input(GLCD_BUSY) );
  67.       else delay_us(2);           // ...espero.
  68.      
  69.    if(input(GLCD_CHECK)) while ( input(GLCD_BUSY) );
  70.  
  71.    dato = input_d();          // Guardo en "dato" el valor devuelto y...
  72.    output_low(GLCD_E);        // ...pongo en bajo el pin enable.
  73.  
  74.    // Vuelvo a poner en bajo las lineas CS1 y CS2.
  75.    output_low(GLCD_CS1);
  76.    output_low(GLCD_CS2);
  77.  
  78.    return dato;
  79. }

también ya está listo el asm para el generador de video (adjuntado), con carga y lectura de datos, carga de ejes x e y en cada sector. encendido y apagado del mismo.
le falta el tema del eje Z, el pin de reset y leer el byte de status.
También se pueden cambiar los pines en los #define del principio.

mas tarde posteo el circuito recomendado, con sus resistencias y todo.

Tengo un par de dudas, la primera es que sucede en una glcd convencional cuando se pone en bajo el pin de reset, se borra toda la ram?
ya que en el datasheet no está aclarado y me gustaría saber sus experiencias para implementarlo.

Otra duda que tengo es cuando el eje y pasa del valor 63 y se vuelve a cero, ¿cambia de línea? o ¿vuelve al principio de la misma?
creo que es la segunda opción pero no estoy seguro.

saludos!





« Última modificación: 07 de Septiembre de 2008, 20:27:50 por flacoclau »
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Generador de imagenes de video con PIC
« Respuesta #151 en: 22 de Agosto de 2008, 13:32:36 »
Ariel, esta es una parte de tus librerías, las podrías modificar según explico en la misma? lo que pasa es que no sé como se hace  :mrgreen:

Esta noche me pongo. Como veras, entro poquisimo aca, pero eso ya está por cambiar! :)

De paso...miren esto:

http://belogic.com/uzebox/




¿No es impresionante?
« Última modificación: 22 de Agosto de 2008, 13:35:00 por aitopes »
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Generador de imagenes de video con PIC
« Respuesta #152 en: 22 de Agosto de 2008, 14:54:38 »
 :shock: :shock: :shock: :shock:

Usa un chip dedicado a la generación del video.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado Javicho

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 570
Re: Generador de imagenes de video con PIC
« Respuesta #153 en: 22 de Agosto de 2008, 15:08:32 »
Tengo un par de dudas, la primera es que sucede en una glcd convencional cuando se pone en bajo el pin de reset, se borra toda la ram?
ya que en el datasheet no está aclarado y me gustaría saber sus experiencias para implementarlo.
Otra duda que tengo es cuando el eje y pasa del valor 63 y se vuelve a cero, ¿cambia de línea? o ¿vuelve al principio de la misma?
creo que es la segunda opción pero no estoy seguro.

El GLCD que usas tiene RAM y le guardas datos ahi? si es asi, mejor vuelveselos a cargar despues de resetear por una 2da o 3ra vez el glcd (aunque creo que son raros los casos en el que el glcd ya inicializado se necesite volver a resetearlo depsues).

Cuando Y=63 el siguiente dato enviado va a Y=0 en la misma linea.

Javicho.

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: Generador de imagenes de video con PIC
« Respuesta #154 en: 22 de Agosto de 2008, 18:03:10 »
Gracias muchachos. por los datos.
Ariel!! las librerías ya las modifiqué, ya que estamos mirá si están bien, porfa.

impresionante el juego ese!! lástima que sea con un avr.
que se yo habrá que verlo.
saludos!!
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: Generador de imagenes de video con PIC
« Respuesta #155 en: 01 de Septiembre de 2008, 13:36:31 »
Bueno me hice una plaquita para conectarla a la entrenadora y ver como funciona el control.
Básicamente 4 fichas para la entrenadora, icsp, reset y salida de video con una rca...



 Les dejo el archivito en EAGLE
Aun que no he podido hacer pruebas, ya que vengo corto de tiempo y no doy pie con bola en el CCS.
si alguien quiere compilar algo con las librerías que modifiqué algunos post mas arriba, las unicas condiciones es que sea en un 18f452 18f4550 el puerto d sean los datos y el puerto c el de control, el pin check sería el RC0 o el RC4.
saludos!!!
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.

Desconectado jfh900

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Generador de imagenes de video con PIC
« Respuesta #156 en: 01 de Septiembre de 2008, 16:09:15 »
En la revista de elektor Nº279 de agosto del 2003 (revista española) trae un juego de tenis realizado con un AVR.

Un saludo
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: Generador de imagenes de video con PIC
« Respuesta #157 en: 07 de Septiembre de 2008, 01:40:09 »
Bueno gente después de renegar un montón, no porque sea un gran trabajo sino por mi torpeza, pude hacer andar el emulador de GLCD para video!!!!!! :-/ :-/
las primeras imágenes son de un ejemplito que trae el CCS y se llama ex_GLCD y le hice unos toques para que se adapte al emulador, las dós últimas son de las librerías de uControl en los ejemplitos que puso Ariel haciendo unas rayas.
En la plaquita le puse un jumper para invertir el video osea fondo claro y píxels ocuros y viceversa.
Perdón por la calidad de las fotos, la cámara no es muy buena, no es mía y no soy buen fotógrafo, por eso saqué muchas para que se imaginen como se verían en una buena foto.
saludos!!!

« Última modificación: 07 de Septiembre de 2008, 02:09:51 por flacoclau »
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Generador de imagenes de video con PIC
« Respuesta #158 en: 07 de Septiembre de 2008, 05:33:46 »
Magnífico trabajo, Flaco. No quiero ni pensar lo que harás con tu nueva iACD.

Felicidades

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Generador de imagenes de video con PIC
« Respuesta #159 en: 07 de Septiembre de 2008, 12:00:54 »
ah nooooo!!! te quedo genial!!!!!!! sos un capo flaco, te felicito!!!!! :-/

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Generador de imagenes de video con PIC
« Respuesta #160 en: 07 de Septiembre de 2008, 13:39:03 »
Impresionante flaco. felicitaciones.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Generador de imagenes de video con PIC
« Respuesta #161 en: 07 de Septiembre de 2008, 16:05:08 »
Flaco, le he hecho un hueco a tu proyecto en el índice, se lo ha ganado a pulso:
Índice de proyectos

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: Generador de imagenes de video con PIC
« Respuesta #162 en: 07 de Septiembre de 2008, 18:27:47 »
Hola muchas gracias por semejante honor!!!  :-/ :-/ :-/ :-/ :-/
gracias a todos!!!
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.

Desconectado LABmouse

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3575
    • Juntos es mejor
Re: Generador de imagenes de video con PIC
« Respuesta #163 en: 07 de Septiembre de 2008, 21:54:02 »
Impresionante!!! Felicitaciones por este gran logro.

Eres un grande y muchas gracias por compartirlo con todos.

Desconectado NarXEh

  • PIC10
  • *
  • Mensajes: 22
    • NärXEh's Blog
Re: Generador de imagenes de video con PIC
« Respuesta #164 en: 09 de Septiembre de 2008, 13:17:48 »
Buenas Tardes!

Exelente trabajo!

una pregunta...

Si se dedicara ese microcontrolador exclusivamente para video (digamos que recibe datos ya sean datos o imagenes de otro micro para despues mostrarlos en pantalla) como reconoce el micro lo que es datos e imagen?

perdonenme pero es una duda que me taladra la cabeza  :shock: 

que sigan los progresos!

muchos exitos! :D

saludos!

NärXEh