Autor Tema: Matrix de 8x8 LEDs y 24C256 en CCS por software  (Leído 21905 veces)

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

alexdjpic

  • Visitante
Re: Matrix de 8x8 LEDs y 24C256 en CCS por software
« Respuesta #45 en: 03 de Diciembre de 2008, 18:39:57 »
ok, esto tiene que ver con el envio de un 0 ó 1 al registro de desplazamiento. En el cual se encuantran definidas al final del progrma principal, tal y como me lo dices. Gracias por todo, has sido el unico en responderme. Saludos desde México!

alexdjpic

  • Visitante
Re: Matrix de 8x8 LEDs y 24C256 en CCS por software
« Respuesta #46 en: 04 de Diciembre de 2008, 17:03:50 »
Bueno, estoy aqui molestandolos con una ayuda que me puedan dar. Como ya lo comente atras, estoy desifrando un progrma en ¨C¨ para profundisar mi conocimiento. Aparte de comprender el lenguaje ¨C¨ quiero saber aplicarlo en los Pic´s. Quisiera que alguien me ayudara a traducir este programa, renglón por renglón para terminar con mis dudas.

void main(){
  int8 i,j;
  fConfigurar_puertos();
  output_low(RDD_CLOCK);
  output_low(RDD_DATA);
  //
  while (TRUE){
     PORTB = 0b11111110;
     for (i=0;i<8;i++) {
        //Limpio columnas
        for (j=0;j<8;j++) {fRDD_send_data1();}
        //
        fRDD_send_data0();
        for (j=0;j<8;j++) {
           delay_ms(1);
           fRDD_send_data1();
        }
        //
        PORTB = (PORTB << 1 )+1 ;
        delay_ms(1);
        }
  }//Fin while
}//Fin main

Este es el progrma principal, algunos renglones ya los pude desifrar gracias al amigo ¨MLO¨, espero no sea la esepción para proporcinarme una mano. Gracias!!

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Matrix de 8x8 LEDs y 24C256 en CCS por software
« Respuesta #47 en: 04 de Diciembre de 2008, 19:12:35 »
Hola.

Con esas funciones lo que hacen es enviar los datos a los registros de desplazamiento para que se carguen en las filas.

Para una matriz de 5x7 se puede hacer de la siguiente manera (de pronto el ejemplo te clarifica las cosas):

Código: C#
  1. void visualizar(void)
  2. {
  3.         for(i=0;i<=6;i++)
  4.         {
  5.                 output_a(0);
  6.                 output_c(col[i]);
  7.                 output_a(row[i]);
  8.                 delay_ms(1);
  9.         }
  10. }

en donde en la variable col[ i ]={0xFE, 0xFD, 0xFB, 0xF7, 0xEF, 0xDF, 0xBF}, estan guardadas las secuencias para el desplazamiento de las filas, seria lo analogo de hacer el corrimiento con PORTB<<1 + 1, y en la variable row[ i ] = {14,17,17,17,31,17,17}; estaran los datos correspondientes para escribir la letra A (esto ya te lo explique antes).

Al entrar en el ciclo for(i=0;i<=6;i++), se hace el despliegue de las variables 7 veces, es decir vamos a recorrer cada una de las 7 posiciones de las filas para forma la letra que esta guardada en la variable, una imagen vale mas cierto?:

Fila 1:


Fila2:


Fila3:


Fila4:


Fila5:


Fila6:


Fila7:


Si van a haber mas pines de columnas, obviamente no alcanzarian a mostrarse en un puerto de 8 bits (aca estoy usando 5 pines para una letra), por lo que se usan los registros de desplazamiento, ya que de esta manera sacamos los datos de forma serial y los registros se encargan de pasarlos a paralelo.

Ojala no te haya enredado mas  :mrgreen:

Saludos
El papel lo aguanta todo

alexdjpic

  • Visitante
Re: Matrix de 8x8 LEDs y 24C256 en CCS por software
« Respuesta #48 en: 04 de Diciembre de 2008, 19:46:48 »
Hola amigo ¨MLO¨ la verdad que me estas ayudando bastante y te doy las gracias. Mira que yo también hice el proyecto en proteus y no puedo mirar mi archivo en ¨C¨ en el. Lo hice para ayudarme a la hora de estar simulando pues me desplegara paso a paso mi programa en ¨C¨ pero no pude, por eso recurrí a este grandioso foro. Voy a leer con atención tu respuesta y prometo comprenderlo al 100%. Saludos!

alexdjpic

  • Visitante
Re: Matrix de 8x8 LEDs y 24C256 en CCS por software
« Respuesta #49 en: 04 de Diciembre de 2008, 21:10:42 »
Hola ¨MLO¨ entonces int8 i,j; Quiere decir que a i,j tendra un valor de 8 bits.
Las filas corresponden a i
Las columnas corresponden a j
O podrias explicarme mejor? Gracias!

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Matrix de 8x8 LEDs y 24C256 en CCS por software
« Respuesta #50 en: 05 de Diciembre de 2008, 00:47:14 »
hola alexdjpic! Primero q nada, te recomiendo empezar con cosas mas simples si queres aprender el lenguaje.
Con respecto a tu duda, en CCS, int8 es una forma de declarar una variable de 8bits como bien decis. Por lo tanto i, y j, van a tener su espacio de memoria con sus 8 bits.
Luego podes usar esa "i" y "j" para lo q quieras, no siempre tiene q ser "i" las filas y "j" las columnas, pero en el ejemplo es asi.
Suerte!

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

alexdjpic

  • Visitante
Re: Matrix de 8x8 LEDs y 24C256 en CCS por software
« Respuesta #51 en: 05 de Diciembre de 2008, 17:04:05 »
Gracias ¨Gera¨ por quitarme de dudas. Primero, quice empezar con este proyecto por la facilidad que dispone el autor de realizarlo. Aprovechando y experimentando por primera vez con los PIC´S quice profundisar el conocimiento, no solo basandome en miles de ejemplos como lo dispone el foro, si no, preguntar el porque de las cosas, por eso creo fue hecho el foro. Ahora de haber iniciado comprendo mucho mas y no me quedan dudas, las ganas de seguir aprendiendo hacen que no desaproveche su valioso tiempo que me proporcionan a la hora de ayudarme.
Cambiando de tema, entonces estoy en lo correcto, pude desifrar la mayoria del ejemplo y eso me ayuda mucho para comenzar a usar mi matrix. No obstante sigo tus observaciones como la de i,j no siempre seran filas ó columnas, eso lo tengo planteado desde que mando mi pregunta pues solo me estoy basando en el ejamplo que hago mención. Gracias nuevamente y saludos!

Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Matrix de 8x8 LEDs y 24C256 en CCS por software
« Respuesta #52 en: 05 de Diciembre de 2008, 17:27:21 »
Te explico por q hice esa aclaracion. "i" y "j" son variables q usas temporalmente para los bucles for. Pero mas adelante en el programa las podes usar para otra cosa q no sea filas y columnas. Todo depende de que haya adentro del bucle. Ponele q mas adelante en el programa volves a usar bucles anidados, pero esta vez intercambias las "i" por las "j" y viceversa. Ahi te cambia el esquema, pero el resultado es el mismo.
A lo que voy, no importa la denominacion de la variable, sino su posicion en el programa.
Espero no haberte perdido jeje, solo te explicaba por si mas adelante lees otro programa que hagan eso.
saludos!

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

alexdjpic

  • Visitante
Re: Matrix de 8x8 LEDs y 24C256 en CCS por software
« Respuesta #53 en: 05 de Diciembre de 2008, 17:30:33 »
Ok gracias por tu explicación ¨Gera¨ los voy a considerar. Saludos!

alexdjpic

  • Visitante
Re: Matrix de 8x8 LEDs y 24C256 en CCS por software
« Respuesta #54 en: 19 de Diciembre de 2008, 23:54:09 »
Que programa me recomiendan para diseñar mis archivos .bin osea para que haga mis pantallas y las represente la matriz. Saludos y espero respuestas.

jacrmr

  • Visitante
Re: Matrix de 8x8 LEDs y 24C256 en CCS por software
« Respuesta #55 en: 20 de Diciembre de 2008, 01:04:53 »
Puedes usar cualquiera que te genere frames o secuencias de imágenes. Ya de ahí a tí te correspondería hacer el intérprete que traduzca los datos al tipo que quieras. Yo por ejemplo uso Adobe Premiere para hacer mis animaciones de pantalla, incluso es una versión algo antigua pero casi cualquier programa de animación, incluso freeware, trae todo lo necesario como corrimientos, rotaciones, spins, etc.

alexdjpic

  • Visitante
Re: Matrix de 8x8 LEDs y 24C256 en CCS por software
« Respuesta #56 en: 20 de Diciembre de 2008, 16:27:24 »
Gracias jacrmr, voy a probar los que me dices y comento como me fue.

Desconectado fgaretto

  • PIC10
  • *
  • Mensajes: 33
    • Automatización y sistemas de control - Desarrollos con microcontroladores
Re: Matrix de 8x8 LEDs y 24C256 en CCS por software
« Respuesta #57 en: 23 de Febrero de 2009, 19:45:03 »
Muchachos, armé en Proteus una matriz de 8x8, una EEPROM 24c256 y un 16f628a pero no me funciona. Podrian echarle un vistazo? Desde ya muchas gracias.
Saludos.  Fernando.


 

anything